
/* The Gun Drop — shared chrome (tokens TBD) */
:root { --tg-header-h: 4.5rem; --proto-banner-h: 0px; }
html, body { overflow-x: clip; }
.max-w-site { max-width: 1180px; margin-left: auto; margin-right: auto; }
#site-header { position: sticky; top: var(--proto-banner-h, 0px); z-index: 50; }
.topo-bg {
  background-color: #121416;
  background-image:
    radial-gradient(ellipse at 20% 0%, rgba(91,110,122,0.08), transparent 50%),
    linear-gradient(rgba(91,110,122,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91,110,122,0.03) 1px, transparent 1px);
  background-size: auto, 40px 40px, 40px 40px;
}
.hero-ghost {
  border: 1.5px solid rgba(255,255,255,0.85);
  background: transparent; color: #fff; border-radius: 0.5rem;
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em;
}
.hero-ghost:hover { background: transparent !important; border-color: rgba(255,255,255,.85) !important; }
.btn-armor:hover, .btn-armor:focus { box-shadow: none !important; transform: none !important; }
.btn-armor-outline:hover { box-shadow: none !important; transform: none !important; }
.field-input { min-height: 48px; }
@media (max-width: 1023px) {
  .field-input, input.field-input, select.field-input, textarea.field-input { font-size: 16px !important; }
}
.tg-sticky-below-header { top: var(--tg-header-h) !important; }
#mobile-seat-bar { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
.reveal { opacity: 1; }
.phone-wrap { max-height:0;overflow:hidden;opacity:0;transition:max-height 0.35s ease,opacity 0.25s ease,margin 0.25s ease; }
.phone-wrap.open { max-height:140px;opacity:1;margin-top:0.75rem; }
.oh-seat {
  aspect-ratio:1; min-height:0; width:100%; height:auto; border-radius:4px;
  font-size:11px; font-weight:700; font-family:Inter,system-ui,sans-serif;
  border:1px solid transparent; display:flex; align-items:center; justify-content:center;
  line-height:1; padding:0;
}
.oh-seat--available { background:#AED581; color:#1b2e0a; border-color:#9CCC65; cursor:pointer; }
.oh-seat--booked { background:#1a1d21; color:#4b5563; border-color:#2a2e33; cursor:not-allowed; }
.oh-seat--held { background:#ffffff; color:#121416; border-color:#d1d5db; cursor:not-allowed; }
.oh-seat--selected { background:#445560; color:#fff; border-color:#33404A; cursor:pointer; }
@media (max-width:640px) { .oh-seat { font-size:9px; border-radius:3px; } }

.qty-btn { width:2rem; height:2rem; display:inline-flex; align-items:center; justify-content:center; border-radius:0.375rem; background:#1a1d21; border:1px solid #2a2e33; color:#d1d5db; }
.qty-btn:hover { border-color: var(--brand-primary); }
