/* OZECAR — Bandeau consentement cookies (charte ozecar.fr) */
:root{
  --ozc-cream:#F5F0EB;--ozc-ink:#0F141E;--ozc-violet:#5F2DFF;--ozc-yellow:#FAC828;
}
#ozc-banner,#ozc-panel,#ozc-fab{font-family:"DM Sans",system-ui,sans-serif;box-sizing:border-box}
#ozc-banner *,#ozc-panel *{box-sizing:border-box}
#ozc-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:99999;
  max-width:720px;margin:0 auto;background:var(--ozc-cream);color:var(--ozc-ink);
  border:1.5px solid var(--ozc-ink);border-radius:16px;padding:20px 22px;
  box-shadow:0 12px 40px rgba(15,20,30,.18);
}
#ozc-banner h2{font-size:1.05rem;font-weight:700;margin:0 0 6px}
#ozc-banner p{font-size:.9rem;line-height:1.45;margin:0 0 14px;color:#2a3140}
#ozc-banner a{color:var(--ozc-violet);text-decoration:underline;font-weight:500}
.ozc-actions{display:flex;flex-wrap:wrap;gap:10px}
.ozc-btn{font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;
  border-radius:10px;padding:11px 18px;border:1.5px solid var(--ozc-ink);transition:.15s}
.ozc-btn-primary{background:var(--ozc-violet);color:#fff;border-color:var(--ozc-violet)}
.ozc-btn-primary:hover{filter:brightness(1.08)}
.ozc-btn-secondary{background:transparent;color:var(--ozc-ink)}
.ozc-btn-secondary:hover{background:rgba(15,20,30,.06)}
/* refus = MÊME niveau visuel que accepter (exigence CNIL) */
.ozc-actions .ozc-btn{flex:1 1 auto;min-width:150px}
#ozc-panel{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:100000;max-width:520px;margin:0 auto;
  background:var(--ozc-cream);color:var(--ozc-ink);border:1.5px solid var(--ozc-ink);
  border-radius:16px;padding:22px;box-shadow:0 12px 40px rgba(15,20,30,.22)}
#ozc-panel h2{font-size:1.05rem;font-weight:700;margin:0 0 14px}
.ozc-cat{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
  padding:12px 0;border-top:1px solid rgba(15,20,30,.12)}
.ozc-cat:first-of-type{border-top:none}
.ozc-cat strong{display:block;font-size:.92rem;margin-bottom:2px}
.ozc-cat span{font-size:.8rem;color:#4a5160;line-height:1.35}
.ozc-switch{position:relative;width:46px;height:26px;flex:0 0 auto;margin-top:2px}
.ozc-switch input{opacity:0;width:0;height:0}
.ozc-slider{position:absolute;inset:0;background:#c9c2b8;border-radius:26px;transition:.2s;cursor:pointer}
.ozc-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;
  background:#fff;border-radius:50%;transition:.2s}
.ozc-switch input:checked+.ozc-slider{background:var(--ozc-violet)}
.ozc-switch input:checked+.ozc-slider::before{transform:translateX(20px)}
.ozc-switch input:disabled+.ozc-slider{background:var(--ozc-ink);opacity:.55;cursor:not-allowed}
.ozc-panel-actions{display:flex;gap:10px;margin-top:18px}
.ozc-panel-actions .ozc-btn{flex:1}
#ozc-fab{position:fixed;left:16px;bottom:16px;z-index:99998;width:44px;height:44px;
  border-radius:50%;background:var(--ozc-ink);color:var(--ozc-yellow);border:none;cursor:pointer;
  display:none;align-items:center;justify-content:center;font-size:20px;
  box-shadow:0 6px 18px rgba(15,20,30,.25)}
#ozc-fab:hover{filter:brightness(1.15)}
#ozc-overlay{position:fixed;inset:0;background:rgba(15,20,30,.35);z-index:99999;display:none}
@media(max-width:520px){.ozc-actions .ozc-btn,.ozc-panel-actions .ozc-btn{flex:1 1 100%}}
