/* ==========================================================================
   Bandeau cookies (thème 1.0.7)
   Carte flottante en bas à gauche, sans voile : la page reste utilisable
   (bandeau non bloquant). Mise en page inspirée du composant « Cookie
   Consent » de 21st.dev (Mohammad Shehadeh, MIT), transposée aux couleurs
   et polices du site. Règle du PFPDT (ch. 3.13.2) : les trois boutons ont
   exactement le même aspect ; aucune couleur ne pousse vers « accepter ».
   ========================================================================== */
.eq-cookies{position:fixed;left:1rem;bottom:1rem;z-index:70;
  width:min(31rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);
  overflow-y:auto;overscroll-behavior:contain;
  background:var(--bg);color:var(--text2);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 22px 60px -18px rgba(28,33,64,.38),0 2px 6px rgba(28,33,64,.06);
  padding:1.5rem 1.5rem 1.35rem;font-family:var(--body);font-weight:400;line-height:1.6;
  animation:eq-cookies-entree .45s var(--e) both}
.eq-cookies[hidden]{display:none!important}
@keyframes eq-cookies-entree{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.eq-cookies-titre{font-family:var(--disp);font-weight:400;font-size:1.3rem;line-height:1.2;
  color:var(--navy);letter-spacing:-.01em;margin:0 0 .6rem;outline:none}
/* le titre reçoit le focus à l'ouverture (fenêtre, panneau rouvert) pour que le lecteur d'écran
   l'annonce ; il n'est pas cliquable, donc pas de cadre : les boutons, eux, gardent le leur */
.eq-cookies-titre:focus,.eq-cookies-titre:focus-visible{outline:none}
.eq-cookies-texte{font-size:.86rem;color:var(--text2);margin:0}
.eq-cookies a{color:var(--orange-txt);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;white-space:nowrap}
.eq-cookies a:hover{color:var(--navy)}

/* Panneau des catégories */
.eq-cookies-panneau{margin-top:1.1rem;border-top:1px solid var(--line);padding-top:1rem}
.eq-cookies-panneau[hidden]{display:none}
.eq-cookies-sous-titre{font-family:var(--body);font-weight:500;font-size:.75rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim);margin:0 0 .7rem;line-height:1.4}
.eq-cookies-cat{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  border:1px solid var(--line);border-radius:10px;padding:.8rem .9rem;margin-bottom:.55rem}
.eq-cookies-cat-txt{min-width:0}
.eq-cookies-cat-nom{font-weight:500;font-size:.9rem;color:var(--navy);margin-right:.5rem}
.eq-cookies-etiquette{display:inline-block;font-size:.66rem;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:2rem;
  padding:.05rem .5rem;vertical-align:.1em}
.eq-cookies-cat p{font-size:.8rem;color:var(--dim);margin:.3rem 0 0;line-height:1.55}
.eq-cookies-vide{display:block;margin-top:.2rem;font-style:italic}

/* Interrupteur : une vraie case à cocher (clavier, lecteur d'écran), dessinée */
.eq-cookies-bascule{appearance:none;-webkit-appearance:none;flex:none;position:relative;
  width:2.6rem;height:1.5rem;margin:.1rem 0 0;border-radius:2rem;cursor:pointer;
  background:var(--bg);border:1.5px solid var(--dim);transition:background .25s var(--e),border-color .25s var(--e)}
.eq-cookies-bascule::after{content:"";position:absolute;top:50%;left:.2rem;width:1rem;height:1rem;
  border-radius:50%;background:var(--dim);transform:translateY(-50%);transition:transform .25s var(--e),background .25s var(--e)}
.eq-cookies-bascule:checked{background:var(--navy);border-color:var(--navy)}
.eq-cookies-bascule:checked::after{background:#fff;transform:translate(1.05rem,-50%)}
.eq-cookies-bascule:disabled{cursor:not-allowed;opacity:.55}
.eq-cookies-bascule:focus-visible{outline:2px solid var(--orange-txt);outline-offset:3px}

/* Boutons : trois boutons identiques, même largeur (grille), même couleur */
.eq-cookies-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.4rem,1fr));gap:.55rem;margin-top:1.15rem}
.eq-cookies-actions-panneau{margin-top:.6rem}
.eq-cookies-bouton{font-family:var(--body);font-weight:500;font-size:.84rem;letter-spacing:.01em;line-height:1.25;
  min-height:2.75rem;padding:.65rem 1rem;border-radius:2rem;cursor:pointer;
  background:var(--bg);color:var(--navy);border:1.5px solid var(--navy);
  transition:background .25s var(--e),color .25s var(--e)}
