/* Ret-AI-ler — bandeau de consentement · tokens Compote v2 (miroir de index.html), préfixés pour
   ne rien écraser dans les pages. Exigences APD : les trois boutons ont EXACTEMENT le même style
   (aucune couleur ne pousse à accepter), aucun mur : le bandeau ne recouvre que le bas de l'écran,
   la page reste utilisable et un espace équivalent est réservé sous le contenu (--ralc-h). */
.ralc{
  --ralc-surface:#fff; --ralc-line:#dedee6; --ralc-ink:#1a1a22; --ralc-ink-2:#4a4a58; --ralc-soft:#f6f6f8;
  --ralc-coral:#ff6b5c;
  --ralc-font:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  position:fixed;z-index:60;left:16px;right:16px;bottom:16px;max-width:600px;
  max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;
  background:var(--ralc-surface);color:var(--ralc-ink);border:1px solid var(--ralc-line);border-radius:16px;
  box-shadow:0 1px 2px rgba(20,20,34,.04),0 12px 32px -8px rgba(20,20,34,.14),0 40px 90px -24px rgba(20,20,34,.22);
  padding:20px;font:400 15px/1.55 var(--ralc-font);text-align:left;
  animation:ralc-in .22s cubic-bezier(.2,.8,.2,1) both;
}
.ralc.ralc-is-panel{max-width:680px}
html.ralc-open body{padding-bottom:calc(var(--ralc-h, 0px) + 24px)}
.ralc *{box-sizing:border-box}
.ralc [hidden]{display:none!important}
.ralc-title{margin:0 0 8px;font:700 18px/1.3 var(--ralc-font);letter-spacing:-.01em;color:var(--ralc-ink)}
.ralc-title:focus{outline:none}
.ralc-title:focus-visible{outline:2px solid var(--ralc-ink);outline-offset:3px;border-radius:4px}
.ralc-text{margin:0 0 14px;color:var(--ralc-ink-2);font-size:14.5px}
.ralc a{color:var(--ralc-ink);text-decoration:underline;text-underline-offset:2px}
.ralc :focus-visible{outline:2px solid var(--ralc-ink);outline-offset:3px;border-radius:6px}

/* Trois boutons de même poids : même fond, même bordure, même graisse, même taille. */
.ralc-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}
.ralc-btn{appearance:none;min-height:44px;padding:11px 12px;border-radius:12px;border:1.5px solid var(--ralc-ink);
  background:var(--ralc-surface);color:var(--ralc-ink);font:600 14.5px/1.2 var(--ralc-font);cursor:pointer;
  transition:background .15s}
.ralc-btn:hover{background:var(--ralc-soft)}
@media (max-width:520px){
  .ralc{left:12px;right:12px;bottom:12px;padding:14px 14px 16px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
  .ralc-title{font-size:16.5px;margin-bottom:6px}
  .ralc-text{font-size:13.5px;line-height:1.5;margin-bottom:12px}
  .ralc-actions{gap:8px}
  .ralc-btn{padding:8px 6px;font-size:13.5px}
}
@media (max-width:340px){.ralc-actions{grid-template-columns:1fr}}

/* Panneau « Personnaliser » */
.ralc-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ralc-close{appearance:none;flex:none;width:36px;height:36px;margin:-6px -6px 0 0;border-radius:10px;border:1px solid transparent;
  background:transparent;color:var(--ralc-ink);font:400 24px/1 var(--ralc-font);cursor:pointer}
.ralc-close:hover{background:var(--ralc-soft)}
.ralc-cat{border-top:1px solid var(--ralc-line);padding:14px 0 4px}
.ralc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.ralc-cat-title{margin:0;font:600 15.5px/1.3 var(--ralc-font)}
.ralc-cat-title label{cursor:pointer}
.ralc-cat .ralc-text{margin-bottom:8px}
.ralc-always{flex:none;font-size:13px;font-weight:600;color:var(--ralc-ink-2)}
.ralc-details{margin:0 0 10px}
.ralc-details summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ralc-ink);width:max-content;max-width:100%}
.ralc-tools{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.ralc-tools li{background:var(--ralc-soft);border-radius:10px;padding:10px 12px}
.ralc-tool-name{margin:0 0 4px;font-weight:600;font-size:14px}
.ralc-tools dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;font-size:13px}
.ralc-tools dt{color:var(--ralc-ink-2)}
.ralc-tools dd{margin:0;overflow-wrap:anywhere}
@media (max-width:520px){.ralc-tools dl{grid-template-columns:1fr}.ralc-tools dd{margin-bottom:4px}}
.ralc-panel .ralc-actions{position:sticky;bottom:-20px;background:var(--ralc-surface);padding:12px 0 0;margin-top:8px;border-top:1px solid var(--ralc-line)}

/* Interrupteur : case native (role="switch"), visuellement transformée ; désactivé par défaut. */
.ralc-switch{position:relative;flex:none;width:46px;height:28px}
.ralc-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.ralc-track{position:absolute;inset:0;border-radius:999px;background:#8a8a99;transition:background .15s}
.ralc-track::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.ralc-switch input:checked + .ralc-track{background:var(--ralc-ink)}
.ralc-switch input:checked + .ralc-track::after{transform:translateX(18px)}
.ralc-switch input:focus-visible + .ralc-track{outline:2px solid var(--ralc-ink);outline-offset:3px}

@keyframes ralc-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .ralc{animation:none}
  .ralc-btn,.ralc-track,.ralc-track::after{transition:none}
}
@media print{.ralc{display:none}html.ralc-open body{padding-bottom:0}}
