.elementor-5139 .elementor-element.elementor-element-6909eee{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-5139 .elementor-element.elementor-element-e10603e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-5139 .elementor-element.elementor-element-fe31932{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-5139 .elementor-element.elementor-element-12fc01a{--display:flex;}.elementor-5139 .elementor-element.elementor-element-110ec01{--display:flex;}.elementor-5139 .elementor-element.elementor-element-cf16cc3{color:var( --e-global-color-accent );}.elementor-5139 .elementor-element.elementor-element-e2ad5ca{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-5139 .elementor-element.elementor-element-8391ef5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5139 .elementor-element.elementor-element-7d2c3c0{--display:flex;}.elementor-5139 .elementor-element.elementor-element-7c72c13{--display:flex;}.elementor-5139 .elementor-element.elementor-element-4cd0f55{--display:flex;}.elementor-5139 .elementor-element.elementor-element-63873d1{--display:flex;}.elementor-5139 .elementor-element.elementor-element-d942b77{--display:flex;}.elementor-5139 .elementor-element.elementor-element-d593e20{--display:flex;}.elementor-5139 .elementor-element.elementor-element-5eeea17{--n-accordion-title-font-size:1rem;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-5139 .elementor-element.elementor-element-2159f09{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-5139 .elementor-element.elementor-element-e2ad5ca{--content-width:1280px;}.elementor-5139 .elementor-element.elementor-element-8391ef5{--content-width:1280px;}}@media(max-width:1024px){.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:767px){.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}/* Start custom CSS *//* ============================================================
   UCL SUBSCRIBE PAGE — Template CSS (v1)
   ------------------------------------------------------------
   Paste into: WordPress Page → "Subscribe" → Edit with Elementor
                → Page Settings (gear icon) → Custom CSS

   Page structure (build in Elementor — see UCL Subscribe Page
   Build Guide.md):
     1. .ucl-sub-hero          (editorial hero, light bg)
     2. .ucl-sub-cards         (3-up pricing card grid)
     3. .ucl-sub-secondary     (quick-link row — buy one issue / log in)
     4. .ucl-sub-faq           (FAQ accordion section)
     5. .ucl-sub-cta           (closing repeat CTA band)
   ============================================================ */


/* ============================================================
   1. HERO — editorial header
   ============================================================ */

.ucl-sub-hero,
.ucl-sub-hero.e-con {
    width: 100% !important;
    background: #F9FAFB !important;
    padding: 96px 24px 80px 24px !important;
    margin: 0 !important;
    border-bottom: 1px solid #E5E7EB !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.ucl-sub-hero > .e-con-inner {
    max-width: 800px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
    background: transparent !important;
}

.ucl-sub-eyebrow,
.ucl-sub-eyebrow p {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #6B7280 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.ucl-sub-title,
.ucl-sub-title h1,
.ucl-sub-title .elementor-heading-title {
    font-family: 'Fino Sans', 'Lora', Georgia, serif !important;
    font-size: clamp(44px, 6.5vw, 80px) !important;
    font-weight: 400 !important;
    color: #0F1419 !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
}

.ucl-sub-intro,
.ucl-sub-intro p {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 19px !important;
    color: #4B5563 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 640px !important;
    text-align: center !important;
}

@media (max-width: 768px) {
    .ucl-sub-hero,
    .ucl-sub-hero.e-con {
        padding: 56px 16px 48px 16px !important;
    }
    .ucl-sub-intro,
    .ucl-sub-intro p {
        font-size: 17px !important;
    }
}


/* ============================================================
   2. CARD GRID — 3-up pricing
   ============================================================ */

.ucl-sub-cards,
.ucl-sub-cards.e-con {
    max-width: 1280px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 80px 24px !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 32px !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
}

.ucl-sub-cards > .e-con-inner {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: contents !important;
}

@media (max-width: 1024px) {
    .ucl-sub-cards,
    .ucl-sub-cards.e-con {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 56px 16px !important;
        max-width: 520px !important;
    }
}

/* Single card */
.ucl-sub-card,
.ucl-sub-card.e-con {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 4px !important;
    padding: 36px 28px 32px 28px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    position: relative !important;
    box-shadow: 0 1px 3px rgba(15, 20, 25, 0.04) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    height: 100% !important;
}

.ucl-sub-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(15, 20, 25, 0.08) !important;
}

/* Featured card variant — bundle (Best Value) */
.ucl-sub-card--featured,
.ucl-sub-card--featured.e-con {
    background: #0F1419 !important;
    color: #FFFFFF !important;
    border-color: #0F1419 !important;
    box-shadow: 0 4px 16px rgba(15, 20, 25, 0.12) !important;
}

.ucl-sub-card--featured:hover {
    box-shadow: 0 12px 32px rgba(15, 20, 25, 0.2) !important;
}

/* "Best Value" badge */
.ucl-sub-badge,
.ucl-sub-badge p {
    position: absolute !important;
    top: -12px !important;
    right: 20px !important;
    background: #FFFFFF !important;
    color: #0F1419 !important;
    border: 1px solid #0F1419 !important;
    border-radius: 999px !important;
    padding: 5px 14px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    margin: 0 !important;
    box-shadow: 0 2px 6px rgba(15, 20, 25, 0.08) !important;
}


/* ============================================================
   2A. CARD CONTENT — eyebrow, price, description
   ============================================================ */

.ucl-sub-card-eyebrow,
.ucl-sub-card-eyebrow p {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #6B7280 !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.ucl-sub-card--featured .ucl-sub-card-eyebrow,
.ucl-sub-card--featured .ucl-sub-card-eyebrow p {
    color: rgba(255, 255, 255, 0.7) !important;
}

.ucl-sub-card-title,
.ucl-sub-card-title h2,
.ucl-sub-card-title h3,
.ucl-sub-card-title .elementor-heading-title {
    font-family: 'Fino Sans', 'Lora', Georgia, serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    color: #0F1419 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.015em !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    text-transform: none !important;
}

.ucl-sub-card--featured .ucl-sub-card-title,
.ucl-sub-card--featured .ucl-sub-card-title h2,
.ucl-sub-card--featured .ucl-sub-card-title h3 {
    color: #FFFFFF !important;
}

/* Price block */
.ucl-sub-price,
.ucl-sub-price p {
    margin: 16px 0 4px 0 !important;
    padding: 0 !important;
    font-family: 'Fino Sans', 'Lora', Georgia, serif !important;
    font-weight: 400 !important;
    color: #0F1419 !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    font-size: 56px !important;
}

.ucl-sub-card--featured .ucl-sub-price,
.ucl-sub-card--featured .ucl-sub-price p {
    color: #FFFFFF !important;
}

.ucl-sub-price-suffix,
.ucl-sub-price-suffix p {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #6B7280 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.ucl-sub-card--featured .ucl-sub-price-suffix,
.ucl-sub-card--featured .ucl-sub-price-suffix p {
    color: rgba(255, 255, 255, 0.6) !important;
}

/* Savings tag for bundle */
.ucl-sub-savings {
    display: inline-block !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #059669 !important;
    background: rgba(5, 150, 105, 0.12) !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    margin: 0 0 12px 0 !important;
    line-height: 1 !important;
}

.ucl-sub-card--featured .ucl-sub-savings {
    color: #6EE7B7 !important;
    background: rgba(110, 231, 183, 0.12) !important;
}

/* Card description */
.ucl-sub-card-desc,
.ucl-sub-card-desc p {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 16px !important;
    color: #4B5563 !important;
    line-height: 1.5 !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
}

.ucl-sub-card--featured .ucl-sub-card-desc,
.ucl-sub-card--featured .ucl-sub-card-desc p {
    color: rgba(255, 255, 255, 0.8) !important;
}


/* ============================================================
   2B. CARD INCLUDES LIST + CTA
   ============================================================ */

.ucl-sub-card-includes,
.ucl-sub-card-includes ul {
    list-style: none !important;
    margin: 0 0 32px 0 !important;
    padding: 16px 0 0 0 !important;
    border-top: 1px solid #E5E7EB !important;
    flex: 1 1 auto !important;
}

.ucl-sub-card--featured .ucl-sub-card-includes,
.ucl-sub-card--featured .ucl-sub-card-includes ul {
    border-top-color: rgba(255, 255, 255, 0.2) !important;
}

.ucl-sub-card-includes li {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 14px !important;
    color: #374151 !important;
    line-height: 1.45 !important;
    padding: 8px 0 8px 24px !important;
    margin: 0 !important;
    position: relative !important;
}

.ucl-sub-card--featured .ucl-sub-card-includes li {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Checkmark prefix on each list item */
.ucl-sub-card-includes li::before {
    content: '✓' !important;
    position: absolute !important;
    left: 0 !important;
    top: 8px !important;
    color: #0F1419 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.ucl-sub-card--featured .ucl-sub-card-includes li::before {
    color: #6EE7B7 !important;
}

/* The Subscribe button */
.ucl-sub-card-cta,
.ucl-sub-card-cta a,
.ucl-sub-card-cta .elementor-button {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    border-radius: 999px !important;
    padding: 16px 24px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    border: 1px solid #0F1419 !important;
    background: #0F1419 !important;
    color: #FFFFFF !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    margin-top: auto !important;
}

.ucl-sub-card-cta a:hover,
.ucl-sub-card-cta .elementor-button:hover {
    background: #1F2937 !important;
    border-color: #1F2937 !important;
    color: #FFFFFF !important;
}

/* Featured card CTA — inverted (white on dark bg) */
.ucl-sub-card--featured .ucl-sub-card-cta a,
.ucl-sub-card--featured .ucl-sub-card-cta .elementor-button {
    background: #FFFFFF !important;
    color: #0F1419 !important;
    border-color: #FFFFFF !important;
}

.ucl-sub-card--featured .ucl-sub-card-cta a:hover,
.ucl-sub-card--featured .ucl-sub-card-cta .elementor-button:hover {
    background: #F9FAFB !important;
    color: #0F1419 !important;
}

/* Reset Elementor widget wrapper around the button (same pattern
   as home hero CTAs — prevents double-pill rendering) */
.elementor-widget.ucl-sub-card-cta,
.ucl-sub-card-cta .elementor-widget-container,
.ucl-sub-card-cta .elementor-button-wrapper {
    background: transparent !important;
    border: 0 none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}


/* ============================================================
   3. SECONDARY ROW — "Just want one issue?" / "Already a member?"
   ============================================================ */

.ucl-sub-secondary,
.ucl-sub-secondary.e-con {
    max-width: 1280px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 16px 24px 64px 24px !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 32px !important;
    box-sizing: border-box !important;
}

.ucl-sub-secondary-link,
.ucl-sub-secondary-link a,
.ucl-sub-secondary-link p {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #4B5563 !important;
    text-decoration: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

.ucl-sub-secondary-link a {
    color: #0F1419 !important;
    border-bottom: 1px solid #0F1419 !important;
    padding-bottom: 3px !important;
    transition: opacity 0.2s ease !important;
}

.ucl-sub-secondary-link a:hover {
    opacity: 0.55 !important;
}

@media (max-width: 768px) {
    .ucl-sub-secondary,
    .ucl-sub-secondary.e-con {
        flex-direction: column !important;
        gap: 16px !important;
        padding: 8px 16px 48px 16px !important;
        text-align: center !important;
    }
}


/* ============================================================
   4. FAQ SECTION
   ============================================================ */

.ucl-sub-faq,
.ucl-sub-faq.e-con {
    max-width: 800px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 80px 24px !important;
    border-top: 1px solid #E5E7EB !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    box-sizing: border-box !important;
}

.ucl-sub-faq-eyebrow,
.ucl-sub-faq-eyebrow p {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: #6B7280 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
}

.ucl-sub-faq-title,
.ucl-sub-faq-title h2,
.ucl-sub-faq-title .elementor-heading-title {
    font-family: 'Fino Sans', 'Lora', Georgia, serif !important;
    font-size: clamp(28px, 3.6vw, 40px) !important;
    font-weight: 400 !important;
    color: #0F1419 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    text-align: center !important;
    text-transform: none !important;
}

/* ------------------------------------------------------------
   NESTED ACCORDION (newer Elementor v3.7+) — .e-n-accordion-*
   This is what Sara is using. Targets every layer of the new
   accordion widget so the styling sticks regardless of nesting.
   ------------------------------------------------------------ */

/* Container wrapping all accordion items — kill native border/bg */
.ucl-sub-faq .e-n-accordion,
.ucl-sub-faq .elementor-widget-n-accordion,
.ucl-sub-faq .elementor-widget-n-accordion .e-n-accordion {
    background: transparent !important;
    border: 0 none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
}

/* Each accordion item — single bottom hairline divider */
.ucl-sub-faq .e-n-accordion-item,
.ucl-sub-faq details.e-n-accordion-item {
    border: 0 none !important;
    border-bottom: 1px solid #E5E7EB !important;
    border-radius: 0 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.ucl-sub-faq .e-n-accordion-item:first-child {
    border-top: 1px solid #E5E7EB !important;
}

/* Question (the title bar / <summary>) */
.ucl-sub-faq .e-n-accordion-item-title,
.ucl-sub-faq summary.e-n-accordion-item-title,
.ucl-sub-faq .e-n-accordion-item > summary {
    font-family: 'Fino Sans', 'Lora', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #0F1419 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.005em !important;
    padding: 22px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 none !important;
    text-transform: none !important;
    cursor: pointer !important;
    list-style: none !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    box-shadow: none !important;
}

/* Hide the default <summary> triangle in Safari/Firefox */
.ucl-sub-faq .e-n-accordion-item > summary::-webkit-details-marker {
    display: none !important;
}

.ucl-sub-faq .e-n-accordion-item-title-text,
.ucl-sub-faq .e-n-accordion-item-title-text span {
    font-family: 'Fino Sans', 'Lora', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #0F1419 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.005em !important;
    flex: 1 1 auto !important;
}

.ucl-sub-faq .e-n-accordion-item-title:hover,
.ucl-sub-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-text {
    color: #4B5563 !important;
    opacity: 1 !important;
}

/* Open state — slightly emphasized question */
.ucl-sub-faq .e-n-accordion-item[open] > summary,
.ucl-sub-faq .e-n-accordion-item[open] .e-n-accordion-item-title-text {
    color: #0F1419 !important;
}

/* The chevron / plus icon on the right */
.ucl-sub-faq .e-n-accordion-item-title-icon,
.ucl-sub-faq .e-n-accordion-item-title-icon svg,
.ucl-sub-faq .e-n-accordion-item-title-icon i {
    color: #0F1419 !important;
    fill: currentColor !important;
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 auto !important;
    transition: transform 0.25s ease !important;
}

.ucl-sub-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg {
    transform: rotate(180deg) !important;
}


/* ------------------------------------------------------------
   ANSWER CONTENT — Text Editor widgets dropped inside the
   accordion item. The accordion just provides a container; the
   actual answer rendering comes from whatever widgets she adds.
   These rules cover Text Editor, Heading, and plain HTML widgets.
   ------------------------------------------------------------ */

/* Strip Elementor's default padding from the container inside
   the accordion item so the answer doesn't get extra spacing */
.ucl-sub-faq .e-n-accordion-item > .e-con,
.ucl-sub-faq .e-n-accordion-item > .e-con-full,
.ucl-sub-faq .e-n-accordion-item > .e-con-inner {
    padding: 0 0 22px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 none !important;
    gap: 12px !important;
}

/* Text Editor widget inside the accordion — make it the answer
   typography by default, no class needed */
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor,
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor .elementor-widget-container,
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor p,
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor ul,
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor ol,
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor li {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 16px !important;
    color: #4B5563 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Paragraphs get their own spacing if there are multiple */
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor p + p {
    margin-top: 12px !important;
}

/* Lists need a little indentation */
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor ul,
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor ol {
    padding-left: 20px !important;
    margin: 8px 0 !important;
}

.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor li {
    margin: 4px 0 !important;
}

/* Links inside answers — subtle editorial underline */
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor a {
    color: #0F1419 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #0F1419 !important;
    padding-bottom: 1px !important;
    transition: opacity 0.2s ease !important;
}

.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor a:hover {
    opacity: 0.6 !important;
}

/* Strong/bold inside answers */
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor strong,
.ucl-sub-faq .e-n-accordion-item .elementor-widget-text-editor b {
    color: #0F1419 !important;
    font-weight: 600 !important;
}


/* ------------------------------------------------------------
   LEGACY ACCORDION (Elementor v3.6 and earlier) — kept as a
   fallback for older sites and as Sara's standalone Text Editor
   fallback classes (.ucl-sub-faq-question / .ucl-sub-faq-answer).
   ------------------------------------------------------------ */

.ucl-sub-faq .elementor-accordion-item,
.ucl-sub-faq-item {
    border: 0 none !important;
    border-bottom: 1px solid #E5E7EB !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ucl-sub-faq .elementor-tab-title,
.ucl-sub-faq-question {
    font-family: 'Fino Sans', 'Lora', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #0F1419 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.005em !important;
    padding: 22px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 none !important;
    text-transform: none !important;
    cursor: pointer !important;
}

.ucl-sub-faq .elementor-tab-content,
.ucl-sub-faq-answer,
.ucl-sub-faq-answer p {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 16px !important;
    color: #4B5563 !important;
    line-height: 1.6 !important;
    padding: 0 0 22px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 none !important;
}

.ucl-sub-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon {
    color: #0F1419 !important;
}


/* ============================================================
   5. CLOSING CTA BAND
   ============================================================ */

.ucl-sub-cta,
.ucl-sub-cta.e-con {
    width: 100% !important;
    background: #F9FAFB !important;
    padding: 64px 24px !important;
    margin: 0 !important;
    border-top: 1px solid #E5E7EB !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.ucl-sub-cta-title,
.ucl-sub-cta-title h2,
.ucl-sub-cta-title .elementor-heading-title {
    font-family: 'Fino Sans', 'Lora', Georgia, serif !important;
    font-size: clamp(28px, 3.6vw, 36px) !important;
    font-weight: 400 !important;
    color: #0F1419 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
}

.ucl-sub-cta-intro,
.ucl-sub-cta-intro p {
    font-family: 'Lora', Georgia, serif !important;
    font-size: 17px !important;
    color: #4B5563 !important;
    line-height: 1.5 !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    max-width: 520px !important;
}

.ucl-sub-cta-button,
.ucl-sub-cta-button a,
.ucl-sub-cta-button .elementor-button {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    border-radius: 999px !important;
    padding: 16px 32px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    border: 1px solid #0F1419 !important;
    background: #0F1419 !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

.ucl-sub-cta-button a:hover,
.ucl-sub-cta-button .elementor-button:hover {
    background: #1F2937 !important;
    border-color: #1F2937 !important;
    color: #FFFFFF !important;
}

/* Widget wrapper reset (same pattern as card CTA) */
.elementor-widget.ucl-sub-cta-button,
.ucl-sub-cta-button .elementor-widget-container,
.ucl-sub-cta-button .elementor-button-wrapper {
    background: transparent !important;
    border: 0 none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}


/* ============================================================
   6. ALERT / MESSAGE BANNER (for ?msg=members_only etc.)
   ------------------------------------------------------------
   When users get bounced from /digital-library/ they land here
   with ?msg=members_only or ?msg=membership_expired in the URL.
   Display a friendly banner at the top of the hero.
   ============================================================ */

.ucl-sub-alert,
.ucl-sub-alert p {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #92400E !important;
    background: #FEF3C7 !important;
    border: 1px solid #FCD34D !important;
    border-radius: 4px !important;
    padding: 12px 20px !important;
    margin: 0 auto 24px auto !important;
    max-width: 800px !important;
    text-align: center !important;
    line-height: 1.4 !important;
}

.ucl-sub-alert--expired,
.ucl-sub-alert--expired p {
    color: #991B1B !important;
    background: #FEE2E2 !important;
    border-color: #FCA5A5 !important;
}


/* ============================================================
   CHANGELOG
   ------------------------------------------------------------
   v1.1 (2026-05-27): Section 4 FAQ — added full support for
                      Elementor's nested accordion widget
                      (.e-n-accordion-*). The newer widget uses
                      <details>/<summary> HTML5 elements with
                      different class names than the legacy
                      accordion. Now styles both: the new
                      widget's questions (Fino Sans 18px) and
                      answers (Lora 16px) — AND Text Editor
                      widgets dropped inside accordion items
                      get automatic answer typography without
                      needing a class. Also added chevron
                      rotation on [open] state, hover state
                      on questions, and link/strong/list
                      styling inside answer Text Editors.
   v1 (2026-05-27): Initial Subscribe page CSS. Five sections:
                    (1) Editorial hero on light gray with
                    eyebrow + huge Fino Sans title + Lora intro.
                    (2) 3-up pricing card grid — white cards
                    with subtle hover lift, middle card (Bundle)
                    is the featured dark variant with white CTA
                    and "Best Value" badge. (3) Secondary link
                    row for "Just want one issue?" / "Already a
                    member?" navigation. (4) FAQ section with
                    Elementor Accordion styling + standalone
                    .ucl-sub-faq-question/.ucl-sub-faq-answer
                    fallback. (5) Closing CTA band repeating
                    the primary call-to-action. Bonus: Alert
                    banner styles for landing with ?msg= query
                    string (members_only, membership_expired).
   ============================================================ *//* End custom CSS */