/* ---------- HERO COUNTDOWN ---------- */
.hero-countdown{position:relative;height:60vh;min-height:28rem;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-countdown picture,.hero-countdown img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,10,10,.8) 0%,rgba(10,10,10,.4) 100%)}
.hero-content{position:relative;z-index:2;text-align:center;color:var(--c-text)}
.hero-title{font-size:var(--fs-4xl);margin-bottom:var(--space-6)}
.countdown-timer{display:flex;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-8);font-family:var(--ff-mono)}
.countdown-digit{font-size:var(--fs-3xl);font-weight:700;color:var(--c-primary)}
.countdown-label{font-size:var(--fs-sm);margin-left:var(--space-1);text-transform:uppercase}
.hero-cta{position:absolute;bottom:var(--space-8);right:var(--space-4)}
@media(min-width:768px){.hero-title{font-size:var(--fs-5xl)}.hero-cta{right:var(--space-8)}}

/* ---------- STICKY SEARCH ---------- */
.sticky-search{position:sticky;top:0;z-index:10;background:var(--c-bg);border-bottom:1px solid var(--c-neutral-200);padding:var(--space-4) 0}
.search-form{position:relative;max-width:42rem;margin-inline:auto}
.search-form input{padding:var(--space-4) var(--space-12) var(--space-4) var(--space-4);background:var(--c-neutral-100);border:1px solid var(--c-neutral-300);border-radius:var(--radius-lg);font-size:var(--fs-base)}
.search-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-2);background:var(--c-neutral-50);border:1px solid var(--c-neutral-300);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:18rem;overflow:auto}
.suggestion-item{padding:var(--space-3) var(--space-4);cursor:pointer;display:flex;align-items:center;gap:var(--space-3)}
.suggestion-item:hover{background:var(--c-neutral-100)}
.suggestion-thumb{width:4rem;height:4rem;object-fit:cover;border-radius:var(--radius)}
.suggestion-info{flex:1}
.suggestion-title{font-weight:600}
.suggestion-price{color:var(--c-primary)}

/* ---------- FILTER DOCK ---------- */
.filter-dock{padding:var(--space-4) 0}
.filter-toggle{margin-bottom:var(--space-4)}
.filter-pills{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.filter-pills fieldset{border:none;padding:0;margin:0}
.filter-pills legend{font-weight:600;margin-bottom:var(--space-2)}
.filter-pills label{display:inline-flex;align-items:center;gap:var(--space-2);margin-right:var(--space-4);margin-bottom:var(--space-2);cursor:pointer}
.filter-pills input:checked+span{color:var(--c-primary)}

/* ---------- LAYOUT SIDEBAR ---------- */
.grid--main{display:grid;gap:var(--space-8);grid-template-columns:1fr}
@media(min-width:1024px){.grid--main{grid-template-columns:1fr 22rem}}

/* ---------- EVENTS CAROUSEL ---------- */
.events-carousel{display:flex;gap:var(--space-6);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-4)}
.event-card{flex:0 0 20rem;display:flex;flex-direction:column;background:var(--c-neutral-50);border:1px solid var(--c-neutral-200);border-radius:var(--radius-lg);overflow:hidden;scroll-snap-align:start;box-shadow:var(--shadow-md)}
.event-card img{height:11rem;object-fit:cover}
.event-meta{padding:var(--space-4);flex:1}
.event-title{font-size:var(--fs-xl);margin-bottom:var(--space-2)}
.event-date,.event-venue{font-size:var(--fs-sm);color:var(--c-neutral-700)}
.event-seats{font-size:var(--fs-sm);margin-top:var(--space-2)}
.seats-left{color:var(--c-warning);font-weight:600}
.price-tier{display:inline-block;margin-top:var(--space-3);background:var(--c-primary);color:#000;padding:var(--space-1) var(--space-3);border-radius:var(--radius);font-weight:600}
.add-to-bundle{margin:var(--space-4) auto}

/* ---------- BUNDLE BUILDER ---------- */
.bundle-builder{position:sticky;top:8rem;background:var(--c-neutral-50);border:1px solid var(--c-neutral-200);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md)}
.bundle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}
.bundle-list{max-height:14rem;overflow:auto;margin-bottom:var(--space-4)}
.bundle-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0}
.bundle-remove{background:none;border:none;color:var(--c-danger);cursor:pointer;font-size:var(--fs-lg)}
.bundle-upsell label{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);cursor:pointer}
.discount-meter{display:flex;justify-content:space-between;color:var(--c-success);font-weight:600;margin:var(--space-4) 0}
.bundle-total{display:flex;justify-content:space-between;font-size:var(--fs-xl);font-weight:700;margin-bottom:var(--space-4)}

