/* =============================================================
   Bandeau de consentement aux cookies publicitaires

   Le bandeau se pose en bas de l'écran sans recouvrir le contenu ni
   bloquer la navigation : refuser n'oblige à rien, et le visiteur peut
   continuer à lire s'il ne souhaite pas répondre tout de suite.

   Les deux boutons ont volontairement la même taille, la même hauteur et
   la même zone de clic. « Refuser » n'est ni plus petit, ni plus pâle,
   ni relégué à un second écran — c'est ce que le RGPD exige d'un choix
   libre, et c'est le point sur lequel la plupart des bandeaux fautent.
   ============================================================= */

.consent-root {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 120;                 /* au-dessus du bouton d'appel flottant */
  pointer-events: none;         /* n'intercepte rien quand il est fermé */
}

.consent-root.is-open { pointer-events: auto; }

.consent-banner[hidden] { display: none; }

.consent-banner {
  background: #fff;
  border-top: 3px solid var(--accent, #f2b705);
  box-shadow: 0 -8px 32px rgba(11, 42, 74, .18);
  padding: 1.15rem 0 calc(1.15rem + env(safe-area-inset-bottom));
  animation: consent-monte .28s ease-out both;
}

@keyframes consent-monte {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .consent-banner { animation: none; }
}

.consent-inner {
  width: min(1140px, 100% - 2.5rem);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 1.75rem;
}

.consent-copy { flex: 1 1 auto; min-width: 0; }

.consent-copy h2 {
  margin: 0 0 .3rem;
  font-size: 1rem;
  line-height: 1.3;
  color: var(--primary, #0b2a4a);
}

.consent-copy p {
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
  color: #4a5a6a;
  max-width: 68ch;
}

.consent-copy a {
  color: var(--primary, #0b2a4a);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Les deux boutons partagent exactement la même géométrie. */
.consent-actions {
  flex: 0 0 auto;
  display: flex;
  gap: .65rem;
}

.consent-actions .btn {
  min-width: 8.5rem;
  justify-content: center;
  white-space: nowrap;
}

/* --- Écrans étroits ------------------------------------------
   Les boutons passent en dessous et occupent chacun la moitié de la
   largeur : la parité entre accepter et refuser est conservée. */
@media (max-width: 760px) {
  .consent-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    width: calc(100% - 2rem);
  }

  .consent-actions .btn { flex: 1 1 0; min-width: 0; }
  .consent-copy p { font-size: .875rem; }
}

/* --- Mode contrasté ------------------------------------------ */
@media (prefers-contrast: more) {
  .consent-banner { border-top-width: 4px; }
  .consent-copy p { color: #1c2b3a; }
}
