/* =========================================================
   No Win Scenario Homepage Builder
   Clean consolidated stylesheet
   Replaces older iterative nwsb.css overrides.
   ========================================================= */

/* ---------- Theme reset / full-width shell ---------- */

html:has(.nwsb),
body:has(.nwsb){
    overflow-x:hidden !important;
}

.entry-content:has(.nwsb),
.wp-block-post-content:has(.nwsb),
.site-content:has(.nwsb),
.content-area:has(.nwsb),
.wp-site-blocks:has(.nwsb){
    max-width:none !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
}

.nwsb{
    --nwsb-panel:#06131d;
    --nwsb-border:rgba(255,255,255,.16);

    position:relative;
    isolation:isolate;
    width:100vw !important;
    max-width:100vw !important;
    min-height:100vh;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    overflow:hidden;

    color:#f6fbff;
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    line-height:1.45;

    background:
        radial-gradient(circle at 18% 18%, rgba(0,174,239,.09), transparent 25%),
        radial-gradient(circle at 84% 28%, rgba(255,122,24,.07), transparent 22%),
        radial-gradient(circle at 72% 82%, rgba(0,174,239,.07), transparent 26%),
        linear-gradient(180deg, #02070b 0%, #06131d 34%, #031019 68%, #02070b 100%) !important;
}

.nwsb::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.18;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.85) 1px, transparent 1.2px),
        linear-gradient(rgba(0,174,239,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,174,239,.06) 1px, transparent 1px);
    background-size:
        180px 180px,
        42px 42px,
        42px 42px;
    background-position:
        20px 30px,
        0 0,
        0 0;
}

.nwsb::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.24;
    background:
        linear-gradient(90deg, transparent 0%, rgba(0,174,239,.05) 12%, transparent 22%, transparent 72%, rgba(255,122,24,.04) 84%, transparent 100%),
        repeating-linear-gradient(180deg, transparent 0px, transparent 86px, rgba(255,255,255,.026) 87px, transparent 88px),
        radial-gradient(circle at 14% 34%, transparent 0 18%, rgba(0,174,239,.11) 18.3%, transparent 18.8% 100%),
        radial-gradient(circle at 88% 70%, transparent 0 16%, rgba(255,122,24,.08) 16.3%, transparent 16.8% 100%);
}

.nwsb > *{
    position:relative;
    z-index:1;
}

.nwsb *,
.nwsb *::before,
.nwsb *::after{
    box-sizing:border-box;
}

.nwsb a{
    color:inherit;
    text-decoration:none;
}

.nwsb img{
    max-width:100%;
    display:block;
}

.nwsb h1,
.nwsb h2,
.nwsb h3,
.nwsb h4,
.nwsb strong,
.nwsb .nwsb-logo{
    color:#ffffff;
}

.nwsb p,
.nwsb em,
.nwsb small{
    color:#d5e2eb;
}

/* ---------- Navigation ---------- */

.nwsb-nav{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    padding:24px clamp(22px, 5vw, 72px);
    background:rgba(2,8,13,.88);
    border-bottom:1px solid rgba(255,255,255,.09);
    position:sticky;
    top:0;
    z-index:50;
    backdrop-filter:blur(12px);
}

.nwsb-logo{
    font-weight:950;
    letter-spacing:.12em;
    line-height:.78;
    font-size:clamp(20px, 2.4vw, 32px);
    text-shadow:0 0 20px rgba(0,174,239,.35);
}

.nwsb-nav nav{
    display:flex;
    gap:clamp(14px, 2.4vw, 34px);
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:.16em;
}

.nwsb-nav nav a{
    opacity:.82;
    transition:opacity .18s ease, color .18s ease;
}

.nwsb-nav nav a:hover{
    color:var(--nwsb-accent);
    opacity:1;
}

/* ---------- Shared elements ---------- */

.nwsb-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.04);
    color:#fff !important;
    border-radius:9px;
    padding:14px 20px;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    text-decoration:none !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.nwsb-btn.primary{
    background:linear-gradient(135deg, var(--nwsb-accent), #076dca);
    border-color:transparent;
}

.nwsb-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 34px rgba(0,174,239,.22);
}

.nwsb-kicker,
.nwsb-side-kicker,
.nwsb-spreaker-kicker,
.nwsb-youtube-photo-overlay span{
    color:var(--nwsb-accent) !important;
}

.nwsb-kicker{
    display:inline-block;
    text-transform:uppercase;
    font-weight:950;
    letter-spacing:.16em;
    font-size:clamp(13px, .72vw, 16px);
}

.nwsb-actions{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    margin-top:26px;
}

.nwsb-actions.small{
    margin-top:22px;
}

.nwsb-contact-hero{
    border-color:rgba(0,174,239,.45) !important;
}

.nwsb-contact-hero:hover{
    border-color:var(--nwsb-accent) !important;
    background:rgba(0,174,239,.18) !important;
}

/* ---------- Hero ---------- */

.nwsb-hero{
    position:relative;
    overflow:hidden;
    min-height:calc(100vh - 48px);
    width:100%;
    display:grid;
    grid-template-columns:minmax(620px, 46vw) minmax(500px, 34vw);
    gap:clamp(26px, 3vw, 58px);
    align-items:center;
    padding:
        clamp(76px, 8vh, 130px)
        clamp(42px, 5vw, 110px)
        clamp(54px, 7vh, 110px)
        clamp(52px, 5vw, 110px);
    background-image:
        radial-gradient(circle at 74% 30%, rgba(0,174,239,.22), transparent 24%),
        radial-gradient(circle at 82% 70%, rgba(255,122,24,.13), transparent 25%),
        linear-gradient(110deg, #02080d 0%, #061727 52%, #02080d 100%) !important;
    background-size:cover !important;
    background-position:center !important;
}

.nwsb-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
        linear-gradient(90deg, rgba(2,8,13,.90) 0%, rgba(2,8,13,.76) 32%, rgba(2,8,13,.35) 62%, rgba(2,8,13,.12) 100%);
}

.nwsb-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    opacity:.15;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.95) 1px, transparent 1.35px),
        radial-gradient(circle, rgba(180,220,255,.85) 1px, transparent 1.45px),
        radial-gradient(circle, rgba(255,255,255,.52) 1px, transparent 1.25px);
    background-size:
        95px 95px,
        175px 175px,
        290px 290px;
    background-position:
        0 0,
        46px 82px,
        130px 36px;
    background-repeat:repeat;
}

.nwsb-hero-copy,
.nwsb-spreaker-card,
.nwsb-hero-logo-title{
    position:relative;
    z-index:2;
}

.nwsb-hero-copy{
    max-width:clamp(680px, 48vw, 920px);
}

.nwsb-sr-only{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

.nwsb-hero-logo-title{
    margin:0 0 22px !important;
    line-height:1 !important;
    max-width:min(100%, 760px) !important;
}

.nwsb-hero-logo-img{
    width:min(100%, 540px) !important;
    height:auto !important;
    display:block !important;
    filter:drop-shadow(0 8px 30px rgba(0,0,0,.65)) !important;
}

.nwsb-hero h1{
    margin:0 0 22px;
    font-size:clamp(82px, 7.2vw, 160px);
    line-height:.78;
    letter-spacing:-.055em;
    font-weight:950;
    text-transform:uppercase;
    max-width:clamp(680px, 48vw, 980px);
    text-shadow:0 5px 30px rgba(0,0,0,.75);
}

.nwsb-hero h2{
    margin:0 0 20px;
    color:var(--nwsb-accent);
    font-size:clamp(22px, 1.45vw, 34px);
    line-height:1.25;
    max-width:650px;
    text-transform:uppercase;
    letter-spacing:.12em;
    text-shadow:0 3px 18px rgba(0,0,0,.7);
}

.nwsb-hero p{
    max-width:760px;
    margin:0;
    color:#f2f8fc !important;
    font-size:clamp(20px, 1.25vw, 26px);
    line-height:1.58;
    padding:22px 26px;
    border-left:3px solid var(--nwsb-accent);
    border-radius:0 14px 14px 0;
    background:rgba(2,8,13,.34);
    backdrop-filter:blur(8px);
    box-shadow:0 16px 38px rgba(0,0,0,.22);
    text-shadow:0 2px 12px rgba(0,0,0,.75);
}

/* Optional styled fragments inside hero kicker */
.nwsb-joke{
    display:inline-block;
    color:#ffffff;
    background:rgba(255,122,24,.22);
    border:1px solid rgba(255,122,24,.65);
    border-radius:999px;
    padding:4px 12px 5px;
    margin:0 6px;
    transform:rotate(-1.5deg);
    font-size:.82em;
    letter-spacing:.08em;
    box-shadow:0 0 24px rgba(255,122,24,.25);
    white-space:nowrap;
}

.nwsb-friends{
    position:relative;
    display:inline-block;
    color:var(--nwsb-accent);
    margin-right:8px;
}

.nwsb-friends::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-4px;
    height:3px;
    background:linear-gradient(90deg, var(--nwsb-accent), rgba(0,174,239,.15));
    border-radius:999px;
    box-shadow:0 0 14px rgba(0,174,239,.65);
}

