/**
 * @author Gilles Capelluto - MOLDEREZ-CONSULT
 * @purpose-fr Bannière et réglages cookies : boutons « Tout refuser » et « Tout accepter » de même poids, cibles 44 px, thème jour/nuit, contraste AA.
 * @purpose-en Cookie banner and settings: equal-weight "Reject all" and "Accept all", 44 px targets, light/dark theme, AA contrast.
 * @audit-scope asset
 * @inputs-fr Classes .ufm-consent* du balisage injecté par cookie-consent.js ; thème sombre via prefers-color-scheme.
 * @inputs-en Classes .ufm-consent* of the markup injected by cookie-consent.js; dark theme via prefers-color-scheme.
 * @effects-fr Mise en forme uniquement ; aucune écriture, aucun script.
 * @effects-en Styling only; no writes, no script.
 */
.ufm-consent{--c-bg:#fff;--c-ink:#1d1630;--c-muted:#4f4659;--c-line:#e4def0;--c-btn:#f3effa;--c-btn-ink:#2b1d4a;--c-primary:#3b2670;--c-primary-ink:#fff;
  position:fixed;z-index:2147483000;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);
  width:min(640px,calc(100% - 32px));box-sizing:border-box;padding:20px 22px;border:1px solid var(--c-line);border-radius:22px;
  background:var(--c-bg);color:var(--c-ink);box-shadow:0 24px 60px rgba(29,22,48,.22);font:inherit;display:grid;gap:14px}
.ufm-consent h2,.ufm-consent-dialog h2{margin:0;font-size:1.05rem;line-height:1.3;font-weight:700;color:var(--c-ink)}
.ufm-consent p{margin:6px 0 0;font-size:.9rem;line-height:1.55;color:var(--c-muted)}
.ufm-consent a,.ufm-consent-link{color:var(--c-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.ufm-consent-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center}
.ufm-consent-btn{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--c-line);background:var(--c-btn);color:var(--c-btn-ink);font:inherit;font-size:.92rem;font-weight:700;cursor:pointer}
.ufm-consent-btn:hover{border-color:var(--c-primary)}
.ufm-consent-btn.is-primary{background:var(--c-primary);color:var(--c-primary-ink);border-color:var(--c-primary)}
.ufm-consent-btn.is-text{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding:0 10px}
.ufm-consent-btn:focus-visible,.ufm-consent-manage:focus-visible{outline:2px solid #6a4bc4;outline-offset:2px}
.ufm-consent-dialog{--c-bg:#fff;--c-ink:#1d1630;--c-muted:#4f4659;--c-line:#e4def0;--c-btn:#f3effa;--c-btn-ink:#2b1d4a;--c-primary:#3b2670;--c-primary-ink:#fff;
  width:min(560px,calc(100% - 32px));box-sizing:border-box;padding:24px;border:1px solid var(--c-line);border-radius:22px;background:var(--c-bg);color:var(--c-ink);box-shadow:0 24px 60px rgba(29,22,48,.25)}
.ufm-consent-dialog::backdrop{background:rgba(20,14,34,.45)}
.ufm-consent-dialog form{display:grid;gap:14px;margin:0}
.ufm-consent-row{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:14px;border:1px solid var(--c-line);border-radius:16px}
.ufm-consent-row input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--c-primary)}
.ufm-consent-row label{display:grid;gap:3px;cursor:pointer}
.ufm-consent-row strong{font-size:.95rem;color:var(--c-ink)}
.ufm-consent-row span,.ufm-consent-signal{font-size:.86rem;line-height:1.5;color:var(--c-muted)}
.ufm-consent-dialog .ufm-consent-actions{grid-template-columns:1fr 1fr}
.ufm-consent-manage-wrap{margin:12px auto 0;text-align:center}
.ufm-consent-manage{min-height:44px;padding:0 14px;border:0;background:none;color:inherit;font:inherit;font-size:.86rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;opacity:.9}
@media (max-width:599px){
  .ufm-consent{padding:16px;border-radius:18px}
  .ufm-consent-actions{grid-template-columns:1fr 1fr}
  .ufm-consent-btn.is-text{grid-column:1/-1}
}
:root[data-theme="dark"] :is(.ufm-consent,.ufm-consent-dialog){--c-bg:#1d1730;--c-ink:#f4f0fb;--c-muted:#c9c0d8;--c-line:#3a3150;--c-btn:#2a2240;--c-btn-ink:#f4f0fb;--c-primary:#b9a3f5;--c-primary-ink:#1d1730}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) :is(.ufm-consent,.ufm-consent-dialog){--c-bg:#1d1730;--c-ink:#f4f0fb;--c-muted:#c9c0d8;--c-line:#3a3150;--c-btn:#2a2240;--c-btn-ink:#f4f0fb;--c-primary:#b9a3f5;--c-primary-ink:#1d1730}}
@media (forced-colors:active){.ufm-consent,.ufm-consent-dialog,.ufm-consent-btn{border:2px solid CanvasText}}
@media (prefers-reduced-motion:no-preference){.ufm-consent{animation:ufmConsentIn .25s ease-out}@keyframes ufmConsentIn{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translateX(-50%)}}}
