/* ── Bandeau de consentement cookies (site public ALKAE) ─────────────────────
   Chargé uniquement sur les pages publiques, en prod, visiteur déconnecté
   (cf. views/partials/public_tracking.php).

   Valeurs en dur : les mini-layouts publics n'héritent d'aucun token — ils ne
   chargent pas app.css et définissent chacun leurs propres variables (cf. la
   même contrainte dans public_footer_nav.php). Palette = CHARTE.md.

   Exigences CNIL traduites en CSS :
   - « Refuser » aussi simple qu'« Accepter » → les deux boutons ont EXACTEMENT
     la même taille, la même graisse et le même rayon. Seule la couleur diffère,
     et les deux sont pleins : aucun n'est relégué au rang de lien discret.
   - Pas de consentement implicite → aucun scrim, aucun blocage du défilement.
     Le visiteur peut lire le site sans choisir, on ne mesure simplement rien.
   ────────────────────────────────────────────────────────────────────────── */

.akc {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 2147483000;         /* au-dessus des barres fixes des mini-layouts */
  width: 400px;
  max-width: calc(100% - 32px);
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(11, 18, 32, .16), 0 4px 10px rgba(11, 18, 32, .06);
  padding: 20px;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color: #111827;
  animation: akc-in .28s cubic-bezier(.2, .8, .3, 1) both;
}
.akc[hidden] { display: none; }

@keyframes akc-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .akc { animation: none; }
}

.akc-h { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; }
.akc-ico {
  width: 28px; height: 28px; border-radius: 9px; flex: 0 0 28px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #FFF1EE; color: #E8513A;
}
.akc-ico svg { width: 15px; height: 15px; display: block; }
.akc-t { font-size: 14.5px; font-weight: 800; letter-spacing: -.01em; }

.akc-p { margin: 0 0 14px; font-size: 13px; line-height: 1.55; color: #374151; }
.akc-p a { color: #E8513A; font-weight: 600; text-decoration: none; white-space: nowrap; }
.akc-p a:hover { text-decoration: underline; }

/* Les deux boutons sont strictement équivalents en surface et en poids. */
.akc-acts { display: flex; gap: 9px; }
.akc-btn {
  flex: 1 1 0;
  min-width: 0;
  padding: 10px 14px;
  border: 0;
  border-radius: 10px;
  font: inherit;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  text-align: center;
  transition: background .15s, transform .08s;
}
.akc-btn:active { transform: translateY(1px); }
.akc-btn:focus-visible { outline: 2px solid #0B1220; outline-offset: 2px; }
.akc-yes { background: #FF6B52; color: #FFFFFF; }
.akc-yes:hover { background: #E8513A; }
.akc-no  { background: #E9ECF1; color: #1F2937; }
.akc-no:hover { background: #DDE1E8; }

.akc-foot { margin: 11px 0 0; font-size: 11.5px; color: #9CA3AF; line-height: 1.45; }

@media (max-width: 560px) {
  .akc { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 17px; border-radius: 14px; }
  .akc-acts { flex-direction: column; }
}