.nwsb-scifi{
    display:inline-block;
    color:var(--nwsb-accent);
    letter-spacing:.18em;
    margin-top:8px;
    text-shadow:0 0 18px rgba(0,174,239,.35);
}

/* Hero platform pills */
.nwsb-mini{
    margin-top:18px !important;
    padding:0 !important;
    max-width:760px !important;
    width:auto !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:12px !important;
}

.nwsb-mini strong{
    display:none !important;
}

.nwsb-mini a::before{
    display:none !important;
}

.nwsb-mini-platform{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 auto !important;
    min-height:52px !important;
    padding:10px 16px 10px 10px !important;
    gap:9px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    background:rgba(255,255,255,.09) !important;
    color:#f4fbff !important;
    font-size:14px !important;
    font-weight:900;
    line-height:1;
    box-shadow:0 10px 26px rgba(0,0,0,.22) !important;
    transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.nwsb-mini-platform:hover{
    transform:translateY(-2px);
    border-color:var(--nwsb-accent) !important;
    background:rgba(0,174,239,.18) !important;
}

.nwsb-mini-icon{
    width:32px !important;
    height:32px !important;
    flex:0 0 32px !important;
    border-radius:999px;
    background-repeat:no-repeat;
    background-position:center;
    background-size:19px 19px !important;
    box-shadow:0 0 18px rgba(255,255,255,.18);
}

.nwsb-mini-platform.apple .nwsb-mini-icon{
    background-color:#872EC4;
    background-image:url("https://cdn.simpleicons.org/applepodcasts/ffffff");
}

.nwsb-mini-platform.youtube .nwsb-mini-icon{
    background-color:#FF0000;
    background-image:url("https://cdn.simpleicons.org/youtube/ffffff");
}

.nwsb-mini-platform.spotify .nwsb-mini-icon{
    background-color:#1DB954;
    background-image:url("https://cdn.simpleicons.org/spotify/ffffff");
}

.nwsb-mini-platform.iheart .nwsb-mini-icon{
    background-color:#C6002B;
    background-image:url("https://cdn.simpleicons.org/iheartradio/ffffff");
}

.nwsb-mini-platform.audible .nwsb-mini-icon{
    background-color:#F8991D;
    background-image:url("https://cdn.simpleicons.org/audible/ffffff");
}

/* Hero Spreaker player */
.nwsb-spreaker-card{
    justify-self:start;
    align-self:center;
    position:relative !important;
    top:30px !important;
    transform:translateX(-28px) !important;
    width:100% !important;
    max-width:620px !important;
    min-height:720px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    overflow:hidden !important;

    border:1px solid rgba(255,255,255,.16);
    border-radius:20px;
    padding:22px !important;
    background:
        radial-gradient(circle at 20% 15%, rgba(0,174,239,.10), transparent 34%),
        rgba(2,8,13,.90) !important;
    backdrop-filter:blur(12px);
    box-shadow:0 18px 50px rgba(0,0,0,.28);
}

.nwsb-spreaker-kicker{
    display:block;
    font-size:11px;
    font-weight:950;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin-bottom:6px;
}

.nwsb-spreaker-card h3{
    margin:0 0 12px;
    color:#fff;
    font-size:clamp(18px, 1.1vw, 24px);
    line-height:1.05;
}

.nwsb-spreaker-card iframe,
.nwsb-spreaker-card .spreaker-player{
    width:100% !important;
    height:640px !important;
    min-height:640px !important;
    max-height:none !important;
    max-width:100% !important;
    border:0 !important;
    display:block !important;
}

/* ---------- Main layout ---------- */

.nwsb-main{
    width:100%;
    max-width:min(92vw, 1600px);
    margin:0 auto;
    padding:0 clamp(40px, 4vw, 84px) 40px;
    background:
        linear-gradient(
            180deg,
            rgba(2,8,13,.94),
            rgba(3,16,24,.90) 48%,
            rgba(2,8,13,.94)
        ) !important;
}

.nwsb-section{
    position:relative;
    max-width:1360px;
    margin:0 auto;
    padding:clamp(60px, 4.2vw, 92px) 0;
    border-top:1px solid rgba(255,255,255,.10);
}

.nwsb-section::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    pointer-events:none;
    opacity:.55;
    background:
        linear-gradient(90deg, transparent, rgba(0,174,239,.28), rgba(255,255,255,.10), rgba(255,122,24,.18), transparent);
}

.nwsb-section::after{
    content:"";
    position:absolute;
    right:0;
    top:18px;
    width:90px;
    height:18px;
    pointer-events:none;
    opacity:.24;
    border-top:1px solid rgba(0,174,239,.65);
    border-right:1px solid rgba(0,174,239,.65);
    border-radius:0 8px 0 0;
}

.nwsb-section h2{
    margin:12px 0 18px;
    font-size:clamp(42px, 3.1vw, 62px);
    line-height:1;
    letter-spacing:-.035em;
}

.nwsb-section p{
    color:#d5e2eb;
    font-size:clamp(16px, .92vw, 19px);
    line-height:1.6;
}

.nwsb-section-head,
.nwsb-carousel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}

.nwsb-section-head a,
.nwsb-guests-view-all{
    color:var(--nwsb-accent) !important;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

/* ---------- Latest full episode ---------- */

.nwsb-recent-episode-section{
    display:grid;
    grid-template-columns:minmax(300px, .75fr) minmax(520px, 1.45fr);
    gap:clamp(32px, 5vw, 90px);
    align-items:center;
}

.nwsb-recent-episode-copy p{
    max-width:680px;
    margin:0 0 24px;
    font-size:clamp(17px, 1.05vw, 22px);
    line-height:1.55;
}

.nwsb-recent-episode-video{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    background:#050b10;
    box-shadow:0 28px 80px rgba(0,0,0,.34);
}

.nwsb-recent-episode-video iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    display:block;
}

.nwsb-recent-episode-placeholder{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    padding:32px;
    color:#cbd9e2;
    text-align:center;
    background:
        radial-gradient(circle at 30% 20%, rgba(0,174,239,.16), transparent 34%),
        linear-gradient(135deg, rgba(10,31,44,.92), rgba(2,8,13,.88));
}

/* ---------- Featured / manual episode ---------- */

.nwsb-feature,
.nwsb-watch{
    display:grid;
    grid-template-columns:minmax(420px, 520px) minmax(620px, 1fr);
    gap:clamp(44px, 5vw, 88px);
    align-items:center;
}

.nwsb-feature > div:first-child,
.nwsb-watch > div:first-child{
    max-width:520px;
}

.nwsb-feature p,
.nwsb-watch p{
    max-width:500px;
    margin-bottom:28px;
}

.nwsb-feature-card,
.nwsb-feature-embed,
.nwsb-video{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:16/9;
    min-height:0;
    overflow:hidden;
    border:1px solid var(--nwsb-border);
    border-radius:18px;
    background:linear-gradient(135deg, rgba(0,174,239,.16), rgba(255,122,24,.07)), #071520;
    box-shadow:0 26px 70px rgba(0,0,0,.34);
}

.nwsb-feature-card iframe,
.nwsb-feature-card img,
.nwsb-feature-embed iframe,
.nwsb-video iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}

.nwsb-feature-card img{
    position:absolute;
    inset:0;
    object-fit:cover;
    object-position:center;
}

.nwsb-feature-card > span{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    width:78px;
    height:78px;
    border:3px solid rgba(255,255,255,.95);
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0;
    background:rgba(0,0,0,.28);
}

.nwsb-feature-card > span::before{
    content:"";
    width:0;
    height:0;
    border-top:15px solid transparent;
    border-bottom:15px solid transparent;
    border-left:23px solid white;
    margin-left:6px;
}

.nwsb-feature-placeholder{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#c7d7e2;
    text-align:center;
    padding:30px;
}

/* ---------- Watch / YouTube CTA ---------- */

.nwsb-youtube-channel-section{
    align-items:center !important;
}

.nwsb-youtube-photo-card{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:16/9;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    background:#071520;
    box-shadow:0 26px 70px rgba(0,0,0,.32);
    transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.nwsb-youtube-photo-card:hover{
    transform:translateY(-4px);
    border-color:#ff0000;
    box-shadow:0 30px 80px rgba(255,0,0,.16);
}

.nwsb-youtube-photo-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .25s ease, filter .25s ease;
}

.nwsb-youtube-photo-card:hover img{
    transform:scale(1.035);
    filter:brightness(1.08);
}

.nwsb-youtube-photo-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(to top, rgba(2,8,13,.88), rgba(2,8,13,.22) 55%, rgba(2,8,13,.08)),
        radial-gradient(circle at center, rgba(255,0,0,.16), transparent 34%);
    z-index:1;
}

.nwsb-youtube-photo-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
    display:flex;
    align-items:center;
    gap:20px;
    padding:28px;
}

