/* =====================================================================
   EducationalEngine Site Styles — site.css (every page)
   Moved from Appearance → Customize → Additional CSS (2026-10-05).
   Sections:
     1. Post tags (single articles)
     2. Neve starter-content helpers (folio-*)
     3. Footer
     4. Tool tiles (CC Child Pages)
     6. Signup popup — full-width bottom bar
     9. Hidden "(opens in a new tab)" text (Page-list class="new-tab")
   (Section 5, the EDD product tiles + pills, lives in the
   EducationalEngine Store Display plugin.)
   ===================================================================== */


/* =====================================================================
   1. Post tags on single article pages (and hide "Tags:")
   ===================================================================== */
.nv-tags-list a {
    background-color: #2B6E8C !important;
    border-color: #2B6E8C !important;
}

.nv-tags-list > span {
    display: none !important;
}


/* =====================================================================
   2. Neve starter-content helpers (folio-*)
   ===================================================================== */

/* Section rhythm helpers */
.folio-eyebrow{margin-bottom:14px}

/* Hero media: fanned, overlapping image cards (group uses core flex layout) */
.folio-hero-media > .wp-block-group__inner-container,
.folio-hero-media.is-layout-flex{min-height:340px;align-items:center}
.folio-hero-media .wp-block-cover{flex:0 0 auto;width:172px;min-height:252px;border-radius:16px;overflow:hidden;box-shadow:0 24px 52px rgba(15,23,42,.22);margin:0}
.folio-hero-media .wp-block-cover:nth-child(1){transform:rotate(-7deg) translateY(6px);z-index:1}
.folio-hero-media .wp-block-cover:nth-child(2){transform:translateY(-16px);z-index:3;margin:0 -26px}
.folio-hero-media .wp-block-cover:nth-child(3){transform:rotate(7deg) translateY(10px);z-index:2}
@media(max-width:782px){
  .folio-hero-media .wp-block-cover{width:150px;transform:none !important;margin:6px !important}
}

