﻿:root{--t3d-bg:#030706;--t3d-panel:rgba(8,22,18,.78);--t3d-line:rgba(95,255,190,.22);--t3d-green:#21f28b;--t3d-gold:#ffd166;--t3d-text:#eafff8;--t3d-muted:#9cc4b7;--t3d-blue:#5aa9ff;--t3d-purple:#b685ff;--t3d-pink:#ff6fb1}
.ticket3d-page,.ticket3d-shell{background:radial-gradient(circle at 50% 0,#12382d,#030706 55%);color:var(--t3d-text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
.ticket3d-shell *,.ticket3d-page *{box-sizing:border-box}
.ticket3d-shell{min-height:760px;border-radius:0;overflow:hidden}
.ticket3d-fullscreen{min-height:100vh}
.ticket3d-hero{position:relative;min-height:760px;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr) minmax(230px,300px);gap:12px;padding:16px}
.ticket3d-search-panel,.ticket3d-results-panel,.ticket3d-panel{z-index:2;background:var(--t3d-panel);border:1px solid var(--t3d-line);backdrop-filter:blur(18px);border-radius:14px;padding:18px;box-shadow:0 28px 80px rgba(0,0,0,.42)}
.ticket3d-kicker{margin:0 0 8px;color:var(--t3d-green);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.ticket3d-search-panel h1,.ticket3d-seo-hero h1,.ticket3d-detail h1{margin:0 0 16px;font-size:clamp(28px,4vw,58px);line-height:1.02;letter-spacing:0}
.ticket3d-search-form{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:14px 0}
.ticket3d-search-form input,.ticket3d-search-form select{min-height:46px;border:1px solid var(--t3d-line);border-radius:8px;background:rgba(255,255,255,.07);color:var(--t3d-text);padding:0 12px;font:inherit}
.ticket3d-search-form button,.ticket3d-btn,.ticket3d-quick-filters button{border:0;border-radius:8px;background:linear-gradient(135deg,var(--t3d-green),#7cffc1);color:#03100b;font-weight:800;padding:0 16px;min-height:46px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.ticket3d-secondary{background:rgba(255,255,255,.08);color:var(--t3d-text);border:1px solid var(--t3d-line)}
.ticket3d-btn-disabled{cursor:not-allowed;opacity:.68}
.ticket3d-search-status{margin:8px 0 0;color:var(--t3d-muted);font-size:12px}
.ticket3d-search-status.is-muted{text-transform:capitalize}
.ticket3d-quick-filters{display:flex;flex-wrap:wrap;gap:8px}
.ticket3d-quick-filters button{min-height:34px;padding:0 11px;background:rgba(255,255,255,.08);color:var(--t3d-text);border:1px solid var(--t3d-line);font-size:13px}
.ticket3d-globe-wrap{position:relative;min-height:720px;background:#030706 url('assets/night-sky.png') center/cover no-repeat}
.ticket3d-globe{position:absolute;inset:0}.ticket3d-globe-controls{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:8;display:grid;gap:8px}.ticket3d-globe-controls button{width:42px;height:42px;border:1px solid rgba(33,242,139,.35);border-radius:8px;background:rgba(3,10,8,.74);color:#eafff7;font-size:18px;font-weight:900;line-height:1;box-shadow:0 12px 28px rgba(0,0,0,.28);backdrop-filter:blur(14px);cursor:pointer}.ticket3d-globe-controls button:hover,.ticket3d-globe-controls button:focus-visible{background:rgba(33,242,139,.18);border-color:rgba(33,242,139,.72);outline:none}
.ticket3d-results-panel{overflow:auto;max-height:720px}
.ticket3d-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.ticket3d-event-card{background:rgba(255,255,255,.06);border:1px solid var(--t3d-line);border-radius:12px;overflow:hidden;color:var(--t3d-text)}
.ticket3d-event-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#0c1814}
.ticket3d-event-body{padding:14px}
.ticket3d-event-body h3{margin:8px 0;font-size:17px;line-height:1.25}
.ticket3d-event-body p{margin:6px 0;color:var(--t3d-muted);font-size:13px}
.ticket3d-chip{display:inline-flex;border:1px solid var(--t3d-line);border-radius:999px;padding:3px 8px;color:var(--t3d-green);font-size:11px;text-transform:uppercase;font-weight:800}
.ticket3d-price{color:var(--t3d-gold)!important;font-weight:800}
.ticket3d-actions,.ticket3d-nav-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ticket3d-actions .ticket3d-btn,.ticket3d-nav-buttons .ticket3d-btn{min-height:38px;font-size:13px}
.ticket3d-popup{position:absolute;right:18px;bottom:18px;width:min(360px,calc(100% - 36px));max-height:70vh;overflow:auto;background:rgba(5,13,11,.92);border:1px solid var(--t3d-line);border-radius:12px;padding:12px;z-index:5;box-shadow:0 24px 70px rgba(0,0,0,.48)}
.ticket3d-popup img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.ticket3d-popup h3{font-size:17px;margin:10px 0 6px}
.ticket3d-popup p{font-size:13px;color:var(--t3d-muted);margin:5px 0}
.ticket3d-popup-close{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;border:1px solid var(--t3d-line);background:rgba(0,0,0,.62);color:#fff}
.ticket3d-seo-page,.ticket3d-detail{max-width:1180px;margin:0 auto;padding:32px 18px}
.ticket3d-seo-hero{padding:44px 0 26px}
.ticket3d-detail{display:grid;grid-template-columns:minmax(280px,480px) 1fr;gap:28px}
.ticket3d-detail-image{width:100%;border-radius:12px;object-fit:cover;aspect-ratio:16/10}
.ticket3d-copy,.ticket3d-faq,.ticket3d-nearby,.ticket3d-disclosure,.ticket3d-previous-editions{margin-top:24px;color:var(--t3d-muted)}
.ticket3d-previous-editions ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.ticket3d-previous-editions li{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;border:1px solid var(--t3d-line);border-radius:8px;padding:10px;background:rgba(255,255,255,.05)}.ticket3d-previous-editions span{color:var(--t3d-green);font-weight:900}.ticket3d-previous-editions em{font-style:normal;color:var(--t3d-gold);font-size:12px}
.ticket3d-faq details{border:1px solid var(--t3d-line);border-radius:8px;padding:12px;margin:8px 0;background:rgba(255,255,255,.05)}
.ticket3d-nearby{padding:18px;border:1px solid rgba(95,255,190,.16);border-radius:14px;background:radial-gradient(circle at top left,rgba(33,242,139,.09),transparent 32%),rgba(255,255,255,.035)}.ticket3d-nearby-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.ticket3d-nearby-head h2{margin:0;color:var(--t3d-text)}.ticket3d-nearby-groups{display:grid;gap:18px}.ticket3d-nearby-category h3{margin:0 0 10px;color:var(--t3d-text);font-size:18px}.ticket3d-nearby-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.ticket3d-nearby-item{position:relative;display:grid;gap:8px;min-height:158px;border:1px solid var(--t3d-line);border-radius:12px;padding:13px;color:var(--t3d-text);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));box-shadow:0 14px 34px rgba(0,0,0,.18)}.ticket3d-nearby-item strong{color:var(--t3d-text);font-size:15px;line-height:1.25}.ticket3d-nearby-badge{display:inline-flex;width:max-content;max-width:100%;border:1px solid rgba(33,242,139,.26);border-radius:999px;padding:3px 8px;color:var(--t3d-green);background:rgba(33,242,139,.08);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ticket3d-nearby-distance{color:var(--t3d-gold);font-size:13px;font-weight:800}.ticket3d-nearby-address,.ticket3d-nearby-empty{margin:0;color:var(--t3d-muted);font-size:13px;line-height:1.38}.ticket3d-nearby-empty{padding:14px;border:1px dashed rgba(95,255,190,.24);border-radius:10px;background:rgba(255,255,255,.035)}.ticket3d-nearby-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.ticket3d-nearby-links a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid rgba(95,255,190,.22);border-radius:999px;background:rgba(3,10,8,.46);color:var(--t3d-green);font-size:12px;font-weight:800;text-decoration:none}.ticket3d-nearby-links a:hover,.ticket3d-nearby-links a:focus-visible{border-color:rgba(33,242,139,.72);background:rgba(33,242,139,.12);outline:none}
.ticket3d-empty{color:var(--t3d-muted);padding:16px;border:1px solid var(--t3d-line);border-radius:8px}
@media (min-width:1101px){.ticket3d-search-panel,.ticket3d-results-panel{padding:14px}.ticket3d-search-panel h1{font-size:34px}.ticket3d-search-form{gap:8px}.ticket3d-quick-filters{gap:7px}.ticket3d-results-panel{max-width:300px}.ticket3d-card{padding:10px}.ticket3d-card img{height:84px}}
@media (max-width:1100px){.ticket3d-hero{grid-template-columns:1fr;min-height:auto}.ticket3d-globe-wrap{height:58vh;min-height:420px}.ticket3d-results-panel{max-height:none}.ticket3d-search-panel{order:1}.ticket3d-globe-wrap{order:2}.ticket3d-results-panel{order:3}}
@media (max-width:640px){.ticket3d-hero{padding:10px;gap:10px}.ticket3d-search-panel,.ticket3d-results-panel{padding:12px;border-radius:10px}.ticket3d-search-panel h1,.ticket3d-seo-hero h1,.ticket3d-detail h1{font-size:28px}.ticket3d-search-form{grid-template-columns:1fr}.ticket3d-search-form input,.ticket3d-search-form select,.ticket3d-search-form button{min-height:42px;font-size:14px}.ticket3d-globe-wrap{height:48vh;min-height:330px}.ticket3d-globe-controls{right:8px;top:12px;transform:none;grid-auto-flow:column}.ticket3d-globe-controls button{width:36px;height:36px;font-size:16px}.ticket3d-popup{left:10px;right:10px;bottom:10px;width:auto;max-height:42vh;padding:10px}.ticket3d-popup img{display:none}.ticket3d-popup h3{font-size:15px}.ticket3d-popup p{font-size:12px}.ticket3d-card-grid{grid-template-columns:1fr}.ticket3d-detail{grid-template-columns:1fr;padding:18px 12px}.ticket3d-actions .ticket3d-btn,.ticket3d-nav-buttons .ticket3d-btn{flex:1 1 130px}}

.ticket3d-seo-globe{margin-top:28px}.ticket3d-seo-globe .ticket3d-globe-wrap{height:520px;min-height:360px;border:1px solid var(--t3d-line);border-radius:12px;overflow:hidden;background:#030706}
@media (max-width:640px){.ticket3d-seo-globe .ticket3d-globe-wrap{height:380px;min-height:300px}}


.ticket3d-section-block{margin:34px auto;padding:22px;border:1px solid rgba(33,242,139,.16);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:0 24px 80px rgba(0,0,0,.24);backdrop-filter:blur(18px)}
.ticket3d-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:16px}
.ticket3d-section-head h2{margin:0;font-size:clamp(24px,3vw,38px);line-height:1.05;letter-spacing:0;color:var(--t3d-text)}
.ticket3d-trending-block .ticket3d-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ticket3d-event-card h3 a{color:inherit;text-decoration:none}.ticket3d-event-card h3 a:hover{color:var(--t3d-green)}
.ticket3d-city-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.ticket3d-city-card{display:flex;min-height:190px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:radial-gradient(circle at top right,rgba(255,209,102,.12),transparent 34%),rgba(3,10,8,.68);box-shadow:0 18px 42px rgba(0,0,0,.22)}
.ticket3d-city-card h3{margin:0;color:var(--t3d-text);font-size:20px;line-height:1.12}.ticket3d-city-card p{margin:0;color:var(--t3d-muted);font-size:13px}.ticket3d-city-card .ticket3d-btn{margin-top:auto;width:100%}.ticket3d-city-cats{min-height:18px;color:#ffd166!important}
.ticket3d-section-skeleton{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.ticket3d-section-skeleton span{min-height:150px;border-radius:10px;background:linear-gradient(100deg,rgba(255,255,255,.06),rgba(33,242,139,.12),rgba(255,255,255,.06));background-size:220% 100%;animation:ticket3dSkeleton 1.25s linear infinite}@keyframes ticket3dSkeleton{to{background-position:-220% 0}}
.ticket3d-section-block.is-loading .ticket3d-trending-results{opacity:.55;pointer-events:none}
@media (max-width:640px){.ticket3d-section-block{margin:22px 0;padding:14px;border-radius:10px}.ticket3d-section-head{display:block}.ticket3d-section-head h2{font-size:24px}.ticket3d-city-grid{grid-template-columns:1fr}.ticket3d-section-skeleton{grid-template-columns:1fr}.ticket3d-city-card{min-height:160px}}

.ticket3d-trending-block{width:100%;max-width:1180px;overflow:hidden}
.ticket3d-trending-block .ticket3d-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:stretch}
.ticket3d-trending-block .ticket3d-event-card{display:grid;grid-template-rows:auto 1fr;min-height:100%;border-radius:10px;background:linear-gradient(180deg,rgba(9,24,20,.92),rgba(5,13,11,.84));box-shadow:0 18px 46px rgba(0,0,0,.28)}
.ticket3d-trending-block .ticket3d-event-card img{display:block;width:100%;height:156px;aspect-ratio:auto;object-fit:cover;color:transparent}
.ticket3d-trending-block .ticket3d-event-body{display:flex;flex-direction:column;min-height:230px;padding:13px}
.ticket3d-trending-block .ticket3d-event-body h3{font-size:16px;line-height:1.22;margin:8px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ticket3d-trending-block .ticket3d-event-body p{font-size:12.5px;line-height:1.35}.ticket3d-trending-block .ticket3d-actions{margin-top:auto}.ticket3d-trending-block .ticket3d-actions .ticket3d-btn{flex:1 1 118px;white-space:nowrap}
@media (min-width:1200px){.ticket3d-trending-block .ticket3d-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.ticket3d-trending-block .ticket3d-card-grid{grid-template-columns:1fr}.ticket3d-trending-block .ticket3d-event-card{grid-template-columns:112px 1fr;grid-template-rows:1fr}.ticket3d-trending-block .ticket3d-event-card img{height:100%;min-height:176px}.ticket3d-trending-block .ticket3d-event-body{min-height:176px}.ticket3d-trending-block .ticket3d-actions .ticket3d-btn{flex:1 1 100%}}

/* ---- TM-10H: Modern Event Page Layout ---- */

.t3d-event-modern{grid-template-areas:'img hero' 'img body' 'nearby nearby' 'map map' 'bottom bottom';gap:0;row-gap:24px;max-width:1180px}
.t3d-event-modern .ticket3d-detail-image{grid-area:img;position:sticky;top:20px;align-self:start;max-height:520px}
.t3d-event-hero-content{grid-area:hero;padding-bottom:8px}
.t3d-event-hero-content h1{font-size:clamp(32px,4.5vw,56px);line-height:1.04;margin:0 0 10px;letter-spacing:-.01em}
.t3d-event-meta{display:grid;gap:6px;margin:0 0 14px;color:var(--t3d-muted)}
.t3d-event-date{color:var(--t3d-text);font-weight:700;font-size:17px}
.t3d-event-venue{font-size:14px}
.t3d-event-price{margin:0 0 14px;font-size:24px!important}
.t3d-event-cta{margin:0 0 8px}.t3d-event-cta .ticket3d-buy{min-height:52px;padding:0 28px;font-size:16px;border-radius:10px}
.t3d-event-disclosure{margin:8px 0 0;color:var(--t3d-muted);font-size:12px;line-height:1.4}

.t3d-event-body-area{grid-area:body;display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}
.t3d-event-description{margin-top:0;font-size:15px;line-height:1.65}
.t3d-event-tp-sidebar{align-self:start;position:sticky;top:20px}

.t3d-event-modern .ticket3d-nearby{grid-area:nearby}
.t3d-event-modern .ticket3d-nearby-map-section{grid-area:map}
.t3d-event-bottom{grid-area:bottom}

/* Travelpayouts cards grid - modern */
 ticket3d-tp-cards{margin-top:0;padding:18px;border:1px solid rgba(255,209,102,.18);border-radius:14px;background:radial-gradient(circle at top right,rgba(255,209,102,.08),transparent 40%),rgba(255,255,255,.025)}
 ticket3d-tp-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
 ticket3d-tp-card{display:grid;gap:6px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04);transition:border-color .18s,transform .18s}
 ticket3d-tp-card:hover{border-color:rgba(255,209,102,.32);transform:translateY(-1px)}
 ticket3d-tp-icon{font-size:24px}
 ticket3d-tp-card strong{font-size:15px;color:var(--t3d-text)}
 ticket3d-tp-sub{font-size:12.5px;color:var(--t3d-muted);margin:0}
 ticket3d-tp-card .ticket3d-btn{min-height:34px;font-size:13px;margin-top:4px}
 ticket3d-tp-disclosure{font-size:11px;color:var(--t3d-muted);margin:12px 0 0;text-align:center}

@media (min-width:1101px){
  .t3d-event-modern .ticket3d-tp-cards{position:sticky;top:20px}
  .ticket3d-tp-grid{grid-template-columns:1fr}
}
@media (max-width:1100px){
  .t3d-event-body-area{grid-template-columns:1fr}
  .ticket3d-tp-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
}
@media (max-width:640px){
  .t3d-event-modern{grid-template-areas:'img' 'hero' 'body' 'nearby' 'map' 'bottom';gap:18px}
  .t3d-event-modern .ticket3d-detail-image{position:static;max-height:340px;border-radius:10px}
  .t3d-event-hero-content h1{font-size:28px}
  .t3d-event-body-area{grid-template-columns:1fr}
  .t3d-event-cta .ticket3d-buy{width:100%;justify-content:center}
  .ticket3d-tp-card{padding:12px}
}
