/* Age restriction modal */
:root {
  --w2025-bg: #0b0b0f;
  --w2025-surface: #11131a;
  --w2025-text: #e6e7ee;
  --w2025-muted: #a6a8b3;
  --w2025-cyan: #64ffda;
  --w2025-purple: #7a3cff;
  --w2025-blue: #00d1ff;
  --w2025-magenta: #ff2fa1;
  --w2025-focus: #64ffda;
}

body.age-locked { overflow: hidden; }

.age-gate {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: grid;
  place-items: center;
  background: radial-gradient(1200px 600px at 30% 10%, rgba(122,60,255,0.15), transparent),
              radial-gradient(900px 500px at 80% 20%, rgba(0,209,255,0.12), transparent),
              rgba(6, 8, 12, 0.88);
  backdrop-filter: blur(4px) saturate(1.1);
}

.age-gate__panel {
  width: min(560px, 92vw);
  background: linear-gradient(180deg, #11131a, #0c0e13);
  color: var(--w2025-text);
  border: 1px solid rgba(100,255,218,0.25);
  border-radius: 16px;
  padding: 24px 18px;
  box-shadow: 0 24px 50px rgba(0,0,0,0.6);
  text-align: center;
}
.age-gate__icon {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  margin: 0 auto 10px auto;
  display: grid;
  place-items: center;
  font-weight: 900;
  letter-spacing: 1px;
  color: #0b0b0f;
  background: conic-gradient(from 90deg at 50% 50%, var(--w2025-purple), var(--w2025-blue), var(--w2025-magenta), var(--w2025-purple));
}
.age-gate__title { margin: 6px 0 6px; font-size: 1.25rem; }
.age-gate__desc { margin: 0 0 12px; color: var(--w2025-muted); }
.age-gate__note { margin: 12px 0 0; font-size: 0.9rem; color: var(--w2025-muted); }
.age-gate__note a { color: var(--w2025-cyan); }

.age-gate__actions { display: flex; gap: 10px; justify-content: center; margin-top: 6px; }
.btn { cursor: pointer; padding: 12px 16px; border-radius: 12px; font-weight: 800; border: 1px solid transparent; }
.btn-yes { background: linear-gradient(90deg, var(--w2025-purple), var(--w2025-blue)); color: #0b0b0f; }
.btn-yes:hover, .btn-yes:focus-visible { background: linear-gradient(90deg, var(--w2025-magenta), var(--w2025-cyan)); outline: none; }
.btn-no { background: transparent; color: var(--w2025-text); border-color: rgba(100,255,218,0.35); }
.btn-no:hover, .btn-no:focus-visible { background: rgba(100,255,218,0.12); outline: none; }

/* Focus styles */
.age-gate a:focus-visible, .btn:focus-visible { outline: 2px solid var(--w2025-focus); outline-offset: 3px; }
