/* JDM Afterdark pink/navy theme, scoped to body.ad-theme */
body.ad-theme{background:#081A3E}
body.ad-theme .party{--pink:#FF2E88;--card:#102858;--bd:#2B66AB;--muted:#E4EFF8;--navy:#FFFFFF;--royal:#FF2E88;--sky:#FF2E88;--sky-2:#FF2E88;--text:#FFFFFF;--ink:#081A3E;--ivory:#102858;background:linear-gradient(180deg,#081A3E 0%,#102858 45%,#173A70 100%);color:#fff}
body.ad-theme .party h2,body.ad-theme .party h3,body.ad-theme .party h4{color:#fff}
body.ad-theme .party h2 em{color:#FF2E88}
body.ad-theme .party .pe-eyebrow,body.ad-theme .party .pe-kick{color:#FF2E88}
body.ad-theme .party .pe-lead,body.ad-theme .party .pe-body p,body.ad-theme .party details p,body.ad-theme .party .pnote{color:#E4EFF8}
body.ad-theme .party .pbtn,body.ad-theme .party .pe-hero .pbtn{background:#FF2E88;border-color:#FF2E88;color:#081A3E}
body.ad-theme .party .pbtn:hover,body.ad-theme .party .pe-hero .pbtn:hover{background:#fff;border-color:#fff;color:#081A3E;box-shadow:0 12px 24px -10px rgba(255,46,136,.7)}
body.ad-theme .party .pbtn.ghost,body.ad-theme .party .pe-hero .pbtn.ghost{background:rgba(16,40,88,.55);color:#fff;border-color:#FF2E88}
body.ad-theme .party .pbtn.ghost:hover,body.ad-theme .party .pe-hero .pbtn.ghost:hover{background:#FF2E88;color:#081A3E}
body.ad-theme .party .pbtn:focus-visible,body.ad-theme .party a:focus-visible,body.ad-theme .party summary:focus-visible{outline:3px solid #FF2E88;outline-offset:3px}
body.ad-theme .party .pe-hero{background:linear-gradient(180deg,rgba(8,26,62,.55),rgba(8,26,62,.25) 45%,rgba(16,40,88,.7)),url(/assets/party/join-crew-hero.jpg) center 40%/cover}
body.ad-theme .party .pe-hero::before{background:repeating-linear-gradient(-55deg,transparent 0 60px,rgba(255,46,136,.06) 60px 62px)}
body.ad-theme .party .pe-hin{text-shadow:0 2px 16px rgba(8,26,62,.85)}
body.ad-theme .party .pe-hero h1{text-shadow:0 0 28px rgba(255,46,136,.55),0 2px 16px rgba(8,26,62,.85)}
body.ad-theme .party .pe-hero h1 .s{color:#fff}
body.ad-theme .party .pe-hero p{color:#fff}
body.ad-theme .party .pe-chips a{background:#102858;border-color:#FF2E88;color:#fff}
body.ad-theme .party .pe-chips a:hover,body.ad-theme .party .pe-chips a:focus-visible{background:#FF2E88;color:#081A3E;border-color:#FF2E88}
body.ad-theme .party .beam{background:linear-gradient(90deg,rgba(255,46,136,.55),transparent 60%)}
body.ad-theme .party .spark{box-shadow:0 0 12px 3px #FF2E88}
body.ad-theme .party .disco .ball{box-shadow:0 0 60px rgba(255,46,136,.6),0 0 140px rgba(255,46,136,.3)}
body.ad-theme .party .pe-ticker{background:#FF2E88;color:#081A3E}
body.ad-theme .party .pe-ticker span::after{color:#081A3E}
body.ad-theme .party .pe-card{background:#102858;border:2px solid #FF2E88;color:#fff}
body.ad-theme .party .pe-card::after{background:#FF2E88}
body.ad-theme .party .pe-card:hover{box-shadow:0 24px 40px -22px rgba(255,46,136,.6)}
body.ad-theme .party .pe-img::after{background:linear-gradient(180deg,transparent 50%,rgba(16,40,88,.5))}
body.ad-theme .party .pe-tag{background:#102858;color:#fff;border:2px solid #FF2E88}
body.ad-theme .party a.pe-tag:hover,body.ad-theme .party a.pe-tag:focus-visible{background:#FF2E88;color:#081A3E;box-shadow:none}
body.ad-theme .party .pe-date,body.ad-theme .party .pe-price{color:#FF2E88!important}
body.ad-theme .party .pe-suit{color:#fff!important}
body.ad-theme .party .pe-band{background:transparent;border-top:1px solid #2B66AB;border-bottom:1px solid #2B66AB}
body.ad-theme .party .pe-band .pe-lead{color:#E4EFF8}
body.ad-theme .party .pe-dest h3::before{background:#FF2E88;box-shadow:0 0 14px #FF2E88}
body.ad-theme .party .pe-venue{background:#102858;border:1px solid #2B66AB}
body.ad-theme .party .pe-venue:hover{background:#173A70;border-color:#FF2E88}
body.ad-theme .party .pe-venue h4{color:#FF2E88}
body.ad-theme .party .pe-venue p{color:#E4EFF8}
body.ad-theme .party details{border-bottom:1px solid #2B66AB}
body.ad-theme .party summary{color:#fff}
body.ad-theme .party summary::after{color:#FF2E88}
body.ad-theme .party .pe-ctaw{background:linear-gradient(160deg,#081A3E,#102858 55%,#173A70);border-top:1px solid #2B66AB}
body.ad-theme .party .pe-cta>p{color:#fff}
body.ad-theme .party a.pe-l,body.ad-theme .party .pe-cta a.pe-l,body.ad-theme .party .pnote a,body.ad-theme .party .pe-credit a{color:#FF2E88}
body.ad-theme .party .pform{background:#102858;color:#fff;border:2px solid #FF2E88;box-shadow:0 30px 60px -30px rgba(255,46,136,.35)}
body.ad-theme .party .pform label{color:#fff}
body.ad-theme .party .pform input,body.ad-theme .party .pform select,body.ad-theme .party .pform textarea{background:#102858;color:#fff;border:1px solid #3880B8}
body.ad-theme .party .pform input::placeholder,body.ad-theme .party .pform textarea::placeholder{color:#AFC0D0;opacity:1}
body.ad-theme .party .pform select option{background:#fff;color:#081A3E}
body.ad-theme .party .pform input:focus,body.ad-theme .party .pform select:focus,body.ad-theme .party .pform textarea:focus{outline:none;border-color:#FF2E88;box-shadow:0 0 0 3px rgba(255,46,136,.55)}
body.ad-theme .party .pform input[type=file]{background:#102858;color:#fff}
body.ad-theme .party .pform input[type=file]::file-selector-button{background:#FF2E88;color:#081A3E;border:0;border-radius:999px;padding:.5rem 1rem;font-weight:700;margin-right:.8rem;cursor:pointer}
body.ad-theme .party .pform input[type=checkbox]{accent-color:#FF2E88}
body.ad-theme .party .pform a.pe-l{color:#FF2E88}
body.ad-theme .party .pe-motto{color:#FF2E88}
body.ad-theme .party .jtc-box{background:#102858;border:2px solid #FF2E88;color:#fff}
body.ad-theme .party .jtc-box h3{color:#FF2E88;font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
body.ad-theme .party .jtc-box p{color:#fff}
body.ad-theme .party .jtc-credit,body.ad-theme .party .pe-credit{color:#E4EFF8;opacity:1}
body.ad-theme .party .jtc-credit a{color:#FF2E88}
/* disco ball + sweeping beams */
body.ad-theme .party .disco{display:block;top:clamp(70px,9vw,96px);z-index:1;animation:peSwing 4.5s ease-in-out infinite}
body.ad-theme .party .disco .str{background:linear-gradient(#FF2E88,rgba(255,46,136,.35))}
body.ad-theme .party .disco .ball{background:radial-gradient(circle at 32% 28%,#fff 0 6%,transparent 30%),radial-gradient(circle at 50% 50%,#FF8CC0,#FF2E88 55%,#081A3E);box-shadow:0 0 50px rgba(255,46,136,.75),0 0 120px rgba(84,166,238,.35)}
body.ad-theme .party .ad-sweep{position:absolute;z-index:0;bottom:-10%;width:42vmax;height:140%;pointer-events:none;transform-origin:50% 100%;mix-blend-mode:screen;filter:blur(2px);will-change:transform;contain:layout paint}
body.ad-theme .party .ad-sweep.p{left:8%;background:linear-gradient(0deg,rgba(255,46,136,.55),rgba(255,46,136,0) 85%);clip-path:polygon(46% 100%,54% 100%,100% 0,0 0);animation:adSweepL 7s ease-in-out infinite alternate}
body.ad-theme .party .ad-sweep.b{right:6%;background:linear-gradient(0deg,rgba(84,166,238,.5),rgba(84,166,238,0) 85%);clip-path:polygon(46% 100%,54% 100%,100% 0,0 0);animation:adSweepR 8.5s ease-in-out infinite alternate}
body.ad-theme .party .ad-sweep.p2{left:40%;background:linear-gradient(0deg,rgba(255,46,136,.35),rgba(255,46,136,0) 80%);clip-path:polygon(47% 100%,53% 100%,90% 0,10% 0);animation:adSweepR 10s ease-in-out infinite alternate-reverse}
@keyframes adSweepL{from{transform:rotate(-28deg)}to{transform:rotate(22deg)}}
@keyframes adSweepR{from{transform:rotate(26deg)}to{transform:rotate(-24deg)}}
body.ad-theme .party .pe-hero{isolation:isolate}
@media(max-width:700px){body.ad-theme .party .disco{top:74px;right:-10px;width:84px}body.ad-theme .party .disco .str{height:40px}body.ad-theme .party .ad-sweep{width:70vw}}
@media(prefers-reduced-motion:reduce){body.ad-theme .party .disco,body.ad-theme .party .ad-sweep{animation:none!important}}
body.ad-theme .party .pe-band,body.ad-theme .party .pe-ddesc{color:#fff}
body.ad-theme .party .jtc-age{display:inline-block;margin:1.2rem auto 0;padding:.45rem 1.1rem;border:2px solid #FF2E88;border-radius:999px;background:#102858;color:#fff;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:14px}
body.ad-theme .party .jtc-agewrap{text-align:center}


body.ad-theme .party .ad-country{display:flex;align-items:center;gap:.8rem;margin:3.2rem 0 -.6rem;font-size:13px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#FF2E88}body.ad-theme .party .ad-country::after{content:"";flex:1;height:1px;background:#2B66AB}body.ad-theme .party .ad-country:first-of-type{margin-top:1.5rem}

/* Beams stay behind text; clearer headings on phone + desktop */
body.ad-theme .party .ad-sweep{z-index:0;opacity:.55}
body.ad-theme .party .disco{z-index:1}
body.ad-theme .party .pe-hin{position:relative;z-index:4}
body.ad-theme .party .pe-hero h1,
body.ad-theme .party .pe-hero .pe-kick,
body.ad-theme .party .pe-hero p,
body.ad-theme .party .pe-hero .pe-btns,
body.ad-theme .party .pe-hero .pe-chips{position:relative;z-index:5}
body.ad-theme .party .pe-hero h1{
  text-shadow:0 0 24px rgba(8,26,62,.95),0 2px 18px rgba(8,26,62,.9),0 0 2px rgba(8,26,62,.8);
  -webkit-text-stroke:.35px rgba(8,26,62,.35);
}
body.ad-theme .party .pe-hero h1 .s,
body.ad-theme .party .pe-hero p,
body.ad-theme .party .pe-kick{
  text-shadow:0 2px 14px rgba(8,26,62,.95),0 0 8px rgba(8,26,62,.7);
}
/* Soft navy veil behind hero copy so beams can't wash out the H1 */
body.ad-theme .party .pe-hin::before{
  content:"";position:absolute;z-index:-1;inset:-1.2rem -1.5rem -1.5rem -1.2rem;
  background:radial-gradient(ellipse at 30% 40%,rgba(8,26,62,.72) 0%,rgba(8,26,62,.45) 45%,rgba(8,26,62,0) 75%);
  pointer-events:none;border-radius:24px;
}
@media(max-width:700px){
  body.ad-theme .party .ad-sweep{opacity:.32;width:55vw}
  body.ad-theme .party .ad-sweep.p{left:-8%}
  body.ad-theme .party .ad-sweep.b{right:-12%}
  body.ad-theme .party .ad-sweep.p2{left:55%;opacity:.22}
  body.ad-theme .party .pe-hin::before{
    inset:-.8rem -.6rem -1rem -.4rem;
    background:radial-gradient(ellipse at 40% 35%,rgba(8,26,62,.82) 0%,rgba(8,26,62,.55) 50%,rgba(8,26,62,0) 78%);
  }
  body.ad-theme .party .disco{opacity:.85}
}

body.ad-theme .party #packages .ad-country{margin:2.4rem 0 .8rem}body.ad-theme .party #packages .pe-grid{margin-bottom:.5rem}body.ad-theme .party .pe-price{display:none}

/* Join the Crew: expandable role cards */
body.ad-theme .party .jtc-roles{align-items:start}
body.ad-theme .party .jtc-role{padding:0;overflow:hidden}
body.ad-theme .party .jtc-role summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;padding:1.4rem 1.5rem;min-height:56px;color:#fff;font-family:var(--sans)}
body.ad-theme .party .jtc-role summary::-webkit-details-marker{display:none}
body.ad-theme .party .jtc-role summary::after{content:none}
body.ad-theme .party .jtc-role-h{grid-column:1;font-family:var(--serif);font-size:1.8rem;line-height:1.05;color:#fff}
body.ad-theme .party .jtc-role-s{grid-column:1;font-size:15px;color:#E4EFF8;line-height:1.5}
body.ad-theme .party .jtc-role-i{grid-column:2;grid-row:1/span 2;align-self:center;width:36px;height:36px;border-radius:50%;border:2px solid #FF2E88;position:relative;transition:transform .3s,background .3s}
body.ad-theme .party .jtc-role-i::before,body.ad-theme .party .jtc-role-i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:#FF2E88;transform:translate(-50%,-50%)}
body.ad-theme .party .jtc-role-i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s}
body.ad-theme .party .jtc-role[open] .jtc-role-i{background:#FF2E88}
body.ad-theme .party .jtc-role[open] .jtc-role-i::before,body.ad-theme .party .jtc-role[open] .jtc-role-i::after{background:#081A3E}
body.ad-theme .party .jtc-role[open] .jtc-role-i::after{transform:translate(-50%,-50%) rotate(0)}
body.ad-theme .party .jtc-role summary:hover .jtc-role-h{color:#FF2E88}
body.ad-theme .party .jtc-role summary:focus-visible{outline:3px solid #FF2E88;outline-offset:-3px;border-radius:20px}
body.ad-theme .party .jtc-role-b{padding:0 1.5rem 1.5rem;border-top:1px solid #2B66AB;margin:0 1.5rem;padding-left:0;padding-right:0;padding-top:1rem}
body.ad-theme .party .jtc-role-b p{margin:0 0 .6rem;color:#fff;font-size:15px;line-height:1.55}
body.ad-theme .party .jtc-role-a{display:inline-block;margin-top:.4rem;color:#FF2E88;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
body.ad-theme .party .jtc-role[open]{box-shadow:0 18px 40px -20px rgba(255,46,136,.6)}
body.ad-theme .party .jtc-role:hover{transform:none}
body.ad-theme .party .jtc-hint{margin-bottom:1.6rem}
@media(prefers-reduced-motion:reduce){body.ad-theme .party .jtc-role-i,body.ad-theme .party .jtc-role-i::after{transition:none}}

/* fix2: brighter Afterdark hero, crowd visible on phones */
/* fix2: even package grid */
body.ad-theme .party .ad-pkg-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(4,minmax(0,1fr))}
body.ad-theme .party .ad-pkg-grid .pe-card{height:100%}
body.ad-theme .party .pe-country{font-weight:600;opacity:.9}
@media(max-width:1180px){body.ad-theme .party .ad-pkg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body.ad-theme .party .ad-pkg-grid{grid-template-columns:1fr}}
/* fix2: softer text veil with no visible edges */
body.ad-theme .party .pe-hin::before{inset:-3rem -4rem;border-radius:0;background:radial-gradient(closest-side,rgba(8,26,62,.6),rgba(8,26,62,.3) 55%,rgba(8,26,62,0))}
@media(max-width:700px){body.ad-theme .party .pe-hin::before{inset:-2rem -1.5rem;background:radial-gradient(closest-side,rgba(8,26,62,.7),rgba(8,26,62,.35) 60%,rgba(8,26,62,0))}}
/* fix2: JTC/thanks disco ball kept clear of the title and on-screen */
body.ad-theme .party .jtc-hero .disco{top:96px;right:clamp(16px,4vw,64px);width:clamp(64px,9vw,130px)}
body.ad-theme .party .jtc-hero .disco .str{height:clamp(24px,5vh,60px)}
body.ad-theme .party .jtc-hero{background-position:center 60%}
@media(min-width:901px){body.ad-theme .party .jtc-hero .pe-hin{padding-right:clamp(140px,14vw,220px)}}
@media(max-width:900px){body.ad-theme .party .jtc-hero{padding-top:calc(9rem + 70px)}body.ad-theme .party .jtc-hero .disco{top:84px;right:16px;width:64px}body.ad-theme .party .jtc-hero .disco .str{height:22px}}

/* Partner with us */
body.ad-theme .party .pe-hero.pw-hero{background:linear-gradient(180deg,rgba(8,26,62,.4),rgba(8,26,62,.1) 45%,rgba(16,40,88,.5)),url(/assets/party/partner-hero.jpg) center 45%/cover}
body.ad-theme .party .pw-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* 9 packages: even 3-column grid */
body.ad-theme .party .ad-pkg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1180px){body.ad-theme .party .ad-pkg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){body.ad-theme .party .ad-pkg-grid{grid-template-columns:1fr}}

/* fix2: disco ball clear of the title and on-screen on every Afterdark hero */
body.ad-theme .party .pe-hero .disco{top:96px;right:clamp(16px,4vw,64px);left:auto;width:clamp(64px,9vw,130px)}
body.ad-theme .party .pe-hero .disco .str{height:clamp(24px,5vh,60px)}
@media(min-width:901px){body.ad-theme .party .pe-hero .pe-hin{padding-right:clamp(150px,15vw,230px)}}
@media(max-width:900px){body.ad-theme .party .pe-hero{padding-top:calc(9rem + 70px)}body.ad-theme .party .pe-hero .disco{top:84px;right:16px;width:64px}body.ad-theme .party .pe-hero .disco .str{height:22px}}

/* fix3: Afterdark hero = Playground club-2 (Wendy Wei, Pexels) */
body.ad-theme .party .pe-hero.ad-orig{background:linear-gradient(180deg,rgba(8,26,62,.3),rgba(8,26,62,.05) 45%,rgba(16,40,88,.4)),url(/assets/party/afterdark-hero.jpg) 50% 60%/cover}
@media(max-width:700px){body.ad-theme .party .pe-hero.ad-orig{background-position:50% 75%,50% 75%}}

/* Popular clubs (text-only names) */
body.ad-theme .party .ad-clubs{margin:1.1rem 0 .4rem;padding:1rem 1.1rem;border:1px solid #2B66AB;border-radius:18px;background:rgba(16,40,88,.55)}
body.ad-theme .party .ad-clubs-l{display:block;margin-bottom:.6rem;font-size:13px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#FF2E88}
body.ad-theme .party .ad-clubs ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
body.ad-theme .party .ad-clubs li{padding:.4rem .9rem;border:1.5px solid #FF2E88;border-radius:999px;background:#102858;color:#fff;font-size:14px;font-weight:700;letter-spacing:.03em}
body.ad-theme .party .ad-clubs-n{margin:.7rem 0 0;font-size:13px;color:#E4EFF8}

/* fix4: role cards equal height on desktop; tap hint on mobile only */
body.ad-theme .party .jtc-roles{align-items:stretch}
@media (min-width:701px){body.ad-theme .party .jtc-hint{display:none}}

body.ad-theme .party .ad-loc-credit{margin:.5rem 0 1.6rem;font-size:12px;line-height:1.5;color:#C9D8EA;overflow-wrap:anywhere}
body.ad-theme .party .ad-loc-credit a{color:#C9D8EA;text-decoration:underline}
