/**
 * SterlingNext — Course Detail Page Stylesheet
 * assets/css/course-detail.css
 *
 * ARCHITECTURE:
 * All hero rules use .sn-course-hero* (isolated namespace — no site theme conflict).
 * Tab bar uses #courseTabsWrapper with !important overrides to beat Bootstrap/theme.
 * All other sections use sn-* namespaced classes.
 */

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap');

/* ================================================================
   BASE
================================================================ */
.course-page,
.course-page body {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ================================================================
   ██  HERO SECTION — fully isolated namespace
   page-banner-section is kept ONLY for IntersectionObserver targeting.
   ALL visual styling lives in .sn-course-hero* (site CSS can't touch it).
================================================================ */
.sn-course-hero {
    display: block !important;
    position: relative !important;
    background: linear-gradient(135deg, #061e3c 0%, #0a3d6b 45%, #0b6b9a 100%) !important;
    color: #fff !important;
    padding: 80px 0 60px !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    min-height: 340px !important;
    /* defeat any site animation that hides it */
    transform: none !important;
    animation: none !important;
}

/* Geometric blobs — pure CSS, zero images */
.sn-hero-blob {
    display: block !important;
    position: absolute !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.sn-hero-blob--tl {
    width: 500px !important; height: 500px !important;
    top: -180px !important; left: -120px !important;
    background: radial-gradient(circle, rgba(255,255,255,.04) 0%, transparent 70%) !important;
}
.sn-hero-blob--br {
    width: 420px !important; height: 420px !important;
    bottom: -150px !important; right: -80px !important;
    background: radial-gradient(circle, rgba(13,138,196,.18) 0%, transparent 65%) !important;
}

/* ── Breadcrumb ── */
.sn-hero-breadcrumb {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    font-size: 12.5px !important;
    color: rgba(255,255,255,.65) !important;
    margin-bottom: 18px !important;
}
.sn-hero-breadcrumb a {
    color: rgba(255,255,255,.75) !important;
    text-decoration: none !important;
    transition: color .15s !important;
}
.sn-hero-breadcrumb a:hover { color: #fff !important; }
.sn-hero-breadcrumb span:last-child { color: rgba(255,255,255,.5) !important; }

/* ── H1 ── */
.sn-hero-title {
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: clamp(24px, 3.5vw, 32px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    margin: 0 0 18px !important;
    letter-spacing: -0.5px !important;
}
.sn-hero-city {
    display: inline !important;
    color: #7fd3f5 !important;
    font-weight: 700 !important;
}

/* ── Trust bar ── */
.sn-hero-trust {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 14px !important;
    margin-bottom: 20px !important;
    font-size: 13.5px !important;
    color: rgba(255,255,255,.85) !important;
}
.sn-ht-rating  { color: #ffd54f !important; }
.sn-ht-reviews { color: #b3e5fc !important; }
.sn-ht-learners{ color: #fff    !important; }
.sn-hero-trust strong { color: #fff !important; font-weight: 700 !important; }
.sn-hero-trust i { margin-right: 4px !important; }
.sn-ht-sep { width: 4px !important; height: 4px !important; border-radius: 50% !important; background: rgba(255,255,255,.35) !important; display: inline-block !important; }

/* ── About ── */
.sn-hero-about {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: rgba(255,255,255,.8) !important;
    margin: 0 0 20px !important;
    max-width: 640px !important;
}

/* ── City pills ── */
.sn-hero-cities {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 28px !important;
}
.sn-hero-cities-label {
    font-size: 12px !important;
    color: rgba(255,255,255,.55) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
.sn-hero-city-pill {
    display: inline-block !important;
    padding: 5px 12px !important;
    background: rgba(255,255,255,.1) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 999px !important;
    font-size: 12.5px !important;
    color: #fff !important;
    text-decoration: none !important;
    transition: background .18s, border-color .18s !important;
}
.sn-hero-city-pill:hover {
    background: rgba(255,193,7,.85) !important;
    border-color: transparent !important;
    color: #000 !important;
}

/* ── CTA row ── */
.sn-hero-cta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-bottom: 22px !important;
}
.sn-hero-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 26px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    cursor: pointer !important;
    border: none !important;
    text-decoration: none !important;
    transition: transform .18s, box-shadow .18s, background .18s !important;
    white-space: nowrap !important;
}
.sn-hero-btn--primary {
    background: linear-gradient(135deg, #e07b00, #ffa500) !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(224,123,0,.35) !important;
}
.sn-hero-btn--primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(224,123,0,.45) !important;
    color: #fff !important;
}
.sn-hero-btn--ghost {
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
    border: 2px solid rgba(255,255,255,.35) !important;
    backdrop-filter: blur(4px) !important;
}
.sn-hero-btn--ghost:hover {
    background: rgba(255,255,255,.2) !important;
    border-color: rgba(255,255,255,.6) !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

/* ── Micro-trust ── */
.sn-hero-micro-trust {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 18px !important;
    font-size: 12px !important;
    color: rgba(255,255,255,.6) !important;
}
.sn-hero-micro-trust span { display: flex !important; align-items: center !important; gap: 5px !important; }
.sn-hero-micro-trust i { color: #7fd3f5 !important; font-size: 13px !important; }

/* ── Stat card (right) ── */
.sn-hero-stat-card {
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 20px !important;
    padding: 28px !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}
.sn-hsc-row {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}
.sn-hsc-row--bottom { margin-bottom: 22px !important; }
.sn-hsc-stat { text-align: center !important; }
.sn-hsc-num {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #ffd54f !important;
    line-height: 1 !important;
    margin-bottom: 4px !important;
}
.sn-hsc-lbl { font-size: 11px !important; color: rgba(255,255,255,.6) !important; font-weight: 500 !important; }
.sn-hsc-divider {
    width: 1px !important; height: 48px !important;
    background: rgba(255,255,255,.15) !important;
    justify-self: center !important;
}
.sn-hsc-logos {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    justify-content: center !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    padding-top: 18px !important;
}
.sn-hsc-logo-badge {
    padding: 4px 10px !important;
    background: rgba(255,255,255,.1) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 6px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,.75) !important;
    letter-spacing: .02em !important;
}

/* ── Hero responsive ── */
@media (max-width: 991px) {
    .sn-hero-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
    .sn-hero-right  { display: none !important; }
    .sn-course-hero { padding: 70px 0 44px !important; }
}
@media (max-width: 576px) {
    .sn-course-hero { padding: 60px 0 36px !important; }
    .sn-hero-title  { font-size: 22px !important; }
    .sn-hero-btn    { padding: 12px 18px !important; font-size: 14px !important; }
    .sn-hero-trust  { font-size: 12px !important; }
}

/* ── page-banner-section fallback (site theme override safety) ── */
.page-banner-section.sn-course-hero {
    position: relative !important;

    display: block !important;

    width: 100% !important;

    height: auto !important;
    min-height: unset !important;
    max-height: none !important;

    margin: 0 !important;
    margin-top: 0 !important;

    padding: 30px 0 20px !important;

    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    transform: none !important;
    translate: none !important;

    opacity: 1 !important;
    visibility: visible !important;

    overflow: hidden !important;

    clear: both !important;

    z-index: 1 !important;

    background: linear-gradient(
        135deg,
        #061e3c 0%,
        #0a3d6b 45%,
        #0b6b9a 100%
    ) !important;
}

/* ================================================================
   STICKY TAB BAR — v7 final
   sntab__ namespaced. Pill style. Gap fix included.
================================================================ */

:root { --sntab-header-h: 0px; }

/* Sentinel */
#sn-tab-sentinel {
    display: block !important;
    height: 1px !important;
    margin: 0 !important; padding: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

/* ── Wrapper ── */
#courseTabsWrapper {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--sntab-header-h, 0px) !important;
    z-index: 1020 !important;
    width: 100% !important;
    background: #edf1f7 !important;
    border-top: 1px solid #d5dce8 !important;
    border-bottom: 2px solid #d5dce8 !important;
    box-shadow: none !important;
    transition: box-shadow .25s ease, top .1s linear !important;
    margin: 0 !important; padding: 0 !important;
    opacity: 1 !important; visibility: visible !important;
    transform: none !important; animation: none !important;
    float: none !important; clear: both !important;
}
#courseTabsWrapper.stuck {
    box-shadow: 0 4px 20px rgba(7,47,105,.14) !important;
}

/* ── Inner row ── */
.sntab__inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    height: 88px !important;
    gap: 20px !important;
    padding: 0 45px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* ── Nav group ── */
.sntab__nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 100% !important;
    gap: 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 !important; padding: 0 !important;
    background: transparent !important;
}
.sntab__nav::-webkit-scrollbar { display: none !important; }

/* ── Tab pill base ── */
.sntab__item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;

    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    color: #374151 !important;
    text-decoration: none !important;

    background: #ffffff !important;
    border: 1.5px solid #c8d3e0 !important;
    border-radius: 7px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
    outline: none !important;
    cursor: pointer !important;
    transition: color .14s, border-color .14s, background .14s, box-shadow .14s !important;
    -webkit-tap-highlight-color: transparent !important;
}
.sntab__item:hover {
    color: #086591 !important;
    border-color: #85bbd8 !important;
    background: #f0f7fc !important;
    box-shadow: 0 2px 8px rgba(10,77,138,.1) !important;
    text-decoration: none !important;
}

/* Active pill */
.sntab__item--active,
.sntab__item.active,
.sntab__item[aria-current="true"] {
    background: #086591 !important;
    border-color: #0f3460 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 3px 10px rgba(15,52,96,.3) !important;
}
.sntab__item--active:hover,
.sntab__item.active:hover {
    background: #086591 !important;
    border-color: #0a2852 !important;
    color: #fff !important;
}

/* ================================================================
   PASTE THIS AT THE VERY END OF course-detail.css
   This overrides everything above for mobile.
================================================================ */
@media (max-width: 767px) {

    /* Switch sticky → fixed: eliminates scroll-repaint blur entirely */
    #courseTabsWrapper {
        position: fixed !important;
        -webkit-position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        width: 100% !important;
        z-index: 99999 !important;

        /* Kill every GPU-triggering property */
        transition: none !important;
        -webkit-transition: none !important;
        animation: none !important;
        transform: none !important;
        -webkit-transform: none !important;
        will-change: auto !important;
        box-shadow: none !important;
        filter: none !important;

        background: #f4f7fb !important;
        border-top: none !important;
        border-bottom: 2px solid #d5dce8 !important;

        contain: layout style !important;
    }

    /* Stuck class does nothing on mobile */
    #courseTabsWrapper.stuck {
        box-shadow: none !important;
        transition: none !important;
    }

    /* Sentinel becomes a height spacer so content isn't hidden under the bar */
    #sn-tab-sentinel {
        display: block !important;
        height: 58px !important;
        visibility: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        pointer-events: none !important;
    }

    /* Hide nav tabs */
    #courseTabsWrapper .sntab__nav,
    #courseTabs {
        display: none !important;
        width: 0 !important;
        overflow: hidden !important;
    }

    /* Inner row */
    #courseTabsWrapper .sntab__inner {
        height: 58px !important;
        padding: 8px 14px !important;
        gap: 8px !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    /* Enquire Now */
    #courseTabsWrapper .sntab__btn--enquire {
        display: inline-flex !important;
        flex: 0 0 38% !important;
        width: 38% !important;
        height: 42px !important;
        border-radius: 25px !important;
        font-size: 13px !important;
        padding: 0 8px !important;
        justify-content: center !important;
        box-shadow: none !important;
        transition: none !important;
        animation: none !important;
    }

    /* Download Free Study Guide */
    #courseTabsWrapper .sntab__btn--study {
        display: inline-flex !important;
        flex: 1 1 0 !important;
        height: 42px !important;
        border-radius: 25px !important;
        font-size: 13px !important;
        padding: 0 8px !important;
        justify-content: center !important;
        /* No animation, no glow, no shimmer — pure performance */
        animation: none !important;
        box-shadow: none !important;
        transition: none !important;
        background: linear-gradient(135deg, #c94d05, #f06318) !important;
    }

    /* Kill shimmer on mobile */
    #courseTabsWrapper .sntab__btn-shine {
        display: none !important;
        animation: none !important;
    }
}

