/* TICKETS D: interactive zone picker + big ticket preview */
.v-tickets-d{background:linear-gradient(160deg,var(--gold),#f39a12 55%,var(--orange));padding:clamp(80px,10vw,140px) 0;overflow:hidden}
.v-tickets-d .td-wrap{width:min(1200px,100% - 40px);margin:0 auto;display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:center}
.v-tickets-d .kicker{color:var(--ink)}
.v-tickets-d .td-lede{font-size:1.2rem;margin:16px 0 26px;max-width:36ch}
.v-tickets-d .td-new[hidden]{display:none}
.v-tickets-d .td-early{display:block;margin-top:10px;font-size:1rem;opacity:.85}
.v-tickets-d .td-opts{display:grid;gap:12px}
.v-tickets-d .td-opt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-align:left;background:#fff;border:4px solid var(--ink);border-radius:16px;padding:14px 18px;cursor:pointer;box-shadow:5px 5px 0 var(--ink);transition:transform .2s,box-shadow .2s,background .2s}
.v-tickets-d .td-opt i{width:22px;height:22px;border-radius:50%;border:3px solid var(--ink);background:var(--sw)}
.v-tickets-d .td-ga{--sw:var(--green)}.v-tickets-d .td-u18{--sw:#fff}.v-tickets-d .td-vip{--sw:var(--red)}.v-tickets-d .td-vvip{--sw:var(--ink)}
.v-tickets-d .td-opt b{font-family:var(--fb);font-weight:400;text-transform:uppercase;font-size:1.25rem}
.v-tickets-d .td-opt small{font-family:var(--fb);text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;opacity:.7}
.v-tickets-d .td-opt:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.v-tickets-d .td-opt[aria-checked=true]{background:var(--ink);color:#fff;transform:translateX(10px);box-shadow:5px 5px 0 rgba(0,0,0,.35)}
.v-tickets-d .td-opt[aria-checked=true] i{border-color:#fff}
.v-tickets-d .td-right{perspective:1400px;display:grid;justify-items:center;gap:26px}
.v-tickets-d .td-ticket{--bg:var(--green);--fg:#fff;width:100%;max-width:560px;border:5px solid var(--ink);border-radius:28px;background:var(--bg);color:var(--fg);box-shadow:14px 14px 0 var(--ink);transform-style:preserve-3d;position:relative;overflow:hidden;transition:background .3s,color .3s}
.v-tickets-d .td-ticket::before{content:"";position:absolute;inset:0;background:url(../../images/stripe.png) 115% -30%/55% auto no-repeat;opacity:.35;pointer-events:none}
.v-tickets-d .td-t-u18{--bg:#fff;--fg:var(--ink)}.v-tickets-d .td-t-vip{--bg:var(--red);--fg:#fff}.v-tickets-d .td-t-vvip{--bg:var(--ink);--fg:var(--gold)}
.v-tickets-d .td-face{position:relative;padding:clamp(22px,3.4vw,40px)}
.v-tickets-d .td-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.v-tickets-d .td-row img{height:clamp(34px,4vw,46px);width:auto}
.v-tickets-d .td-age{font-family:var(--fb);text-transform:uppercase;font-size:.8rem;border:3px solid currentColor;border-radius:99px;padding:4px 12px}
.v-tickets-d .td-new{display:inline-block;margin-top:16px;background:var(--gold);color:var(--ink);border:3px solid var(--ink);font-family:var(--fb);text-transform:uppercase;font-size:.72rem;padding:4px 12px;border-radius:99px}
.v-tickets-d .td-ticket h3{font-size:clamp(3.4rem,9vw,7rem);line-height:.86;margin:18px 0 6px}
.v-tickets-d .td-note{font-weight:800;font-size:1.15rem}
.v-tickets-d .td-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-top:24px;padding-top:20px;border-top:3px dashed currentColor}
.v-tickets-d .td-grid span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;opacity:.75}
.v-tickets-d .td-grid b{font-family:var(--fb);font-weight:400;text-transform:uppercase;font-size:clamp(.82rem,1.4vw,1rem)}
.v-tickets-d .td-bar{display:flex;align-items:center;gap:14px;margin-top:22px}
.v-tickets-d .td-bar span{flex:1;height:38px;background:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 5px,currentColor 5px 6px,transparent 6px 10px,currentColor 10px 14px,transparent 14px 16px)}
.v-tickets-d .td-bar em{font-style:normal;font-family:var(--fb);font-size:.8rem;letter-spacing:.1em}
@media(max-width:900px){.v-tickets-d .td-wrap{grid-template-columns:1fr}.v-tickets-d .td-opt[aria-checked=true]{transform:translateX(6px)}}
@media(max-width:480px){.v-tickets-d .td-ticket{box-shadow:8px 8px 0 var(--ink)}.v-tickets-d .td-grid{gap:12px}}