.nwsb-youtube-photo-play{
    width:74px;
    height:74px;
    border-radius:999px;
    background:#ff0000;
    color:#fff;
    display:grid;
    place-items:center;
    font-size:32px;
    box-shadow:0 0 34px rgba(255,0,0,.38);
    flex:0 0 74px;
}

.nwsb-youtube-photo-overlay strong{
    display:block;
    color:white;
    font-size:clamp(26px, 2.3vw, 46px);
    line-height:.95;
    letter-spacing:-.04em;
}

.nwsb-youtube-photo-overlay em{
    display:block;
    color:#d5e3ec !important;
    font-style:normal;
    margin-top:7px;
    font-size:clamp(14px, .9vw, 18px);
}

.nwsb-youtube-photo-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    padding:30px;
    color:#cbd9e2;
    text-align:center;
}

/* ---------- Carousels / shared controls ---------- */

.nwsb-carousel-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.nwsb-carousel-btn{
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.08);
    color:white;
    font-size:30px;
    line-height:1;
    cursor:pointer;
    backdrop-filter:blur(8px);
    transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.nwsb-carousel-btn:hover{
    transform:translateY(-2px);
    border-color:var(--nwsb-accent);
    background:rgba(0,174,239,.18);
}

/* ---------- Guests carousel ---------- */

.nwsb-guests-section{
    overflow:hidden;
}

.nwsb-guests-carousel{
    position:relative;
    width:100%;
}

.nwsb-guests-track{
    display:flex;
    gap:22px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:4px 4px 18px;
    scrollbar-width:none;
}

.nwsb-guests-track::-webkit-scrollbar{
    display:none;
}

.nwsb-guest{
    min-width:0;
    border:1px solid var(--nwsb-border);
    border-radius:16px;
    padding:clamp(18px, 1.4vw, 28px);
    text-align:center;
    background:rgba(255,255,255,.04);
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.nwsb-guests-track .nwsb-guest{
    flex:0 0 clamp(260px, 18vw, 340px);
    min-height:clamp(500px, 34vw, 620px);
    scroll-snap-align:start;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.nwsb-guest:hover{
    transform:translateY(-5px);
    border-color:var(--nwsb-accent);
    box-shadow:0 18px 50px rgba(0,174,239,.13);
}

.nwsb-guest-img{
    width:100%;
    height:clamp(260px, 20vw, 380px);
    min-height:clamp(260px, 20vw, 380px);
    border-radius:14px;
    background:linear-gradient(135deg, #0b2637, #081017);
    overflow:hidden;
    display:grid;
    place-items:center;
    margin-bottom:22px;
}

.nwsb-guest-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.nwsb-guest-img b{
    height:100%;
    display:grid;
    place-items:center;
    font-size:clamp(72px, 6vw, 130px);
    color:var(--nwsb-accent);
}

.nwsb-guest strong{
    display:block;
    font-size:clamp(24px, 1.6vw, 34px);
    line-height:1.05;
    margin-bottom:10px;
}

.nwsb-guest em,
.nwsb-guest small{
    display:block;
    color:#cfdfeb !important;
    font-style:normal;
    line-height:1.35;
}

.nwsb-guest em{
    font-size:clamp(17px, 1.1vw, 22px);
    margin-bottom:8px;
}

.nwsb-guest small{
    font-size:clamp(15px, .95vw, 19px);
}

/* ---------- Highlights / Shorts ---------- */

.nwsb-clips-section{
    overflow:hidden;
}

.nwsb-clips-carousel{
    position:relative;
    width:100%;
}

.nwsb-clips-track{
    display:flex;
    gap:28px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding:4px 4px 18px;
}

.nwsb-clips-track::-webkit-scrollbar{
    display:none;
}

.nwsb-clips-page{
    flex:0 0 100%;
    display:grid;
    grid-template-columns:repeat(4, minmax(180px, 1fr));
    gap:24px;
    scroll-snap-align:start;
}

.nwsb-clip-card{
    min-width:0;
    border:1px solid var(--nwsb-border);
    border-radius:18px;
    overflow:hidden;
    background:rgba(255,255,255,.045);
}

.nwsb-clip-video,
.nwsb-clip-lite{
    position:relative;
    width:100%;
    aspect-ratio:9 / 16;
    min-height:0;
    background:#000;
    overflow:hidden;
}

.nwsb-clip-modal-open{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:#000;
    cursor:pointer;
    overflow:hidden;
    display:block;
}

.nwsb-clip-modal-open img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:transform .25s ease, filter .25s ease;
}

.nwsb-clip-modal-open::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(to top, rgba(2,8,13,.65), rgba(2,8,13,.08) 48%, rgba(2,8,13,.22)),
        radial-gradient(circle at center, rgba(255,0,0,.16), transparent 38%);
    pointer-events:none;
}

.nwsb-clip-card:hover .nwsb-clip-modal-open img{
    transform:scale(1.04);
    filter:brightness(1.08);
}

.nwsb-clip-play{
    position:absolute;
    left:auto !important;
    top:auto !important;
    right:14px !important;
    bottom:14px !important;
    transform:none !important;
    z-index:3;
    width:58px !important;
    height:40px !important;
    border-radius:13px !important;
    background:rgba(255,0,0,.94) !important;
    color:#fff !important;
    font-size:20px !important;
    line-height:1;
    display:grid !important;
    place-items:center !important;
    box-shadow:0 10px 28px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.16) !important;
    transition:transform .18s ease;
}

.nwsb-clip-card:hover .nwsb-clip-play{
    transform:scale(1.06) !important;
}

.nwsb-clip-copy{
    padding:18px 18px 20px;
}

.nwsb-clip-copy strong{
    display:block;
    font-size:clamp(16px, 1vw, 22px);
    line-height:1.15;
}

.nwsb-clip-copy em{
    display:block;
    margin-top:8px;
    color:#cbe4f3 !important;
    font-style:normal;
}

/* ---------- Custom / Extras carousel ---------- */

.nwsb-custom-slider-section{
    overflow:hidden;
}

.nwsb-custom-slider-section .nwsb-custom-head{
    max-width:760px;
    margin-bottom:0;
}

.nwsb-custom-slider-section .nwsb-custom-head p{
    margin:10px 0 0;
    max-width:720px;
}

.nwsb-custom-carousel{
    position:relative;
    width:100%;
}

.nwsb-custom-track{
    display:flex;
    gap:22px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:4px 4px 18px;
    scrollbar-width:none;
}

.nwsb-custom-track::-webkit-scrollbar{
    display:none;
}

.nwsb-custom-track .nwsb-custom-slide{
    flex:0 0 clamp(320px, 24vw, 460px);
    scroll-snap-align:start;
}

.nwsb-custom-card{
    position:relative;
    min-height:auto;
    border:1px solid var(--nwsb-border);
    border-radius:16px;
    overflow:hidden;
    background:rgba(255,255,255,.04);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    padding:0;
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.nwsb-custom-card:hover{
    transform:translateY(-5px);
    border-color:var(--nwsb-accent);
    box-shadow:0 18px 50px rgba(0,174,239,.13);
}

.nwsb-custom-card::before{
    display:none;
}

.nwsb-custom-slide-img{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:4 / 7;
    background:#000;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.nwsb-custom-slide-img img{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
    z-index:auto !important;
}

.nwsb-custom-slide-img b{
    font-size:clamp(72px, 6vw, 130px);
    color:var(--nwsb-accent);
}

.nwsb-custom-slide-copy{
    position:relative;
    z-index:2;
    padding:clamp(18px, 1.4vw, 28px);
    width:100%;
    display:flex;
    flex-direction:column;
    flex:1;
}

.nwsb-custom-slide-copy h3{
    color:white;
    font-size:clamp(24px, 1.6vw, 34px);
    line-height:1.05;
    margin:0 0 12px;
}

.nwsb-custom-slide-copy p{
    color:#cfdfeb !important;
    font-size:clamp(15px, .95vw, 19px);
    line-height:1.35;
    margin:0 0 18px;
    max-width:100%;
}

.nwsb-custom-slide-copy .nwsb-btn{
    margin-top:auto;
    align-self:flex-start;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.22);
}

/* ---------- Behind the Scenario slider ---------- */

.nwsb-bts-section{
    overflow:hidden;
}

.nwsb-bts-head{
    max-width:780px;
}

.nwsb-bts-carousel{
    position:relative;
    width:100%;
}

.nwsb-bts-track{
    display:flex;
    gap:24px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:4px 4px 20px;
    scrollbar-width:none;
}

.nwsb-bts-track::-webkit-scrollbar{
    display:none;
}

.nwsb-bts-card{
    position:relative;
    flex:0 0 clamp(360px, 34vw, 620px);
    height:clamp(280px, 25vw, 430px);
    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.16);
    background:#07131c;
    scroll-snap-align:start;
    box-shadow:0 20px 60px rgba(0,0,0,.28);
    transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.nwsb-bts-card:hover{
    transform:translateY(-4px);
    border-color:var(--nwsb-accent);
    box-shadow:0 26px 70px rgba(0,174,239,.14);
}

.nwsb-bts-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    display:block;
    transition:transform .25s ease, filter .25s ease;
}

