/* Correspondance locale avec les couleurs et rayons du thème Arobase Pixel. */
#consent-manager {
  --white-color: var(--white, #fff);
  --text-color: var(--ink, #181a17);
  --main-color: var(--ink, #181a17);
  --main-color-soft: var(--cream, #f4f1e8);
  --main-color-dark: var(--ink-soft, #252821);
  --focus-color: var(--ink, #181a17);
  --border-radius-xl: var(--radius, 1.5rem);
  --border-radius-sm: var(--radius-sm, .5rem);
  --container-width: 1240px;
}

/* GESTION DU CONSENTEMENT */
.consent-banner {position:fixed;z-index:10020;right:1rem;bottom:1rem;left:1rem;padding:clamp(1rem,2vw,1.5rem);border:1px solid rgba(32,37,34,.18);border-radius:var(--border-radius-xl);background:var(--white-color);color:var(--text-color);box-shadow:0 20px 60px rgba(15,37,22,.24)}
.consent-banner[hidden] {display:none}
.consent-banner-content {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;width:min(100%,var(--container-width));margin-inline:auto}
.consent-banner-copy {display:grid;gap:.45rem;max-width:72ch}
.consent-eyebrow {color:var(--main-color);font-size:.78rem;font-weight:700;letter-spacing:.12em;line-height:1.3;text-transform:uppercase}
.consent-banner h2,.consent-dialog h2 {font-size:clamp(1.25rem,2vw,1.65rem)}
.consent-banner p,.consent-dialog p,.consent-category span {font-size:.9rem;line-height:1.55}
.consent-policy-link {width:max-content;max-width:100%;color:var(--main-color);font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.consent-banner-actions,.consent-dialog-actions {display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}
.consent-button {min-height:44px;padding:.65rem 1rem;border:2px solid var(--main-color);border-radius:var(--border-radius-sm);font-weight:700;line-height:1.2;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.consent-button-choice {background:var(--white-color);color:var(--main-color)}
.consent-button-choice:hover,.consent-button-choice:focus-visible {background:var(--main-color-soft)}
.consent-button-customize {border-color:transparent;background:transparent;color:var(--text-color);text-decoration:underline;text-underline-offset:3px}
.consent-button-customize:hover,.consent-button-customize:focus-visible {color:var(--main-color)}
.consent-button-save {background:var(--main-color);color:var(--white-color)}
.consent-button-save:hover,.consent-button-save:focus-visible {border-color:var(--main-color-dark);background:var(--main-color-dark)}
.consent-dialog {width:min(calc(100% - 2rem),720px);max-height:min(86vh,760px);padding:0;border:0;border-radius:var(--border-radius-xl);background:var(--white-color);color:var(--text-color);box-shadow:0 24px 80px rgba(15,37,22,.3);overflow:auto}
.consent-dialog::backdrop {background:rgba(15,37,22,.68);backdrop-filter:blur(3px)}
.consent-dialog-panel {padding:clamp(1.25rem,4vw,2rem)}
.consent-dialog-header {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.consent-dialog-header>div {display:grid;gap:.3rem}
.consent-dialog-close {display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid rgba(32,37,34,.18);border-radius:50%;background:transparent;cursor:pointer;transition:background-color .18s ease,color .18s ease}
.consent-dialog-close:hover,.consent-dialog-close:focus-visible {background:var(--main-color-soft);color:var(--main-color)}
.consent-dialog-close svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.consent-dialog-intro {margin-top:1rem}
.consent-category-list {display:grid;gap:.75rem;margin-block:1.5rem}
.consent-category {display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem;border:1px solid rgba(32,37,34,.16);border-radius:var(--border-radius-sm);background:#fafbf9}
.consent-category>div,.consent-category>span:first-child {display:grid;gap:.2rem}
.consent-category h3,.consent-category strong {font-size:1rem;line-height:1.35}
.consent-required {flex:0 0 auto;color:var(--main-color);font-size:.78rem!important;font-weight:700}
.consent-switch {position:relative;display:block;flex:0 0 auto;width:48px;height:28px}
.consent-switch input {position:absolute;width:1px;height:1px;opacity:0}
.consent-switch>span {position:absolute;inset:0;border:2px solid #757b77;border-radius:999px;background:#fff;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}
.consent-switch>span::after {position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#757b77;content:"";transition:transform .18s ease,background-color .18s ease}
.consent-switch input:checked+span {border-color:var(--main-color);background:var(--main-color)}
.consent-switch input:checked+span::after {background:var(--white-color);transform:translateX(20px)}
.consent-switch input:focus-visible+span {outline:3px solid var(--focus-color);outline-offset:3px}
.footer-consent-button {padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:.82rem;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;cursor:pointer;transition:text-decoration-color .2s ease}
.footer-consent-button:hover,.footer-consent-button:focus-visible {text-decoration-color:currentColor}
@media (max-width:760px) {
  .consent-banner {right:.75rem;bottom:.75rem;left:.75rem;max-height:calc(100dvh - 1.5rem);overflow:auto}
  .consent-banner-content {grid-template-columns:1fr}
  .consent-banner-actions,.consent-dialog-actions {display:grid;grid-template-columns:1fr 1fr;width:100%}
  .consent-button {width:100%}
  .consent-button-customize,.consent-button-save {grid-column:1/-1}
  .consent-category {align-items:flex-start}
}
