/* Age restriction modal */
#hb-age-gate { --hb-black:#0a0a0a; --hb-deep:#080808; --hb-gold:#d4af37; --hb-champagne:#f5efe6; --hb-amber:#ffbf66; --hb-red:#8a1c1c; position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; }
.hb-age-gate__overlay { position: absolute; inset: 0; background: radial-gradient(60% 60% at 50% 40%, rgba(0,0,0,.65), rgba(0,0,0,.92)); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.hb-age-gate__modal { position: relative; width: min(92vw, 560px); background: linear-gradient(180deg, #111 0%, #0b0b0b 100%); color: var(--hb-champagne); border: 1px solid rgba(212,175,55,.35); border-radius: 16px; box-shadow: 0 25px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.02) inset; padding: 1.25rem; text-align: center; }
.hb-age-gate__header h2 { font-family: 'Playfair Display', serif; font-weight: 800; margin: 0 0 .25rem 0; color: var(--hb-gold); letter-spacing: .3px; }
.hb-age-gate__header p { margin: 0 0 1rem 0; color: #ddd; }
.hb-age-gate__actions { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; }

/* Buttons */
.hb-btn { display: inline-flex; align-items: center; justify-content: center; padding: .7rem 1.1rem; border-radius: .6rem; font-weight: 800; text-decoration: none; cursor: pointer; border: 1px solid transparent; }
.hb-btn--gold { color: #1a1a1a!important; background: linear-gradient(180deg, #f7e7a6, #d4af37 60%, #b58b24); box-shadow: 0 6px 18px rgba(212,175,55,.25); }
.hb-btn--gold:focus, .hb-btn--gold:hover { outline: 2px solid rgba(212,175,55,.5); outline-offset: 2px; }
.hb-btn--dark { color: #f1f1f1; background: #121212; border-color: rgba(212,175,55,.28); }
.hb-btn--dark:hover, .hb-btn--dark:focus { outline: 2px solid rgba(212,175,55,.5); outline-offset: 2px; }

/* Hidden state applied by JS when verified */
.hb-age-hidden { display: none !important; }

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  #hb-age-gate, .hb-age-gate__modal { transition: none !important; }
}