/* survol réservé aux souris : sur téléphone il resterait collé au bouton touché */
@media(hover:hover){.eq-cookies-bouton:hover{background:var(--navy);color:#fff}}
.eq-cookies-bouton:focus-visible{outline:2px solid var(--orange-txt);outline-offset:3px}
.eq-cookies-bouton[hidden]{display:none}

/* Lien « Paramètres des cookies » du pied de page : un bouton qui a l'air d'un lien */
footer .bas .eq-cookies-lien{font:inherit;letter-spacing:inherit;text-transform:inherit;
  background:none;border:0;padding:.35rem 0;cursor:pointer;color:rgba(255,255,255,.6);
  transition:color .3s var(--e)}
footer .bas .eq-cookies-lien:hover{color:#fff}
footer .bas .eq-cookies-lien:focus-visible{outline:2px solid #fff;outline-offset:3px}
html:not(.js) .eq-cookies-lien{display:none}

/* ---------- Positions (1.0.8), réglées dans l'admin, onglet Bandeau ---------- */
/* 2 · en bas à droite : la même carte, côté droit */
.eq-cookies--droite{left:auto;right:1rem}

/* 3 · barre pleine largeur : texte à gauche, boutons à droite (empilés sur téléphone) */
.eq-cookies--barre{left:0;right:0;bottom:0;width:auto;border-radius:0;border-width:1px 0 0;
  box-shadow:0 -12px 40px -18px rgba(28,33,64,.35);padding:1.3rem var(--pad) 1.2rem}
@media(min-width:900px){
  .eq-cookies--barre{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(1.5rem,4vw,3.5rem);
    grid-template-areas:"titre actions" "texte actions" "panneau panneau";align-items:center}
  .eq-cookies--barre .eq-cookies-titre{grid-area:titre;margin-bottom:.35rem}
  .eq-cookies--barre .eq-cookies-texte{grid-area:texte;max-width:72ch}
  .eq-cookies--barre .eq-cookies-panneau{grid-area:panneau}
  .eq-cookies--barre .eq-cookies-actions:not(.eq-cookies-actions-panneau){grid-area:actions;margin-top:0;
    grid-template-columns:repeat(3,minmax(8.4rem,1fr))}
  .eq-cookies--barre .eq-cookies-cat-liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
  .eq-cookies--barre .eq-cookies-cat-liste .eq-cookies-cat{margin-bottom:0}
  .eq-cookies--barre .eq-cookies-actions-panneau{grid-template-columns:minmax(8.4rem,16rem);justify-content:end}
}

/* 4 · au milieu : fenêtre centrée, léger voile derrière (la page reste lisible) */
.eq-cookies--centre{inset:0;margin:auto;height:fit-content;width:min(36rem,calc(100vw - 2rem))}
.eq-cookies-voile{position:fixed;inset:0;z-index:69;background:rgba(28,33,64,.28)}
.eq-cookies-voile[hidden]{display:none}

/* Téléphone : les cartes de gauche et de droite prennent toute la largeur en bas */
@media(max-width:480px){
  .eq-cookies--gauche,.eq-cookies--droite{left:.75rem;right:.75rem;bottom:.75rem;width:auto}
  .eq-cookies--centre{width:calc(100vw - 1.5rem)}
  .eq-cookies{padding:1.2rem 1.1rem 1.1rem}
  .eq-cookies--barre{padding:1.1rem 1.1rem 1rem}
  .eq-cookies-titre{font-size:1.18rem}
}
/* ---------- Bouton flottant (1.0.9) : rouvre les réglages une fois le choix fait ----------
   Rond de 44 px (cible tactile), sous l'en-tête et le menu du téléphone (z-index 55 < 60),
   au-dessus de la barre d'accueil des téléphones (zone sûre). */
.eq-cookies-flottant{position:fixed;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:55;
  width:44px;height:44px;border-radius:50%;padding:0;display:grid;place-items:center;cursor:pointer;
  background:var(--bg);color:var(--navy);border:1px solid var(--line);
  box-shadow:0 6px 18px -6px rgba(28,33,64,.35);transition:color .25s var(--e),border-color .25s var(--e),transform .25s var(--e)}
.eq-cookies-flottant--gauche{left:calc(1rem + env(safe-area-inset-left,0px))}
.eq-cookies-flottant--droite{right:calc(1rem + env(safe-area-inset-right,0px))}
.eq-cookies-flottant[hidden]{display:none}
@media(hover:hover){.eq-cookies-flottant:hover{color:var(--orange-txt);border-color:var(--navy);transform:translateY(-2px)}}
.eq-cookies-flottant:focus-visible{outline:2px solid var(--orange-txt);outline-offset:3px}
body.fige .eq-cookies-flottant{display:none}
/* en bas de page, le bouton se pose dans la marge du pied de page, jamais sur ses liens */
html.eq-cookies-flottant-actif footer{padding-bottom:calc(clamp(2.4rem,4vw,3.4rem) + 44px + 1rem + env(safe-area-inset-bottom,0px))}
@media(max-width:480px){.eq-cookies-flottant{bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}
  .eq-cookies-flottant--gauche{left:calc(.75rem + env(safe-area-inset-left,0px))}
  .eq-cookies-flottant--droite{right:calc(.75rem + env(safe-area-inset-right,0px))}}

@media print{.eq-cookies,.eq-cookies-flottant{display:none!important}}
