/* Bandeau de consentement du socle. Un thème l'habille par ces variables (couleurs, police) sans toucher au reste.
   Deux positions : encart en bas à gauche (par défaut) ou bandeau pleine largeur en bas. */
.consentement {
  --c-fond: var(--consentement-fond, #1d1b19);
  --c-texte: var(--consentement-texte, #efede5);
  --c-doux: var(--consentement-doux, #c9c1b4);
  --c-accent: var(--consentement-accent, #daaa62);
  --c-accent-texte: var(--consentement-accent-texte, #1d1b19);
  position: fixed; z-index: 1000; left: 16px; right: 16px; bottom: 16px;
  max-width: 560px; max-height: calc(100vh - 32px); overflow: auto;
  padding: 22px 22px 18px; background: var(--c-fond); color: var(--c-texte);
  border: 1px solid color-mix(in srgb, var(--c-accent) 45%, transparent);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .35);
  font-size: 15px; line-height: 1.55; font-family: var(--consentement-police, inherit);
  text-align: left;
}
.consentement[hidden] { display: none; }
.consentement__titre { margin: 0 0 6px; font-family: var(--consentement-police-titre, inherit); font-size: var(--consentement-taille-titre, 17px); font-weight: 700; line-height: 1.2; letter-spacing: .04em; color: var(--c-accent); }
.consentement__marque { margin-left: 8px; padding: 2px 6px; border: 1px solid currentColor; font-family: var(--consentement-police, inherit); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; vertical-align: middle; }
.consentement__texte { margin: 0; color: var(--c-doux); }
.consentement__texte a { color: var(--c-accent); text-underline-offset: 3px; }
.consentement__detail { display: grid; gap: 10px; margin-top: 14px; }
.consentement__detail[hidden] { display: none; }
.consentement__case { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 14px; color: var(--c-doux); cursor: pointer; }
.consentement__case strong { color: var(--c-texte); }
.consentement__case input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--c-accent); }
.consentement__case--fixe { cursor: default; padding-left: 28px; }
.consentement__attente { display: block; margin-top: 2px; font-size: 12px; font-style: normal; letter-spacing: .04em; color: var(--c-accent); opacity: .85; }
.consentement__boutons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.consentement__bouton {
  min-height: 44px; padding: 10px 12px; border: 1px solid var(--c-accent); background: transparent; color: var(--c-texte);
  font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.2; letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
}
.consentement__bouton:hover, .consentement__bouton:focus-visible { background: var(--c-accent); color: var(--c-accent-texte); }

/* Bandeau pleine largeur : le texte à gauche, les boutons à droite */
.consentement--bandeau { left: 0; right: 0; bottom: 0; max-width: none; border-width: 1px 0 0; padding: 20px max(16px, calc((100vw - 1280px) / 2)); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 40px; align-items: center; }
.consentement--bandeau .consentement__boutons { margin-top: 0; grid-template-columns: repeat(3, auto); }
.consentement--bandeau .consentement__corps { max-width: 760px; }

@media (max-width: 720px) {
  .consentement--bandeau { grid-template-columns: 1fr; }
  .consentement--bandeau .consentement__boutons { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .consentement--encart { left: 8px; right: 8px; bottom: 8px; padding: 18px 16px 14px; }
  .consentement__boutons { grid-template-columns: 1fr 1fr; }
  .consentement__bouton[data-action="personnaliser"] { grid-column: 1 / -1; order: 3; }
}
