:root{--sja-navy:#041346;--sja-purple:#B83FF1;--sja-purple-text:#7A1FA2;--sja-green:#88BD28;--sja-green-text:#4F7100;--sja-light:#f4f6fb;--sja-text:#13213c;--sja-white:#fff}
.sja-course-page,.sja-category-page,.sja-bundle-page{font-family:inherit;color:var(--sja-text)}
.sja-inner{width:min(1180px,calc(100% - 40px));margin:0 auto}
.sja-course-hero,.sja-category-hero{padding:64px 0;background:linear-gradient(135deg,#f5f7fb,#eef1f8)}
.sja-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:48px;align-items:center}
.sja-eyebrow{font-weight:800;letter-spacing:.08em;font-size:.78rem;color:var(--sja-purple-text);margin-bottom:12px}
.sja-course-hero h1,.sja-category-hero h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;margin:0 0 18px;color:var(--sja-navy)}
.sja-lead{font-size:1.08rem;line-height:1.7;max-width:760px}
.sja-hero-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;box-shadow:0 18px 40px rgba(4,19,70,.12)}
.sja-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.sja-facts>div{background:#fff;padding:12px 14px;border-radius:10px}.sja-facts span{display:block;font-size:.73rem;opacity:.7}.sja-facts strong{display:block;margin-top:3px;color:var(--sja-navy)}
.sja-price{font-weight:800;font-size:1.6rem;color:var(--sja-navy);margin:18px 0 6px}.sja-payment{margin:0 0 18px}
.sja-actions{display:flex;gap:10px;flex-wrap:wrap}.sja-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:8px;text-decoration:none!important;font-weight:800}.sja-btn-primary{background:var(--sja-green);color:#07133a!important}.sja-btn-secondary{background:var(--sja-navy);color:#fff!important}.sja-btn-outline{border:1px solid #fff;color:#fff!important}
.sja-section{padding:52px 0}.sja-section h2,.sja-final-cta h2{color:var(--sja-navy);font-size:clamp(1.5rem,2.4vw,2.1rem);margin:0 0 18px}.sja-section p{line-height:1.75}.sja-style-light{background:var(--sja-light)}.sja-style-accent .sja-inner{border-left:5px solid var(--sja-purple);padding-left:28px}.sja-style-tip .sja-inner{background:#f8f8ff;border:1px solid #e7d8ff;border-radius:14px;padding:30px}.sja-style-cards .sja-inner,.sja-style-checklist .sja-inner{background:#fff;border:1px solid #e5e8ef;border-radius:14px;padding:30px}
.sja-list{padding:0;margin:0;list-style:none;display:grid;gap:10px}.sja-list li{position:relative;padding-left:28px}.sja-list li:before{content:'✓';position:absolute;left:0;color:var(--sja-green-text);font-weight:900}
.sja-final-cta{padding:54px 0;background:var(--sja-navy);color:#fff}.sja-final-cta h2{color:#fff}.sja-final-cta p{max-width:760px;line-height:1.7}
.sja-product-grid{display:grid;gap:24px}.sja-product-grid.cols-1{grid-template-columns:1fr}.sja-product-grid.cols-2{grid-template-columns:repeat(2,1fr)}.sja-product-grid.cols-3{grid-template-columns:repeat(3,1fr)}.sja-product-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.sja-product-card{border:1px solid #e5e8ef;border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.sja-product-image img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.sja-product-body{padding:20px;display:flex;flex-direction:column;gap:14px;flex:1}.sja-product-body h3{margin:0;font-size:1.12rem;line-height:1.4}.sja-product-body h3 a{color:var(--sja-navy);text-decoration:none}.sja-card-price{font-weight:800;color:var(--sja-navy);margin-top:auto}
.sja-notice{padding:16px;border:1px solid #d9dde7;background:#fff;border-radius:8px}
@media(max-width:900px){.sja-hero-grid{grid-template-columns:1fr}.sja-facts{grid-template-columns:repeat(2,1fr)}.sja-product-grid.cols-3,.sja-product-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sja-inner{width:min(100% - 28px,1180px)}.sja-course-hero,.sja-category-hero{padding:42px 0}.sja-facts,.sja-product-grid.cols-2,.sja-product-grid.cols-3,.sja-product-grid.cols-4{grid-template-columns:1fr}}

/* v1.0.1: when the SJA Course Builder is active, suppress the legacy WooCommerce/Astra single-product hero/summary. */
body.sja-course-builder-active .woocommerce div.product > .woocommerce-product-gallery,
body.sja-course-builder-active .woocommerce div.product > .summary,
body.sja-course-builder-active .ast-woocommerce-container div.product > .woocommerce-product-gallery,
body.sja-course-builder-active .ast-woocommerce-container div.product > .summary,
body.sja-course-builder-active .product.type-product > .woocommerce-product-gallery,
body.sja-course-builder-active .product.type-product > .summary {
    display: none !important;
}

/* v1.0.3: JS marks the exact legacy Astra/WooCommerce hero wrapper after matching the duplicate course H1. */
[data-sja-legacy-hero="hidden"]{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
}


/* v1.0.4 accessibility contrast guardrails (WCAG AA-oriented).
   Brand purple/green remain available for decorative accents; text uses darker accessible variants. */
.sja-course-page a:not(.sja-btn),.sja-category-page a:not(.sja-btn),.sja-bundle-page a:not(.sja-btn){color:#123B8F;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.14em}
.sja-course-page a:not(.sja-btn):hover,.sja-category-page a:not(.sja-btn):hover,.sja-bundle-page a:not(.sja-btn):hover{color:var(--sja-navy)}
.sja-btn-primary{background:var(--sja-green);color:var(--sja-navy)!important;border:2px solid var(--sja-green)}
.sja-btn-primary:hover,.sja-btn-primary:focus-visible{background:#76A522;border-color:#76A522;color:var(--sja-navy)!important}
.sja-btn-secondary{background:var(--sja-navy);color:var(--sja-white)!important;border:2px solid var(--sja-navy)}
.sja-btn-secondary:hover,.sja-btn-secondary:focus-visible{background:#0B246F;border-color:#0B246F;color:var(--sja-white)!important}
.sja-btn-outline{border:2px solid var(--sja-white);color:var(--sja-white)!important;background:transparent}
.sja-btn-outline:hover,.sja-btn-outline:focus-visible{background:var(--sja-white);color:var(--sja-navy)!important}
.sja-btn:focus-visible,.sja-course-page a:focus-visible,.sja-category-page a:focus-visible,.sja-bundle-page a:focus-visible{outline:3px solid #F3C623;outline-offset:3px}
.sja-eyebrow{color:var(--sja-purple-text)}
.sja-facts span{color:#5A6476;opacity:1}
.sja-payment,.sja-lead,.sja-section p,.sja-list li{color:var(--sja-text)}
.sja-final-cta p,.sja-final-cta .sja-list li{color:var(--sja-white)}
.sja-list li:before{color:var(--sja-green-text)}


/* v1.0.6 course readability and tighter content rhythm. */
.sja-course-page .sja-section{padding:20px 0}
.sja-course-page .sja-section h2{font-size:clamp(1.75rem,2.2vw,2rem);line-height:1.2;margin:0 0 14px}
.sja-course-page .sja-section p,.sja-course-page .sja-section li{font-size:16px;line-height:1.68}
.sja-course-page .sja-section p{margin-top:0;margin-bottom:12px}
.sja-course-page .sja-section p:last-child{margin-bottom:0}
.sja-course-page .sja-list-intro{margin:0 0 10px}
.sja-course-page .sja-section ul:not(.sja-list),.sja-course-page .sja-section ol{margin-top:8px;margin-bottom:12px;padding-left:1.4em}
.sja-course-page .sja-section ul:not(.sja-list) li,.sja-course-page .sja-section ol li{margin-bottom:7px}
.sja-course-page .sja-section ul:not(.sja-list) li:last-child,.sja-course-page .sja-section ol li:last-child{margin-bottom:0}
.sja-course-page .sja-list{gap:8px;margin-top:0}
.sja-course-page .sja-list li::before{color:#4f7600}
.sja-course-page .sja-style-accent .sja-inner{padding-left:24px}
.sja-course-page .sja-style-tip .sja-inner,.sja-course-page .sja-style-cards .sja-inner,.sja-course-page .sja-style-checklist .sja-inner{padding:24px}
@media(max-width:900px){.sja-course-page .sja-section{padding:18px 0}}
@media(max-width:600px){.sja-course-page .sja-section{padding:16px 0}.sja-course-page .sja-section h2{font-size:clamp(1.5rem,7vw,1.8rem);margin-bottom:12px}.sja-course-page .sja-section p,.sja-course-page .sja-section li{font-size:16px;line-height:1.65}}


/* v1.0.42 accessible Quick Facts card hierarchy.
   Bright brand purple/green are not used for small text; dark navy text stays high contrast. */
.sja-course-page .sja-facts{gap:12px}
.sja-course-page .sja-facts>div{
    position:relative;
    min-height:108px;
    padding:16px 17px 17px;
    border:1px solid #D8DEEA;
    border-top-width:4px;
    border-radius:12px;
    box-shadow:0 4px 14px rgba(4,19,70,.045);
}
.sja-course-page .sja-facts>div:nth-child(3n+1){background:#F7F1FA;border-top-color:#6F238A}
.sja-course-page .sja-facts>div:nth-child(3n+2){background:#F3F8EA;border-top-color:#4F7100}
.sja-course-page .sja-facts>div:nth-child(3n){background:#EEF2FA;border-top-color:#041346}
.sja-course-page .sja-facts span{font-size:.78rem;line-height:1.35;color:#46516A;opacity:1}
.sja-course-page .sja-facts strong{font-size:1rem;line-height:1.45;margin-top:7px;color:#041346;font-weight:800}
@media(max-width:600px){.sja-course-page .sja-facts>div{min-height:auto;padding:15px 16px}}

/* v1.0.42 — explicit section heading rendering */
.sja-course-page .sja-section-header{
    display:block !important;
    width:100%;
    margin:0 0 14px 0;
    padding:0;
}
.sja-course-page .sja-section-header .sja-section-title{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    font-size:clamp(1.75rem,2.2vw,2rem);
    line-height:1.2;
    font-weight:600;
    color:#041346;
}

/* v1.0.42 — functional course section styles */
.sja-course-page .sja-section{
    box-sizing:border-box;
}
.sja-course-page .sja-section--standard{
    background:transparent;
}
.sja-course-page .sja-section--light{
    background:#F7F8FC;
    border:1px solid #E2E6F0;
    border-radius:16px;
    padding:30px;
}
.sja-course-page .sja-section--accent{
    background:#FFFFFF;
    border-left:5px solid #6B258F;
    border-radius:12px;
    padding:26px 28px;
    box-shadow:0 8px 24px rgba(4,19,70,.06);
}
.sja-course-page .sja-section--checklist{
    background:#F7FAF1;
    border:1px solid #DDE8C7;
    border-radius:16px;
    padding:28px;
}
.sja-course-page .sja-section--cards{
    background:#F5F3FA;
    border:1px solid #E2DCF0;
    border-radius:16px;
    padding:28px;
}
.sja-course-page .sja-section--tip{
    background:#FFF9E8;
    border:1px solid #E7D89A;
    border-left:5px solid #8A6A00;
    border-radius:12px;
    padding:26px 28px;
}
.sja-course-page .sja-section-intro{
    margin:0 0 18px;
    color:#25324A;
}
.sja-course-page .sja-section-intro p:last-child{
    margin-bottom:0;
}
.sja-course-page .sja-list{
    margin:0;
    padding:0;
    list-style:none;
}
.sja-course-page .sja-list li{
    position:relative;
    padding-left:28px;
    margin:0 0 10px;
}
.sja-course-page .sja-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:#4B6F12;
    font-weight:700;
}
.sja-course-page .sja-faq-accordion{
    display:grid;
    gap:12px;
}
.sja-course-page .sja-faq-item{
    border:1px solid #DDE2EC;
    border-radius:12px;
    background:#FFFFFF;
    overflow:hidden;
}
.sja-course-page .sja-faq-question{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border:0;
    background:#F7F8FC;
    color:#041346;
    text-align:left;
    font:inherit;
    font-weight:700;
    padding:18px 20px;
    cursor:pointer;
}
.sja-course-page .sja-faq-question:hover,
.sja-course-page .sja-faq-question:focus-visible{
    background:#EEF2FA;
}
.sja-course-page .sja-faq-question:focus-visible{
    outline:3px solid #6B258F;
    outline-offset:2px;
}
.sja-course-page .sja-faq-icon{
    flex:0 0 auto;
    font-size:24px;
    line-height:1;
    color:#041346;
}
.sja-course-page .sja-faq-answer{
    padding:18px 20px;
    color:#25324A;
}
.sja-course-page .sja-faq-answer[hidden]{
    display:none !important;
}
@media (max-width:767px){
    .sja-course-page .sja-section--light,
    .sja-course-page .sja-section--accent,
    .sja-course-page .sja-section--checklist,
    .sja-course-page .sja-section--cards,
    .sja-course-page .sja-section--tip{
        padding:20px;
    }
}


/* v1.0.42 — complete functional Section Style system */

/* STANDARD: clean editorial flow */
.sja-course-page .sja-section--standard{
    background:transparent;
    border:0;
    border-radius:0;
}

/* LIGHT: soft contained content panel */
.sja-course-page .sja-section--light{
    background:#F7F8FC;
    border:1px solid #D8DEEA;
    border-radius:16px;
    padding:30px;
}

/* ACCENT: white editorial panel with strong SJA purple accent */
.sja-course-page .sja-section--accent{
    background:#FFFFFF;
    border:1px solid #E3E6EE;
    border-left:5px solid #6B258F;
    border-radius:12px;
    padding:26px 28px;
    box-shadow:0 8px 24px rgba(4,19,70,.06);
}

/* CHECKLIST: structured, accessible checklist panel */
.sja-course-page .sja-section--checklist{
    background:#F7FAF1;
    border:1px solid #CBDCAA;
    border-radius:16px;
    padding:28px;
}
.sja-course-page .sja-section--checklist .sja-list{
    display:grid;
    gap:10px;
}
.sja-course-page .sja-section--checklist .sja-list li{
    margin:0;
    padding:12px 14px 12px 42px;
    background:#FFFFFF;
    border:1px solid #DFE7D1;
    border-radius:10px;
}
.sja-course-page .sja-section--checklist .sja-list li::before{
    left:14px;
    top:12px;
}

/* FEATURE CARDS: section itself stays subtle; actual items become individual cards */
.sja-course-page .sja-section--cards{
    background:#F7F5FB;
    border:1px solid #E2DCF0;
    border-radius:16px;
    padding:30px;
}
.sja-course-page .sja-feature-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:20px;
}
.sja-course-page .sja-feature-card{
    min-width:0;
    background:#FFFFFF;
    border:1px solid #D8DEEA;
    border-top:4px solid #6B258F;
    border-radius:14px;
    padding:22px;
    box-shadow:0 6px 18px rgba(4,19,70,.05);
}
.sja-course-page .sja-feature-card-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    margin-bottom:14px;
    border-radius:10px;
    background:#EEF3E4;
    color:#36560B;
    font-size:22px;
}
.sja-course-page .sja-feature-card-title{
    margin:0 0 9px;
    color:#041346;
    font-size:1.08rem;
    line-height:1.3;
    font-weight:700;
}
.sja-course-page .sja-feature-card-description{
    margin:0 !important;
    color:#25324A;
    font-size:15px;
    line-height:1.6;
}

/* TIP: important warning/key-point treatment with contrast-safe gold accent */
.sja-course-page .sja-section--tip{
    background:#FFF9E8;
    border:1px solid #D9C578;
    border-left:5px solid #765A00;
    border-radius:12px;
    padding:26px 28px;
}

/* Keep intro paragraphs visually separate from structured items. */
.sja-course-page .sja-section-intro{
    margin:0 0 20px;
}
.sja-course-page .sja-section-intro > *:last-child{
    margin-bottom:0 !important;
}

@media (max-width:1024px){
    .sja-course-page .sja-feature-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:767px){
    .sja-course-page .sja-feature-card-grid{
        grid-template-columns:1fr;
        gap:14px;
    }
    .sja-course-page .sja-section--light,
    .sja-course-page .sja-section--accent,
    .sja-course-page .sja-section--checklist,
    .sja-course-page .sja-section--cards,
    .sja-course-page .sja-section--tip{
        padding:20px;
    }
}


/* v1.0.42 — intelligent Feature Cards grid */
.sja-course-page .sja-feature-card-grid--1{
    grid-template-columns:minmax(0,1fr);
}
.sja-course-page .sja-feature-card-grid--2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.sja-course-page .sja-feature-card-grid--3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.sja-course-page .sja-feature-card-grid--4{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.sja-course-page .sja-feature-card-grid--5{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.sja-course-page .sja-feature-card-grid--6{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:1024px){
    .sja-course-page .sja-feature-card-grid--3,
    .sja-course-page .sja-feature-card-grid--5,
    .sja-course-page .sja-feature-card-grid--6{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:767px){
    .sja-course-page .sja-feature-card-grid{
        grid-template-columns:1fr !important;
    }
}


/* v1.0.42 — hard suppression of legacy WooCommerce/Astra product hero when SJA Course Builder is active */
body.sja-course-builder-active .woocommerce div.product > .woocommerce-product-gallery,
body.sja-course-builder-active .woocommerce div.product > .summary,
body.sja-course-builder-active .ast-woocommerce-container div.product > .woocommerce-product-gallery,
body.sja-course-builder-active .ast-woocommerce-container div.product > .summary,
body.sja-course-builder-active .product.type-product > .woocommerce-product-gallery,
body.sja-course-builder-active .product.type-product > .summary,
[data-sja-legacy-hero="hidden"]{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
}


/* v1.0.42 — persistent server-detected legacy product suppression fallback */
body.sja-course-hide-legacy-product .woocommerce div.product > .woocommerce-product-gallery,
body.sja-course-hide-legacy-product .woocommerce div.product > .summary,
body.sja-course-hide-legacy-product .ast-woocommerce-container div.product > .woocommerce-product-gallery,
body.sja-course-hide-legacy-product .ast-woocommerce-container div.product > .summary,
body.sja-course-hide-legacy-product .product.type-product > .woocommerce-product-gallery,
body.sja-course-hide-legacy-product .product.type-product > .summary {
    display:none !important;
}


/* v1.0.42 — Category Builder structured content */
.sja-category-page .sja-section{
    padding-top:34px;
    padding-bottom:34px;
}
.sja-category-page .sja-section > .sja-inner{
    width:min(1110px,calc(100% - 40px));
    margin:0 auto;
}
.sja-category-page .sja-section--standard{
    background:transparent;
}
.sja-category-page .sja-section--light{
    background:#F7F8FC;
    border:1px solid #D8DEEA;
    border-radius:16px;
}
.sja-category-page .sja-section--accent{
    background:#FFFFFF;
    border:1px solid #E3E6EE;
    border-left:5px solid #6B258F;
    border-radius:12px;
    box-shadow:0 8px 24px rgba(4,19,70,.06);
}
.sja-category-page .sja-section--checklist{
    background:#F7FAF1;
    border:1px solid #CBDCAA;
    border-radius:16px;
}
.sja-category-page .sja-section--cards{
    background:#F7F5FB;
    border:1px solid #E2DCF0;
    border-radius:16px;
}
.sja-category-page .sja-section--tip{
    background:#FFF9E8;
    border:1px solid #D9C578;
    border-left:5px solid #765A00;
    border-radius:12px;
}
.sja-category-page .sja-section--light > .sja-inner,
.sja-category-page .sja-section--accent > .sja-inner,
.sja-category-page .sja-section--checklist > .sja-inner,
.sja-category-page .sja-section--cards > .sja-inner,
.sja-category-page .sja-section--tip > .sja-inner{
    padding:28px;
}
.sja-category-page .sja-section--checklist .sja-list li{
    margin:0 0 10px;
    padding:12px 14px 12px 42px;
    background:#fff;
    border:1px solid #DFE7D1;
    border-radius:10px;
}
.sja-category-page .sja-section--checklist .sja-list li::before{
    left:14px;
    top:12px;
}
@media(max-width:767px){
    .sja-category-page .sja-section > .sja-inner{
        width:min(100% - 24px,1110px);
    }
    .sja-category-page .sja-section--light > .sja-inner,
    .sja-category-page .sja-section--accent > .sja-inner,
    .sja-category-page .sja-section--checklist > .sja-inner,
    .sja-category-page .sja-section--cards > .sja-inner,
    .sja-category-page .sja-section--tip > .sja-inner{
        padding:20px;
    }
}


/* v1.0.42 — bundle course cards */
.sja-bundle-course-note{
    margin:8px 0 12px;
    color:#46536b;
    font-size:14px;
    line-height:1.55;
}


/* v1.0.42 — WooCommerce category thumbnail in Category Builder hero */
.sja-category-hero .sja-category-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);
    gap:48px;
    align-items:center;
}
.sja-category-hero-copy{
    min-width:0;
}
.sja-category-hero-media{
    width:100%;
}
.sja-category-hero-media img{
    display:block;
    width:100%;
    aspect-ratio:3/2;
    object-fit:cover;
    border-radius:16px;
}
@media (max-width:900px){
    .sja-category-hero .sja-category-hero-grid{
        grid-template-columns:1fr;
        gap:28px;
    }
    .sja-category-hero-media{
        max-width:680px;
    }
}


/* v1.0.42 — optional bundle qualifications inside Course Builder */
.sja-bundle-qualification-card{
    cursor:default;
}
.sja-bundle-qualification-card .sja-product-image{
    pointer-events:none;
}
.sja-bundle-qualification-card h3{
    margin-bottom:8px;
}
.sja-bundle-qualifications{
    padding-top:34px;
    padding-bottom:34px;
}


/* v1.0.42 — text-only bundle qualification composition */
.sja-bundle-qualification-list{
    display:flex;
    flex-direction:column;
    gap:0;
    max-width:900px;
}
.sja-bundle-qualification-row{
    border:1px solid rgba(4,19,70,.14);
    border-radius:10px;
    padding:18px 22px;
    background:#fff;
}
.sja-bundle-qualification-row h3{
    margin:0;
    font-size:20px;
    line-height:1.4;
}
.sja-bundle-qualification-row p{
    margin:8px 0 0;
}
.sja-bundle-relationship{
    align-self:flex-start;
    margin:8px 0;
    font-weight:700;
    font-size:13px;
    letter-spacing:.08em;
}


/* v1.0.42 — dual CTA course cards in category grids */
.sja-category-courses .sja-card-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:stretch;
}
.sja-category-courses .sja-card-actions .sja-btn{
    flex:1 1 130px;
    min-height:46px;
    text-align:center;
}
@media (max-width:767px){
    .sja-category-courses .sja-card-actions{
        flex-direction:column;
    }
    .sja-category-courses .sja-card-actions .sja-btn{
        width:100%;
        flex:1 1 auto;
    }
}


/* Category Builder 1.1 enhancements */
.sja-category-hero-figure{margin:0}.sja-category-hero-figure figcaption{font-size:.875rem;margin-top:.5rem;color:#5e6575}
.sja-category-toc{background:#fff;border-top:1px solid #e7eaf1;border-bottom:1px solid #e7eaf1;padding:24px 0}
.sja-category-toc-title{font-size:1.25rem;margin:0 0 12px}.sja-category-toc ul{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0;padding:0;list-style:none}
.sja-category-toc a{text-decoration:none;font-weight:600}.sja-category-toc a:hover{text-decoration:underline}
.sja-final-cta .sja-actions{justify-content:center;flex-wrap:wrap}
@media(max-width:767px){.sja-category-toc ul{display:block}.sja-category-toc li+li{margin-top:8px}}


/* SJA Course Builder v1.2.0 — brighter premium visual system */
.sja-course-page{--sja-navy:#041346;--sja-purple:#B83FF1;--sja-green:#88BD28;--sja-ink:#1f2942;--sja-soft:#f7f3ff}
.sja-course-page .sja-hero{background:linear-gradient(125deg,#041346 0%,#182b76 52%,#7d1bb0 100%);position:relative;overflow:hidden}
.sja-course-page .sja-hero:before{content:"";position:absolute;inset:-30% auto auto 55%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(184,63,241,.42),rgba(184,63,241,0) 68%);pointer-events:none}
.sja-course-page .sja-hero:after{content:"";position:absolute;right:-100px;bottom:-180px;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(136,189,40,.25),rgba(136,189,40,0) 70%);pointer-events:none}
.sja-course-page .sja-hero .sja-inner{position:relative;z-index:1}
.sja-course-page .sja-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 14px;letter-spacing:.08em}
.sja-course-page .sja-btn{border-radius:12px;box-shadow:0 8px 20px rgba(4,19,70,.18);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.sja-course-page .sja-btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(4,19,70,.25);filter:saturate(1.1)}
.sja-course-page .sja-facts-grid>*{background:linear-gradient(180deg,#fff 0%,#fbf8ff 100%);border:1px solid rgba(184,63,241,.22);border-top:4px solid var(--sja-purple);border-radius:16px;box-shadow:0 10px 28px rgba(4,19,70,.08)}
.sja-course-page .sja-facts-grid>*:nth-child(3n+2){border-top-color:var(--sja-green)}
.sja-course-page .sja-facts-grid>*:nth-child(3n+3){border-top-color:#2445b8}
.sja-course-page .sja-section h2{position:relative;padding-bottom:12px;color:var(--sja-navy)}
.sja-course-page .sja-section h2:after{content:"";position:absolute;left:0;bottom:0;width:72px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--sja-purple),var(--sja-green))}
.sja-course-page .sja-style-light{background:linear-gradient(135deg,#fbf8ff 0%,#f5f8ff 55%,#f8fcef 100%);border-radius:18px;padding-left:28px!important;padding-right:28px!important}
.sja-course-page .sja-style-accent{border-left:6px solid var(--sja-purple);background:#fff;border-radius:0 18px 18px 0;box-shadow:0 10px 30px rgba(4,19,70,.07);padding-left:28px!important;padding-right:28px!important}
.sja-course-page .sja-style-tip{background:linear-gradient(120deg,rgba(136,189,40,.14),rgba(184,63,241,.09));border:1px solid rgba(136,189,40,.45);border-radius:18px;padding-left:28px!important;padding-right:28px!important}
.sja-course-page .sja-card{border:1px solid rgba(4,19,70,.09);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(4,19,70,.08);transition:transform .2s ease,box-shadow .2s ease}
.sja-course-page .sja-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(4,19,70,.13)}
.sja-course-page .sja-card:nth-child(3n+1){border-top:4px solid var(--sja-purple)}
.sja-course-page .sja-card:nth-child(3n+2){border-top:4px solid var(--sja-green)}
.sja-course-page .sja-card:nth-child(3n+3){border-top:4px solid #2445b8}
.sja-course-page .sja-faq-item{border:1px solid rgba(4,19,70,.11);border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(4,19,70,.06);overflow:hidden}
.sja-course-page .sja-faq-question{background:linear-gradient(90deg,#fff,#faf7ff);color:var(--sja-navy)}
.sja-course-page .sja-final-cta{background:linear-gradient(120deg,#041346 0%,#2b2b88 52%,#8d25bd 100%);border-radius:22px;box-shadow:0 18px 45px rgba(4,19,70,.22);position:relative;overflow:hidden}
@media(max-width:767px){.sja-course-page .sja-style-light,.sja-course-page .sja-style-accent,.sja-course-page .sja-style-tip{padding-left:18px!important;padding-right:18px!important;border-radius:14px}}

/* ========================================================================
   v1.5.2 — Restore the original contained course-page layout
   Keep theme/Elementor wrappers untouched and constrain only SJA inner content.
   ======================================================================== */
.sja-course-page{
    --sja-content-width:1110px;
    overflow:visible;
}
.sja-course-page .sja-inner,
.sja-course-page .sja-section-inner{
    width:min(var(--sja-content-width),calc(100% - 40px));
    max-width:var(--sja-content-width);
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
}
.sja-course-page .sja-section{
    width:auto;
    margin-left:auto;
    margin-right:auto;
}
@media(max-width:600px){
    .sja-course-page .sja-inner,
    .sja-course-page .sja-section-inner{
        width:min(100% - 28px,var(--sja-content-width));
    }
}


/* ========================================================================
   v1.5.3 — Restore the proven v1.1.1 boxed Elementor layout.
   The whole Course Builder widget is centred; sections no longer span the
   browser width. This intentionally overrides the experimental v1.5.2 rules.
   ======================================================================== */
.elementor-widget-sja_course_builder_v100,
.elementor-widget-sja_course_builder_v100 > .elementor-widget-container{
    width:100%;
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
}
.sja-course-page{
    width:100%;
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    overflow:visible;
}
.sja-course-page .sja-section{
    width:100%;
    max-width:none;
    box-sizing:border-box;
}
.sja-course-page .sja-section-inner{
    width:auto;
    max-width:none;
    margin:0;
}
@media(max-width:1220px){
    .elementor-widget-sja_course_builder_v100,
    .elementor-widget-sja_course_builder_v100 > .elementor-widget-container,
    .sja-course-page{
        max-width:calc(100% - 40px);
    }
}
@media(max-width:600px){
    .elementor-widget-sja_course_builder_v100,
    .elementor-widget-sja_course_builder_v100 > .elementor-widget-container,
    .sja-course-page{
        max-width:calc(100% - 28px);
    }
}


/* ========================================================================
   v1.5.5 — Optional premium section styles, per-section typography presets,
   section dividers, enhanced tables/FAQs and stronger CTA presentation.
   Existing styles are retained unchanged for backward compatibility.
   ======================================================================== */
.sja-course-page .sja-section{
    --sja-section-heading-size:clamp(1.75rem,2.2vw,2rem);
    --sja-section-body-size:16px;
    position:relative;
    transition:box-shadow .22s ease,transform .22s ease,background .22s ease;
}
.sja-course-page .sja-section .sja-section-title{font-size:var(--sja-section-heading-size)!important}
.sja-course-page .sja-section .sja-section-content p,
.sja-course-page .sja-section .sja-section-content li,
.sja-course-page .sja-section .sja-section-intro p{font-size:var(--sja-section-body-size)!important}
.sja-course-page .sja-font--compact{--sja-section-heading-size:clamp(1.45rem,1.9vw,1.7rem);--sja-section-body-size:15px}
.sja-course-page .sja-font--standard{--sja-section-heading-size:clamp(1.75rem,2.2vw,2rem);--sja-section-body-size:16px}
.sja-course-page .sja-font--large{--sja-section-heading-size:clamp(2rem,2.7vw,2.45rem);--sja-section-body-size:18px}
.sja-course-page .sja-font--extra-large{--sja-section-heading-size:clamp(2.25rem,3.1vw,2.85rem);--sja-section-body-size:20px}

.sja-course-page .sja-section--premium-white{background:#fff;border:1px solid rgba(4,19,70,.1);border-radius:20px;padding:36px 38px;box-shadow:0 16px 40px rgba(4,19,70,.1)}
.sja-course-page .sja-section--soft-grey{background:linear-gradient(145deg,#f7f8fb,#eef1f7);border:1px solid #e0e5ef;border-radius:20px;padding:36px 38px}
.sja-course-page .sja-section--navy-tint{background:linear-gradient(135deg,#eef2ff,#f8f9ff);border:1px solid rgba(4,19,70,.2);border-left:7px solid var(--sja-navy);border-radius:18px;padding:36px 38px}
.sja-course-page .sja-section--purple-tint{background:linear-gradient(135deg,#fcf4ff,#f8edff);border:1px solid rgba(184,63,241,.28);border-left:7px solid var(--sja-purple);border-radius:18px;padding:36px 38px}
.sja-course-page .sja-section--green-tint{background:linear-gradient(135deg,#f7fce9,#eef8db);border:1px solid rgba(136,189,40,.35);border-left:7px solid var(--sja-green);border-radius:18px;padding:36px 38px}
.sja-course-page .sja-section--navy-gradient{background:linear-gradient(135deg,#041346,#173678);border-radius:22px;padding:40px;color:#fff;box-shadow:0 18px 42px rgba(4,19,70,.24)}
.sja-course-page .sja-section--purple-gradient{background:linear-gradient(135deg,#56106f,#9f28ca 58%,#b83ff1);border-radius:22px;padding:40px;color:#fff;box-shadow:0 18px 42px rgba(91,17,119,.24)}
.sja-course-page .sja-section--navy-gradient .sja-section-title,
.sja-course-page .sja-section--purple-gradient .sja-section-title,
.sja-course-page .sja-section--navy-gradient p,.sja-course-page .sja-section--navy-gradient li,
.sja-course-page .sja-section--purple-gradient p,.sja-course-page .sja-section--purple-gradient li{color:#fff!important}
.sja-course-page .sja-section--navy-gradient .sja-section-title:after,
.sja-course-page .sja-section--purple-gradient .sja-section-title:after{background:linear-gradient(90deg,#fff,var(--sja-green))}
.sja-course-page .sja-section--premium-border{background:#fff;border:2px solid transparent;border-radius:20px;padding:36px 38px;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,var(--sja-purple),var(--sja-green));background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 14px 34px rgba(4,19,70,.09)}
.sja-course-page .sja-section--glass-card{background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(247,242,255,.72));border:1px solid rgba(255,255,255,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:22px;padding:38px;box-shadow:0 18px 48px rgba(4,19,70,.13)}
.sja-course-page .sja-section--highlight-banner{background:linear-gradient(100deg,#041346 0%,#202e78 54%,#6b278e 100%);border-radius:18px;padding:34px 38px;color:#fff;border-bottom:6px solid var(--sja-green)}
.sja-course-page .sja-section--highlight-banner .sja-section-title,
.sja-course-page .sja-section--highlight-banner p,.sja-course-page .sja-section--highlight-banner li{color:#fff!important}
.sja-course-page .sja-section--highlight-banner .sja-section-title:after{background:var(--sja-green)}

/* Optional section dividers. */
.sja-course-page .sja-section[class*="sja-divider--"]:before{content:"";display:block;position:absolute;left:0;right:0;top:-1px;pointer-events:none}
.sja-course-page .sja-divider--straight:before{height:1px;background:#dfe4ee}
.sja-course-page .sja-divider--gradient:before{height:4px;border-radius:99px;background:linear-gradient(90deg,var(--sja-navy),var(--sja-purple),var(--sja-green))}
.sja-course-page .sja-divider--dotted:before{height:2px;background:repeating-linear-gradient(90deg,var(--sja-purple) 0 7px,transparent 7px 14px)}
.sja-course-page .sja-divider--navy:before{height:3px;background:var(--sja-navy)}
.sja-course-page .sja-divider--purple:before{height:3px;background:var(--sja-purple)}
.sja-course-page .sja-divider--green:before{height:3px;background:var(--sja-green)}
.sja-course-page .sja-divider--wave:before{height:12px;background:radial-gradient(18px 8px at 18px -2px,transparent 12px,var(--sja-purple) 13px 14px,transparent 15px) repeat-x;background-size:36px 12px;opacity:.55}

/* Tables */
.sja-course-page .sja-section table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #dfe4ee;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(4,19,70,.08);font-size:inherit}
.sja-course-page .sja-section table thead th{background:linear-gradient(100deg,var(--sja-navy),#263c84);color:#fff;padding:15px 16px;text-align:left;border:0}
.sja-course-page .sja-section table tbody td{padding:14px 16px;border:0;border-bottom:1px solid #e8ebf1;vertical-align:top}
.sja-course-page .sja-section table tbody tr:nth-child(even){background:#f8f9fc}
.sja-course-page .sja-section table tbody tr:hover{background:#f5ecff}
.sja-course-page .sja-section table tbody tr:last-child td{border-bottom:0}

/* FAQ variants and font presets */
.sja-course-page .sja-faq-style--minimal .sja-faq-item{box-shadow:none;border-width:0 0 1px;border-radius:0}
.sja-course-page .sja-faq-style--bordered .sja-faq-item{border:2px solid #dfe4ee;box-shadow:none}
.sja-course-page .sja-faq-style--navy .sja-faq-item{border-left:5px solid var(--sja-navy)}
.sja-course-page .sja-faq-style--purple .sja-faq-item{border-left:5px solid var(--sja-purple)}
.sja-course-page .sja-faq-style--navy .sja-faq-question{background:linear-gradient(90deg,#eef2ff,#fff)}
.sja-course-page .sja-faq-style--purple .sja-faq-question{background:linear-gradient(90deg,#fbf0ff,#fff)}
.sja-course-page .sja-faq-font--compact .sja-faq-question{font-size:15px}
.sja-course-page .sja-faq-font--standard .sja-faq-question{font-size:16px}
.sja-course-page .sja-faq-font--large .sja-faq-question{font-size:18px}
.sja-course-page .sja-faq-font--extra-large .sja-faq-question{font-size:20px}

/* Stronger final CTA */
.sja-course-page .sja-final-cta{padding:58px 46px!important;margin:36px 0 10px;background:linear-gradient(120deg,#041346 0%,#263b88 54%,#8d25bd 100%)!important;border-radius:24px!important;border-bottom:7px solid var(--sja-green);box-shadow:0 22px 52px rgba(4,19,70,.28)!important}
.sja-course-page .sja-final-cta h2{font-size:clamp(2rem,3vw,2.7rem)!important}
.sja-course-page .sja-final-cta .sja-actions{margin-top:22px}

@media(max-width:767px){
 .sja-course-page .sja-section--premium-white,.sja-course-page .sja-section--soft-grey,.sja-course-page .sja-section--navy-tint,.sja-course-page .sja-section--purple-tint,.sja-course-page .sja-section--green-tint,.sja-course-page .sja-section--navy-gradient,.sja-course-page .sja-section--purple-gradient,.sja-course-page .sja-section--premium-border,.sja-course-page .sja-section--glass-card,.sja-course-page .sja-section--highlight-banner{padding:26px 20px;border-radius:15px}
 .sja-course-page .sja-section table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .sja-course-page .sja-final-cta{padding:38px 22px!important;border-radius:17px!important}
}

/* v1.6.1 Native Table Builder */
.sja-native-table{margin-top:24px}
.sja-native-table-title{margin:0 0 14px;color:#041346}
.sja-native-table .sja-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
.sja-native-table .sja-course-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;min-width:620px}
.sja-native-table .sja-course-table th{background:#041346;color:#fff;padding:14px 16px;text-align:left;font-weight:700}
.sja-native-table .sja-course-table td{padding:13px 16px;border-bottom:1px solid #e5e7eb;vertical-align:top}
.sja-native-table--zebra tbody tr:nth-child(even),.sja-native-table--premium tbody tr:nth-child(even){background:#f7f8fc}
.sja-native-table--compact .sja-course-table th,.sja-native-table--compact .sja-course-table td{padding:9px 12px;font-size:.94em}
.sja-native-table--premium .sja-table-wrap{box-shadow:0 12px 30px rgba(4,19,70,.10);border:1px solid rgba(184,63,241,.18)}
.sja-native-table--premium .sja-course-table th:first-child{border-top-left-radius:14px}
.sja-native-table--premium .sja-course-table th:last-child{border-top-right-radius:14px}
@media(max-width:767px){.sja-native-table .sja-course-table{min-width:560px}.sja-native-table .sja-course-table th,.sja-native-table .sja-course-table td{padding:11px 12px}}


/* v1.6.2 — Final CTA left alignment inside the Course Builder container.
   The CTA keeps its full available background width, while its inner content and
   buttons start from the left edge of the CTA padding instead of being re-centred. */
.sja-course-page .sja-final-cta > .sja-inner{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:left;
}
.sja-course-page .sja-final-cta .sja-actions{
    justify-content:flex-start !important;
}
.sja-course-page .sja-final-cta p{
    margin-left:0;
    margin-right:0;
}

/* v1.7.0 — Independent section content width and background width controls. */
.sja-course-page .sja-inner--full{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
}
.sja-course-page .sja-section.sja-content-width--contained > .sja-inner{
    width:min(1180px,calc(100% - 40px));
    margin-left:auto;
    margin-right:auto;
}
.sja-course-page .sja-section.sja-content-width--full > .sja-inner{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
}
/* A contained visual style/gradient lives on the inner panel. */
.sja-course-page .sja-section.sja-background-width--contained > .sja-inner{
    box-sizing:border-box;
}
/* A full-width visual style/gradient lives on the outer section, while content can remain contained. */
.sja-course-page .sja-section.sja-background-width--full{
    border-radius:0;
}

/* CTA defaults to a contained gradient panel. Full-width is opt-in. */
.sja-course-page .sja-final-cta{
    padding:36px 0 !important;
    margin:36px 0 10px;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
.sja-course-page .sja-final-cta > .sja-inner{
    width:min(1180px,calc(100% - 40px)) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:left;
}
.sja-course-page .sja-final-cta > .sja-inner.sja-inner--full{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
}
.sja-course-page .sja-final-cta-panel{
    padding:58px 46px;
    background:linear-gradient(120deg,#041346 0%,#263b88 54%,#8d25bd 100%);
    border-radius:24px;
    border-bottom:7px solid var(--sja-green);
    box-shadow:0 22px 52px rgba(4,19,70,.28);
    color:#fff;
    box-sizing:border-box;
}
.sja-course-page .sja-final-cta--background-full{
    background:linear-gradient(120deg,#041346 0%,#263b88 54%,#8d25bd 100%) !important;
    border-bottom:7px solid var(--sja-green) !important;
}
.sja-course-page .sja-final-cta--background-full .sja-final-cta-panel{
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
}
.sja-course-page .sja-final-cta .sja-actions{justify-content:flex-start !important;}
.sja-course-page .sja-final-cta h2,
.sja-course-page .sja-final-cta p{color:#fff !important;}
@media(max-width:767px){
    .sja-course-page .sja-section.sja-content-width--contained > .sja-inner,
    .sja-course-page .sja-final-cta > .sja-inner{
        width:min(100% - 28px,1180px) !important;
    }
    .sja-course-page .sja-final-cta-panel{
        padding:38px 22px;
        border-radius:17px;
    }
}
