/* Altersabfrage (Age-Gate) – schlank, hochwertig, barrierearm */
.csc-age-lock { overflow: hidden !important; }
/* Standardmäßig verborgen (schlägt die Basisregel display:flex). */
.csc-agegate[hidden] { display: none !important; }
/* Sichtbar nur, solange die Seite gesperrt ist ODER JS das hidden-Attribut entfernt. */
.csc-age-lock .csc-agegate[hidden] { display: flex !important; }

.csc-agegate {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 1.25rem;
}
.csc-agegate__backdrop {
  position: absolute; inset: 0;
  background: radial-gradient(120% 120% at 50% 0%, rgba(20,51,31,.86), rgba(8,20,13,.94));
  backdrop-filter: blur(4px);
}
.csc-agegate__panel {
  position: relative; z-index: 1;
  width: min(100%, 480px);
  background: var(--cream-50, #faf7ef);
  color: var(--ink, #16211a);
  border-radius: 22px;
  padding: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
  text-align: center;
  box-shadow: 0 40px 90px -30px rgba(0,0,0,.7);
  border: 1px solid rgba(255,255,255,.4);
  animation: cscAgeIn .32s cubic-bezier(.22,.61,.36,1) both;
}
.csc-agegate__mark { width: 64px; height: 64px; margin: 0 auto .75rem; }
.csc-agegate__logo { height: 84px; width: auto; margin: 0 auto .85rem; display: block; }
.csc-agegate picture { display: block; }
.csc-agegate__eyebrow {
  font-family: var(--font-display, sans-serif); font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; font-size: .75rem;
  color: var(--accent-strong, #a97d1c); margin: 0 0 .5rem;
}
.csc-agegate h2 { margin: 0 0 .5rem; font-size: clamp(1.4rem, 1.2rem + 1vw, 1.9rem); color: var(--green-800, #14331f); }
.csc-agegate p { color: var(--muted, #5d6d62); margin: 0 0 1.25rem; }
.csc-agegate__actions { display: flex; flex-direction: column; gap: .6rem; margin-bottom: 1rem; }
.csc-agegate__actions .btn { width: 100%; }
.csc-agegate__hint { font-size: .78rem; color: var(--muted, #5d6d62); margin: 0; }

@keyframes cscAgeIn { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .csc-agegate__panel { animation: none; } }

@media (min-width: 520px) {
  .csc-agegate__actions { flex-direction: row; justify-content: center; }
  .csc-agegate__actions .btn { width: auto; }
}
