/* SLCTT Presale - scoped under .slctt-ps */
.slctt-ps{--navy:#0b1b3a;--navy2:#13306b;--org:#ff6a1a;--red:#e63946;--ink:#13203d;--mut:#5b6785;--bg:#f4f6fb;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);max-width:1100px;margin:0 auto;padding:0 12px 32px;box-sizing:border-box;line-height:1.5}
.slctt-ps *,.slctt-ps *::before,.slctt-ps *::after{box-sizing:border-box}
.slctt-ps :focus-visible{outline:3px solid #ffd166;outline-offset:2px}

.ps-return{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;background:#e8fff1;border:2px solid #1fa95b;color:#0d4a28;border-radius:14px;padding:14px 16px;margin:0 0 16px;font-weight:600;animation:ps-pop .5s ease}
.ps-return[hidden]{display:none}
.ps-return-x{background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:inherit}

.ps-hero{position:relative;overflow:hidden;text-align:center;color:#fff;border-radius:22px;padding:44px 18px 34px;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 55%,#7a1f3d 120%);box-shadow:0 18px 40px rgba(11,27,58,.35)}
.ps-glow{position:absolute;left:50%;top:-30%;width:90%;max-width:760px;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(255,106,26,.55),rgba(230,57,70,.25) 45%,transparent 70%);animation:ps-pulse 4s ease-in-out infinite;pointer-events:none}
.ps-ball{position:absolute;right:6%;top:18px;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#ffd9c2 40%,var(--org) 100%);box-shadow:0 8px 18px rgba(0,0,0,.35);animation:ps-bounce 1.8s cubic-bezier(.3,.7,.4,1) infinite}
.ps-hero>*{position:relative}
/* v1.2.9: the rule above also made the glow and ball position:relative (same specificity, later in file),
   putting the huge glow circle in the normal flow above the text. Keep them absolutely positioned. */
.ps-hero>.ps-glow,.ps-hero>.ps-ball{position:absolute}
.ps-kicker{margin:0 0 8px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#ffd1b3;font-weight:700}
.ps-title{margin:0 0 16px;font-size:clamp(1.7rem,5.5vw,3rem);line-height:1.1;font-weight:900;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.ps-countlabel{margin:6px 0 10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ffb98a}
.ps-countdown{display:flex;justify-content:center;gap:clamp(8px,2.5vw,18px);flex-wrap:nowrap}
.ps-unit{display:flex;flex-direction:column;align-items:center;gap:6px}
.ps-flip{min-width:clamp(62px,17vw,104px);padding:12px 8px;border-radius:14px;font-variant-numeric:tabular-nums;font-weight:900;font-size:clamp(1.9rem,8vw,3.6rem);line-height:1;
  background:linear-gradient(180deg,#1b2c52 0%,#1b2c52 49%,#0f1e3d 50%,#0f1e3d 100%);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 -3px 0 rgba(0,0,0,.35),0 8px 18px rgba(0,0,0,.35);perspective:400px}
.ps-flip span{display:inline-block;transform-origin:50% 50%}
.ps-flip.flip span{animation:ps-flip .45s ease}
.ps-unit-l{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#cdd6ee;font-weight:700}
.ps-window,.ps-sub,.ps-previewnote{margin:16px 0 0;color:#d6def3;font-size:.9rem}
.ps-previewnote{background:rgba(255,209,102,.18);border:1px dashed #ffd166;padding:6px 10px;border-radius:8px;display:inline-block}
.ps-ended{font-size:clamp(1.5rem,5vw,2.4rem);font-weight:900;color:#ffb98a;margin:10px 0}
.ps-clickbadge{margin:14px 0 0;display:inline-block;background:rgba(255,255,255,.12);padding:6px 14px;border-radius:99px;font-weight:700}
.ps-clickbadge[hidden]{display:none}

.ps-cards{display:grid;grid-template-columns:1fr;gap:18px;margin-top:26px}
@media(min-width:640px){.ps-cards{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.ps-cards{grid-template-columns:repeat(4,1fr)}}
.ps-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:22px 18px 20px;border:1px solid #e1e6f2;border-top:5px solid var(--org);
  box-shadow:0 6px 18px rgba(11,27,58,.08);transition:transform .25s ease,box-shadow .25s ease;animation:ps-rise .6s ease both}
.ps-card.is-youth{border-top-color:var(--red)}
.ps-card:nth-child(2){animation-delay:.08s}.ps-card:nth-child(3){animation-delay:.16s}.ps-card:nth-child(4){animation-delay:.24s}
.ps-card:hover,.ps-card:focus-within{transform:translateY(-8px);box-shadow:0 18px 34px rgba(11,27,58,.22)}
.ps-badges{display:flex;gap:6px;flex-wrap:wrap;min-height:26px}
.ps-badge{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:#fff;padding:4px 9px;border-radius:99px}
.ps-badge-best{background:linear-gradient(90deg,var(--org),var(--red));animation:ps-shine 2.4s ease-in-out infinite}
.ps-optnum{margin:10px 0 2px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);font-weight:700}
.ps-card h3{margin:0 0 6px;font-size:1.2rem;line-height:1.25;color:var(--navy)}
.ps-price{margin:4px 0;font-size:2.7rem;font-weight:900;color:var(--navy);line-height:1}
.ps-cur{font-size:1.3rem;vertical-align:top;color:var(--org);margin-right:2px}
.ps-per{font-size:.8rem;font-weight:600;color:var(--mut)}
.ps-save{margin:6px 0 0;color:#0d7a3e;font-weight:700;font-size:.85rem}
.ps-footnote{margin:2px 0 0;font-size:.72rem;color:var(--mut)}
.ps-tag{color:var(--mut);margin:10px 0}
.ps-card ul{list-style:none;margin:0 0 18px;padding:0;flex:1}
.ps-card li{position:relative;padding:5px 0 5px 24px;font-size:.92rem}
.ps-card li::before{content:"\2713";position:absolute;left:0;color:var(--org);font-weight:900}
.ps-btn{display:inline-block;width:100%;cursor:pointer;border:0;border-radius:12px;padding:14px 16px;font-size:1rem;font-weight:800;color:#fff;text-align:center;text-decoration:none;
  background:linear-gradient(90deg,var(--org),var(--red));box-shadow:0 8px 18px rgba(230,57,70,.35);transition:transform .15s,box-shadow .15s,filter .15s}
.ps-btn:hover{transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 12px 24px rgba(230,57,70,.45);color:#fff}
.ps-btn:active{transform:translateY(0)}
.ps-btn[disabled]{opacity:.6;cursor:wait}
.ps-fine{color:var(--mut);font-size:.82rem;text-align:center;margin:20px 0 0}

.ps-qr{margin-top:28px;background:var(--bg);border-radius:18px;padding:20px;text-align:center}
.ps-qr h3{margin:0 0 14px;color:var(--navy)}
.ps-qr-grid{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
.ps-qr-item{margin:0;background:#fff;padding:14px;border-radius:14px;box-shadow:0 4px 12px rgba(11,27,58,.1)}
.ps-qr-item img{display:block;max-width:100%;height:auto;margin:0 auto 8px}
.ps-qr-item figcaption{font-size:.9rem}
.ps-link{display:block;margin-top:4px;color:var(--red);font-weight:700}

.ps-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:14px}
.ps-modal[hidden]{display:none}
.ps-backdrop{position:absolute;inset:0;background:rgba(7,14,32,.72);backdrop-filter:blur(3px);animation:ps-fade .25s}
.ps-dialog{position:relative;width:100%;max-width:460px;max-height:94vh;overflow:auto;background:#fff;border-radius:20px;padding:26px 22px;box-shadow:0 30px 70px rgba(0,0,0,.5);animation:ps-pop .35s ease;border-top:6px solid var(--org)}
.ps-dialog h3{margin:0 0 4px;color:var(--navy);font-size:1.35rem}
.ps-modal-price{margin:0 0 16px;color:var(--red);font-weight:800}
.ps-close{position:absolute;right:10px;top:6px;border:0;background:none;font-size:32px;line-height:1;cursor:pointer;color:var(--mut)}
.ps-dialog label{display:block;font-weight:700;font-size:.85rem;margin:0 0 12px;color:var(--navy)}
.ps-dialog input[type=text],.ps-dialog input[type=email],.ps-dialog input[type=tel]{display:block;width:100%;margin-top:4px;padding:11px 12px;font-size:1rem;border:2px solid #d3daea;border-radius:10px;background:#fff;color:var(--ink)}
.ps-dialog input:focus{border-color:var(--org);outline:none;box-shadow:0 0 0 3px rgba(255,106,26,.25)}
.ps-dialog input.bad{border-color:var(--red)}
.ps-row{display:grid;grid-template-columns:1fr;gap:0 12px}
@media(min-width:420px){.ps-row{grid-template-columns:1fr 1fr}}
.ps-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ps-error{background:#fff0f1;border:1px solid var(--red);color:#8a1320;padding:8px 10px;border-radius:8px;font-weight:600;margin:0 0 12px}
.ps-error[hidden],.ps-success[hidden]{display:none}
.ps-success{text-align:center;padding:10px 0}
.ps-check{width:70px;height:70px;line-height:70px;margin:0 auto 12px;border-radius:50%;background:linear-gradient(135deg,#1fa95b,#7bd88f);color:#fff;font-size:38px;font-weight:900;animation:ps-pop .5s ease}
.ps-success-msg{font-size:1.05rem;font-weight:700;color:var(--navy)}
.ps-success-thanks{margin:0 0 14px;color:var(--ink)}
.ps-success .ps-btn{margin-top:4px}
.ps-venmo-wrap{margin:12px 0 0;font-size:.82rem;color:var(--mut)}
.ps-venmo-wrap[hidden],.ps-success-thanks[hidden]{display:none}
.ps-venmo-link{color:#2b7bb0;font-weight:700}
.ps-confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:100000}

@keyframes ps-pulse{0%,100%{opacity:.65;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.12)}}
@keyframes ps-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(34px)}}
@keyframes ps-flip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg);opacity:.4}51%{transform:rotateX(90deg)}100%{transform:rotateX(0);opacity:1}}
@keyframes ps-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes ps-pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes ps-fade{from{opacity:0}to{opacity:1}}
@keyframes ps-shine{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}
@media(prefers-reduced-motion:reduce){
  .slctt-ps *,.slctt-ps *::before,.slctt-ps *::after{animation:none!important;transition:none!important}
  .ps-card:hover{transform:none}
}

.ps-teaser{margin:14px auto 0;max-width:560px;background:rgba(255,106,26,.18);border:1px solid rgba(255,186,138,.6);color:#fff;padding:8px 14px;border-radius:12px;font-weight:600;animation:ps-pop .5s ease}
.ps-cards.is-locked .ps-card{opacity:.82}
.ps-cards.is-locked .ps-card:hover{transform:none;box-shadow:0 6px 18px rgba(11,27,58,.08)}
.ps-btn-locked,.ps-btn-locked:hover{background:#8a94ab;box-shadow:none;cursor:not-allowed;transform:none;filter:none}

/* v1.2.10: hide ONLY the theme's own page title (<h1 class="section-title">Pre Sale</h1>) above the hero.
   Scoped to page-title areas; the plugin's markup and other theme sections are untouched. */
body.slctt-presale-page main > .section-title,
body.slctt-presale-page .page-header .section-title,
body.slctt-presale-page article > .section-title,
body.slctt-presale-page h1.section-title{display:none}
body.slctt-presale-page .slctt-ps .section-title,
body.slctt-presale-page .ps-wrap .section-title,
body.slctt-presale-page .slctt-presale .section-title{display:revert}

/* v1.2.13: the "Option N" eyebrow is no longer rendered; keep the title spacing it used to provide */
.ps-badges+h3{margin-top:8px}

/* v1.2.14: youth birthdate field + hints */
.ps-dialog [hidden]{display:none!important}
.ps-dialog input[type=date]{display:block;width:100%;margin-top:4px;padding:11px 12px;font-size:1rem;border:2px solid #d3daea;border-radius:10px;background:#fff;color:var(--ink);font-family:inherit}
.ps-hint{display:block;margin-top:4px;font-size:.75rem;font-weight:400;color:var(--mut)}
