:root{ --eft-bg:#060913; --eft-panel:rgba(255,255,255,.075); --eft-panel-strong:rgba(255,255,255,.12); --eft-border:rgba(255,255,255,.18); --eft-text:#f7f4ee; --eft-muted:rgba(247,244,238,.72); --eft-blue:#0b5cff; --eft-pink:#f02370; --eft-gold:#f4bf62; --eft-radius:24px; }
.efora-tickets-router,.efora-ticket-page{ background:radial-gradient(circle at 20% 0%,rgba(11,92,255,.24),transparent 34%),radial-gradient(circle at 88% 12%,rgba(240,35,112,.18),transparent 26%),linear-gradient(180deg,#050914 0%,#080b17 100%); color:var(--eft-text); min-height:60vh; padding:90px 20px 70px; }
.efora-ticket-page a{ color:inherit; }
.efora-ticket-hero{ width:min(1160px,100%); margin:0 auto 32px; padding:46px; border:1px solid var(--eft-border); border-radius:32px; background:linear-gradient(135deg,rgba(11,92,255,.25),rgba(240,35,112,.12)),rgba(255,255,255,.055); box-shadow:0 34px 90px rgba(0,0,0,.42); }
.efora-ticket-hero h1{ margin:.15em 0; font-size:clamp(36px,6vw,76px); line-height:.96; letter-spacing:-.05em; }
.efora-ticket-hero p{ max-width:780px; color:var(--eft-muted); font-size:18px; }
.et-kicker{ text-transform:uppercase; letter-spacing:.14em; font-size:12px!important; font-weight:800; color:var(--eft-gold)!important; margin:0 0 10px!important; }
.efora-ticket-hero-meta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.efora-ticket-hero-meta span{ border:1px solid var(--eft-border); border-radius:999px; padding:9px 13px; background:rgba(255,255,255,.07); }
.efora-ticket-layout{ width:min(1160px,100%); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px; align-items:start; }
.efora-ticket-main{ display:grid; gap:18px; }
.efora-ticket-sidebar{ display:grid; gap:18px; position:sticky; top:90px; }
.efora-tickets-panel{ border:1px solid var(--eft-border); border-radius:var(--eft-radius); padding:24px; background:var(--eft-panel); backdrop-filter:blur(12px); box-shadow:0 20px 60px rgba(0,0,0,.24); }
.efora-tickets-panel h2,.efora-tickets-panel h3{ margin-top:0; }
.efora-events-grid{ width:min(1160px,100%); margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; }
.efora-event-card{ display:grid; grid-template-columns:70px 1fr; gap:16px; padding:20px; border:1px solid var(--eft-border); border-radius:22px; background:var(--eft-panel); box-shadow:0 18px 48px rgba(0,0,0,.24); }
.efora-event-date{ display:grid; place-items:center; height:70px; border-radius:20px; background:linear-gradient(135deg,var(--eft-blue),var(--eft-pink)); text-align:center; }
.efora-event-date span{ font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.efora-event-date strong{ font-size:26px; line-height:1; }
.efora-event-card h3{ margin:0 0 6px; font-size:22px; }
.efora-event-card p{ color:var(--eft-muted); margin:6px 0; }
.et-button{ display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:999px; padding:13px 20px; background:linear-gradient(135deg,var(--eft-blue),var(--eft-pink)); color:white!important; text-decoration:none!important; font-weight:800; cursor:pointer; box-shadow:0 18px 44px rgba(11,92,255,.26); }
.et-button-small{ padding:9px 14px; font-size:13px; }
.efora-seat-map{ display:grid; gap:16px; margin:18px 0; }
.efora-seat-section{ border:1px solid var(--eft-border); border-radius:20px; padding:16px; background:rgba(255,255,255,.045); overflow-x:auto; }
.efora-seat-section h3{ margin:0 0 10px; }
.efora-seat-row{ display:flex; align-items:center; gap:6px; min-width:max-content; margin:5px 0; }
.efora-row-label{ width:34px; color:var(--eft-muted); font-weight:800; }
.efora-seat input{ position:absolute; opacity:0; pointer-events:none; }
.efora-seat span{ display:grid; place-items:center; width:30px; height:30px; border-radius:8px; border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.12); font-size:12px; cursor:pointer; }
.efora-seat input:checked + span{ background:linear-gradient(135deg,var(--eft-blue),var(--eft-pink)); border-color:transparent; color:#fff; transform:translateY(-1px); }
.efora-seat input:disabled + span{ opacity:.34; cursor:not-allowed; background:rgba(255,255,255,.05); text-decoration:line-through; }
.efora-zone-list{ display:grid; gap:10px; margin:16px 0; }
.efora-zone-option{ display:flex; gap:12px; align-items:center; justify-content:space-between; border:1px solid var(--eft-border); border-radius:16px; padding:14px; background:rgba(255,255,255,.055); }
.efora-zone-option span{ color:var(--eft-muted); }
.efora-buyer-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
.efora-ticket-reservation-form label{ display:block; margin:14px 0; font-weight:700; }
.efora-ticket-reservation-form input,.efora-ticket-reservation-form textarea,.efora-ticket-reservation-form select{ width:100%; border:1px solid var(--eft-border); border-radius:14px; padding:12px 13px; background:rgba(255,255,255,.08); color:var(--eft-text); }
.efora-ticket-reservation-form textarea{ min-height:94px; }
.efora-token-box{ word-break:break-all; padding:18px; border-radius:18px; background:#fff; color:#111; }
.efora-issued-ticket{ border:1px solid var(--eft-border); border-radius:18px; padding:15px; margin:12px 0; background:rgba(255,255,255,.05); }
@media (max-width:900px){ .efora-ticket-layout{ grid-template-columns:1fr; } .efora-ticket-sidebar{ position:static; } .efora-ticket-hero{ padding:30px 22px; } .efora-ticket-page,.efora-tickets-router{ padding-top:72px; } }
.efora-ticket-selector-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 16px;padding:13px 16px;border:1px solid var(--eft-border);border-radius:16px;background:rgba(255,255,255,.055)}
.efora-ticket-selector-summary strong{font-size:16px;color:#fff}.efora-ticket-selector-summary span{color:var(--eft-muted)}
.efora-seat.is-selected span{background:linear-gradient(135deg,var(--eft-blue),var(--eft-pink));border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(11,92,255,.32);transform:translateY(-1px)}
.efora-quantity-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0;padding:14px 16px;border:1px solid var(--eft-border);border-radius:18px;background:rgba(255,255,255,.055)}
.efora-quantity-control>span{font-weight:800;margin-right:auto}.efora-quantity-control input[name="quantity"]{width:86px!important;text-align:center;margin:0!important}.et-qty-button{width:42px;height:42px;border-radius:999px;border:1px solid var(--eft-border);background:rgba(255,255,255,.1);color:#fff;font-size:22px;line-height:1;cursor:pointer}.et-qty-button:hover{background:rgba(255,255,255,.18)}