.nwsb-bts-card:hover img{
    transform:scale(1.035);
    filter:brightness(1.08);
}

.nwsb-bts-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(2,8,13,.78), rgba(2,8,13,.18) 45%, rgba(2,8,13,0));
    pointer-events:none;
}

.nwsb-bts-card span{
    position:absolute;
    left:20px;
    right:20px;
    bottom:18px;
    z-index:2;
    color:white;
    font-size:clamp(18px, 1.2vw, 26px);
    font-weight:900;
    line-height:1.05;
    letter-spacing:-.02em;
    text-shadow:0 3px 14px rgba(0,0,0,.7);
}

/* ---------- Don / Trevor slider ---------- */

.nwsb-side-quiz-section{
    display:grid;
    grid-template-columns:minmax(280px, .72fr) minmax(520px, 1.28fr);
    gap:clamp(32px, 5vw, 84px);
    align-items:center;
}

.nwsb-side-quiz-intro{
    max-width:560px;
}

.nwsb-side-quiz-intro p{
    max-width:520px;
    font-size:clamp(17px, 1.05vw, 21px);
}

.nwsb-side-chooser{
    position:relative;
    width:100%;
    max-width:100%;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    border-radius:26px;
    padding:clamp(24px, 2.6vw, 42px);
    background:
        radial-gradient(circle at 18% 18%, rgba(255,122,24,.20), transparent 34%),
        radial-gradient(circle at 82% 82%, rgba(0,174,239,.22), transparent 36%),
        linear-gradient(135deg, rgba(7,21,32,.92), rgba(2,8,13,.82));
    backdrop-filter:blur(12px);
    box-shadow:0 30px 80px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.06);
}

.nwsb-side-glow{
    position:absolute;
    inset:-2px;
    pointer-events:none;
    opacity:.35;
    background:linear-gradient(135deg, rgba(255,122,24,.16), transparent 45%, rgba(0,174,239,.20));
}

.nwsb-side-score,
.nwsb-side-labels,
.nwsb-side-result,
.nwsb-side-traits{
    position:relative;
    z-index:2;
}

.nwsb-side-score{
    display:flex;
    justify-content:space-between;
    gap:14px;
    margin:0 0 14px;
}

.nwsb-side-score strong{
    font-size:clamp(13px, .9vw, 16px);
    text-transform:uppercase;
    letter-spacing:.06em;
}

.nwsb-don-score{
    color:var(--nwsb-orange) !important;
}

.nwsb-trevor-score{
    color:var(--nwsb-accent) !important;
}

.nwsb-side-slider{
    position:relative;
    z-index:2;
    width:100%;
    appearance:none;
    height:14px;
    border-radius:999px;
    outline:none;
    background:
        linear-gradient(90deg, var(--nwsb-orange) 0%, var(--nwsb-orange) calc(100% - var(--value, 50%)), var(--nwsb-accent) calc(100% - var(--value, 50%)), var(--nwsb-accent) 100%);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 0 24px rgba(0,174,239,.12);
}

.nwsb-side-slider::-webkit-slider-thumb{
    appearance:none;
    width:34px;
    height:34px;
    border-radius:999px;
    border:3px solid white;
    background:linear-gradient(135deg, var(--nwsb-orange), var(--nwsb-accent));
    box-shadow:0 6px 20px rgba(0,0,0,.35);
    cursor:pointer;
}

.nwsb-side-slider::-moz-range-thumb{
    width:34px;
    height:34px;
    border-radius:999px;
    border:3px solid white;
    background:linear-gradient(135deg, var(--nwsb-orange), var(--nwsb-accent));
    box-shadow:0 6px 20px rgba(0,0,0,.35);
    cursor:pointer;
}

.nwsb-side-labels{
    display:flex;
    justify-content:space-between;
    margin:14px 0 18px;
    color:#dce9f2;
    font-size:14px;
    font-weight:800;
}

.nwsb-side-result{
    border:1px solid rgba(255,255,255,.14);
    border-radius:16px;
    padding:18px;
    background:rgba(255,255,255,.055);
    margin-bottom:18px;
}

.nwsb-side-result b{
    display:block;
    font-size:clamp(22px, 1.6vw, 32px);
    margin-bottom:6px;
}

.nwsb-side-result p{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    margin:0 !important;
    font-size:clamp(15px, 1vw, 18px) !important;
    line-height:1.45 !important;
    color:#e5f0f6 !important;
}

.nwsb-side-traits{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.nwsb-side-traits div{
    border-radius:14px;
    padding:16px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.10);
}

.nwsb-side-traits em{
    display:block;
    font-style:normal;
    font-size:11px;
    color:#aebfca !important;
    margin-bottom:8px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.nwsb-side-traits span{
    display:inline-flex;
    margin:0 5px 7px 0;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    opacity:.45;
    transform:scale(.96);
    transition:
        opacity .18s ease,
        transform .18s ease,
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        color .18s ease;
}

.nwsb-side-traits div:first-child span.is-active{
    opacity:1;
    color:white;
    transform:translateY(-2px) scale(1.05);
    background:rgba(255,122,24,.26);
    border-color:rgba(255,122,24,.72);
    box-shadow:0 0 18px rgba(255,122,24,.25);
}

.nwsb-side-traits div:last-child span.is-active{
    opacity:1;
    color:white;
    transform:translateY(-2px) scale(1.05);
    background:rgba(0,174,239,.24);
    border-color:rgba(0,174,239,.72);
    box-shadow:0 0 18px rgba(0,174,239,.25);
}

/* ---------- Team vote ---------- */

.nwsb-team-vote-section{
    display:flex;
    justify-content:center;
    position:relative;
}

.nwsb-team-vote-card{
    position:relative;
    width:min(100%, 1040px);
    overflow:hidden;
    border:1px solid rgba(0,174,239,.42);
    border-radius:30px;
    padding:clamp(30px, 4.4vw, 64px);
    background:
        radial-gradient(circle at 16% 22%, rgba(255,122,24,.24), transparent 24%),
        radial-gradient(circle at 84% 76%, rgba(0,174,239,.28), transparent 28%),
        radial-gradient(circle at 50% 50%, rgba(255,255,255,.06), transparent 36%),
        linear-gradient(135deg, rgba(5,18,32,.98), rgba(1,5,10,.96) 58%, rgba(4,18,28,.98));
    box-shadow:
        0 34px 100px rgba(0,0,0,.48),
        0 0 70px rgba(0,174,239,.10),
        inset 0 0 0 1px rgba(255,255,255,.08),
        inset 0 0 90px rgba(0,174,239,.10);
    text-align:center;
}

.nwsb-team-vote-card::before{
    content:"";
    position:absolute;
    left:-20%;
    right:-20%;
    top:0;
    height:2px;
    background:linear-gradient(90deg, transparent, rgba(0,174,239,.25), rgba(255,255,255,.85), rgba(255,122,24,.35), transparent);
    opacity:.75;
    animation:nwsbVoteScan 4.8s linear infinite;
    z-index:1;
}

@keyframes nwsbVoteScan{
    0%{ transform:translateY(0); opacity:.15; }
    12%{ opacity:.85; }
    50%{ opacity:.55; }
    100%{ transform:translateY(740px); opacity:.05; }
}

.nwsb-team-vote-card::after{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.75) 1px, transparent 1.4px),
        linear-gradient(rgba(0,174,239,.075) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,174,239,.075) 1px, transparent 1px),
        linear-gradient(135deg, transparent 0 48%, rgba(255,255,255,.045) 49%, transparent 50% 100%);
    background-size:
        90px 90px,
        34px 34px,
        34px 34px,
        120px 120px;
    opacity:.34;
    mask-image:linear-gradient(to bottom, transparent, black 14%, black 84%, transparent);
    pointer-events:none;
}

.nwsb-team-vote-card > *{
    position:relative;
    z-index:2;
}

.nwsb-team-vote-card .nwsb-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 14px;
    border:1px solid rgba(0,174,239,.36);
    border-radius:999px;
    background:rgba(0,174,239,.08);
    box-shadow:0 0 28px rgba(0,174,239,.12);
}

.nwsb-team-vote-card .nwsb-kicker::after{
    content:"";
    width:7px;
    height:7px;
    border-radius:999px;
    background:var(--nwsb-accent);
    box-shadow:0 0 12px var(--nwsb-accent);
}

.nwsb-team-vote-card h2{
    position:relative;
    z-index:2;
    color:#fff;
    font-size:clamp(42px, 4.4vw, 84px);
    line-height:.92;
    letter-spacing:-.055em;
    margin:18px auto;
    max-width:880px;
    text-shadow:0 0 30px rgba(0,174,239,.16);
}

.nwsb-team-vote-card h2::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:520px;
    height:520px;
    transform:translate(-50%, -50%);
    border-radius:999px;
    z-index:-1;
    pointer-events:none;
    opacity:.30;
    background:
        radial-gradient(circle, transparent 0 38%, rgba(0,174,239,.16) 39%, transparent 40% 52%, rgba(255,122,24,.12) 53%, transparent 54%),
        conic-gradient(from 120deg, transparent 0deg, rgba(0,174,239,.24) 42deg, transparent 84deg, rgba(255,122,24,.18) 130deg, transparent 180deg, rgba(0,174,239,.16) 242deg, transparent 300deg);
    animation:nwsbVoteRing 16s linear infinite;
}

