/* Age restriction modal */
.age-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-index-modal);
  display: none; /* shown via JS */
}
.age-modal[aria-hidden="false"] { display: block; }
.age-backdrop {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0, 119, 190, 0.75), rgba(0, 206, 209, 0.75));
  backdrop-filter: blur(2px);
}
.age-dialog {
  position: relative;
  z-index: var(--z-index-modal);
  width: min(560px, 92vw);
  margin: 10vh auto 0 auto;
  background: var(--color-white);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-2xl);
  padding: var(--space-8);
  animation: agePop var(--transition-slow) var(--transition-timing) both;
}
@keyframes agePop { from { transform: translateY(16px) scale(0.98); opacity: 0; } to { transform: translateY(0) scale(1); opacity: 1; } }
.age-header h2 { margin-bottom: var(--space-3); }
.age-header p { color: var(--color-text-light); }
.age-actions { display: flex; gap: var(--space-4); margin-top: var(--space-6); justify-content: flex-end; }
@media (max-width: 520px) {
  .age-actions { flex-direction: column; }
  .age-actions .btn { width: 100%; }
}

/* Prevent background scroll when modal is open */
body.age-locked { overflow: hidden; }
