/* Launch event booking page and tickets. Builds on style.css. */
.ev-hero .eyebrow{color:var(--gold-lt)}
.ev-hero .book{margin-top:28px}
.ev-list{list-style:none;padding:0;margin:22px 0;display:grid;gap:10px}
.ev-list li{position:relative;padding-left:26px;font-size:17px;line-height:1.6;color:#314b55}
.ev-list li::before{content:'';position:absolute;left:4px;top:.65em;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.ev-meta{font-size:17px;color:var(--teal)}
.ev-img{width:100%;height:auto;border-radius:22px;box-shadow:0 18px 55px rgba(11,47,57,.14);object-fit:cover;aspect-ratio:1}

.ev-book{background:var(--cream)}
.ev-panel{max-width:760px;margin:0 auto}
.ev-panel:hover{transform:none}
.ev-form{display:grid;gap:22px}
.ev-slots{border:0;padding:0;margin:0}
.ev-slots legend,.ev-fields label{font-weight:600;color:var(--teal);font-size:15px;margin-bottom:10px}
.ev-slot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ev-slot{position:relative;cursor:pointer}
.ev-slot input{position:absolute;opacity:0;pointer-events:none}
.ev-slot span{display:grid;gap:2px;border:1.5px solid #e2dccf;border-radius:14px;padding:14px 16px;background:#fff;transition:border-color .2s,background .2s}
.ev-slot strong{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}
.ev-slot small{font-size:13.5px;color:var(--muted)}
.ev-slot:hover span{border-color:var(--gold)}
.ev-slot input:checked+span{border-color:var(--gold);background:#fbf4e4;box-shadow:0 0 0 3px rgba(200,168,106,.25)}
.ev-slot input:focus-visible+span{outline:2px solid var(--teal2);outline-offset:2px}
.ev-slot.is-off{cursor:not-allowed}
.ev-slot.is-off span{opacity:.5;background:var(--soft)}
.ev-fields{display:grid;gap:14px}
.ev-fields label{display:grid;gap:6px;margin:0}
.ev-fields input{font:inherit;font-weight:400;font-size:16px;border:1.5px solid #e2dccf;border-radius:12px;padding:12px 14px;background:#fff;color:var(--ink)}
.ev-fields input:focus{outline:none;border-color:var(--gold)}
.ev-opt{font-weight:400;color:var(--muted);font-size:13.5px}
.ev-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ev-checks{display:grid;gap:12px}
.ev-checks label{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:15px;line-height:1.55;color:#314b55}
.ev-checks input{width:18px;height:18px;margin-top:3px;accent-color:var(--teal2)}
.ev-checks a,.ev-fine a{color:var(--teal2);text-decoration:underline}
.ev-error{background:#f7e3df;color:#7a2e21;border-radius:12px;padding:12px 14px;font-size:15px;margin:0}
.ev-submit{justify-self:start;font-size:17px;padding:14px 32px}
.ev-submit[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.ev-fine{font-size:13.5px;line-height:1.6;color:var(--muted);margin:0}

.ev-done{display:grid;gap:14px}
.ev-done h3{font-size:28px;color:var(--teal);margin:0}
.ev-done p{margin:0}
.ev-ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:30px;letter-spacing:.12em;color:var(--teal-deep);background:var(--soft);border:1.5px dashed var(--gold);border-radius:14px;padding:12px 18px;justify-self:start;margin:0}
.ev-ref.sm{font-size:15px;padding:2px 8px;border-radius:6px;border-style:solid;border-width:1px;letter-spacing:.06em}
.ev-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ev-ghost{display:inline-block;padding:11px 22px;border-radius:999px;border:1.5px solid var(--teal2);color:var(--teal2);font-weight:600;background:#fff;cursor:pointer;font:inherit;font-weight:600}
.ev-ghost:hover{border-color:var(--gold);color:var(--teal)}
.ev-again{justify-self:start}

/* Ticket page */
.ev-ticket-page{min-height:60vh;padding:40px 18px 70px;background:var(--cream)}
.ev-ticket,.ev-staff{max-width:440px;margin:0 auto;background:#fff;border-radius:24px;box-shadow:0 18px 55px rgba(11,47,57,.12);padding:28px 24px;display:grid;gap:16px;text-align:center}
.ev-ticket-head h1{font-size:28px;color:var(--teal);margin:0}
.ev-ticket-head p{margin:6px 0 0;font-size:20px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.ev-ticket-head .eyebrow{margin-bottom:8px}
.ev-qr{width:min(260px,100%);height:auto;margin:0 auto;border-radius:14px;border:1px solid #e2dccf}
.ev-status{margin:0;font-weight:600;border-radius:999px;padding:8px 14px;justify-self:center;font-size:15px}
.ev-status.is-ok{background:#e3f1ea;color:#1f5641}
.ev-status.is-wait{background:#f6edd9;color:#5b4720}
.ev-status.is-bad{background:#f7e3df;color:#7a2e21}
.ev-dl{margin:0;display:grid;gap:8px;text-align:left;border-top:1px solid #eee6d8;padding-top:14px}
.ev-dl div{display:grid;grid-template-columns:90px 1fr;gap:10px;font-size:15px}
.ev-dl dt{color:var(--muted)}
.ev-dl dd{margin:0;color:var(--ink);font-weight:500}
.ev-pay{background:var(--soft);border-radius:16px;padding:16px;display:grid;gap:12px;text-align:left}
.ev-pay p{margin:0;font-size:15px;line-height:1.6}
.ev-pay .book{justify-self:start}

.ev-staff-tag{margin:0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600}
.ev-verdict{border-radius:18px;padding:22px 16px;display:grid;gap:6px;color:#fff}
.ev-verdict strong{font-size:28px;letter-spacing:.04em}
.ev-verdict span{font-size:16px}
.ev-verdict.is-ok{background:#1f7a4f}
.ev-verdict.is-bad{background:#b3261e}
.ev-verdict.is-warn{background:#b07a12}
.ev-flag{font-style:normal;font-size:13px;background:#f6edd9;color:#5b4720;border-radius:999px;padding:2px 8px;margin-left:4px}
.ev-checkin{font-size:19px;padding:16px 28px}

/* Homepage banner */
.ev-banner{background:var(--cream);color:var(--ink);padding:34px 5vw}
.ev-banner-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:28px;background:linear-gradient(135deg,#fffaf0,#f6ead2);border:1px solid var(--gold);border-left:6px solid var(--gold);border-radius:16px;padding:24px 30px;box-shadow:0 18px 44px rgba(5,40,49,.14)}
.ev-banner-date{flex:none;width:92px;text-align:center;background:var(--teal);color:#fff;border-radius:12px;padding:10px 0;line-height:1.1;text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:600}
.ev-banner-date strong{display:block;font-family:var(--serif);font-weight:400;font-size:40px;letter-spacing:0;color:var(--gold-lt);margin:2px 0}
.ev-banner-copy{flex:1;min-width:0}
.ev-banner-tag{display:inline-block;background:var(--teal-deep);color:var(--gold-lt);font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:10px}
.ev-banner h2{color:var(--teal);font-size:28px;margin:0}
.ev-banner p{margin:6px 0 0;color:var(--muted)}
.ev-banner-cta{flex:none;background:var(--teal);color:#fff;box-shadow:0 8px 24px rgba(5,40,49,.25)}
.ev-banner-cta:hover{box-shadow:0 14px 34px rgba(5,40,49,.35)}
@media (max-width:760px){
  .ev-banner{padding:26px 5vw}
  .ev-banner-inner{flex-wrap:wrap;gap:18px;padding:20px}
  .ev-banner-date{width:76px}
  .ev-banner-date strong{font-size:32px}
  .ev-banner-copy{flex-basis:calc(100% - 100px)}
  .ev-banner h2{font-size:22px}
  .ev-banner-cta{width:100%;text-align:center}
}

@media (max-width:640px){
  .ev-slot-grid{grid-template-columns:1fr}
  .ev-ref{font-size:24px}
}
.ev-credit{margin:0;background:#fbf6ea;border:1px solid #eadcb9;border-radius:12px;padding:10px 14px;font-size:14px;color:var(--ink);text-align:left}
