/* Génestine — Age gate modal. Externalisé depuis inc/age-gate.php. */
#genestine-age-gate {
  position: fixed; inset: 0; z-index: 99999;
  background: var(--forest-deep, #0f2508);
  display: flex; align-items: center; justify-content: center;
}
.gag__backdrop {
  position: absolute; inset: 0; overflow: hidden;
}
.gag__wallpaper {
  position: absolute; inset: 0;
  background-image: url('../../images/wallpaper-damas.png');
  background-size: 600px auto;
  opacity: .08; mix-blend-mode: screen;
}
.gag__page-peek {
  position: absolute; inset: 0;
  opacity: .12; filter: blur(4px);
  display: flex; align-items: flex-start; padding: 60px;
}
.gag__page-peek-text {
  font-family: var(--serif-display, 'OldAlfie', Georgia, serif);
  font-size: 160px; color: #fff; opacity: .3; line-height: 1; user-select: none;
}
.gag__center {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: center;
  width: 100%; padding: 24px;
}
.gag__cartouche {
  width: min(560px, 100%);
  background: var(--paper, #f5f2eb);
  padding: 48px 56px 44px;
  box-shadow:
    0 0 0 1px var(--gold-deep, #a88934) inset,
    0 0 0 8px var(--paper, #f5f2eb) inset,
    0 0 0 9px var(--gold-deep, #a88934) inset,
    0 50px 100px rgba(0,0,0,.6);
  position: relative;
  text-align: center;
}
/* ── Coins ornés ─────────────────────────────────────── */
.gag__corner {
  position: absolute; width: 18px; height: 18px;
  color: var(--gold-deep, #a88934);
}
.gag__corner::before,
.gag__corner::after { content: ''; position: absolute; background: currentColor; }
.gag__corner::before { width: 100%; height: 1px; top: 0; }
.gag__corner::after  { width: 1px; height: 100%; left: 0; }
.gag__corner--tl { top: 18px; left: 18px; }
.gag__corner--tr { top: 18px; right: 18px; transform: scaleX(-1); }
.gag__corner--bl { bottom: 18px; left: 18px; transform: scaleY(-1); }
.gag__corner--br { bottom: 18px; right: 18px; transform: scale(-1); }
/* ── Logo ────────────────────────────────────────────── */
.gag__logo {
  height: 52px; width: auto;
  filter: brightness(0);
  display: block; margin: 0 auto;
}
/* ── Ornement ────────────────────────────────────────── */
.gag__orn { margin: 20px auto 0; display: flex; justify-content: center; }
.gag__orn--bottom { margin: 20px auto 0; }
/* ── Kicker ──────────────────────────────────────────── */
.gag__kicker {
  font-family: var(--sans-caps, 'Cormorant SC', serif);
  font-size:19px; letter-spacing: .4em; text-transform: uppercase;
  color: var(--gold-deep, #a88934);
  margin-top: 18px;
}
/* ── Titre ───────────────────────────────────────────── */
.gag__title {
  font-family: var(--serif-display, 'OldAlfie', Georgia, serif);
  font-size: 56px; font-weight: 400; line-height: 1;
  color: var(--ink, #1a1a1a);
  margin: 12px 0 6px;
}
/* ── Prose ───────────────────────────────────────────── */
.gag__prose {
  font-family: var(--serif-italic, 'MinionPro BoldIt', Georgia, serif);
  font-style: italic; font-size:21px;
  color: var(--ink-2, #3a3a3a);
  max-width: 380px; margin: 10px auto 0; line-height: 1.5;
}
/* ── Actions ─────────────────────────────────────────── */
.gag__actions {
  display: flex; flex-wrap: wrap; gap: 14px;
  justify-content: center; margin-top: 30px;
}
.gag__actions .genestine-stamp-btn { padding: 16px 28px; }
/* ── Mention légale ──────────────────────────────────── */
.gag__legal {
  font-family: var(--sans-caps, 'Cormorant SC', serif);
  font-size:13px; letter-spacing: .3em; text-transform: uppercase;
  color: var(--ink-2, #3a3a3a); opacity: .8;
  margin-top: 14px;
}
/* ── Mobile ──────────────────────────────────────────── */
@media (max-width: 640px) {
  .gag__cartouche { padding: 36px 22px 30px; }
  .gag__title { font-size: 40px; }
  .gag__prose { font-size:19px; }
  .gag__page-peek-text { font-size: 80px; }
  .gag__actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .gag__actions .genestine-stamp-btn {
    width: 100%;
    padding: 14px 14px;
    font-size: 12px;
    letter-spacing: .1em;
    white-space: normal;
    text-align: center;
  }
}
