/* --------------------------------------------------------------------------
   BARRIERE D'AGE
   Se charge dans le <head> et masque la page tant que l'age n'est pas
   confirme. Volontairement sans dependance : ni variables du theme, ni
   polices distantes — si le reste du site ne se charge pas, la barriere doit
   quand meme s'afficher et rester lisible.
   -------------------------------------------------------------------------- */

/* Pose des la premiere ligne de age.js, avant tout rendu : le catalogue ne
   doit pas apparaitre, meme brievement, avant la question. */
.agev-lock{overflow:hidden}
.agev-lock body{overflow:hidden}

.agev{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;
  font-family:Rubik,'Segoe UI',system-ui,sans-serif;opacity:1;transition:opacity .3s ease}
.agev.agev-off{opacity:0;pointer-events:none}

.agev-bg{position:absolute;inset:0;
  background:
    radial-gradient(60% 44% at 50% -8%,rgba(255,255,255,.30),transparent 70%),
    radial-gradient(50% 44% at 50% 108%,rgba(245,176,46,.26),transparent 70%),
    linear-gradient(160deg,#F2696B 0%,#E1567E 40%,#8B5CF6 74%,#3B2E52 100%)}

.agev-card{position:relative;z-index:1;width:min(430px,100%);background:#FFFDFC;
  border-radius:26px;padding:32px 26px 24px;text-align:center;
  box-shadow:0 30px 70px rgba(60,20,50,.42)}

/* Le choix de la langue, EN HAUT de la carte et avant tout le reste : c'est
   la seule chose qu'un visiteur qui ne lit pas l'hébreu peut comprendre sur
   cet écran. Le sélecteur habituel du site vit dans l'en-tête, donc derrière
   ce voile et hors d'atteinte. */
.agev-lang{display:flex;justify-content:center;gap:6px;margin:0 0 18px}
.agev-lang button{border:1px solid #EFE2DC;background:#FBF7F5;color:#7A6A72;
  border-radius:999px;padding:6px 14px;font:600 12.5px/1 inherit;cursor:pointer;
  min-height:32px;transition:border-color .2s,color .2s,background .2s}
.agev-lang button:hover{border-color:#E1567E;color:#2B1E2A}
.agev-lang button.on{background:#2B1E2A;border-color:#2B1E2A;color:#fff}
/* L'anneau de focus : sans lui, on ne sait plus où l'on est au clavier. */
.agev-lang button:focus-visible{outline:2px solid #E1567E;outline-offset:2px}

/* Le logo du magasin est un emblème détaillé, pas une icône : sous ~80 px il
   devient illisible, et un fond teinté le noie encore plus. Il est donc posé
   en grand sur du blanc. */
.agev-logo{width:104px;height:104px;margin:0 auto 14px;border-radius:50%;
  display:grid;place-items:center;overflow:hidden;background:#fff;
  border:1px solid rgba(242,105,107,.16);box-shadow:0 6px 18px rgba(225,86,126,.12)}
.agev-logo img{width:88%;height:88%;object-fit:contain}

.agev-card h1{font-size:22px;line-height:1.25;font-weight:800;color:#2B1E2A;margin:0}
.agev-sub{margin:9px 0 0;font-size:13.5px;line-height:1.55;color:#7A6A72}

.agev-dob{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:9px;margin-top:20px}
.agev-dob select{width:100%;padding:12px 9px;border:1px solid #EFE2DC;border-radius:13px;
  background:#FBF7F5;font:600 14px/1.2 inherit;color:#2B1E2A;cursor:pointer;
  outline:none;transition:border-color .2s,box-shadow .2s}
.agev-dob select:focus{border-color:#F2696B;background:#fff;
  box-shadow:0 0 0 4px rgba(242,105,107,.14)}

.agev-err{margin-top:12px;background:#FDE7E7;color:#A3323C;border-radius:12px;
  padding:10px 13px;font:600 12.5px/1.45 inherit}

.agev-go{width:100%;margin-top:16px;border:0;cursor:pointer;border-radius:14px;height:50px;
  background:linear-gradient(135deg,#F2696B,#E1567E);color:#fff;
  font:800 15px/1 inherit;box-shadow:0 12px 30px rgba(225,86,126,.34);
  transition:transform .18s,box-shadow .18s}
.agev-go:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(225,86,126,.44)}
.agev-go:active{transform:translateY(0)}

.agev-out{display:block;margin:12px auto 0;border:0;background:none;cursor:pointer;
  font:600 12.5px/1 inherit;color:#9A8A92;text-decoration:underline;text-underline-offset:3px}
.agev-out:hover{color:#F2696B}

.agev-note{margin:16px 0 0;font-size:11.5px;line-height:1.5;color:#9A8A92}

/* Avertissement sanitaire : cadre sombre a fort contraste, comme sur les
   emballages, pour qu'il ne se confonde pas avec le reste de la carte. */
.agev-warn{margin:14px -26px -24px;padding:13px 22px;border-radius:0 0 26px 26px;
  background:#2B1E2A;color:#fff;font:700 11.5px/1.5 inherit;letter-spacing:.01em}

/* Ecran de refus. */
.agev-stop{width:74px;height:74px;margin:0 auto 16px;border-radius:50%;
  display:grid;place-items:center;background:#FDE7E7;color:#A3323C;
  font:800 26px/1 inherit;border:2px solid rgba(163,50,60,.28)}

@media(max-width:420px){
  .agev-card{padding:26px 20px 20px}
  .agev-warn{margin:14px -20px -20px;padding:12px 18px}
  .agev-card h1{font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  .agev,.agev-go{transition:none}
}