/* Star rating row */
.folio-stars{display:inline-flex;gap:3px;color:var(--nv-c-3,#F59E0B);line-height:1}
.folio-stars svg{width:18px;height:18px;display:block}

/* Outline buttons: core's transparent-background outline rule loses the cascade on some
   WP versions (e.g. 6.9) and the default dark button background shows through. */
.folio-btn-outline .wp-block-button__link{background-color:transparent}

/* Tag pills */
.folio-pills .wp-block-button__link{font-size:13px}

/* Brand strip */
.folio-brand p{margin:0;opacity:.55;font-weight:600}

/* Icon wrapper */
.folio-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.folio-icon svg{display:block}

/* Cards (services, what-we-do) */
.folio-card{height:auto;background:var(--nv-site-bg,#fff);transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.folio-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(15,23,42,.10)}
/* Centered card variant (home "What we do") */
.folio-card-center{text-align:center}
.folio-card-center .folio-icon{margin-left:auto;margin-right:auto}

/* Project cards */
.folio-project{background:var(--nv-site-bg,#fff);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.folio-project:hover{transform:translateY(-5px);box-shadow:0 26px 56px rgba(15,23,42,.14)}
.folio-project .wp-block-image,.folio-project img{margin:0;display:block}
.folio-project .wp-block-image img{width:100%;height:100%;object-fit:cover}

/* Equal-height cards and steps only when laid out in a row (not stacked on mobile) */
@media(min-width:783px){.folio-card,.folio-project,.folio-step{height:100%}}

/* Team member: center avatar + text under each other */
.folio-team-member{text-align:center}
.folio-team-member .folio-avatar{width:62px;height:62px;font-size:20px;margin-left:auto;margin-right:auto}

/* Testimonial author row: keep avatar + name vertically centered. Classic themes put
   the nested stack's blockGap on the inner-container, so the name/role paragraphs keep
   their default margins and overflow the avatar height — reset them. */
.folio-author > .wp-block-group__inner-container,.folio-author.is-layout-flex{align-items:center}
.folio-author p{margin:0}

/* Stats */
.folio-stat-num{line-height:1}

/* Testimonials */
.folio-quote{height:100%;background:var(--nv-site-bg,#fff);box-shadow:0 10px 30px rgba(15,23,42,.06)}
.folio-quote-mark{font-family:Georgia,serif;line-height:.6;color:var(--nv-c-1,#E5E7EB)}
.folio-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--nv-primary-accent,#2563EB);color:#fff;font-weight:700;font-size:15px;flex:0 0 auto}

/* FAQ (core details) */
.folio-faq details{background:var(--nv-site-bg,#fff);border:1px solid var(--nv-c-1,#E5E7EB);border-radius:12px;padding:18px 22px;margin-bottom:14px}
.folio-faq summary{cursor:pointer;font-weight:600;list-style:none}
.folio-faq summary::-webkit-details-marker{display:none}
.folio-faq summary::after{content:"+";float:right;font-size:20px;line-height:1;color:var(--nv-c-2,#6B7280)}
.folio-faq details[open] summary::after{content:"\2013"}
.folio-faq details[open] summary{margin-bottom:10px}

/* Contact info icon chips */
.folio-contact-icon{width:44px;height:44px;border-radius:10px;background:var(--nv-light-bg,#F1F5F9);display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--nv-primary-accent,#2563EB)}

/* Generic image rounding inside starter pages */
.folio-round img{border-radius:16px}

/* Process steps */
.folio-step{height:auto;background:var(--nv-site-bg,#fff);transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.folio-step:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(15,23,42,.10)}
.folio-step-num{display:block;font-size:30px;font-weight:800;color:var(--nv-primary-accent,#2563EB);line-height:1;margin:0 0 4px}

/* Pricing cards */
.folio-pricing-featured{box-shadow:0 24px 50px rgba(37,99,235,.18)}
.folio-pricing-featured .folio-btn-outline .wp-block-button__link{border-color:rgba(255,255,255,.5)}

/* ---- Block editor only ----
   The editor renders core/html previews in a sandboxed iframe whose box stretches
   to the available width, which breaks flex rows (squeezed labels) and centering.
   Size the starter icon/avatar blocks to their actual content. Scoped to preview
   mode via :has() so the HTML-edit textarea stays full width; core/html saves
   without a wrapper element, so these rules are inert on the front end. */
.folio-rating .wp-block-html:has(.components-sandbox){flex:0 0 102px;max-width:102px}
.folio-author .wp-block-html:has(.components-sandbox){flex:0 0 46px;max-width:46px}
.folio-team-member .wp-block-html:has(.components-sandbox){flex:0 0 auto;width:46px;max-width:46px}
.folio-card-center .wp-block-html:has(.components-sandbox){width:30px;max-width:30px;margin-left:auto;margin-right:auto}
.folio-project .wp-block-html:has(.components-sandbox){flex:0 0 20px;max-width:20px}
.folio-check .wp-block-html:has(.components-sandbox){flex:0 0 18px;max-width:18px}
.folio-chip .wp-block-html:has(.components-sandbox){flex:0 0 44px;max-width:44px}
/* The classic-editor canvas gives every block auto side margins (default content
   width), which centers fit-content items inside flex rows — pin ours back left.
   Element+class selectors out-rank the canvas default; .wp-block is editor-only. */
.folio-author > div.wp-block,
.folio-rating > div.wp-block,.folio-rating > p.wp-block,
.folio-check > div.wp-block,.folio-check > p.wp-block,
.folio-chip > div.wp-block,.folio-chip > p.wp-block,
.folio-project div.wp-block,.folio-project p.wp-block{margin-left:0;margin-right:0}


/* =====================================================================
   3. Footer — copyright centred
   ===================================================================== */
.nv-footer-content {
    position: relative !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.nv-footer-content .builder-item.cr {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    margin: 0 !important;
    text-align: center !important;
}


/* =====================================================================
   4. Tool tiles (CC Child Pages) — whole tile clickable
   ===================================================================== */
.ccchildpage {
    position: relative;
    cursor: pointer;
}

.ccchildpage .ccpage_linked_thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.ccchildpage:hover {
    box-shadow: 0 0 0 2px rgba(0,0,0,0.15);
}

.ccchildpage .ccpage_title {
    text-align: center;
}


/* =====================================================================
   6. Signup popup — full-width bottom bar instead of the corner card
      (adopted 2026-09-25)
   ===================================================================== */
.ee-ch-signup-popup {
    left: 0;
    right: 0;
    bottom: 0;
    max-width: none;
    width: 100%;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.25);
    border-radius: 0;
    transform: translateY(100%);
}

.ee-ch-signup-popup--visible {
    transform: translateY(0);
}

.ee-ch-signup-popup .ee-ch-signup {
    max-width: none;
    width: 100%;
    box-sizing: border-box;
    border: none;
    border-radius: 0;
    background: #1c1f26;
    color: #fff;
    padding: 20px 56px 20px 28px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 32px;
}

.ee-ch-signup-popup .ee-ch-signup__title {
    flex: 0 0 auto;
    font-size: 1.1rem;
    margin: 0;
    white-space: nowrap;
}

.ee-ch-signup-popup .ee-ch-signup__blurb {
    flex: 0 1 260px;
    margin: 0;
    color: #cfd3da;
    font-size: 0.9rem;
}

.ee-ch-signup-popup .ee-ch-signup__form {
    flex: 1 1 420px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 14px;
}

.ee-ch-signup-popup .ee-ch-signup__field {
    flex: 1 1 140px;
    margin-bottom: 0;
}

.ee-ch-signup-popup .ee-ch-signup__field label {
    color: #cfd3da;
    font-size: 0.75rem;
    margin-bottom: 2px;
}

.ee-ch-signup-popup .ee-ch-signup__field input[type="email"],
.ee-ch-signup-popup .ee-ch-signup__field input[type="password"] {
    background: #fff;
    color: #1a1a1a;
    border: 1px solid #444;
}

.ee-ch-signup-popup .ee-ch-signup__terms {
    flex-basis: 100%;
}

.ee-ch-signup-popup .ee-ch-signup__terms label {
    color: #cfd3da;
    font-size: 0.8rem;
}

.ee-ch-signup-popup .ee-ch-signup__submit {
    flex: 0 0 auto;
    margin: 0;
}

.ee-ch-signup-popup .ee-ch-signup__button {
    width: auto;
    white-space: nowrap;
    padding: 10px 20px;
}

.ee-ch-signup-popup__close {
    top: 14px;
    right: 20px;
    color: #cfd3da;
    font-size: 24px;
}

@media (max-width: 700px) {
    .ee-ch-signup-popup .ee-ch-signup {
        padding: 16px 44px 16px 16px;
    }
    .ee-ch-signup-popup .ee-ch-signup__form {
        flex-basis: 100%;
    }
}


/* =====================================================================
   9. Hidden "(opens in a new tab)" text on Page-list links with
      class="new-tab" (in case the theme has no .screen-reader-text rule)
   ===================================================================== */
.page-list .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}
