/* ============================================================
   RGPD — Bandeau de consentement
   Reprend l'esthétique de la maquette. Les couleurs viennent des
   réglages via les variables --rgpd-* (injectées par le plugin),
   avec un repli sur la palette d'origine.
   ============================================================ */

.cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 100000;
  background: var(--rgpd-bg, #2E4568);
  color: var(--rgpd-text, #C2D4EA);
  box-shadow: 0 -8px 24px rgba(46, 69, 104, .35);
  transform: translateY(110%);
  transition: transform .25s ease;
  font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
}
.cookie-banner.is-visible { transform: translateY(0); }

/* Variante « en haut » */
.cookie-banner--top {
  bottom: auto; top: 0;
  box-shadow: 0 8px 24px rgba(46, 69, 104, .35);
  transform: translateY(-110%);
}
.cookie-banner--top.is-visible { transform: translateY(0); }

.cookie-banner__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cookie-banner__text strong {
  color: var(--rgpd-text, #FFFFFF);
  font-size: 15px;
  font-weight: 800;
}
.cookie-banner__text p {
  margin: 6px 0 0 0;
  font-size: 13.5px;
  line-height: 1.6;
  font-weight: 500;
  opacity: .92;
}
.cookie-banner__text a {
  color: var(--rgpd-accent, #C7DCF3);
  text-decoration: underline;
}

.cookie-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, .07);
}
.cookie-panel[hidden] { display: none; }

.cookie-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.cookie-toggle input {
  width: 18px; height: 18px;
  accent-color: var(--rgpd-accent, #5F87BE);
  flex: none;
}
.cookie-toggle span {
  opacity: .7;
  font-weight: 500;
  font-size: 12.5px;
}

.cookie-banner__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.cookie-btn {
  font-family: inherit;
  font-weight: 800;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 12px 22px;
  cursor: pointer;
  border: none;
  border-radius: 0;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.cookie-btn--primary {
  background: var(--rgpd-accent, #C7DCF3);
  color: var(--rgpd-accent-text, #3D5C88);
  box-shadow: 3px 3px 0 rgba(255, 255, 255, .25);
}
.cookie-btn--primary:hover { filter: brightness(1.08); }
.cookie-btn--ghost {
  background: transparent;
  color: var(--rgpd-text, #C2D4EA);
  border: 2px solid currentColor;
  opacity: .8;
}
.cookie-btn--ghost:hover { opacity: 1; }

@media (max-width: 780px) {
  .cookie-banner__inner { padding: 16px 16px 18px; }
  .cookie-banner__actions { justify-content: stretch; }
  .cookie-btn { flex: 1 1 auto; padding: 12px 10px; font-size: 13px; }
}


/* ============================================================
   PASTILLE FLOTTANTE — accès permanent aux préférences
   Le RGPD impose que le visiteur puisse revenir sur son choix :
   cette pastille reste accessible sur toutes les pages.
   ============================================================ */

.rgpd-flottant {
  position: fixed;
  right: 0;
  /* Centrage vertical sans transform : une règle du thème pouvait
     l'écraser et la pastille sortait de l'écran. */
  top: 50vh;
  margin-top: -22px;
  z-index: 99998;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border: 0;
  border-radius: 12px 0 0 12px;
  background: var(--rgpd-bg, #2E4568);
  color: var(--rgpd-text, #fff);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: -3px 3px 14px rgba(18, 38, 66, .3);
  transition: padding .18s ease, background .18s ease;
}
.rgpd-flottant__ico { display: flex; flex: none; }
/* Le libellé n'apparaît qu'au survol : la pastille reste discrète. */
.rgpd-flottant__txt {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  transition: max-width .22s ease, opacity .18s ease;
}
.rgpd-flottant:hover,
.rgpd-flottant:focus-visible {
  background: var(--rgpd-accent, #C7DCF3);
  color: var(--rgpd-accent-text, #2B3B52);
  outline: none;
}
.rgpd-flottant:hover .rgpd-flottant__txt,
.rgpd-flottant:focus-visible .rgpd-flottant__txt { max-width: 90px; opacity: 1; }

/* Pendant que le bandeau est ouvert, la pastille s'efface. */
.cookie-banner.is-visible ~ .rgpd-flottant { opacity: 0; pointer-events: none; }

@media (max-width: 640px) {
  /* Plus haut sur mobile : le bandeau et les barres du navigateur
     occupent le bas de l'écran. */
  .rgpd-flottant { top: auto; margin-top: 0; bottom: 84px; padding: 11px 12px; }
  .rgpd-flottant__txt { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rgpd-flottant, .rgpd-flottant__txt { transition: none; }
}
