/* "Night" look: dark, glassy surfaces for free tickets and online events.
   Used by: the organizer form's format panel and ticket rows (nt-*), the event page (body.ev-night),
   and the ticket pages (pass-night). Remove the ev-night body class in public/event.php to turn the event page
   back to the light look. */

:root{
  --nt-bg:#0D0911; --nt-ink:#F6F2FA; --nt-mut:#A59DB4; --nt-line:rgba(255,255,255,.12); --nt-glass:rgba(255,255,255,.055);
  --nt-red:#F05252; --nt-red-d:#D93434; --nt-ok:#5BD08A; --nt-ok-d:#2E9E5E;
}

/* ---------- Organizer form: format panel ---------- */
.nt-panel{margin:26px 0; border-radius:22px; padding:26px; color:var(--nt-ink); border:1px solid var(--nt-line);
  background:radial-gradient(700px 320px at 92% -20%,rgba(240,82,82,.26),transparent 62%),radial-gradient(560px 300px at -8% 120%,rgba(120,60,200,.2),transparent 62%),var(--nt-bg);
  box-shadow:0 30px 60px -34px rgba(13,9,17,.8)}
.nt-grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:26px; align-items:start}
.nt-eyebrow{font:600 .68rem 'JetBrains Mono',ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--nt-mut)}
.nt-h{font:800 1.35rem 'Plus Jakarta Sans',system-ui,sans-serif; letter-spacing:-.02em; margin:6px 0 14px; color:var(--nt-ink)}
.nt-seg{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:4px; border-radius:14px; background:rgba(255,255,255,.07)}
.nt-seg label{position:relative; display:block; margin:0}
.nt-seg input,.nt-chips input{position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer}
.nt-seg span{display:flex; flex-direction:column; align-items:center; gap:2px; padding:11px 6px; border-radius:11px; color:var(--nt-mut); font:700 .88rem 'Plus Jakarta Sans',system-ui,sans-serif; transition:background .2s,color .2s}
.nt-seg small{font:500 .7rem 'Plus Jakarta Sans',system-ui,sans-serif; opacity:.85}
.nt-seg input:checked + span{background:#fff; color:#150D1C}
.nt-seg input:focus-visible + span,.nt-chips input:focus-visible + span{outline:3px solid var(--nt-red); outline-offset:2px}
.nt-fld{margin-top:16px}
.nt-fld label{display:block; font-weight:700; font-size:.8rem; color:var(--nt-mut); margin-bottom:6px}
.nt-fld label span{font-weight:500; opacity:.8}
.nt-inp{width:100%; background:rgba(255,255,255,.07); border:1px solid var(--nt-line); border-radius:12px; padding:12px 14px; color:var(--nt-ink); font:600 .94rem 'Plus Jakarta Sans',system-ui,sans-serif}
.nt-inp::placeholder{color:rgba(165,157,180,.7)}
.nt-inp:focus-visible{outline:none; border-color:var(--nt-red); box-shadow:0 0 0 3px rgba(240,82,82,.25)}
.nt-hint{margin-top:6px; font-size:.78rem; color:var(--nt-mut)}
.nt-chips{display:flex; flex-wrap:wrap; gap:8px}
.nt-chips label{position:relative; margin:0}
.nt-chips span{display:block; border:1px solid var(--nt-line); color:var(--nt-mut); border-radius:99px; padding:8px 15px; font:700 .82rem 'Plus Jakarta Sans',system-ui,sans-serif; transition:all .2s}
.nt-chips input:checked + span{border-color:var(--nt-red); color:#fff; background:rgba(240,82,82,.18)}
.nt-lock{display:flex; gap:10px; margin-top:16px; font-size:.82rem; color:var(--nt-mut); background:rgba(91,208,138,.08); border:1px solid rgba(91,208,138,.28); border-radius:12px; padding:11px 13px}
.nt-lock svg{color:var(--nt-ok); flex:none; margin-top:2px}
.nt-lock b{color:var(--nt-ink)}
.nt-panel[data-mode="ONLINE"] .nt-venue{display:none}
.nt-panel[data-mode="IN_PERSON"] .nt-online{display:none}
.nt-card{margin-top:10px; border-radius:20px; overflow:hidden; background:#1a1220; border:1px solid var(--nt-line)}
.nt-card-im{height:150px; background:linear-gradient(135deg,#3b1217,#b3262e); position:relative; display:flex; align-items:flex-end; padding:12px}
.nt-card-emoji{position:absolute; right:16px; top:12px; font-size:2.6rem; filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.nt-pills{display:flex; gap:6px; flex-wrap:wrap; position:relative}
.nt-pill{font:700 .72rem 'Plus Jakarta Sans',system-ui,sans-serif; border-radius:99px; padding:5px 11px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.3); color:#fff; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.nt-pill-g{background:rgba(91,208,138,.22); border-color:rgba(91,208,138,.55); color:#B6F3CE}
.nt-card-tx{padding:14px 16px 16px}
.nt-card-tx b{display:block; font-size:1.02rem; color:var(--nt-ink)}
.nt-card-tx span{display:block; color:var(--nt-mut); font-size:.84rem; margin-top:2px}
.nt-card-pr{margin-top:10px; font:600 .9rem 'JetBrains Mono',ui-monospace,monospace; color:var(--nt-ink)}
.nt-note{margin:12px 2px 0; font-size:.82rem; color:var(--nt-mut)}
@media (max-width:900px){.nt-grid{grid-template-columns:minmax(0,1fr)}.nt-panel{padding:20px 16px}}

/* ---------- Organizer form: ticket rows with a Free switch and a per-person limit ---------- */
.tier-form-row{grid-template-columns:1.2fr 1fr .9fr .7fr .8fr auto}
.tier-price-field input[readonly]{background:var(--success-bg); border-color:var(--success-border); color:var(--success); font-weight:800}
.tier-free-sw{position:relative; display:inline-flex; align-items:center; gap:8px; margin-top:8px; font-size:.82rem; font-weight:700; cursor:pointer; user-select:none}
.tier-free-sw input{position:absolute; opacity:0; width:1px; height:1px}
.tier-free-sw .sw-track{width:38px; height:22px; border-radius:99px; background:var(--line-strong); position:relative; flex:none; transition:background .2s}
.tier-free-sw .sw-track::after{content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.3)}
.tier-free-sw input:checked + .sw-track{background:var(--success)}
.tier-free-sw input:checked + .sw-track::after{transform:translateX(16px)}
.tier-free-sw input:focus-visible + .sw-track{outline:3px solid var(--purple); outline-offset:2px}
.tier-form-row.is-free .tier-limit-field label::after{content:" (free tickets)"; font-weight:500; color:var(--muted)}
@media (max-width:1100px){.tier-form-row{grid-template-columns:1fr 1fr; align-items:start}}
@media (max-width:640px){.tier-form-row{grid-template-columns:1fr}}

/* ---------- Badges (any page): online and free ---------- */
.ev-badges{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px}
.ev-badge{display:inline-flex; align-items:center; gap:7px; font:700 .78rem 'Plus Jakarta Sans',system-ui,sans-serif; border-radius:99px; padding:7px 13px; border:1px solid transparent}
.ev-badge-online{background:#E6F1FF; color:#1456B8; border-color:#C3DCFB}
.ev-badge-free{background:#E8F6EC; color:#1B7A3D; border-color:#BFE5CB}
.tlim{display:inline-block; margin-left:6px; font-size:.72rem; font-weight:700; opacity:.85}
.ev-online-note{display:flex; gap:10px; align-items:flex-start; margin:16px 22px 0; padding:12px 14px; border-radius:14px; font-size:.84rem; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.9)}
.ev-online-note svg{flex:none; margin-top:2px; color:#F0A5A5}
.ev-join-wrap{margin:16px 22px 0}

/* ---------- Join card (dark, used on light and dark pages alike) ---------- */
.jn-card{border-radius:20px; padding:18px; color:#F6F2FA; text-align:left;
  background:radial-gradient(420px 200px at 100% -30%,rgba(240,82,82,.28),transparent 62%),#150D1C; border:1px solid rgba(255,255,255,.14)}
.jn-head{display:flex; gap:13px; align-items:center}
.jn-logo{width:44px; height:44px; border-radius:13px; display:grid; place-items:center; color:#fff; font:800 1rem 'Plus Jakarta Sans',system-ui,sans-serif; flex:none}
.jn-title{font:800 1.02rem 'Plus Jakarta Sans',system-ui,sans-serif; color:#fff}
.jn-status{font-size:.82rem; color:#B3ADC0; margin-top:2px}
.jn-notes{margin-top:14px; display:flex; justify-content:space-between; gap:12px; align-items:baseline; padding:10px 14px; border-radius:12px; background:rgba(255,255,255,.07); border:1px dashed rgba(255,255,255,.22); font-size:.86rem}
.jn-notes span{color:#B3ADC0; flex:none}
.jn-notes b{font:600 .86rem 'JetBrains Mono',ui-monospace,monospace; text-align:right; overflow-wrap:anywhere}
.jn-btn{display:flex; justify-content:center; align-items:center; width:100%; margin-top:14px; border:0; border-radius:14px; padding:14px; font:800 1rem 'Plus Jakarta Sans',system-ui,sans-serif; text-decoration:none; cursor:pointer}
.jn-go{background:linear-gradient(180deg,#46C27A,#2E9E5E); color:#fff; box-shadow:0 12px 28px -12px rgba(70,194,122,.8)}
.jn-go:focus-visible{outline:3px solid #fff; outline-offset:2px}
.jn-wait{background:rgba(255,255,255,.12); color:#B3ADC0; cursor:not-allowed}
.jn-tz{margin-top:12px; font-size:.74rem; color:#948FA0}

/* ---------- Free checkout confirm button ---------- */
.free-confirm{background:linear-gradient(180deg,#2FA865,#1B7A3D); color:#fff; border:0}
.free-confirm:hover{filter:brightness(1.06)}

/* ======================= EVENT PAGE, NIGHT SKIN =======================
   Everything below applies only while <body> has the ev-night class. */
body.event-page.ev-night{
  background:radial-gradient(900px 480px at 88% -8%,rgba(240,82,82,.26),transparent 62%),radial-gradient(700px 420px at -6% 30%,rgba(120,60,200,.2),transparent 62%),var(--nt-bg);
  background-attachment:fixed; color:var(--nt-ink)}
.ev-night .ev{
  --ink:#F4F0F8; --muted:#B3ADC0; --muted-2:#9990A9; --line:rgba(255,255,255,.12); --line-strong:rgba(255,255,255,.22);
  --paper:#150F1B; --surface:#1E1626; --purple-tint:rgba(240,82,82,.14); --purple-tint-2:rgba(240,82,82,.24); --purple-deep:#FCA5A5;
  background:transparent; color:var(--ink)}
.ev-night .ev :focus-visible{outline-color:#F05252}
/* hero */
.ev-night .ev-eyebrow-cat{color:#F26262}
.ev-night .ev-meta svg{color:#F26262}
.ev-night .ev-title{color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.35)}
.ev-night .ev-cover img{box-shadow:0 30px 70px -26px rgba(240,82,82,.55), 0 0 0 1px rgba(255,255,255,.1)}
.ev-night .ev-cd-u.is-sec{background:linear-gradient(180deg,#F26262,#D93434); border-color:transparent; color:#fff}
/* glass surfaces (formerly white cards) */
.ev-night .ev-pulse,.ev-night .ev-composer,.ev-night .ev-note-card,.ev-night .ev-empty,.ev-night .ev-post,.ev-night .ev-card,
.ev-night .ev-statbar,.ev-night .ev-cd-u,.ev-night .ev-bubble,.ev-night .ev-pill,.ev-night .ev-icon-btn,.ev-night .ev-btn-outline,
.ev-night .ev-chip-verified,.ev-night .ended-panel,.ev-night .review-form,.ev-night .review-row,.ev-night .share-popover,
.ev-night .ev-picker,.ev-night .ev-menu,.ev-night .ev-menu-item,.ev-night .ev-comment-form input,.ev-night .ev-modal-card,
.ev-night .ev-replying,.ev-night .ev-event-react .ev-react-sum{
  background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.13); color:var(--ink); box-shadow:none}
.ev-night .ev-modal-card,.ev-night .ev-menu,.ev-night .ev-picker,.ev-night .share-popover{background:#1E1626; box-shadow:0 24px 60px -20px rgba(0,0,0,.7)}
.ev-night .ev-thread,.ev-night .ev-quote,.ev-night .ev-composer textarea,.ev-night .ev-file,.ev-night .ev-post-photo,
.ev-night .ev-menu-item:hover,.ev-night .ev-reasons label:hover,.ev-night .ended-panel-rating{background:rgba(255,255,255,.05); color:var(--ink)}
.ev-night .ev-btn-outline:hover,.ev-night .ev-icon-btn:hover,.ev-night .ev-pill:hover{border-color:rgba(255,255,255,.45)}
.ev-night .ev-btn-outline[aria-pressed="true"],.ev-night .ev-btn-dark{background:#fff; border-color:#fff; color:#150D1C}
.ev-night .ev-btn-dark:hover{background:#EDE7F3}
.ev-night .ev-btn-dark[aria-pressed="true"]{background:transparent; color:#fff; border-color:rgba(255,255,255,.35)}
.ev-night .ev-composer textarea,.ev-night .ev-comment-form input{color:var(--ink)}
.ev-night .ev-composer textarea::placeholder,.ev-night .ev-comment-form input::placeholder{color:rgba(179,173,192,.7)}
.ev-night .ev-org-name a,.ev-night .ev a{color:inherit}
/* the purchase stub: lit glass with a red edge so it stands out on the dark page */
.ev-night .ev-stub{--st-bg:#1b1220; background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04)),#1b1220; border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 70px -28px rgba(240,82,82,.55)}
.ev-night .ev-stub .btn-purple,.ev-night .ev-stub .btn.btn-purple{background:linear-gradient(180deg,#F26262,#D93434); box-shadow:0 12px 28px -12px rgba(240,82,82,.8)}
.ev-night .ev-badge-online{background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.28)}
.ev-night .ev-badge-free{background:rgba(91,208,138,.2); color:#B6F3CE; border-color:rgba(91,208,138,.5)}
@media (max-width:760px){
  .ev-night .mobile-buy-bar{background:#150D1C; border-top:1px solid rgba(255,255,255,.14); box-shadow:0 -14px 30px -16px rgba(0,0,0,.6); color:#fff}
}
/* the site header, drawer and footer read the global tokens, so flip them for this page */
body.ev-night{
  --ink:#F4F0F8; --muted:#B3ADC0; --muted-2:#9990A9; --line:rgba(255,255,255,.12); --line-strong:rgba(255,255,255,.22);
  --paper:#0D0911; --surface:#1E1626; --purple-tint:rgba(240,82,82,.16); --purple-deep:#FCA5A5}
body.ev-night .site-nav{background:rgba(13,9,17,.78); border-bottom:1px solid rgba(255,255,255,.1)}
.ev-night .ev-tabs{background:rgba(13,9,17,.86); border-bottom-color:rgba(255,255,255,.1)}

/* ---------- Ticket pass (order page): a dark wallet-style ticket ---------- */
.ticket-issued{position:relative; overflow:hidden; color:#F6F2FA; border:1px solid rgba(255,255,255,.14);
  background:radial-gradient(360px 200px at 100% -20%,rgba(240,82,82,.35),transparent 62%),linear-gradient(160deg,#2b1218,#4a1720 60%,#150D1C)}
.ticket-issued-tier{color:#fff}
.ticket-issued-event{color:#C9C0D6}
.ticket-issued .tag-pill{background:rgba(255,255,255,.14) !important; color:#fff !important}
.ticket-issued-divider{border-top-color:rgba(255,255,255,.25)}
.ticket-issued-qr{width:164px; padding:10px; border-radius:16px; box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.ticket-issued-code{color:#fff}
.ticket-issued-hint{color:#C9C0D6}

/* the footer keeps the home page's red gradient: the token flip above must not reach it */
body.ev-night #site-footer{--purple-deep:#991B1B; --ink:#1B1417; --muted:#6B6064; --line:#E9E1DE; --line-strong:#D9CFCB; --purple-tint:#FDEDED}
