@font-face{font-family:Montserrat;src:url('/fonts/webfonts/montserrat-v30-latin_latin-ext-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url('/fonts/webfonts/montserrat-v30-latin_latin-ext-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#050506;--panel:#111216;--panel-2:#1d1f24;--line:#343740;--paper:#f8f8fa;--muted:#a6aab4;--cyan:#00e5ff;--magenta:#ff35d3;--danger:#ff6577;--success:#6df0a0;--radius:14px}
*{box-sizing:border-box}.ticket-page{margin:0;background:var(--ink);color:var(--paper);font-family:Montserrat,Arial,sans-serif;line-height:1.55}.ticket-page a{color:inherit}.ticket-site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;min-height:64px;padding:12px 18px;border-bottom:1px solid #25272d;background:rgba(5,5,6,.94);backdrop-filter:blur(16px)}.ticket-brand{text-decoration:none;font-weight:700;letter-spacing:.06em;font-size:.86rem}.ticket-brand span{color:var(--cyan)}.ticket-header-link,.ticket-back,.ticket-text-link{color:var(--cyan)!important;font-size:.83rem;text-underline-offset:4px}.ticket-shell{width:min(1120px,100%);margin:auto;padding:34px 16px 90px}.ticket-intro,.ticket-event-hero{max-width:760px;padding:34px 0}.ticket-eyebrow{display:block;color:var(--cyan);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.ticket-page h1{font-size:clamp(2.15rem,9vw,5rem);line-height:.96;letter-spacing:-.055em;margin:13px 0 18px}.ticket-page h2,.ticket-page h3{line-height:1.08}.ticket-intro p,.ticket-copy{color:var(--muted);max-width:620px}.ticket-event-grid{display:grid;gap:18px}.ticket-event-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.ticket-event-card__media{position:relative;min-height:180px;background:linear-gradient(145deg,#431456,#102f3a);background-size:cover;background-position:center}.ticket-event-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,6,.8),transparent)}.ticket-event-card__media span{position:absolute;z-index:1;left:15px;bottom:13px;border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:6px 10px;font-size:.72rem}.ticket-event-card__body{display:grid;gap:8px;padding:18px}.ticket-event-card__body h2,.ticket-event-card__body h3,.ticket-home-section h3{margin:0;text-transform:none;text-align:left}.ticket-event-card__body p{margin:0;color:var(--muted)}.ticket-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;border:0;border-radius:10px;background:linear-gradient(100deg,var(--cyan),#168fff);color:#031014!important;font:700 .82rem Montserrat;text-decoration:none;text-transform:uppercase;letter-spacing:.045em;cursor:pointer}.ticket-button:hover{filter:brightness(1.08)}.ticket-button:focus-visible,.ticket-page input:focus-visible,.ticket-page button:focus-visible,.ticket-page a:focus-visible{outline:3px solid var(--magenta);outline-offset:3px}.ticket-empty-state{display:grid;gap:6px;padding:25px;border:1px dashed #4a4d57;border-radius:var(--radius);color:var(--muted)}.ticket-empty-state strong{color:var(--paper)}.ticket-picker{display:grid;gap:12px;margin-top:28px}.ticket-type-card{display:grid;gap:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.ticket-type-card h2{margin:0 0 4px;font-size:1.15rem}.ticket-type-card p{color:var(--muted);margin:0 0 8px}.ticket-type-card small{display:block;color:var(--magenta);margin-top:4px}.ticket-quantity{display:grid;grid-template-columns:48px 60px 48px;justify-content:end;align-items:center}.ticket-quantity button,.ticket-voucher-form button,.consent-panel button{min-height:44px;border:1px solid #4a4e59;background:#21242b;color:#fff;border-radius:9px;font-size:1.1rem;cursor:pointer}.ticket-quantity input{height:44px;width:60px;border:0;background:transparent;color:#fff;text-align:center;font:700 1rem Montserrat}.ticket-sticky-total{position:sticky;bottom:10px;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:12px;border:1px solid #3f424c;border-radius:13px;background:rgba(17,18,22,.96);box-shadow:0 14px 36px rgba(0,0,0,.5)}.ticket-sticky-total span{display:grid}.ticket-sticky-total small{color:var(--muted)}.ticket-checkout-grid{display:grid;gap:28px;margin-top:22px}.ticket-form{display:grid;gap:14px}.ticket-form label,.ticket-voucher-form label{display:grid;gap:6px;font-size:.78rem}.ticket-form input,.ticket-voucher-form input{width:100%;min-height:48px;border:1px solid #50535e;border-radius:9px;background:#202126;color:#c6c9cf;padding:11px 12px;font:400 1rem Montserrat}.ticket-form input::placeholder,.ticket-voucher-form input::placeholder{color:#91959f}.ticket-form details{border:1px solid #333640;border-radius:10px;padding:12px}.ticket-form details label{margin-top:12px}.ticket-checkbox{grid-template-columns:22px 1fr!important;align-items:start!important;font-size:.78rem!important}.ticket-checkbox input{min-height:18px;width:18px}.ticket-button--paypal{width:100%;margin-top:5px}.ticket-secure-note{text-align:center;color:var(--muted)}.ticket-order-summary{align-self:start;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:18px}.ticket-order-summary h2{margin-top:0}.ticket-order-summary>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #30323a;font-size:.84rem}.ticket-order-summary .ticket-discount{color:var(--success)}.ticket-order-summary .ticket-summary-total{font-size:1rem;border:0;padding-top:15px}.ticket-voucher-form{margin-top:18px}.ticket-voucher-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.ticket-voucher-form button{padding:0 12px;font-size:.74rem;font-weight:700;text-transform:uppercase}.ticket-reservation-clock{color:var(--muted);font-size:.72rem}.ticket-alert{padding:12px 14px;border-radius:9px;margin:12px 0}.ticket-alert--error{background:#38161c;color:#ffb5c0;border:1px solid #6d2935}.ticket-alert--success{background:#123722;color:#a8f3c5;border:1px solid #266e46}.ticket-result{max-width:660px;margin:7vh auto;text-align:center;border:1px solid var(--line);border-radius:18px;padding:36px 22px;background:var(--panel)}.ticket-result-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border:2px solid var(--cyan);border-radius:50%;color:var(--cyan);font-size:2rem}.ticket-result h1{font-size:clamp(2rem,8vw,3.5rem)}.ticket-result p{color:var(--muted)}.ticket-result-total{display:flex;justify-content:space-between;margin:22px 0;padding:14px 0;border-block:1px solid var(--line)}.ticket-result .ticket-text-link{display:block;margin-top:18px}.ticket-site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;padding:28px 16px;border-top:1px solid #22252b;color:var(--muted);font-size:.78rem}.consent-panel{position:fixed;z-index:50;left:12px;right:12px;bottom:12px;max-width:620px;margin:auto;padding:16px;border:1px solid #474a55;border-radius:13px;background:#17191e;box-shadow:0 18px 50px #000}.consent-panel p{margin:0 0 12px;font-size:.78rem}.consent-panel div{display:flex;gap:8px}.consent-panel button{flex:1;padding:8px;font-size:.75rem}.ticket-home-section{padding:80px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.ticket-home-heading{max-width:720px;margin:0 auto 28px;text-align:center}.ticket-home-heading p{color:#aaa}.ticket-home-section .ticket-event-grid{max-width:1100px;margin:auto}.ticket-home-section .ticket-event-card__body strong{display:block}
@media(min-width:720px){.ticket-shell{padding:54px 28px 110px}.ticket-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-type-card{grid-template-columns:1fr auto;align-items:center}.ticket-checkout-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.ticket-order-summary{position:sticky;top:92px}.ticket-sticky-total{justify-self:end;min-width:360px}.ticket-home-section .ticket-event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.admin-page{margin:0;background:#eef1f5;color:#18212c;font-family:Montserrat,Arial,sans-serif}.admin-header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;min-height:62px;padding:10px 16px;background:#12151b;color:#fff}.admin-brand{color:#fff;text-decoration:none;font-weight:700;letter-spacing:.08em}.admin-brand span{color:var(--cyan)}.admin-menu-button{min-height:42px;padding:8px 13px;border:1px solid #4b4f59;border-radius:8px;background:#22252c;color:#fff}.admin-nav{display:none;position:absolute;top:62px;left:0;right:0;padding:12px;background:#15181e;box-shadow:0 16px 28px #0007}.admin-nav.is-open{display:grid}.admin-nav a,.admin-nav button{display:block;width:100%;padding:12px;border:0;background:transparent;color:#e9ebef;text-align:left;text-decoration:none;font:inherit}.admin-shell{width:min(1200px,100%);margin:auto;padding:26px 14px 80px}.admin-page h1{margin:6px 0 18px;font-size:clamp(2rem,7vw,4.5rem);line-height:1}.admin-title-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:24px}.admin-kpi-grid{display:grid;gap:12px}.admin-kpi-grid article,.admin-panel{padding:18px;border:1px solid #d5d9e0;border-radius:12px;background:#fff;box-shadow:0 6px 20px #1020400b}.admin-kpi-grid article{display:grid;gap:6px}.admin-kpi-grid article span{color:#68717d;font-size:.78rem}.admin-kpi-grid article strong{font-size:1.55rem}.admin-quicklinks{display:grid;gap:10px;margin-top:20px}.admin-quicklinks a,.admin-export{padding:12px;border-radius:9px;background:#17212b;color:#fff;text-decoration:none}.admin-card-list{display:grid;gap:10px}.admin-card-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px;border:1px solid #d6dae1;border-radius:11px;background:#fff}.admin-card-list article>div{display:grid;gap:4px;min-width:0}.admin-card-list span,.admin-card-list small{color:#646e7a;font-size:.77rem;overflow-wrap:anywhere}.admin-card-list a,.admin-card-list button{border:0;background:transparent;color:#006e82;font-weight:700;text-decoration:underline}.admin-form{display:grid;gap:14px}.admin-form--panel{max-width:820px;padding:18px;border:1px solid #d5d9e0;border-radius:12px;background:#fff}.admin-form label{display:grid;gap:6px;font-size:.78rem;font-weight:700}.admin-form input,.admin-form textarea,.admin-form select,.admin-filter input,.admin-filter select{width:100%;min-height:46px;padding:10px;border:1px solid #b7bdc7;border-radius:8px;background:#fff;color:#18212c;font:inherit}.admin-form textarea{min-height:90px}.admin-form-grid{display:grid;gap:12px}.admin-check{grid-template-columns:20px 1fr!important;align-items:center}.admin-check input{min-height:18px;width:18px}.admin-login{width:min(440px,100%);margin:10vh auto;padding:24px;border-radius:14px;background:#fff;box-shadow:0 20px 50px #10204020}.admin-filter{display:grid;gap:8px;margin-bottom:18px}.admin-filter button{min-height:44px;border:0;border-radius:8px;background:#17212b;color:#fff}.admin-detail-grid{display:grid;gap:18px}.admin-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e0e3e8}.admin-panel code{display:block;overflow:auto;padding:12px;border-radius:7px;background:#1b2028;color:#9ff3ff}.is-ready{color:#168047}.is-missing{color:#ad3548}.admin-status-grid{margin-bottom:18px}
@media(min-width:850px){.admin-menu-button{display:none}.admin-header{align-items:center}.admin-nav{display:flex!important;position:static;align-items:center;padding:0;background:transparent;box-shadow:none}.admin-nav a,.admin-nav button{padding:9px;font-size:.72rem}.admin-nav form{margin:0}.admin-shell{padding:42px 26px 100px}.admin-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter{grid-template-columns:minmax(240px,1fr) 220px auto}.admin-detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}}
.ticket-voucher-status{min-height:18px;margin:7px 0 0;font-size:.72rem}.ticket-voucher-status.is-success{color:var(--success)}.ticket-voucher-status.is-error{color:var(--danger)}

.admin-image-upload{display:grid;gap:14px;margin:4px 0;padding:18px;border:1px solid #d5d9e0;border-radius:12px;background:#f8fafc}.admin-image-upload legend{padding:0 8px;font-size:.8rem;font-weight:700}.admin-file-input{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}.admin-image-dropzone{display:grid!important;place-items:center;gap:7px;min-height:154px;padding:20px;border:2px dashed #9aa5b4;border-radius:12px;background:#fff;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.admin-image-dropzone:hover,.admin-image-dropzone.is-dragging,.admin-file-input:focus+.admin-image-dropzone{border-color:#007f98;background:#eefcff;transform:translateY(-1px)}.admin-image-dropzone__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#12d7ee;color:#10202a;font-size:1.7rem;line-height:1}.admin-image-dropzone>span:not(.admin-image-dropzone__icon){color:#68717d;font-size:.76rem}.admin-image-file{font-weight:700!important;color:#00758b!important}.admin-image-feedback{padding:10px 12px;border:1px solid #bd4053;border-radius:8px;background:#fff0f2;color:#9c2539;font-size:.8rem}.admin-image-upload.has-error .admin-image-dropzone{border-color:#bd4053}.admin-image-preview{display:grid;place-items:center;min-height:170px;margin:0;overflow:hidden;border:1px solid #d5d9e0;border-radius:12px;background:#e9edf2;color:#68717d;text-align:center}.admin-image-preview img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.admin-image-preview figcaption{padding:24px;font-size:.78rem}.admin-image-remove{margin-top:2px}.admin-image-upload>small{color:#68717d}@media(min-width:760px){.admin-form-grid{grid-template-columns:1fr 1fr}.admin-image-upload{padding:22px}.admin-image-preview{min-height:260px}}