/* Age restriction modal styles */

.elh-age {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}

.elh-age__backdrop {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.98));
  backdrop-filter: blur(10px);
}

.elh-age__content {
  position: relative;
  max-width: 520px;
  width: 100%;
  margin: 0 var(--space-4);
  padding: var(--space-6);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(circle at top left, rgba(255, 51, 102, 0.22), transparent 60%),
    radial-gradient(circle at bottom right, rgba(73, 115, 255, 0.22), transparent 55%),
    linear-gradient(145deg, rgba(9, 10, 25, 0.98), rgba(6, 8, 20, 0.99));
  border: 1px solid var(--color-border-strong);
  box-shadow: var(--shadow-strong);
  text-align: left;
}

.elh-age__badge {
  position: absolute;
  top: -18px;
  right: var(--space-6);
  padding: 0.4rem 0.9rem;
  border-radius: var(--radius-pill);
  background: radial-gradient(circle at 10% 0%, #ff8a9e 0%, var(--color-primary) 40%, var(--color-primary-strong) 100%);
  color: #050307;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow: var(--shadow-soft);
}

.elh-age__title {
  margin-bottom: var(--space-3);
}

.elh-age__text {
  font-size: 0.95rem;
  margin-bottom: var(--space-4);
}

.elh-age__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.elh-age__btn {
  flex: 1 1 180px;
}

.elh-age__disclaimer {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}

@media (max-width: 480px) {
  .elh-age__content {
    padding: var(--space-4);
  }

  .elh-age__badge {
    right: var(--space-4);
  }
}

html.age-locked, html.age-locked body { overflow: hidden !important; }
html.age-ok .elh-age { display: none !important; }
.elh-age { display: flex; }
.legal-hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.05));color:#fff;font-weight:700;margin:0 0 1rem;box-shadow:0 10px 30px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
.shieldcheck-banner{display:flex;gap:.85rem;align-items:center;margin:1rem 0 1.5rem;padding:1rem 1.15rem;border-radius:18px;border:1px solid rgba(93,255,190,.38);background:linear-gradient(135deg,rgba(6,79,56,.92),rgba(5,20,31,.94));color:#eafff7;box-shadow:0 18px 45px rgba(0,0,0,.24)}
.shieldcheck-banner strong{padding:.45rem .7rem;border-radius:999px;background:#8fffd0;color:#06221a;white-space:nowrap}.shieldcheck-banner span{line-height:1.45}.adult-badge{display:inline-flex;padding:.45rem .75rem;border-radius:999px;background:#ffcc66;color:#211503;font-weight:800;margin-bottom:.65rem}.legal-footer-box{margin-top:1rem;padding:1rem;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);font-size:.9rem;color:var(--color-text-muted)}.legal-footer-box p{margin:.4rem 0}@media(max-width:640px){.shieldcheck-banner{align-items:flex-start;flex-direction:column}.legal-hero-badge{font-size:.82rem;line-height:1.35}}