@media (max-width: 420px) {
    #sn-tab-sentinel { height: 52px !important; }
    #courseTabsWrapper .sntab__inner { height: 52px !important; padding: 6px 10px !important; }
    #courseTabsWrapper .sntab__btn--enquire,
    #courseTabsWrapper .sntab__btn--study { height: 38px !important; font-size: 12px !important; }
}
/* ── CTA buttons ── */
.sntab__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    height: 50px !important;
    padding: 0 20px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;

    font-family: "Poppins", Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 7px !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
}

.sntab__btn--enquire {
    background: #086591 !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(13,59,110,.3) !important;
    transition: background .14s !important;
}
.sntab__btn--enquire:hover {
    background: #082d56 !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* ── Study guide — shimmer + pulse ── */
@keyframes sntab-shimmer {
    0%  { transform: translateX(-130%) skewX(-18deg); opacity:1; }
    65% { transform: translateX(280%)  skewX(-18deg); opacity:1; }
    66% { opacity:0; }
    100%{ transform: translateX(280%)  skewX(-18deg); opacity:0; }
}
@keyframes sntab-glow {
    0%,100% { box-shadow: 0 3px 10px rgba(200,75,5,.30); }
    50%      { box-shadow: 0 3px 22px rgba(255,110,20,.65); }
}

.sntab__btn--study {
    background: linear-gradient(135deg,#c94d05 0%,#f06318 55%,#c94d05 100%) !important;
    color: #fff !important;
    animation: sntab-glow 2.2s ease-in-out infinite !important;
}
.sntab__btn--study:hover {
    background: linear-gradient(135deg,#b04004 0%,#d9550e 100%) !important;
    color: #fff !important;
    text-decoration: none !important;
    animation: none !important;
    box-shadow: 0 4px 22px rgba(255,110,20,.55) !important;
}
.sntab__btn-shine {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 40% !important; height: 100% !important;
    pointer-events: none !important;
    z-index: 1 !important;
    background: linear-gradient(90deg,transparent 0%,rgba(255,255,255,.32) 45%,rgba(255,255,255,.52) 50%,rgba(255,255,255,.32) 55%,transparent 100%) !important;
    animation: sntab-shimmer 2.8s ease-in-out infinite !important;
}
.sntab__btn--study:hover .sntab__btn-shine { animation:none !important; opacity:0 !important; }
.sntab__btn--study > *:not(.sntab__btn-shine) { position:relative !important; z-index:2 !important; }

/* ================================================================
   GAP FIX — kills the dead white space between tab bar and content
================================================================ */
#about-course {
    padding-top: 8px !important;
    padding-bottom: 40px !important;
}
.sn-course-layout {
    padding-top: 16px !important;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
    .sntab__item { padding: 0 13px !important; font-size: 12.5px !important; }
    .sntab__btn  { padding: 0 15px !important; font-size: 12.5px !important; }
    .sntab__inner { gap: 5px !important; }
}
@media (max-width: 980px) {
    .sntab__inner { height: 52px !important; }
    .sntab__item  { height: 34px !important; padding: 0 11px !important; font-size: 12px !important; }
    .sntab__btn   { height: 34px !important; padding: 0 13px !important; font-size: 12px !important; }
}
@media (max-width: 767px) {
    .sntab__inner { height: 48px !important; overflow-x: auto !important; padding: 0 6px !important; }
    .sntab__item  { height: 32px !important; padding: 0 10px !important; font-size: 11.5px !important; }
    .sntab__btn   { height: 32px !important; padding: 0 11px !important; font-size: 11px !important; }
}

/* ================================================================
   STICKY TAB BAR — MOBILE FIX
   Paste at the very END of course-detail.css
================================================================ */

/* ── Tablet (≤ 980px) ── */
@media (max-width: 980px) {
    .sntab__inner {
        height: 54px !important;
        gap: 5px !important;
        padding: 0 12px !important;
    }
    .sntab__item {
        height: 36px !important;
        font-size: 12.5px !important;
        padding: 0 12px !important;
    }
    .sntab__btn {
        height: 36px !important;
        font-size: 12.5px !important;
        padding: 0 14px !important;
    }
}

/* ── Mobile (≤ 767px) — hide tabs, show both CTAs side by side ── */
@media (max-width: 767px) {

    /* Hide nav tabs */
    .sntab__nav { display: none !important; }

    /* Bar */
    #courseTabsWrapper {
        background: #f4f7fb !important;
        border-top: 1px solid #dde3ec !important;
        border-bottom: 1px solid #dde3ec !important;
    }

    /* Inner — two buttons fill the row */
    .sntab__inner {
        height: 58px !important;
        padding: 8px 14px !important;
        gap: 8px !important;
        justify-content: stretch !important;
        overflow: visible !important;
    }

    /* Enquire Now — takes 40% of space */
    .sntab__btn--enquire {
        flex: 0 0 auto !important;
        width: 38% !important;
        height: 42px !important;
        border-radius: 25px !important;
        font-size: 13px !important;
        padding: 0 10px !important;
        justify-content: center !important;
    }

    /* Download Free Study Guide — takes remaining space */
    .sntab__btn--study {
        flex: 1 1 0 !important;
        height: 42px !important;
        border-radius: 25px !important;
        font-size: 13px !important;
        padding: 0 10px !important;
        justify-content: center !important;
    }
}

/* ── Small mobile (≤ 420px) ── */
@media (max-width: 420px) {
    .sntab__inner   { height: 54px !important; padding: 6px 10px !important; gap: 6px !important; }
    .sntab__btn--enquire { height: 40px !important; font-size: 12px !important; }
    .sntab__btn--study   { height: 40px !important; font-size: 12px !important; }
}

/* ================================================================
   ██  2-COLUMN LAYOUT
================================================================ */
.sn-course-layout {
    display: grid;
    grid-template-columns: 1fr 370px;
    gap: 10px;
    align-items: start;
    padding: 32px 0 60px;
}
.sn-course-main { min-width: 0; }
.sn-course-aside { min-width: 0; }
@media (max-width: 991px) { .sn-course-layout { grid-template-columns: 1fr; gap: 24px; padding: 20px 0 40px; } }

/* ================================================================
   ██  SIDEBAR STICKY (JS translateY — CSS sticky blocked by site overflow)
================================================================ */
/* ==== FINAL SIDEBAR STICKY FIX ==== */
#about-course,
.sn-course-layout,
.sn-course-main,
.sn-course-aside {
    overflow: visible !important;
}

.sn-course-layout {
    align-items: flex-start !important;
}

.sn-course-aside {
    position: sticky !important;
    position: -webkit-sticky !important;
    top: 90px !important;   /* adjust only if your header is taller/shorter */
    align-self: flex-start !important;
    overflow: visible !important;
    height: fit-content !important;
    z-index: 10 !important;
}

.sn-sidebar-sticky-wrap {
    position: static !important;
    top: auto !important;
    transform: none !important;
    will-change: auto !important;
    overflow: visible !important;
}

@media (max-width: 991px) {
    .sn-course-aside {
        position: static !important;
        top: auto !important;
    }
}
@media (max-width: 991px) { .sn-sidebar-sticky-wrap { transform: none !important; } }

/* Sidebar card */
.sn-sidebar-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.06), 0 12px 32px rgba(10,77,120,.08);
}
.sn-sidebar-header {
    background: linear-gradient(135deg, #072f60, #0a4d8a);
    padding: 18px 20px;
    text-align: center;
}
.sn-sidebar-header h3 { color: #fff; font-size: 16px; font-weight: 700; margin: 0; }
.sn-sidebar-body { padding: 20px 18px 16px; }

.sn-sf-field  { margin-bottom: 11px; }
.sn-sf-input  {
    width: 100%; height: 42px; border: 1.5px solid #dde4ee; border-radius: 7px;
    padding: 0 13px; font-size: 13px; background: #f8fafc; outline: none;
    transition: border-color .18s, box-shadow .18s; box-sizing: border-box;
    font-family: "Poppins", Arial, sans-serif; color: #1a2b49;
}
.sn-sf-input:focus       { border-color: #086591; box-shadow: 0 0 0 3px rgba(8,101,145,.1); background: #fff; }
.sn-sf-input::placeholder { color: #aab0bb; font-size: 12.5px; }
textarea.sn-sf-input { height: auto; padding-top: 10px; }

.sn-sf-phone   { display: flex; gap: 6px; align-items: stretch; }
.sn-sf-select  { height: 42px; border: 1.5px solid #dde4ee; border-radius: 7px; font-size: 12px; padding: 0 6px; background: #f8fafc; width: 80px; flex-shrink: 0; }
.sn-sf-dialcode{ height: 42px; width: 56px; border: 1.5px solid #dde4ee; border-radius: 7px; text-align: center; font-weight: 700; font-size: 12px; background: #edf2f7; pointer-events: none; flex-shrink: 0; }
.sn-sf-phone .sn-sf-input { flex: 1; }
.sn-sf-err     { display: block; font-size: 11px; color: #c0392b; font-weight: 600; min-height: 14px; margin-top: 2px; }

.sn-sf-consent { display: flex; align-items: flex-start; gap: 7px; font-size: 11px; color: #6b7280; margin: 9px 0; line-height: 1.4; }
.sn-sf-consent a { color: #086591; }

.sn-sf-btn {
    width: 100%; height: 46px; border: none; border-radius: 8px;
    background: linear-gradient(135deg, #0a4d8a, #072f60);
    color: #fff; font-size: 15px; font-weight: 700; cursor: pointer;
    box-shadow: 0 6px 18px rgba(7,47,105,.22);
    transition: transform .18s, box-shadow .18s; margin-top: 2px;
    font-family: "Poppins", Arial, sans-serif;
}
.sn-sf-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(7,47,105,.30); }

.sn-sf-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; justify-content: center; }
.sn-sf-badges span { font-size: 10.5px; color: #6b7280; background: #f0f4f8; padding: 3px 8px; border-radius: 12px; }

/* ================================================================
   ██  CONTENT CARDS — About / City Content
================================================================ */

/* ── Legacy selectors kept for .course-overview ── */
.course-overview {
    position: relative;
    background: #fff;
    border: 1px solid rgba(8,101,145,.15);
    border-radius: 20px; padding: 32px 36px;
    box-shadow: 0 4px 12px rgba(7,47,105,.05), 0 16px 36px rgba(7,47,105,.07);
    overflow: hidden;
}
.course-overview::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(90deg, #072f60, #086591, #0d8ac4);
}
.course-overview h2.title {
    font-size: clamp(22px, 3vw, 36px) !important; font-weight: 700 !important;
    color: #072f60 !important; margin: 0 0 16px !important; line-height: 1.25 !important;
    font-family: "Poppins", Arial, sans-serif !important;
}
.about-course-content { font-size: 15.5px; color: #344054; line-height: 1.85; }
.about-course-content p { margin: 0 0 20px !important; line-height: 1.7 !important; }
.about-course-content p:last-child { margin-bottom: 0 !important; }
.about-course-content h2,.about-course-content h3,.about-course-content h4 { margin: 14px 0 6px !important; line-height: 1.3 !important; }
.about-course-content ul,.about-course-content ol { margin: 0 0 12px 22px !important; padding: 0 !important; }
.about-course-content li { margin-bottom: 6px !important; }
.read-more-btn {
    display: inline-block; font-size: 14px; font-weight: 700; color: #086591;
    cursor: pointer; border-bottom: 1px solid rgba(8,101,145,.3); margin-left: 4px;
}
.read-more-btn:hover { color: #054d6e; }

/* ── NEW enterprise city content card ── */
.sn-city-context-section,
.city-context-section {
    margin: 0 0 20px !important;
}

.sn-cc-card,
.city-context-card {
    position: relative;
    background: #fff;
    border: 1px solid rgba(8,101,145,.13);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(7,47,105,.05), 0 18px 40px rgba(7,47,105,.07);
}

/* Top gradient accent bar */
.sn-cc-card::before,
.city-context-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #072f60 0%, #086591 55%, #0d8ac4 100%);
}

/* ── Header ── */
.sn-cc-header {
    padding: 22px 32px 4px;
}

.sn-cc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 13px;
    background: #eaf4ff;
    border: 1px solid rgba(8,101,145,.14);
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    color: #086591;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 10px;
}
.sn-cc-eyebrow::before {
    content: "";
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #0d8ac4;
    box-shadow: 0 0 0 4px rgba(13,138,196,.18);
    flex-shrink: 0;
}

.sn-cc-title,
.city-context-title {
    font-family: "Poppins", Arial, sans-serif !important;
    font-size: clamp(18px, 2.2vw, 24px) !important;
    font-weight: 800 !important;
    color: #072f60 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    letter-spacing: -.3px !important;
}

/* ── Body ── */
.sn-cc-body {
    padding: 16px 32px 22px;
}

/* Old card body padding fallback */
.city-context-card .city-context-content {
    padding: 16px 32px 22px;
}

/* ── Content typography — applies to BOTH old and new ── */
.sn-cc-content,
.city-context-content {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #374151 !important;
}

/* Kill TinyMCE blank-line abuse */
.sn-cc-content br,
.city-context-content br {
    display: none !important;
}
.sn-cc-content p:empty,
.city-context-content p:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
}

/* Paragraphs */
.sn-cc-content p,
.city-context-content p {
    margin: 0 0 20px !important;
    line-height: 1.75 !important;
}
.sn-cc-content p:last-child,
.city-context-content p:last-child {
    margin-bottom: 0 !important;
}

/* Headings */
.sn-cc-content h2,.sn-cc-content h3,.sn-cc-content h4,
.city-context-content h2,.city-context-content h3,.city-context-content h4 {
    font-family: "Poppins", Arial, sans-serif !important;
    font-weight: 700 !important;
    color: #072f60 !important;
    margin: 16px 0 6px !important;
    line-height: 1.3 !important;
}
.sn-cc-content h2,.city-context-content h2 { font-size: 19px !important; }
.sn-cc-content h3,.city-context-content h3 { font-size: 17px !important; }
.sn-cc-content h4,.city-context-content h4 { font-size: 15px !important; color: #086591 !important; }

/* First heading — no top gap */
.sn-cc-content > *:first-child,
.city-context-content > *:first-child {
    margin-top: 0 !important;
}

/* Lists */
.sn-cc-content ul,.sn-cc-content ol,
.city-context-content ul,.city-context-content ol {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 12px !important;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.sn-cc-content ul li,.sn-cc-content ol li,
.city-context-content ul li,.city-context-content ol li {
    position: relative;
    padding: 8px 12px 8px 36px !important;
    background: #f7fbff;
    border: 1px solid rgba(8,101,145,.07);
    border-radius: 7px;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #344054 !important;
    margin: 0 !important;
}
.sn-cc-content ul li::before,
.city-context-content ul li::before {
    content: "✓";
    position: absolute; left: 9px; top: 50%; transform: translateY(-50%);
    width: 18px; height: 18px;
    background: linear-gradient(135deg, #086591, #0d8ac4);
    color: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 9px; font-weight: 700;
}

/* Bold / strong */
.sn-cc-content strong,.sn-cc-content b,
.city-context-content strong,.city-context-content b {
    color: #072f60; font-weight: 700;
}

/* ── Responsive ── */
@media (max-width: 767px) {
    .sn-cc-header { padding: 18px 18px 4px !important; }
    .sn-cc-body   { padding: 12px 18px 18px !important; }
    .city-context-card .city-context-content { padding: 12px 18px 18px; }
    .sn-cc-title,.city-context-title { font-size: 17px !important; }
    .sn-cc-content,.city-context-content { font-size: 14px !important; }
}

/* ================================================================
   ██  MODE OF TRAINING — Pricing cards
================================================================ */
.single-pricing.active {
    background: linear-gradient(160deg, #0b6b95 0%, #07567a 100%);
    border-radius: 18px; overflow: hidden;
    box-shadow: 0 16px 40px rgba(7,86,122,.2);
}
.single-pricing.active .pricig-header { padding: 10px 20px 5px; text-align: center; }
.single-pricing.active .pricig-header .title { color: #fff !important; font-size: 20px; font-weight: 700; margin-bottom: 6px; }
.single-pricing.active .sn-price-row { justify-content: center; gap: 10px; display: flex; align-items: baseline; }
.single-pricing.active .sn-offer-price   { color: #ffd54f !important; font-size: 30px !important; font-weight: 700; }
.single-pricing.active .sn-original-price{ color: rgba(255,255,255,.65) !important; text-decoration: line-through; }
.single-pricing.active .course-learn-list.custom_li_ul { padding: 12px 18px 18px; }
.single-pricing.active .course-learn-list.custom_li_ul ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.single-pricing.active .course-learn-list.custom_li_ul li {
    position: relative; padding: 11px 14px 11px 42px;
    border-radius: 10px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12);
    color: #fff !important; font-size: 14px; line-height: 1.5; font-weight: 500;
    transition: transform .2s, background .2s;
}
.single-pricing.active .course-learn-list.custom_li_ul li:hover { background: rgba(255,255,255,.16); transform: translateY(-1px); }
.single-pricing.active .course-learn-list.custom_li_ul li::before {
    content: "✓"; position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
    width: 22px; height: 22px; border-radius: 50%; background: #ffd54f; color: #07567a;
    display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800;
}
.single-pricing.active .sn-next-batch { margin: 0 18px 12px; background: rgba(255,255,255,.92); color: #07567a; border: none; border-radius: 8px; }
.single-pricing.active .sn-btn-row    { padding: 0 18px 20px; }

/* Pricing - Next batch badge */
.sn-next-batch { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; font-size: 13px; color: #086591; background: #e8f4fb; border: 1px solid #c4e0f0; border-radius: 6px; padding: 6px 10px; }
.sn-cd-badge { margin-left: auto; background: #086591; color: #fff; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; }

/* ================================================================
   ██  WHAT YOU WILL LEARN
================================================================ */
.sn-learn-section { padding: 20px 0; background: #f7fbff; }
.sn-section-heading { margin-bottom: 40px; }
.sn-section-heading.text-center { text-align: center; }
.sn-badge { display: inline-block; padding: 5px 14px; border-radius: 30px; background: #e7f4ff; color: #086591; font-size: 12.5px; font-weight: 700; margin-bottom: 12px; }
.sn-section-heading h2 { font-size: clamp(26px, 4vw, 36px); font-weight: 700; color: #072f60; margin-bottom: 12px; }
.sn-section-heading p  { max-width: 680px; margin: 0 auto; color: #667085; font-size: 15.5px; line-height: 1.75; }
.sn-lms-learn-wrapper ul { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; padding: 0; margin: 0; list-style: none; }
.sn-lms-learn-wrapper ul li { position: relative; background: #fff; border-radius: 16px; padding: 22px 20px 22px 72px; box-shadow: 0 6px 24px rgba(0,0,0,.05); border: 1px solid #edf2f7; font-size: 15px; line-height: 1.7; color: #1f2937; font-weight: 500; transition: all .25s; }
.sn-lms-learn-wrapper ul li:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.09); }
.sn-lms-learn-wrapper ul li::before { content: "✓"; position: absolute; left: 20px; top: 22px; width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg,#086591,#0d8ac4); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 700; }
@media (max-width: 768px) { .sn-lms-learn-wrapper ul { grid-template-columns: 1fr; } }

/* ================================================================
   ██  COURSE CONTENT ACCORDION
================================================================ */
#course-content { padding: 40px 0 50px; }
.sn-course-content-section { padding: 40px 0 50px; background: linear-gradient(180deg, #f7fbff 0%, #fff 100%); }
.sn-course-content-card {
    position: relative;
    background: #fff;
    border: 1px solid rgba(8,101,145,.15);
    border-radius: 20px;
    padding: 0;
    box-shadow: 0 4px 12px rgba(7,47,105,.05), 0 16px 36px rgba(7,47,105,.07);
    overflow: hidden;
    margin-top: 28px;
}
.sn-course-content-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #072f60, #086591, #0d8ac4);
}
.sn-course-content-card .accordion-item {
    border: 0;
    border-bottom: 1px solid #e8eef4;
    background: #fff;
}
.sn-course-content-card .accordion-item:last-child { border-bottom: 0; }
.sn-course-content-card .accordion-button {
    padding: 16px 22px;
    font-size: 15.5px;
    font-weight: 700;
    color: #072f60;
    background: #fff;
    box-shadow: none !important;
    font-family: "Poppins", Arial, sans-serif;
}
.sn-course-content-card .accordion-button:not(.collapsed) {
    color: #086591;
    background: #f7fbff;
}
.sn-course-content-card .accordion-body {
    padding: 22px 26px 28px;
    color: #344054;
    font-size: 15px;
    line-height: 1.9;
    font-family: "Poppins", Arial, sans-serif;
}

/* ── TinyMCE content reset — all raw HTML tags styled enterprise ── */
.sn-course-content-card .accordion-body p {
    margin: 0 0 14px !important;
    font-size: 15px;
    line-height: 1.85;
    color: #344054;
}
.sn-course-content-card .accordion-body p:last-child { margin-bottom: 0 !important; }

.sn-course-content-card .accordion-body h1,
.sn-course-content-card .accordion-body h2,
.sn-course-content-card .accordion-body h3,
.sn-course-content-card .accordion-body h4,
.sn-course-content-card .accordion-body h5,
.sn-course-content-card .accordion-body h6 {
    font-family: "Poppins", Arial, sans-serif !important;
    font-weight: 700 !important;
    color: #072f60 !important;
    line-height: 1.3 !important;
    margin: 22px 0 10px !important;
}
.sn-course-content-card .accordion-body h1 { font-size: 22px !important; }
.sn-course-content-card .accordion-body h2 { font-size: 20px !important; }
.sn-course-content-card .accordion-body h3 { font-size: 18px !important; }
.sn-course-content-card .accordion-body h4 { font-size: 16px !important; color: #086591 !important; }
.sn-course-content-card .accordion-body h5 { font-size: 15px !important; }
.sn-course-content-card .accordion-body h6 { font-size: 14px !important; color: #667085 !important; }

.sn-course-content-card .accordion-body ul,
.sn-course-content-card .accordion-body ol {
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.sn-course-content-card .accordion-body ul li,
.sn-course-content-card .accordion-body ol li {
    position: relative !important;
    padding: 10px 14px 10px 42px !important;
    background: #f7fbff !important;
    border: 1px solid rgba(8,101,145,.08) !important;
    border-radius: 8px !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    color: #344054 !important;
    margin: 0 !important;
    counter-increment: lms-ol;
}
.sn-course-content-card .accordion-body ul li::before {
    content: "✓" !important;
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    background: linear-gradient(135deg, #086591, #0d8ac4) !important;
    color: #fff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}
.sn-course-content-card .accordion-body ol { counter-reset: lms-ol !important; }
.sn-course-content-card .accordion-body ol li::before {
    content: counter(lms-ol) !important;
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    background: linear-gradient(135deg, #072f60, #086591) !important;
    color: #fff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

/* nested lists */
.sn-course-content-card .accordion-body ul ul li,
.sn-course-content-card .accordion-body ol ul li {
    background: #fff !important;
    border-color: #e2e8f0 !important;
    font-size: 14px !important;
}
.sn-course-content-card .accordion-body ul ul li::before {
    content: "→" !important;
    background: #e8f4fb !important;
    color: #086591 !important;
    font-size: 12px !important;
}

/* bold / italic / strong */
.sn-course-content-card .accordion-body strong,
.sn-course-content-card .accordion-body b {
    color: #072f60 !important;
    font-weight: 700 !important;
}
.sn-course-content-card .accordion-body em,
.sn-course-content-card .accordion-body i {
    color: #667085 !important;
    font-style: italic !important;
}

/* inline code */
.sn-course-content-card .accordion-body code {
    background: #f0f4f8 !important;
    color: #086591 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-family: 'Courier New', monospace !important;
}

/* blockquote */
.sn-course-content-card .accordion-body blockquote {
    border-left: 4px solid #086591 !important;
    margin: 16px 0 !important;
    padding: 12px 18px !important;
    background: #f0f7fc !important;
    border-radius: 0 8px 8px 0 !important;
    color: #475467 !important;
    font-style: italic !important;
}

/* tables from TinyMCE */
/* ── TinyMCE TABLE FIX — enterprise grade ── */
.sn-course-content-card .accordion-body table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 20px 0 !important;
    font-size: 14.5px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid #d1dde8 !important;
    box-shadow: 0 4px 16px rgba(7,47,105,.08) !important;
    display: table !important;
}
.sn-course-content-card .accordion-body table thead {
    background: linear-gradient(135deg, #072f60, #086591) !important;
}
.sn-course-content-card .accordion-body table thead tr {
    background: transparent !important;
}
.sn-course-content-card .accordion-body table th {
    background: transparent !important;
    color: #fff !important;
    padding: 13px 16px !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    text-align: left !important;
    border: none !important;
    border-right: 1px solid rgba(255,255,255,.15) !important;
    font-family: "Poppins", Arial, sans-serif !important;
    white-space: nowrap !important;
}
.sn-course-content-card .accordion-body table th:last-child {
    border-right: none !important;
}
.sn-course-content-card .accordion-body table td {
    padding: 11px 16px !important;
    border-bottom: 1px solid #e8eef4 !important;
    border-right: 1px solid #e8eef4 !important;
    color: #344054 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    vertical-align: middle !important;
    background: #fff !important;
}
.sn-course-content-card .accordion-body table td:last-child {
    border-right: none !important;
}
.sn-course-content-card .accordion-body table tr:nth-child(even) td {
    background: #f7fbff !important;
}
.sn-course-content-card .accordion-body table tr:last-child td {
    border-bottom: none !important;
}
.sn-course-content-card .accordion-body table tr:hover td {
    background: #edf6fb !important;
}
/* TinyMCE sometimes wraps table in a div with overflow */
.sn-course-content-card .accordion-body div[style*="overflow"] {
    overflow-x: auto !important;
    border-radius: 12px !important;
}
/* If TinyMCE outputs tbody without thead */
.sn-course-content-card .accordion-body table tbody tr:first-child td {
    font-weight: 600 !important;
    color: #072f60 !important;
    background: #f0f6fc !important;
}

/* images from TinyMCE */
.sn-course-content-card .accordion-body img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    margin: 12px 0 !important;
}

/* links */
.sn-course-content-card .accordion-body a {
    color: #086591 !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
}
.sn-course-content-card .accordion-body a:hover { color: #054d6e !important; }

/* horizontal rule */
.sn-course-content-card .accordion-body hr {
    border: none !important;
    border-top: 2px solid #e8eef4 !important;
    margin: 20px 0 !important;
}

/* ================================================================
   ██  FAQ
================================================================ */
.sn-faq-section { padding: 40px 0 50px; }
.sn-faq-section .certificate-new h2 { font-family: "Poppins",Arial,sans-serif; font-size: clamp(26px,4vw,36px); font-weight: 700; color: #072f60; text-align: center; margin: 0 0 24px; }
.sn-faq-section .certificate-new h2 span { color: #086591; }
.accordion-certificate.course-faq { border-radius: 20px; overflow: hidden; box-shadow: 0 14px 36px rgba(7,47,105,.08); border: 1px solid rgba(8,101,145,.08); background: #fff; }
.faq-accordion-item { border-bottom: 1px solid #e8eef4; background: #fff; }
.faq-accordion-item:last-child { border-bottom: 0; }
.faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 22px; background: #fff; border: 0; text-align: left; cursor: pointer; font-family: "Poppins",Arial,sans-serif; transition: background .18s; }
.faq-question:hover { background: #f7fbff; }
.faq-heading { font-size: 15.5px; font-weight: 700; color: #072f60; line-height: 1.4; }
.faq-icon { position: relative; width: 14px; height: 14px; flex-shrink: 0; }
.faq-accordion-item.active .faq-question { background: #f7fbff; }
.faq-answer { background: #fff; overflow: hidden; max-height: 0; transition: max-height .28s ease; }
.faq-answer-inner { padding: 0 22px 20px; color: #344054; font-size: 15px; line-height: 1.9; }
.faq-section-label { color: #086591; font-size: 18px; font-weight: 800; margin: 0 0 14px; }

/* ================================================================
   ██  REVIEWS SECTION
================================================================ */
.sn-review-section,.sn-trustpilot-section { padding: 50px 0; }
.sn-section-card { background: #fff; border-radius: 20px; border: 1px solid rgba(8,101,145,.08); box-shadow: 0 14px 36px rgba(7,47,105,.08); padding: 32px; }
.sn-section-head { margin-bottom: 22px; text-align: center; }
.sn-section-head h2 { font-size: clamp(24px,3.5vw,34px); font-weight: 700; color: #072f60; margin: 0 0 8px; }
.sn-mini-badge { display: inline-block; padding: 5px 13px; border-radius: 999px; background: #e7f4ff; color: #086591; font-size: 12.5px; font-weight: 700; margin-bottom: 12px; }
.sn-review-summary-card { display: grid; grid-template-columns: 280px 1fr; gap: 28px; background: #fff; border-radius: 20px; border: 1px solid rgba(8,101,145,.08); box-shadow: 0 14px 36px rgba(7,47,105,.08); padding: 28px; }
.sn-rating-score { font-size: 68px; line-height: 1; font-weight: 800; color: #072f60; }
.sn-rating-stars { color: #ffc107; font-size: 22px; letter-spacing: 3px; margin: 8px 0; }
.sn-rating-label { color: #667085; font-size: 13px; margin-bottom: 16px; }
.sn-rating-progress { height: 9px; background: #eaf2f8; border-radius: 999px; overflow: hidden; }
.sn-rating-progress-fill { height: 100%; background: linear-gradient(90deg,#086591,#0d8ac4); }
.sn-breakdown-row { display: grid; grid-template-columns: 68px 1fr 48px; gap: 12px; align-items: center; }
.sn-breakdown-bar { height: 9px; background: #edf2f7; border-radius: 999px; overflow: hidden; }
.sn-breakdown-fill { height: 100%; background: linear-gradient(90deg,#086591,#0d8ac4); }
.sn-breakdown-label,.sn-breakdown-percent { font-size: 13.5px; font-weight: 600; color: #344054; }
.sn-rating-breakdown { display: flex; flex-direction: column; gap: 14px; }
.sn-trustpilot-header { display: flex; align-items: center; justify-content: center; gap: 18px; margin-bottom: 24px; flex-wrap: wrap; text-align: center; }
.sn-trustpilot-btn { padding: 9px 16px; border-radius: 8px; border: 1.5px solid #086591; color: #086591; font-size: 13.5px; font-weight: 700; text-decoration: none; transition: .18s; }
.sn-trustpilot-btn:hover { background: #086591; color: #fff; }
.sn-carousel-wrap { position: relative; }
.sn-carousel-track-wrapper { overflow: hidden; }
.sn-carousel-track,.sn-tp-track { display: flex; gap: 18px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 4px; }
.sn-carousel-track::-webkit-scrollbar,.sn-tp-track::-webkit-scrollbar { display: none; }
.sn-review-card { flex: 0 0 320px; background: #fff; border-radius: 18px; border: 1px solid rgba(8,101,145,.08); padding: 22px; text-decoration: none; box-shadow: 0 10px 26px rgba(7,47,105,.06); transition: .22s; }
.sn-review-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(7,47,105,.12); }
.sn-review-stars { color: #ffc107; font-size: 16px; margin-bottom: 12px; }
.sn-review-card p { color: #344054; font-size: 14.5px; line-height: 1.75; margin-bottom: 14px; }
.sn-review-card span { color: #667085; font-size: 12.5px; font-weight: 600; }
.sn-carousel-nav,.sn-tp-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: none; background: #086591; color: #fff; font-size: 26px; z-index: 5; cursor: pointer; box-shadow: 0 6px 18px rgba(7,47,105,.18); }
.sn-carousel-nav.left,.sn-tp-nav.left { left: -18px; }
.sn-carousel-nav.right,.sn-tp-nav.right { right: -18px; }
@media (max-width: 991px) { .sn-review-summary-card { grid-template-columns: 1fr; } .sn-trustpilot-header { flex-direction: column; align-items: flex-start; } }
@media (max-width: 576px) { .sn-review-card { flex: 0 0 85%; } .sn-carousel-nav,.sn-tp-nav { display: none; } }

/* ================================================================
   ██  RELATED PROGRAMS
================================================================ */
.relx-wrap { margin: 28px 0; }
.relx-title { font-size: 22px; font-weight: 700; color: #0b2545; margin-bottom: 16px; }
.relx-grid  { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
@media (max-width: 1024px) { .relx-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  { .relx-grid { grid-template-columns: 1fr; } }
.relx-card { position: relative; display: flex; flex-direction: column; padding: 16px; border-radius: 14px; background: #fff; border: 1px solid #e6edf5; text-decoration: none; box-shadow: 0 2px 8px rgba(0,0,0,.04),0 8px 20px rgba(10,77,120,.05); transition: all .22s; }
.relx-card:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,.07),0 16px 32px rgba(10,77,120,.10); border-color: #d0e4f5; }
.relx-logo { width: 56px; height: 56px; border-radius: 10px; background: #fff; padding: 6px; margin-bottom: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.relx-logo img { width: 100%; height: 100%; object-fit: contain; }
.relx-badge { position: absolute; top: 10px; right: 10px; font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 999px; background: #eef6ff; color: #0a4d78; }
.relx-name  { font-size: 14.5px; font-weight: 600; color: #1a2b49; margin-bottom: 6px; line-height: 1.4; }
.relx-meta  { display: flex; flex-wrap: wrap; gap: 5px; font-size: 12.5px; color: #6b7280; }
.relx-item.star { color: #f59e0b; font-weight: 500; }
.relx-dot   { width: 3px; height: 3px; background: #cbd5e1; border-radius: 50%; margin-top: 5px; }
.relx-cta   { margin-top: 8px; font-size: 12.5px; font-weight: 600; color: #0a4d78; opacity: 0; transition: .18s; }
.relx-card:hover .relx-cta { opacity: 1; }

/* ================================================================
   ██  NEARBY CITIES
================================================================ */
.sn-nearby-cities { margin: 36px 0; }
.sn-nearby-cities h2 { font-size: 20px; font-weight: 700; margin-bottom: 14px; color: #072f60; }
.sn-city-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(170px,1fr)); gap: 10px; }
.sn-city-card { display: block; padding: 13px; border: 1px solid #e6e9ef; border-radius: 10px; text-align: center; font-size: 13.5px; color: #072f60; text-decoration: none; background: #fff; transition: .18s; }
.sn-city-card:hover { background: #086591; color: #fff; transform: translateY(-2px); }

/* ================================================================
   ██  VIDEO / CONTACT BLOCK
================================================================ */
.video-toll-mail { margin-top: 28px; padding: 36px 0 16px; }
.sn-video-feature { position: relative !important; width: 100% !important; display: block !important; overflow: hidden !important; border-radius: 20px !important; cursor: pointer !important; box-shadow: 0 10px 28px rgba(7,47,105,.09) !important; border: 0 !important; background: #fff !important; padding: 0 !important; }
.sn-video-thumb { width: 100% !important; height: 320px !important; background-size: cover !important; background-position: center !important; display: block !important; }
.sn-contact-stack { display: grid; gap: 16px; }
.sn-contact-card { display: flex; align-items: center; gap: 16px; min-height: 120px; padding: 22px; border-radius: 20px; text-decoration: none; box-shadow: 0 10px 28px rgba(7,47,105,.08); transition: transform .22s, box-shadow .22s; }
.sn-contact-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(7,47,105,.14); }
.sn-call-card { background: linear-gradient(135deg,#2b1550,#3d1d71); color: #fff; }
.sn-mail-card { background: linear-gradient(135deg,#f3b71a,#f7c934); color: #111; }
.sn-contact-icon { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 28px; font-weight: 700; background: rgba(255,255,255,.12); }
.sn-mail-card .sn-contact-icon { background: rgba(42,20,79,.1); color: #2b1550; }
.sn-contact-text { display: flex; flex-direction: column; gap: 4px; }
.sn-contact-text span   { font-size: 14px; font-weight: 600; opacity: .9; }
.sn-contact-text strong { font-size: 17px; font-weight: 800; }
@media (max-width: 991px) { .sn-contact-stack { margin-top: 18px; } }

/* ================================================================
   ██  DOWNLOAD SECTION (Course Outline strip)
================================================================ */
.brochure { padding: 40px 0; background: #f7fbff; }

/* ================================================================
   ██  MOBILE STICKY CTA
================================================================ */
.sn-sticky-mobile-cta { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9990; background: #fff; border-top: 1px solid #e2e8f0; box-shadow: 0 -4px 20px rgba(0,0,0,.10); padding: 10px 16px calc(10px + env(safe-area-inset-bottom,0px)); transform: translateY(100%); transition: transform .3s cubic-bezier(.4,0,.2,1); will-change: transform; }
.sn-sticky-mobile-cta.sn-sticky-visible { transform: translateY(0); }
.sn-sticky-inner  { display: flex; gap: 10px; max-width: 480px; margin: 0 auto; }
.sn-sticky-enroll { flex: 1; background: #086591; color: #fff !important; text-align: center; padding: 13px 16px; border-radius: 8px; font-size: 15px; font-weight: 700; text-decoration: none !important; border: none; display: flex; align-items: center; justify-content: center; }
.sn-sticky-advisor{ flex: 1; background: transparent; color: #086591; text-align: center; padding: 13px 16px; border-radius: 8px; font-size: 15px; font-weight: 700; border: 2px solid #086591; cursor: pointer; }
@media (min-width: 992px) { .sn-sticky-mobile-cta { display: none !important; } }

/* ================================================================
   ██  DOWNLOAD MODAL
================================================================ */
.sn-dl-dialog { max-width: 820px; width: 96vw; margin: 1rem auto; }
.sn-dl-modal { display: grid; grid-template-columns: 1fr 1fr; border-radius: 20px; overflow: hidden; border: none; position: relative; }
.sn-dl-close { position: absolute; top: 14px; right: 14px; z-index: 99; width: 36px; height: 36px; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); background: rgba(255,255,255,.15); backdrop-filter: blur(6px); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s; }
.sn-dl-close:hover { background: rgba(255,255,255,.3); }
.sn-dl-left { background: #fff; padding: 36px 28px 28px; display: flex; flex-direction: column; gap: 0; }
.sn-dl-heading { font-size: 20px; font-weight: 800; color: #0c1f3e; margin: 6px 0 18px; line-height: 1.25; }
.sn-dl-subheading { font-size: 14px; font-weight: 400; color: #4a5568; }
.sn-dl-field { margin-bottom: 10px; }
.sn-dl-input { width: 100%; height: 40px; border: 1.5px solid #dde4ee; border-radius: 6px; padding: 0 12px; font-size: 13px; background: #f7f9fc; outline: none; transition: border-color .18s; box-sizing: border-box; font-family: "Poppins",Arial,sans-serif; }
.sn-dl-input:focus { border-color: #0a4d78; box-shadow: 0 0 0 3px rgba(10,77,120,.1); background: #fff; }
.sn-dl-phone { display: flex; gap: 6px; margin-bottom: 10px; }
.sn-dl-select  { height: 40px; border: 1.5px solid #dde4ee; border-radius: 6px; font-size: 12px; padding: 0 6px; background: #f7f9fc; min-width: 30px; max-width: 42px; }
.sn-dl-dialcode{ height: 40px; width: 70px; border: 1.5px solid #dde4ee; border-radius: 6px; text-align: center; font-weight: 700; font-size: 12px; background: #edf1f6; pointer-events: none; }
.sn-dl-phone .sn-dl-input { flex: 1; width: auto; }
.sn-dl-err { display: block; min-height: 16px; font-size: 11px; color: #c0392b; font-weight: 600; margin-top: 2px; }
.sn-dl-btn { width: 100%; height: 48px; border: none; border-radius: 8px; background: linear-gradient(135deg,#0e4d85,#071d3b); color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; margin-top: 10px; box-shadow: 0 8px 20px rgba(7,29,59,.22); transition: transform .18s; font-family: "Poppins",Arial,sans-serif; }
.sn-dl-btn:hover { transform: translateY(-2px); }
.sn-dl-panel { background: linear-gradient(150deg,#0f3d6d 0%,#071428 100%); padding: 36px 28px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.sn-dl-panel::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(200,158,60,.15) 1.2px,transparent 1.2px); background-size: 24px 24px; pointer-events: none; }
.sn-dl-panel .vp-label { font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #e8b84b; margin-bottom: 8px; position: relative; }
.sn-dl-panel .vp-title { font-size: 21px; font-weight: 700; color: #fff; line-height: 1.3; margin-bottom: 18px; position: relative; }
.sn-dl-panel .vp-subtitle { font-size: 15px; font-weight: 400; opacity: .8; }
.sn-dl-panel .vp-list { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-direction: column; gap: 11px; position: relative; }
.sn-dl-panel .vp-list li { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; color: rgba(255,255,255,.78); line-height: 1.5; }
.vp-check-icon { color: #e8b84b; font-size: 13px; font-weight: 700; flex-shrink: 0; margin-top: 1px; width: 18px; text-align: center; }
.sn-dl-panel .vp-stats { display: flex; gap: 14px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 16px; position: relative; }
.vp-stat { text-align: center; }
.vp-stat-num   { font-size: 21px; font-weight: 700; color: #e8b84b; line-height: 1; }
.vp-stat-label { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 3px; }
@media (max-width: 620px) { .sn-dl-modal { grid-template-columns: 1fr; } .sn-dl-panel { display: none; } .sn-dl-close { border-color: #0d3d6e; background: #fff; color: #0d3d6e; } }

/* ================================================================
   ██  BOTTOM CITIES STRIP
================================================================ */
.sn-bottom-cities-strip { background: #f4f7fb; border-top: 1px solid #e2e8f0; padding: 24px 0 28px; }
.sn-bottom-cities-title {
    width: 100%;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #0b2545;
    margin-bottom: 14px;
}
.sn-bottom-cities-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.sn-bottom-cities-pills a { display: inline-block; padding: 6px 14px; background: #086591; color: #fff; border-radius: 999px; font-size: 12px; font-weight: 500; text-decoration: none; transition: background .18s; white-space: nowrap; }
.sn-bottom-cities-pills a:hover { background: #ffc107; color: #000; }

/* ================================================================
   ██  CITY LINE / MODE OF TRAINING HEADER
================================================================ */
.city-line { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 15px; color: #0b4d73; }
.city-name  { font-weight: 800; font-size: 15px; color: #0b4d73; }
.sn-btn-row { display: flex; gap: 10px; flex-wrap: wrap; }
.custom-subtitle-text { color: #ffc000; font-size: 14px; font-weight: 700; }

/* Sample certificate */
.sample-certificate { margin: 28px 0; }
.faq-section-label  { color: #086591; font-size: 18px; font-weight: 800; margin: 0 0 14px; }

/* ================================================================
   ██  ABOVE-THE-FOLD RESET — eliminates initial white gap
   These rules are intentionally last and intentionally strong.
================================================================ */
html,
body {
    margin: 0 !important;
    padding: 0 !important;
    scroll-behavior: auto;
}

body.course-page,
.course-page {
    overflow-x: hidden !important;
    background: #ffffff !important;
}

body.course-page .page-wrapper,
body.course-page .site-content,
body.course-page .content,
body.course-page main,
body.course-page .container-fluid {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Force the hero to render immediately after the header */
body.course-page .page-banner-section,
body.course-page .sn-course-hero,
body.course-page #Home-Ok {
    display: block !important;
    position: relative !important;
    clear: both !important;
    float: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 56px !important;
    padding-bottom: 44px !important;
    min-height: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    z-index: 1 !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

/* Make sure nothing inside the hero can collapse it */
body.course-page .sn-course-hero * {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Reduce the chance of the first viewport being dominated by blank space */
body.course-page .sn-course-hero .container,
body.course-page .sn-course-hero .sn-hero-inner,
body.course-page .sn-course-hero .sn-hero-left,
body.course-page .sn-course-hero .sn-hero-right {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* If the site theme injects a spacer or top margin, neutralize it */
body.course-page .sn-course-hero:first-of-type,
body.course-page .page-banner-section:first-of-type {
    margin-top: 0 !important;
}

/* Keep the hero card and tab bar visually tight */
body.course-page #courseTabsWrapper {
    margin-top: 0 !important;
}

/* Slightly tighter hero so the fold is used better on desktop */
@media (min-width: 992px) {
    body.course-page .sn-course-hero {
        padding-top: 42px !important;
        padding-bottom: 38px !important;
        min-height: 0 !important;
    }
}

@media (max-width: 991px) {
    body.course-page .sn-course-hero {
        padding-top: 36px !important;
        padding-bottom: 34px !important;
    }
}

@media (max-width: 576px) {
    body.course-page .sn-course-hero {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }
}

body.course-page .page-banner-section {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.course-page .page-banner-section .container {
    display: block !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
}

body.course-page .page-banner-section .course-details-banner-content,
body.course-page .page-banner-section .sn-hero-right {
    all: unset;
}

/* ================================================================
   ██  COURSE PAGE HERO CONFLICT FIX
   Makes the hero render immediately and neutralizes legacy page-banner rules.
================================================================ */
body.course-page .page-banner-section {
    display: block !important;
    position: relative !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    z-index: 1 !important;
}

body.course-page .page-banner-section.sn-course-hero,
body.course-page .sn-course-hero,
body.course-page .sn-course-hero#Home-Ok {
    display: block !important;
    position: relative !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 42px !important;
    padding-bottom: 38px !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    isolation: isolate !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    z-index: 1 !important;
}

body.course-page .page-banner-section .container,
body.course-page .sn-course-hero .container {
    display: block !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.course-page .page-banner-section .course-details-banner-content,
body.course-page .page-banner-section .sn-hero-right {
    all: unset;
}

body.course-page .sn-course-hero * {
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 991px) {
    body.course-page .page-banner-section.sn-course-hero,
    body.course-page .sn-course-hero {
        padding-top: 36px !important;
        padding-bottom: 34px !important;
    }
}

@media (max-width: 576px) {
    body.course-page .page-banner-section.sn-course-hero,
    body.course-page .sn-course-hero {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }
}

/* ================================================================
   FINAL HERO FIX — keep full hero area
================================================================ */

body.course-page .page-banner-section.sn-course-hero,
body.course-page .sn-course-hero,
body.course-page #Home-Ok {
    display: block !important;
    position: relative !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;

    margin: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 80px 0 60px !important;
    min-height: 340px !important;
    height: auto !important;
    max-height: none !important;

    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    z-index: 1 !important;
    isolation: isolate !important;

    background: linear-gradient(
        135deg,
        #061e3c 0%,
        #0a3d6b 45%,
        #0b6b9a 100%
    ) !important;
}

body.course-page .page-banner-section.sn-course-hero .container,
body.course-page .sn-course-hero .container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.course-page .page-banner-section.sn-course-hero::before,
body.course-page .page-banner-section.sn-course-hero::after,
body.course-page .sn-course-hero::before,
body.course-page .sn-course-hero::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 991px) {
    body.course-page .page-banner-section.sn-course-hero,
    body.course-page .sn-course-hero,
    body.course-page #Home-Ok {
        padding: 64px 0 40px !important;
    }
}

@media (max-width: 576px) {
    body.course-page .page-banner-section.sn-course-hero,
    body.course-page .sn-course-hero,
    body.course-page #Home-Ok {
        padding: 56px 0 32px !important;
    }
}

.sn-trust-row{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:4px;
    margin-top:10px;
    width:100%;
}

.sn-trust-row span{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    background:rgba(255,255,255,.12);
    border-radius:999px;
    padding:5px 4px;
    color:#fff;
    font-size:10px;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}

.sn-trust-row span::before{
    content:"✓";
    width:14px;
    height:14px;
    border-radius:50%;
    background:#2f8cff;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:9px;
    font-weight:700;
    flex:0 0 auto;
}

/* SNX SIDEBAR ENTERPRISE 2026 */
.snx-sidebar-card{background:#fff;border-radius:6px;overflow:hidden;width:100%;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;border:1px solid #dde3ed}

.snx-card-head{background:#0d2137;padding:5px;text-align:center}
.snx-card-head h3{color:#fff;font-size:15px;font-weight:600;margin:0 0 4px;line-height:1.3!important}
.snx-card-head p{color:#7eb8d4;font-size:11px;margin:0;font-weight:400!important}

.snx-trust-top{background:#0a1d2e;display:flex;justify-content:center;gap:20px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,0.06)}
.snx-trust-top span{color:#5bc4a0;font-size:11px;font-weight:500;display:flex;align-items:center;gap:5px}
.snx-trust-top span i{color:#5bc4a0;font-size:12px}

.snx-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px}

.snx-inp{width:100%;height:42px;border:1px solid #d1d9e0;border-radius:4px;font-size:13px;color:#1a1a2e;padding:0 12px;background:#fff;outline:none;box-shadow:none;box-sizing:border-box;display:block!important}
.snx-inp:focus{border-color:#0d2137;box-shadow:0 0 0 2px rgba(13,33,55,0.08)!important}
.snx-inp::placeholder{color:#b0bec5;font-size:12px!important}

.snx-ph{display:flex;gap:4px;align-items:stretch;width:100%!important}
.snx-ph-sel{width:64px;height:42px;border:1px solid #d1d9e0;border-radius:4px;font-size:12px;color:#1a1a2e;padding:0 4px;background:#fff;appearance:none;flex-shrink:0;text-align:center;box-sizing:border-box;cursor:pointer!important}
.snx-ph-dial{width:46px;height:42px;border:1px solid #d1d9e0;border-radius:4px;font-size:12px;color:#546e7a;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f5f7fa;box-sizing:border-box;font-weight:500!important}
.snx-ph-num{flex:1;min-width:0;height:42px;border:1px solid #d1d9e0;border-radius:4px;font-size:13px;color:#1a1a2e;padding:0 10px;background:#fff;outline:none;box-sizing:border-box!important}
.snx-ph-num::placeholder{color:#b0bec5;font-size:12px!important}
.snx-ph-num:focus,.snx-ph-sel:focus{border-color:#0d2137;outline:none!important}

.snx-consent{display:flex;gap:7px;align-items:flex-start;cursor:pointer;margin:2px 0!important}
.snx-consent input[type=checkbox]{margin-top:2px;accent-color:#f8a100;flex-shrink:0;width:13px;height:13px!important}
.snx-consent span,.snx-consent span *{font-size:10px;color:#64748b;line-height:1.5!important}
.snx-consent a{color:#0d2137;text-decoration:underline!important}

#btn_validate_classroom_step1,
#btn_validate_classroom_step1.snx-btn,
#btn_validate_classroom_step1.common-form-submit{width:100%;height:44px;background:#086591;border:none;border-radius:4px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.02em;display:block;text-align:center;padding:0;margin-top:2px;box-shadow:none;line-height:44px!important}
#btn_validate_classroom_step1:hover{background:#e09200!important}

.snx-err{color:#e53935;font-size:10px;line-height:1.3;min-height:4px;display:block!important}
.snx-trust-bottom{display:flex;justify-content:space-between;padding:8px 0 2px;border-top:1px solid #f0f3f7;margin-top:4px;gap:4px!important}
.snx-trust-bottom span{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:600;color:#0d2137;background:#f0f6ff;border:1px solid #dbeafe;border-radius:20px;padding:4px 0;white-space:nowrap!important}
.snx-trust-bottom span::before{content:"✓";color:#fff;background:#22c55e;border-radius:50%;width:13px;height:13px;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;flex-shrink:0!important}
/* END SNX SIDEBAR ENTERPRISE 2026 */


/* Enterprise reviews system — compact and matched to sterlingnext.com */

.sn-reviews-shell{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at top left, rgba(8,101,145,.06), transparent 28%),
        radial-gradient(circle at bottom right, rgba(7,47,96,.08), transparent 30%),
        linear-gradient(180deg,#f4f8fc 0%,#eef5fb 100%);
}

.sn-instructor-section,
.sn-review-section,
.sn-trustpilot-section{
    position:relative;
    padding:15px 0;
}

.sn-section-head{
    margin-bottom:30px;
    position:relative;
    z-index:2;
}

.sn-section-head.center{
    text-align:center;
}

.sn-section-head h2,
.sn-trustpilot-header-left h2{
    font-family:"Poppins",sans-serif;
    font-size:34px;
    line-height:1.15;
    font-weight:800;
    color:#072f60;
    margin:0 0 10px;
    letter-spacing:-.8px;
}

.sn-section-head p,
.sn-trustpilot-header-left p{
    font-size:15px;
    line-height:1.75;
    color:#667085;
    margin:0;
    font-weight:500;
}

.sn-mini-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#eaf6ff;
    border:1px solid rgba(8,101,145,.12);
    color:#086591;
    padding:7px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-bottom:14px;
    box-shadow:0 4px 12px rgba(8,101,145,.08);
}

.sn-mini-badge-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#0d8ac4;
    box-shadow:0 0 0 6px rgba(13,138,196,.15);
}

.sn-instructor-card,
.sn-review-summary-card,
.sn-review-card{
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
    border:1px solid rgba(8,101,145,.08);
    box-shadow:0 2px 6px rgba(7,47,96,.04), 0 14px 40px rgba(7,47,96,.08);
}

.sn-instructor-card{
    border-radius:24px;
    padding:28px 30px;
    position:relative;
    overflow:hidden;
}

.sn-instructor-card:before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:4px;
    background:linear-gradient(90deg,#072f60,#0d8ac4,#086591);
}

.sn-instructor-content{
    font-size:15px;
    line-height:1.85;
    color:#344054;
    font-weight:500;
}

.sn-review-section{
    background:transparent;
}

.sn-review-summary-card{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:0;
    border-radius:24px;
    overflow:hidden;
    margin-bottom:36px;
}

.sn-rating-box{
    background:linear-gradient(180deg,#072f60 0%,#0a4d78 100%);
    padding:34px 28px;
    color:#fff;
    position:relative;
    overflow:hidden;
}

.sn-rating-box:before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
    top:-90px;
    right:-80px;
}

.sn-rating-score{
    font-size:74px;
    line-height:1;
    font-weight:800;
    color:#fff;
    letter-spacing:-3px;
    margin-bottom:10px;
}

.sn-rating-stars{
    color:#ffc107;
    font-size:22px;
    letter-spacing:3px;
    margin-bottom:12px;
}

.sn-rating-label{
    color:rgba(255,255,255,.84);
    font-size:13px;
    line-height:1.6;
    margin-bottom:18px;
}

.sn-rating-progress{
    width:100%;
    height:9px;
    background:rgba(255,255,255,.14);
    border-radius:999px;
    overflow:hidden;
}

.sn-rating-progress-fill{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#ffc107,#ffd95b);
}

.sn-rating-total{
    margin-top:12px;
    font-size:14px;
    font-weight:700;
    color:#fff;
}

.sn-rating-trust-row{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-top:16px;
    width:100%;
}

.sn-rating-trust-item{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:12px;
    font-weight:600;
    color:#086591;
    background:#edf7ff;
    border:1px solid rgba(8,101,145,.14);
    border-radius:8px;
    padding:7px 10px;
}

.sn-rating-breakdown{
    padding:28px 30px;
    background:linear-gradient(180deg,#fff 0%,#f9fbfd 100%);
}

.sn-breakdown-heading{
    font-size:13px;
    font-weight:800;
    color:#072f60;
    text-transform:uppercase;
    letter-spacing:.6px;
    margin-bottom:18px;
}

.sn-breakdown-row{
    display:grid;
    grid-template-columns:76px 1fr 46px;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
}

.sn-breakdown-label,
.sn-breakdown-percent{
    font-size:13px;
    font-weight:700;
    color:#344054;
}

.sn-breakdown-bar{
    height:10px;
    border-radius:999px;
    background:#edf2f7;
    overflow:hidden;
}

.sn-breakdown-fill{
    height:100%;
    border-radius:999px;
}

.sn-trustpilot-section{
    background:linear-gradient(180deg,#f8fbff 0%,#eef5fb 100%);
    border-top:1px solid rgba(8,101,145,.06);
    border-bottom:1px solid rgba(8,101,145,.06);
}

.sn-trustpilot-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:24px;
}

.sn-trustpilot-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 18px;
    border-radius:12px;
    background:#072f60;
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    transition:.25s ease;
    box-shadow:0 8px 20px rgba(7,47,96,.18);
}

.sn-trustpilot-btn:hover{
    background:#086591;
    transform:translateY(-2px);
    color:#fff;
}

.sn-tp-aggregate{
    background:linear-gradient(180deg,#fff 0%,#f9fbfd 100%);
    border:1px solid rgba(8,101,145,.08);
    border-radius:16px;
    padding:14px 18px;
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:28px;
    box-shadow:0 10px 28px rgba(7,47,96,.06);
}

.sn-tp-score-pill{
    background:#072f60;
    padding:7px 12px;
    border-radius:10px;
    display:flex;
    align-items:baseline;
    gap:4px;
}

.sn-tp-score-num{
    color:#fff;
    font-size:24px;
    font-weight:800;
}

.sn-tp-score-label{
    color:rgba(255,255,255,.7);
    font-size:11px;
    font-weight:600;
}

.sn-tp-stars{
    color:#00b67a;
    font-size:20px;
    letter-spacing:2px;
}

.sn-tp-meta{
    color:#475467;
    font-size:14px;
    font-weight:600;
}

.sn-tp-meta strong{
    color:#072f60;
}

.sn-tp-logo-link{
    margin-left:auto;
    display:flex;
    align-items:center;
    text-decoration:none;
}

.sn-carousel-wrap{
    position:relative;
    padding:0 44px;
}

.sn-carousel-track-wrapper{
    overflow:hidden;
}

.sn-carousel-track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding:10px 2px 20px;
    -webkit-overflow-scrolling:touch;
    cursor:grab;
}

.sn-carousel-track::-webkit-scrollbar{
    display:none;
}

.sn-carousel-track:active{
    cursor:grabbing;
}

.sn-review-card{
    flex:0 0 330px;
    border-radius:20px;
    padding:20px;
    text-decoration:none;
    transition:.25s ease;
    position:relative;
    overflow:hidden;
}

.sn-review-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 36px rgba(7,47,96,.12);
}

.sn-rc-header{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
}

.sn-rc-avatar{
    width:44px;
    height:44px;
    border-radius:50%;
    background:linear-gradient(135deg,#086591,#0d8ac4);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(8,101,145,.22);
    flex-shrink:0;
}

.sn-rc-meta{
    display:flex;
    flex-direction:column;
    gap:2px;
    flex:1;
    min-width:0;
}

.sn-rc-name{
    font-size:14px;
    font-weight:700;
    color:#072f60;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.sn-rc-location{
    font-size:11px;
    color:#98a2b3;
    font-weight:600;
}

.sn-rc-verified{
    width:24px;
    height:24px;
    border-radius:50%;
    background:#edfaf4;
    border:1px solid rgba(0,182,122,.2);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    color:#00b67a;
}

.sn-review-stars{
    color:#ffc107;
    font-size:16px;
    letter-spacing:2px;
    margin-bottom:10px;
}

.sn-rc-text{
    font-size:14px;
    line-height:1.8;
    color:#475467;
    margin-bottom:16px;
    font-style:italic;
}

.sn-rc-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:12px;
    border-top:1px solid rgba(8,101,145,.08);
}

.sn-rc-date{
    font-size:12px;
    font-weight:600;
    color:#98a2b3;
    display:flex;
    align-items:center;
    gap:5px;
}

.sn-rc-tp-logo{
    color:#00b67a;
    font-weight:700;
    font-size:11px;
    display:flex;
    align-items:center;
    gap:4px;
}

.sn-carousel-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border-radius:50%;
    border:none;
    background:#fff;
    color:#072f60;
    cursor:pointer;
    z-index:5;
    box-shadow:0 12px 24px rgba(7,47,96,.12);
    transition:.25s ease;
}

.sn-carousel-nav:hover{
    background:#072f60;
    color:#fff;
    transform:translateY(-50%) scale(1.05);
}

.sn-carousel-nav.left{ left:-2px; }
.sn-carousel-nav.right{ right:-2px; }

.sn-carousel-nav.disabled{
    opacity:.3;
    pointer-events:none;
}

.sn-carousel-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:8px;
}

.sn-carousel-dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:rgba(8,101,145,.2);
    border:none;
    transition:.25s ease;
}

.sn-carousel-dot.active{
    width:28px;
    background:#086591;
}

@media (max-width: 991px){
    .sn-instructor-section,
    .sn-review-section,
    .sn-trustpilot-section{
        padding:48px 0;
    }

    .sn-review-summary-card{
        grid-template-columns:1fr;
    }

    .sn-trustpilot-header{
        flex-direction:column;
        align-items:flex-start;
    }

    .sn-tp-logo-link{
        margin-left:0;
    }
}

@media (max-width: 768px){
    .sn-section-head h2,
    .sn-trustpilot-header-left h2{
        font-size:28px;
    }

    .sn-review-card{
        flex:0 0 86%;
    }

    .sn-carousel-wrap{
        padding:0;
    }

    .sn-carousel-nav{
        display:none;
    }
}

@media (max-width: 576px){
    .sn-instructor-section,
    .sn-review-section,
    .sn-trustpilot-section{
        padding:40px 0;
    }

    .sn-section-head h2,
    .sn-trustpilot-header-left h2{
        font-size:24px;
    }

    .sn-rating-score{
        font-size:64px;
    }

    .sn-rating-box,
    .sn-rating-breakdown{
        padding:24px 18px;
    }

    .sn-review-summary-card{
        border-radius:18px;
    }

    .sn-tp-aggregate{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }
}

.sn-contact-card,
.sn-contact-card:hover,
.sn-contact-card:focus,
.sn-contact-card:visited {
    text-decoration: none !important;
    color: inherit !important;
}

.sn-call-card,
.sn-call-card:hover {
    color: #fff !important;
}

.sn-mail-card,
.sn-mail-card:hover {
    color: #111 !important;
}

.sn-contact-card *,
.sn-contact-card *:hover,
.sn-contact-card *:focus {
    color: inherit !important;
    opacity: 1 !important;
}

.sn-contact-text span,
.sn-contact-text strong {
    color: inherit !important;
    opacity: 1 !important;
}

/* ================================================================
   ██  ENTERPRISE DOWNLOAD SECTION
================================================================ */
.sn-download-section {
    padding: 60px 0 50px;
    background: linear-gradient(180deg, #f4f8fd 0%, #eef4fb 100%);
    border-top: 1px solid #dde8f2;
    border-bottom: 1px solid #dde8f2;
}

.sn-dl-section-head {
    text-align: center;
    margin-bottom: 40px;
}

.sn-dl-eyebrow {
    display: inline-block;
    padding: 5px 16px;
    background: #e7f4ff;
    color: #086591;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    border-radius: 999px;
    border: 1px solid rgba(8,101,145,.15);
    margin-bottom: 14px;
}

.sn-dl-title {
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    color: #072f60;
    margin: 0 0 10px;
    letter-spacing: -.5px;
}

.sn-dl-subtitle {
    font-size: 15px;
    color: #667085;
    margin: 0;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ── Cards grid ── */
.sn-dl-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 32px;
}

@media (max-width: 767px) {
    .sn-dl-cards { grid-template-columns: 1fr; }
}

/* ── Base card ── */
.sn-dl-card {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 32px 28px 24px;
    border: 1px solid rgba(8,101,145,.12);
    box-shadow: 0 4px 12px rgba(7,47,105,.05), 0 16px 40px rgba(7,47,105,.07);
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease;
}

.sn-dl-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(7,47,105,.10), 0 24px 56px rgba(7,47,105,.12);
}

/* Top accent bar */
.sn-dl-card--primary::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #072f60, #086591, #0d8ac4);
}

.sn-dl-card--secondary::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #b47a00, #ffc000, #ffd54f);
}

/* Subtle glow for primary */
.sn-dl-card-glow {
    position: absolute;
    top: -60px; right: -60px;
    width: 200px; height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(8,101,145,.06) 0%, transparent 70%);
    pointer-events: none;
}

/* Icon */
.sn-dl-card-icon {
    width: 72px;
    height: 72px;
    border-radius: 14px;
    background: linear-gradient(135deg, #eef6ff, #dbeeff);
    border: 1px solid rgba(8,101,145,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    padding: 10px;
    flex-shrink: 0;
}

.sn-dl-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Tag */
.sn-dl-tag {
    display: inline-block;
    padding: 3px 10px;
    background: #e7f4ff;
    color: #086591;
    font-size: 11px;
    font-weight: 700;
    border-radius: 999px;
    letter-spacing: .04em;
    margin-bottom: 10px;
}

.sn-dl-tag--alt {
    background: #fff8e1;
    color: #b47a00;
}

/* Card title */
.sn-dl-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #072f60;
    line-height: 1.3;
    margin: 0 0 8px;
}

/* Card desc */
.sn-dl-card-desc {
    font-size: 14px;
    color: #667085;
    line-height: 1.65;
    margin: 0 0 16px;
}

/* Bullets */
.sn-dl-bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.sn-dl-bullets li {
    font-size: 13.5px;
    color: #344054;
    font-weight: 500;
    padding-left: 22px;
    position: relative;
}

.sn-dl-bullets li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #086591;
    font-weight: 700;
    font-size: 12px;
}

/* Download button */
.sn-dl-btn-main {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 50px !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: transform .18s, box-shadow .18s !important;
    font-family: "Poppins", Arial, sans-serif !important;
    margin-bottom: 10px !important;

    background: linear-gradient(135deg, #0a4d8a, #072f60) !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(7,47,105,.25) !important;
}

.sn-dl-btn-main:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 28px rgba(7,47,105,.35) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.sn-dl-btn-main--alt {
    background: linear-gradient(135deg, #e09200, #ffc000) !important;
    color: #072f60 !important;
    box-shadow: 0 6px 18px rgba(224,146,0,.30) !important;
}

.sn-dl-btn-main--alt:hover {
    box-shadow: 0 10px 28px rgba(224,146,0,.45) !important;
    color: #072f60 !important;
}

/* Lock note */
.sn-dl-note {
    font-size: 11.5px !important;
    color: #98a2b3 !important;
    text-align: center !important;
    margin: 0 !important;
}

.sn-dl-note i {
    margin-right: 4px;
    color: #086591;
    font-size: 10px;
}

/* ── Trust strip ── */
.sn-dl-trust {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 28px;
    padding-top: 8px;
}

.sn-dl-trust span {
    font-size: 13px;
    font-weight: 600;
    color: #475467;
    display: flex;
    align-items: center;
    gap: 6px;
}

.sn-dl-trust span i {
    color: #086591;
    font-size: 13px;
}