@keyframes nwsbVoteRing{
    from{ transform:translate(-50%, -50%) rotate(0deg); }
    to{ transform:translate(-50%, -50%) rotate(360deg); }
}

.nwsb-team-vote-card p{
    max-width:720px;
    margin:0 auto 30px;
    color:#d8e6ef !important;
    font-size:clamp(17px, 1vw, 21px);
    line-height:1.55;
}

.nwsb-team-vote-card p::after{
    content:" NO NEUTRAL ZONE DETECTED.";
    display:block;
    margin-top:12px;
    color:rgba(255,255,255,.78);
    font-size:12px;
    font-weight:950;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.nwsb-team-vote-buttons{
    position:relative;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
    max-width:760px;
    margin:0 auto 34px;
    align-items:stretch;
}

.nwsb-team-vote-buttons::before{
    content:"Choose wisely, humans.";
    grid-column:1 / -1;
    display:block;
    width:100%;
    margin:0 0 10px;
    color:rgba(255,255,255,.72);
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-align:center;
}

.nwsb-team-vote-btn{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    width:100%;
    min-height:150px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:22px;
    padding:32px 22px;
    text-transform:uppercase;
    color:#fff;
    font-size:clamp(24px, 2.2vw, 38px);
    font-weight:950;
    letter-spacing:-.035em;
    cursor:pointer;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        opacity .18s ease,
        filter .18s ease;
}

.nwsb-team-vote-btn::before{
    display:none !important;
}

.nwsb-team-vote-btn::after{
    content:"";
    position:absolute;
    inset:-80% -40%;
    z-index:2;
    background:linear-gradient(115deg, transparent 42%, rgba(255,255,255,.28), transparent 58%);
    transform:translateX(-70%);
    transition:transform .45s ease;
}

.nwsb-team-vote-btn:hover::after{
    transform:translateX(70%);
}

.nwsb-team-vote-btn span{
    position:relative;
    z-index:3;
    display:block;
    text-shadow:0 3px 14px rgba(0,0,0,.65);
}

.nwsb-team-button-panda{
    position:absolute !important;
    top:50% !important;
    width:min(145px, 34%) !important;
    height:auto !important;
    z-index:1 !important;
    opacity:.22 !important;
    pointer-events:none !important;
    user-select:none !important;
    transform:translateY(-50%) rotate(-8deg) !important;
}

.nwsb-team-vote-btn.don{
    background:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,.22), transparent 28%),
        linear-gradient(135deg, rgba(255,122,24,.98), rgba(96,31,4,.96));
    box-shadow:0 18px 44px rgba(255,122,24,.12);
}

.nwsb-team-vote-btn.trevor{
    background:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,.22), transparent 28%),
        linear-gradient(135deg, rgba(0,174,239,.98), rgba(4,51,92,.96));
    box-shadow:0 18px 44px rgba(0,174,239,.12);
}

.nwsb-team-vote-btn.don .nwsb-team-button-panda{
    left:10px !important;
    filter:
        drop-shadow(0 0 24px rgba(255,122,24,.45))
        drop-shadow(0 0 10px rgba(255,255,255,.12));
}

.nwsb-team-vote-btn.trevor .nwsb-team-button-panda{
    right:10px !important;
    transform:translateY(-50%) scaleX(-1) rotate(-8deg) !important;
    filter:
        drop-shadow(0 0 24px rgba(0,174,239,.48))
        drop-shadow(0 0 10px rgba(255,255,255,.12));
}

.nwsb-team-vote-btn:hover{
    transform:translateY(-5px) scale(1.015);
    border-color:rgba(255,255,255,.72);
    filter:saturate(1.08);
}

.nwsb-team-vote-btn.is-selected{
    border-color:#fff;
    box-shadow:
        0 0 0 4px rgba(255,255,255,.14),
        0 22px 58px rgba(0,0,0,.38);
}

.nwsb-team-vote-btn.is-selected .nwsb-team-button-panda{
    opacity:.32 !important;
}

.nwsb-team-vote-btn:disabled{
    cursor:default;
    opacity:.68;
}

.nwsb-team-vote-btn.is-selected:disabled{
    opacity:1;
}

.nwsb-team-vote-results{
    max-width:800px;
    margin:0 auto;
    display:grid;
    gap:18px;
    padding:22px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:22px;
    background:rgba(2,8,13,.42);
    backdrop-filter:blur(10px);
}

.nwsb-team-result-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:8px;
    color:#fff;
}

.nwsb-team-result-top strong{
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.14em;
}

.nwsb-team-result-top span{
    font-size:24px;
    font-weight:950;
    text-shadow:0 0 18px rgba(255,255,255,.18);
}

.nwsb-team-bar{
    position:relative;
    width:100%;
    height:20px;
    border-radius:999px;
    overflow:hidden;
    background:rgba(255,255,255,.09);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.13),
        inset 0 0 18px rgba(0,0,0,.28);
}

.nwsb-team-bar::after{
    content:"";
    position:absolute;
    inset:0;
    background:repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(255,255,255,.12) 18px, rgba(255,255,255,.12) 20px);
    opacity:.35;
    pointer-events:none;
}

.nwsb-team-bar span{
    display:block;
    height:100%;
    width:50%;
    border-radius:999px;
    transition:width .35s ease;
}

.nwsb-team-don-bar{
    background:linear-gradient(90deg, var(--nwsb-orange), #ffb15c);
    box-shadow:0 0 20px rgba(255,122,24,.35);
}

.nwsb-team-trevor-bar{
    background:linear-gradient(90deg, var(--nwsb-accent), #72d8ff);
    box-shadow:0 0 20px rgba(0,174,239,.35);
}

.nwsb-team-vote-message{
    margin-top:18px;
    min-height:20px;
    color:#e8f3fa;
    font-size:14px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.nwsb-team-vote-section.has-voted .nwsb-team-vote-card{
    border-color:rgba(255,255,255,.26);
}

/* ---------- Modal video player ---------- */

.nwsb-video-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.nwsb-video-modal.is-open{
    display:flex;
}

.nwsb-video-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.82);
    backdrop-filter:blur(8px);
}

.nwsb-video-modal-box{
    position:relative;
    z-index:2;
    width:min(92vw, 520px);
    background:linear-gradient(180deg, rgba(8,22,31,.98), rgba(2,8,13,.98));
    border:1px solid rgba(255,255,255,.18);
    border-radius:22px;
    padding:18px;
    box-shadow:0 30px 100px rgba(0,0,0,.6);
}

.nwsb-video-modal-frame{
    width:100%;
    aspect-ratio:9 / 16;
    background:#000;
    border-radius:16px;
    overflow:hidden;
}

.nwsb-video-modal-frame iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}

.nwsb-video-modal-close{
    position:absolute;
    right:-14px;
    top:-14px;
    z-index:3;
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.25);
    background:#111a22;
    color:#fff;
    font-size:30px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 10px 30px rgba(0,0,0,.4);
}

.nwsb-video-modal-close:hover{
    border-color:var(--nwsb-accent);
    box-shadow:0 0 0 3px rgba(0,174,239,.18), 0 10px 30px rgba(0,0,0,.4);
}

