.age-gate {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
}

.age-gate__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(24, 16, 8, 0.72);
  backdrop-filter: blur(4px);
}

.age-gate__panel {
  position: relative;
  z-index: 1;
  max-width: 480px;
  margin-inline: var(--space-8);
  padding: var(--space-16);
  border-radius: var(--radius-xl);
  background: radial-gradient(circle at top left, rgba(224, 236, 223, 0.9), rgba(252, 248, 242, 0.98));
  box-shadow: var(--shadow-medium);
  text-align: left;
}

.age-gate__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 24px;
  padding-inline: var(--space-4);
  border-radius: var(--radius-full);
  background-color: var(--color-danger);
  color: #ffffff;
  font-size: var(--font-size-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: var(--space-4);
}

.age-gate__title {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-4);
}

.age-gate__description {
  color: var(--color-text-muted);
  margin-bottom: var(--space-4);
}

.age-gate__note {
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
  margin-bottom: var(--space-8);
}

.age-gate__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.age-gate__btn {
  flex: 1 1 140px;
}

@media (max-width: 480px) {
  .age-gate__panel {
    padding: var(--space-12);
  }
}