/* ---------- SEAT MAP ---------- */
.seat-map{padding:var(--space-12) 0}
.svg-seat-map{max-width:60rem;margin-inline:auto;background:var(--c-neutral-100);border-radius:var(--radius-lg);padding:var(--space-4)}
.seat-info{margin-top:var(--space-4);font-size:var(--fs-sm);color:var(--c-neutral-700)}

/* ---------- STORY SNAPSHOT ---------- */
.story-snapshot{padding:var(--space-12) 0}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.story-card{background:var(--c-neutral-50);border:1px solid var(--c-neutral-200);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md)}
.story-card img{margin-bottom:var(--space-4);border-radius:var(--radius)}

/* ---------- COLLECTOR PROOF ---------- */
.collector-proof{padding:var(--space-12) 0}
.proof-accordion{max-width:54rem;margin-inline:auto}
.proof-trigger{width:100%;text-align:left;background:none;border:none;font-size:var(--fs-lg);font-weight:600;padding:var(--space-4) 0;border-bottom:1px solid var(--c-neutral-200);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.proof-trigger::after{content:"❯";transition:transform var(--duration) var(--timing)}
.proof-trigger[aria-expanded="true"]::after{transform:rotate(90deg)}
.proof-panel{padding:var(--space-4) 0}
.proof-panel img{margin-bottom:var(--space-4);border-radius:var(--radius)}

/* ---------- CARBON OFFSET ---------- */
.carbon-offset{padding:var(--space-12) 0;background:var(--c-neutral-50)}
.offset-grid{max-width:42rem;display:grid;gap:var(--space-4)}
.offset-option{display:flex;align-items:center;justify-content:space-between;background:var(--c-bg);padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--c-neutral-200);cursor:pointer}
.offset-toggle{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4)}
#offset-info{font-size:var(--fs-sm);color:var(--c-neutral-700)}

/* ---------- FAQ ---------- */
.faq{padding:var(--space-12) 0}
.faq-list{max-width:54rem;margin-inline:auto}
.faq-trigger{width:100%;text-align:left;background:none;border:none;font-size:var(--fs-lg);font-weight:600;padding:var(--space-4) 0;border-bottom:1px solid var(--c-neutral-200);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-trigger::after{content:"❯";transition:transform var(--duration) var(--timing)}
.faq-trigger[aria-expanded="true"]::after{transform:rotate(90deg)}
.faq-panel{padding:var(--space-4) 0}

/* ---------- CART DRAWER ---------- */
.cart-drawer{position:fixed;inset:auto 0 0;z-index:50;background:var(--c-neutral-50);border-top:1px solid var(--c-neutral-200);box-shadow:var(--shadow-lg);transform:translateY(100%);transition:transform var(--duration) var(--timing);max-height:60vh;display:flex;flex-direction:column}
.cart-drawer[aria-hidden="false"]{transform:translateY(0)}
.cart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--c-neutral-200)}
.cart-body{flex:1;overflow:auto;padding:var(--space-4)}
.cart-footer{padding:var(--space-4);border-top:1px solid var(--c-neutral-200)}
.cart-close{background:none;border:none;font-size:var(--fs-2xl);cursor:pointer}
.btn--block{width:100%;margin-bottom:var(--space-2)}
.btn--upsell{background:var(--c-warning);color:#000;margin-top:var(--space-2)}

/* ---------- TRUST BAR ---------- */
.trust-bar{position:sticky;bottom:0;z-index:10;background:var(--c-bg-alpha);backdrop-filter:blur(4px);border-top:1px solid var(--c-neutral-200);padding:var(--space-2) 0}
.trust-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.trust-item{font-size:var(--fs-sm)}

/* ---------- UTILS ---------- */
.btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--fs-sm)}
:disabled{opacity:.45;cursor:not-allowed}