.nwsb-video-modal-nav{
    position:absolute;
    top:50%;
    z-index:4;
    transform:translateY(-50%);
    width:50px;
    height:58px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(9,20,29,.88);
    color:#fff;
    font-size:44px;
    line-height:1;
    display:grid;
    place-items:center;
    cursor:pointer;
    box-shadow:0 12px 34px rgba(0,0,0,.38);
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.nwsb-video-modal-nav:hover{
    border-color:var(--nwsb-accent);
    box-shadow:0 0 0 3px rgba(0,174,239,.18), 0 12px 34px rgba(0,0,0,.38);
}

.nwsb-video-modal-prev{
    left:-72px;
}

.nwsb-video-modal-next{
    right:-72px;
}

.nwsb-video-modal-bottom{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-top:16px;
}

.nwsb-video-modal-title{
    color:#fff;
    font-size:clamp(18px, 1.3vw, 26px);
    line-height:1.15;
    margin:0;
    font-weight:850;
    flex:1;
}

.nwsb-video-modal-count{
    color:#9fb0bc;
    font-size:13px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    white-space:nowrap;
    padding-top:5px;
}

body.nwsb-modal-open{
    overflow:hidden;
}

/* ---------- Footer ---------- */

.nwsb-footer{
    width:100%;
    display:grid;
    grid-template-columns:280px minmax(0, 780px);
    gap:42px;
    align-items:center;
    padding:42px clamp(24px, 6vw, 92px);
    background:#02070b;
    border-top:1px solid rgba(255,255,255,.10);
    color:#bdcbd4;
}

.nwsb-footer p{
    margin:0;
}

.nwsb-footer-about p{
    margin:0 0 14px !important;
    color:#bdcbd4 !important;
    line-height:1.65 !important;
}

.nwsb-footer-about p:last-child{
    margin-bottom:0 !important;
}

/* ---------- Optional lower-page platform/host legacy sections ---------- */

.nwsb-platforms{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:20px;
    margin-top:24px;
}

.nwsb-platform{
    min-height:178px;
    border:1px solid var(--nwsb-border);
    border-radius:14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:rgba(255,255,255,.035);
    text-align:center;
}

.nwsb-platform span{
    font-size:52px;
    color:var(--nwsb-accent);
}

.nwsb-platform.youtube span,
.nwsb-platform.iheart span{
    color:#ff2a2a;
}

.nwsb-platform.spotify span{
    color:#1ed760;
}

.nwsb-platform.audible span{
    color:var(--nwsb-orange);
}

.nwsb-platform strong{
    font-size:20px;
}

.nwsb-platform em{
    font-style:normal;
    border:1px solid currentColor;
    border-radius:7px;
    padding:7px 18px;
    text-transform:uppercase;
    font-size:12px;
    font-weight:800;
}

.nwsb-hosts{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:24px;
    margin-top:24px;
}

.nwsb-host{
    border:1px solid var(--nwsb-border);
    border-radius:16px;
    padding:24px;
    display:grid;
    grid-template-columns:220px minmax(0, 1fr);
    gap:24px;
    background:linear-gradient(135deg, rgba(0,174,239,.13), rgba(255,255,255,.035));
}

.nwsb-host.don{
    background:linear-gradient(135deg, rgba(255,122,24,.18), rgba(255,255,255,.035));
}

.nwsb-host-photo{
    height:270px;
    border-radius:13px;
    background:#081925;
    overflow:hidden;
}

.nwsb-host-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.nwsb-host h3{
    margin:0;
    font-size:38px;
    color:var(--nwsb-accent);
    text-transform:uppercase;
}

.nwsb-host.don h3{
    color:var(--nwsb-orange);
}

.nwsb-host h4{
    margin:0 0 12px;
    text-transform:uppercase;
    letter-spacing:.09em;
}

.nwsb-host p{
    margin-top:0;
}

.nwsb-host-links{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.nwsb-host-links a{
    border:1px solid rgba(255,255,255,.25);
    border-radius:999px;
    padding:7px 12px;
    font-size:13px;
}

/* ---------- Responsive ---------- */

@media(max-width:1100px){
    .nwsb-feature,
    .nwsb-watch,
    .nwsb-recent-episode-section,
    .nwsb-side-quiz-section{
        grid-template-columns:1fr;
    }

    .nwsb-platforms{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .nwsb-hosts{
        grid-template-columns:1fr;
    }
}

@media(max-width:1000px){
    .nwsb-hero{
        grid-template-columns:1fr !important;
        gap:28px;
        align-items:start;
        padding:72px 22px 48px;
    }

    .nwsb-hero-copy{
        max-width:720px;
        justify-self:start;
        text-align:left;
    }

    .nwsb-spreaker-card{
        justify-self:start;
        align-self:start;
        transform:none !important;
        top:0 !important;
        width:100% !important;
        max-width:620px !important;
        min-height:auto !important;
    }

    .nwsb-spreaker-card iframe,
    .nwsb-spreaker-card .spreaker-player{
        height:360px !important;
        min-height:360px !important;
    }

    .nwsb-clips-page{
        grid-template-columns:repeat(3, minmax(160px, 1fr));
    }
}

@media(max-width:820px){
    .nwsb-nav{
        position:relative;
        align-items:flex-start;
        gap:18px;
    }

    .nwsb-nav nav{
        display:none;
    }

    .nwsb-main{
        max-width:100%;
        padding-left:22px;
        padding-right:22px;
    }

    .nwsb-footer{
        grid-template-columns:1fr;
    }

    .nwsb-youtube-photo-overlay{
        padding:22px;
        gap:14px;
    }

    .nwsb-youtube-photo-play{
        width:58px;
        height:58px;
        flex-basis:58px;
        font-size:24px;
    }

    .nwsb-bts-card{
        flex-basis:84vw;
        height:320px;
    }
}

@media(max-width:700px){
    .nwsb-section-head,
    .nwsb-carousel-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .nwsb-carousel-actions{
        width:100%;
        justify-content:flex-start;
    }

    .nwsb-clips-page{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:18px;
    }

    .nwsb-team-vote-buttons{
        grid-template-columns:1fr;
    }

    .nwsb-team-vote-card{
        text-align:left;
    }

    .nwsb-team-vote-card p{
        margin-left:0;
    }

    .nwsb-team-vote-results{
        padding:18px;
    }

    .nwsb-team-vote-btn{
        min-height:130px;
    }

    .nwsb-team-button-panda{
        width:120px !important;
        opacity:.18 !important;
    }

    .nwsb-side-traits{
        grid-template-columns:1fr;
    }
}

@media(max-width:640px){
    .nwsb-hero{
        padding-top:52px;
    }

    .nwsb-hero-logo-img{
        width:min(100%, 430px) !important;
    }

    .nwsb-hero h1{
        font-size:clamp(52px, 18vw, 78px);
        line-height:.82;
        max-width:100%;
    }

    .nwsb-hero h2{
        font-size:20px;
        line-height:1.35;
        max-width:100%;
    }

    .nwsb-joke{
        margin:8px 0 4px;
    }

    .nwsb-hero p{
        font-size:16px;
        line-height:1.55;
        padding:16px;
        max-width:100%;
    }

    .nwsb-actions{
        gap:10px;
    }

    .nwsb-hero .nwsb-btn{
        width:100%;
        justify-content:center;
    }

    .nwsb-mini{
        max-width:100% !important;
    }

    .nwsb-mini-platform{
        width:100% !important;
        justify-content:flex-start !important;
        min-height:58px !important;
        font-size:16px !important;
    }

    .nwsb-spreaker-card iframe,
    .nwsb-spreaker-card .spreaker-player{
        height:300px !important;
        min-height:300px !important;
    }

    .nwsb-guests-track .nwsb-guest{
        flex-basis:82vw;
        min-height:520px;
    }

    .nwsb-guests-track .nwsb-guest-img{
        height:300px;
        min-height:300px;
    }

    .nwsb-custom-track .nwsb-custom-slide{
        flex-basis:84vw;
    }

    .nwsb-video-modal{
        padding:14px;
    }

    .nwsb-video-modal-box{
        width:min(94vw, 420px);
        padding:12px;
        border-radius:18px;
    }

    .nwsb-video-modal-close{
        right:4px;
        top:4px;
    }

    .nwsb-video-modal-nav{
        top:auto;
        bottom:74px;
        width:44px;
        height:44px;
        border-radius:999px;
        font-size:34px;
    }

    .nwsb-video-modal-prev{
        left:18px;
    }

    .nwsb-video-modal-next{
        right:18px;
    }

    .nwsb-video-modal-bottom{
        flex-direction:column;
        gap:6px;
    }

    .nwsb-platforms{
        grid-template-columns:1fr;
    }

    .nwsb-host{
        grid-template-columns:1fr;
    }
}

@media(max-width:440px){
    .nwsb-main{
        padding-left:16px;
        padding-right:16px;
    }

    .nwsb-clips-page{
        grid-template-columns:1fr;
    }

    .nwsb-clips-section .nwsb-clip-card{
        max-width:340px;
        margin:0 auto;
    }
}

/* ---------- Reduced motion ---------- */

@media(prefers-reduced-motion:reduce){
    .nwsb *,
    .nwsb *::before,
    .nwsb *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}

/* =========================================================
   SAFETY COLOR OVERRIDES
   Keeps text readable against WordPress/theme inherited styles.
   Keep this block last.
   ========================================================= */

.nwsb,
.nwsb-main,
.nwsb-section{
    color:#f6fbff !important;
}

.nwsb h1,
.nwsb h2,
.nwsb h3,
.nwsb h4,
.nwsb h5,
.nwsb h6,
.nwsb strong,
.nwsb b,
.nwsb .nwsb-logo,
.nwsb .nwsb-video-modal-title,
.nwsb .nwsb-team-result-top,
.nwsb .nwsb-team-result-top strong,
.nwsb .nwsb-team-result-top span,
.nwsb .nwsb-team-vote-btn span,
.nwsb .nwsb-youtube-photo-overlay strong,
.nwsb .nwsb-custom-slide-copy h3,
.nwsb .nwsb-side-result-title{
    color:#ffffff !important;
}

.nwsb p,
.nwsb li,
.nwsb em,
.nwsb small,
.nwsb .nwsb-section p,
.nwsb .nwsb-feature p,
.nwsb .nwsb-watch p,
.nwsb .nwsb-recent-episode-copy p,
.nwsb .nwsb-custom-head p,
.nwsb .nwsb-custom-slide-copy p,
.nwsb .nwsb-host p,
.nwsb .nwsb-footer-about p,
.nwsb .nwsb-youtube-photo-overlay em,
.nwsb .nwsb-clip-copy em,
.nwsb .nwsb-guest em,
.nwsb .nwsb-guest small,
.nwsb .nwsb-side-result p,
.nwsb .nwsb-side-labels,
.nwsb .nwsb-video-modal-count{
    color:#d5e2eb !important;
}

.nwsb .nwsb-kicker,
.nwsb .nwsb-side-kicker,
.nwsb .nwsb-spreaker-kicker,
.nwsb .nwsb-guests-view-all,
.nwsb .nwsb-section-head a,
.nwsb .nwsb-youtube-photo-overlay span{
    color:var(--nwsb-accent) !important;
}

.nwsb .nwsb-btn,
.nwsb a.nwsb-btn,
.nwsb .nwsb-btn.primary,
.nwsb a.nwsb-btn.primary,
.nwsb .nwsb-mini-platform,
.nwsb .nwsb-mini-platform span,
.nwsb .nwsb-carousel-btn,
.nwsb .nwsb-video-modal-close,
.nwsb .nwsb-video-modal-nav{
    color:#ffffff !important;
}

.nwsb a:not(.nwsb-btn):not(.nwsb-mini-platform):not(.nwsb-platform):not(.nwsb-guest):not(.nwsb-youtube-photo-card):not(.nwsb-custom-card){
    color:inherit !important;
}

.nwsb-footer,
.nwsb-footer p,
.nwsb-footer-about,
.nwsb-footer-about p{
    color:#bdcbd4 !important;
}
/* Don/Trevor slider attributes: larger text, same compact row */

.nwsb-side-quiz-section .nwsb-side-traits{
    gap:14px !important;
}

.nwsb-side-quiz-section .nwsb-side-traits div{
    padding:14px 15px !important;
    min-height:0 !important;
}

.nwsb-side-quiz-section .nwsb-side-traits em{
    font-size:13px !important;
    line-height:1 !important;
    margin-bottom:9px !important;
    letter-spacing:.08em !important;
}

.nwsb-side-quiz-section .nwsb-side-traits span{
    font-size:16px !important;
    line-height:1 !important;
    padding:5px 9px !important;
    margin:0 4px 5px 0 !important;
}
.nwsb-side-quiz-section .nwsb-side-traits span{
    opacity:.58 !important;
}

.nwsb-side-quiz-section .nwsb-side-traits span.is-active{
    opacity:1 !important;
}

/* Highlights carousel: 6 desktop, 3 tablet, 1 mobile */

.nwsb-clips-track{
    gap:18px !important;
}

.nwsb-clips-page{
    display:block !important;
    scroll-snap-align:start !important;
}

/* Desktop: show 6 Shorts across */
@media(min-width:1100px){
    .nwsb-clips-page{
        flex:0 0 calc((100% - 90px) / 6) !important;
    }

    .nwsb-clips-section .nwsb-clip-copy{
        padding:13px 12px 15px !important;
    }

    .nwsb-clips-section .nwsb-clip-copy strong{
        font-size:clamp(13px, .82vw, 16px) !important;
        line-height:1.15 !important;
    }

    .nwsb-clips-section .nwsb-clip-copy em{
        font-size:13px !important;
    }

    .nwsb-clips-section .nwsb-clip-play{
        width:46px !important;
        height:32px !important;
        right:10px !important;
        bottom:10px !important;
        font-size:16px !important;
        border-radius:10px !important;
    }
}

/* Tablet: show 3 Shorts across */
@media(min-width:701px) and (max-width:1099px){
    .nwsb-clips-page{
        flex:0 0 calc((100% - 36px) / 3) !important;
    }
}

/* Mobile: show 1 Short at a time */
@media(max-width:700px){
    .nwsb-clips-track{
        gap:16px !important;
    }

    .nwsb-clips-page{
        flex:0 0 100% !important;
    }

    .nwsb-clips-section .nwsb-clip-card{
        width:min(100%, 340px) !important;
        margin:0 auto !important;
    }

    .nwsb-clips-section .nwsb-clip-copy{
        padding:14px 14px 16px !important;
    }

    .nwsb-clips-section .nwsb-clip-copy strong{
        font-size:17px !important;
    }
}

/* Mobile fix: Don/Trevor slider should fully fit */

@media(max-width:700px){

    .nwsb-side-quiz-section{
        display:block !important;
        overflow:hidden !important;
    }

    .nwsb-side-quiz-intro{
        max-width:100% !important;
        margin-bottom:24px !important;
    }

    .nwsb-side-chooser{
        width:100% !important;
        max-width:100% !important;
        padding:18px !important;
        border-radius:20px !important;
        overflow:hidden !important;
    }

    .nwsb-side-score{
        gap:10px !important;
    }

    .nwsb-side-score strong{
        font-size:12px !important;
        line-height:1.15 !important;
    }

    .nwsb-side-slider{
        width:100% !important;
        max-width:100% !important;
    }

    .nwsb-side-labels{
        font-size:12px !important;
        gap:12px !important;
    }

    .nwsb-side-result{
        padding:14px !important;
    }

    .nwsb-side-result b{
        font-size:21px !important;
    }

    .nwsb-side-result p{
        font-size:14px !important;
        line-height:1.4 !important;
    }

    .nwsb-side-traits{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-traits div{
        padding:13px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-traits em{
        font-size:12px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-traits span{
        font-size:14px !important;
        line-height:1 !important;
        padding:5px 8px !important;
        margin:0 3px 5px 0 !important;
    }
}

@media(max-width:420px){
    .nwsb-side-score{
        flex-direction:column !important;
        align-items:flex-start !important;
    }

    .nwsb-side-labels{
        font-size:11px !important;
    }
}

/* Force shortcode page to full width inside WordPress page/template wrappers */

body:has(.nwsb) .wp-site-blocks,
body:has(.nwsb) .wp-block-post-content,
body:has(.nwsb) .entry-content,
body:has(.nwsb) main,
body:has(.nwsb) .wp-block-group,
body:has(.nwsb) .wp-block-template-part{
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

body:has(.nwsb) .wp-block-post-title,
body:has(.nwsb) header,
body:has(.nwsb) .wp-block-site-title,
body:has(.nwsb) .wp-block-site-tagline{
    display:none !important;
}
/* Hide only the WordPress theme wrapper/header/footer, but keep the NWS header and footer */

/* Hide theme site title/tagline/page title */
body:has(.nwsb) .wp-block-site-title,
body:has(.nwsb) .wp-block-site-tagline,
body:has(.nwsb) .wp-block-post-title,
body:has(.nwsb) .entry-header{
    display:none !important;
}

/* Hide only top-level WordPress theme header/footer areas */
body:has(.nwsb) .wp-site-blocks > header,
body:has(.nwsb) .wp-site-blocks > footer,
body:has(.nwsb) .wp-block-template-part:has(.wp-block-site-title),
body:has(.nwsb) .wp-block-template-part:has(.wp-block-navigation){
    display:none !important;
}

/* Keep the No Win Scenario plugin header/nav and footer visible */
body:has(.nwsb) .nwsb-nav,
body:has(.nwsb) .nwsb-footer{
    display:flex !important;
}

body:has(.nwsb) .nwsb-footer{
    display:grid !important;
}

/* Remove theme page spacing around the shortcode */
body:has(.nwsb){
    margin:0 !important;
    padding:0 !important;
    background:#02070b !important;
}

body:has(.nwsb) .wp-site-blocks,
body:has(.nwsb) main,
body:has(.nwsb) .entry-content,
body:has(.nwsb) .wp-block-post-content,
body:has(.nwsb) .is-layout-constrained,
body:has(.nwsb) .is-layout-flow,
body:has(.nwsb) .wp-block-group,
body:has(.nwsb) .wp-block-shortcode{
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
}
/* Final shortcode-page fixes: NWS nav spacing and full-width NWS footer */

/* Bring NWS menu items closer to the logo instead of pinning them way across the screen */
body:has(.nwsb) .nwsb-nav{
    justify-content:flex-start !important;
    gap:clamp(42px, 8vw, 150px) !important;
    padding-left:clamp(28px, 3vw, 56px) !important;
    padding-right:clamp(28px, 3vw, 56px) !important;
}

body:has(.nwsb) .nwsb-nav nav{
    margin-left:0 !important;
    gap:clamp(22px, 2.2vw, 42px) !important;
}

/* Make the NWS footer break out full-width even inside the WordPress shortcode page */
body:has(.nwsb) .nwsb-footer{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:clamp(32px, 6vw, 110px) !important;
    padding-right:clamp(32px, 6vw, 110px) !important;
    display:grid !important;
    grid-template-columns:minmax(180px, 280px) minmax(360px, 900px) !important;
    justify-content:start !important;
    background:#02070b !important;
}

/* Keep the footer text from becoming a skinny centered column */
body:has(.nwsb) .nwsb-footer-about{
    max-width:900px !important;
    width:100% !important;
}

/* Mobile: stack nav/footer cleanly */
@media(max-width:820px){
    body:has(.nwsb) .nwsb-nav{
        justify-content:space-between !important;
        gap:20px !important;
    }

    body:has(.nwsb) .nwsb-footer{
        grid-template-columns:1fr !important;
        gap:24px !important;
    }
}
/* =========================================================
   FINAL MOBILE FIXES
   Fixes shortcode-page mobile clipping, slider width, footer width,
   and section spacing.
   Keep this block last.
   ========================================================= */

@media(max-width:700px){

    html,
    body{
        overflow-x:hidden !important;
        width:100% !important;
        max-width:100% !important;
    }

    body:has(.nwsb) .wp-site-blocks,
    body:has(.nwsb) main,
    body:has(.nwsb) .entry-content,
    body:has(.nwsb) .wp-block-post-content,
    body:has(.nwsb) .wp-block-shortcode,
    body:has(.nwsb) .is-layout-constrained,
    body:has(.nwsb) .is-layout-flow,
    body:has(.nwsb) .wp-block-group{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding-left:0 !important;
        padding-right:0 !important;
        overflow-x:hidden !important;
    }

    .nwsb{
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        overflow-x:hidden !important;
    }

    .nwsb-main{
        width:100% !important;
        max-width:100% !important;
        padding-left:16px !important;
        padding-right:16px !important;
        overflow-x:hidden !important;
    }

    .nwsb-section{
        width:100% !important;
        max-width:100% !important;
        padding-top:48px !important;
        padding-bottom:48px !important;
        overflow:hidden !important;
    }

    .nwsb-section h2{
        font-size:clamp(30px, 10vw, 42px) !important;
        line-height:1.02 !important;
        letter-spacing:-.04em !important;
    }

    .nwsb-section p{
        font-size:16px !important;
        line-height:1.5 !important;
    }

    .nwsb-section-head,
    .nwsb-carousel-head{
        margin-bottom:18px !important;
        gap:12px !important;
    }

    .nwsb-carousel-actions{
        gap:8px !important;
    }

    .nwsb-carousel-btn{
        width:38px !important;
        height:38px !important;
        font-size:26px !important;
    }
}

/* =========================================================
   FINAL MOBILE TWEAKS - shortcode-safe
   This keeps the existing desktop look and only fixes mobile
   padding, Don/Trevor slider centering, Team Vote centering,
   and top nav spacing.
   ========================================================= */

/* Desktop/tablet: move menu a little farther from NWS logo */
@media (min-width:821px){
    body:has(.nwsb) .nwsb-nav{
        justify-content:flex-start !important;
        gap:clamp(100px, 11vw, 220px) !important;
    }

    body:has(.nwsb) .nwsb-nav nav{
        gap:clamp(30px, 2.8vw, 56px) !important;
    }
}

/* Mobile: more comfortable side padding and no horizontal clipping */
@media (max-width:700px){

    html,
    body,
    body:has(.nwsb),
    body:has(.nwsb) .wp-site-blocks,
    body:has(.nwsb) main,
    body:has(.nwsb) .entry-content,
    body:has(.nwsb) .wp-block-post-content,
    body:has(.nwsb) .wp-block-shortcode{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .nwsb{
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        overflow-x:hidden !important;
    }

    .nwsb-main{
        width:100% !important;
        max-width:100% !important;
        padding-left:24px !important;
        padding-right:24px !important;
        overflow-x:hidden !important;
    }

    .nwsb-section{
        width:100% !important;
        max-width:100% !important;
        padding-left:0 !important;
        padding-right:0 !important;
        overflow:hidden !important;
    }

    .nwsb-section-head,
    .nwsb-carousel-head,
    .nwsb-recent-episode-copy,
    .nwsb-feature > div:first-child,
    .nwsb-watch > div:first-child,
    .nwsb-custom-head,
    .nwsb-bts-head,
    .nwsb-side-quiz-intro{
        padding-left:4px !important;
        padding-right:4px !important;
        box-sizing:border-box !important;
    }

    .nwsb-section h2,
    .nwsb-section p{
        max-width:100% !important;
    }

    /* Keep hero from becoming too tight after adding page padding */
    .nwsb-hero{
        padding-left:22px !important;
        padding-right:22px !important;
    }
}

/* Mobile Don/Trevor slider: center card and keep range thumb inside */
@media (max-width:700px){

    .nwsb-side-quiz-section{
        display:flex !important;
        flex-direction:column !important;
        grid-template-columns:none !important;
        width:100% !important;
        max-width:100% !important;
        gap:24px !important;
        padding-left:0 !important;
        padding-right:0 !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }

    .nwsb-side-quiz-section > *{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    .nwsb-side-quiz-section .nwsb-side-chooser{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding:16px !important;
        border-radius:18px !important;
        transform:none !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }

    .nwsb-side-quiz-section .nwsb-side-score{
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        gap:6px !important;
        margin:0 0 14px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-score strong{
        font-size:12px !important;
        line-height:1.2 !important;
        white-space:normal !important;
    }

    .nwsb-side-quiz-section .nwsb-side-slider{
        display:block !important;
        width:calc(100% - 36px) !important;
        max-width:calc(100% - 36px) !important;
        min-width:0 !important;
        margin:12px 18px 10px !important;
        height:12px !important;
        box-sizing:border-box !important;
    }

    .nwsb-side-quiz-section .nwsb-side-slider::-webkit-slider-thumb{
        width:30px !important;
        height:30px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-slider::-moz-range-thumb{
        width:30px !important;
        height:30px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-labels{
        display:flex !important;
        justify-content:space-between !important;
        width:100% !important;
        font-size:11px !important;
        gap:10px !important;
        margin:10px 0 14px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-result,
    .nwsb-side-quiz-section .nwsb-side-traits,
    .nwsb-side-quiz-section .nwsb-side-traits > div{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    .nwsb-side-quiz-section .nwsb-side-result{
        padding:13px !important;
        margin-bottom:14px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-result b{
        font-size:21px !important;
        line-height:1.1 !important;
    }

    .nwsb-side-quiz-section .nwsb-side-result p{
        font-size:14px !important;
        line-height:1.4 !important;
    }

    .nwsb-side-quiz-section .nwsb-side-traits{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-traits div{
        padding:12px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-traits em{
        font-size:11px !important;
        margin-bottom:8px !important;
    }

    .nwsb-side-quiz-section .nwsb-side-traits span{
        font-size:13px !important;
        line-height:1 !important;
        padding:5px 7px !important;
        margin:0 3px 5px 0 !important;
    }
}

/* Mobile Team Vote: center the console and keep all bars/buttons inside */
@media (max-width:700px){

    .nwsb-team-vote-section{
        display:flex !important;
        justify-content:center !important;
        width:100% !important;
        max-width:100% !important;
        padding-left:0 !important;
        padding-right:0 !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }

    .nwsb-team-vote-card{
        width:100% !important;
        max-width:100% !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding:24px 16px !important;
        border-radius:20px !important;
        text-align:left !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }

    .nwsb-team-vote-card h2{
        font-size:clamp(34px, 11vw, 48px) !important;
        line-height:.98 !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .nwsb-team-vote-card p{
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        font-size:16px !important;
        line-height:1.5 !important;
    }

    .nwsb-team-vote-buttons,
    .nwsb-team-vote-results{
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        box-sizing:border-box !important;
    }

    .nwsb-team-vote-buttons{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    .nwsb-team-vote-btn{
        width:100% !important;
        min-height:116px !important;
        padding:24px 18px !important;
        font-size:24px !important;
        box-sizing:border-box !important;
    }

    .nwsb-team-vote-results{
        padding:16px !important;
        border-radius:16px !important;
    }

    .nwsb-team-result-top{
        gap:10px !important;
    }

    .nwsb-team-result-top strong{
        font-size:13px !important;
    }

    .nwsb-team-result-top span{
        font-size:22px !important;
    }

    .nwsb-team-bar{
        width:100% !important;
        max-width:100% !important;
    }
}
/* =========================================================
   FINAL MOBILE TEXT BREATHING ROOM
   Adds a little more side padding to section text only.
   ========================================================= */

@media(max-width:700px){

    .nwsb-section-head,
    .nwsb-carousel-head,
    .nwsb-recent-episode-copy,
    .nwsb-feature > div:first-child,
    .nwsb-watch > div:first-child,
    .nwsb-custom-head,
    .nwsb-bts-head,
    .nwsb-side-quiz-intro,
    .nwsb-team-vote-card > .nwsb-kicker,
    .nwsb-team-vote-card h2,
    .nwsb-team-vote-card p{
        padding-left:12px !important;
        padding-right:12px !important;
        box-sizing:border-box !important;
    }

    .nwsb-section h2,
    .nwsb-section p{
        max-width:100% !important;
    }

    .nwsb-carousel-head p,
    .nwsb-section-head p,
    .nwsb-custom-head p,
    .nwsb-bts-head p,
    .nwsb-recent-episode-copy p,
    .nwsb-feature p,
    .nwsb-watch p,
    .nwsb-side-quiz-intro p{
        padding-left:0 !important;
        padding-right:0 !important;
    }
}
