/* ============================================================
   CMP YHY — bandeau de consentement cookies (consent-first)
   ============================================================ */
.cmp-banner,.cmp-modal{font-family:"Inter",system-ui,sans-serif;color:#F4F1EA;box-sizing:border-box}
.cmp-banner *,.cmp-modal *{box-sizing:border-box}

/* Bandeau */
.cmp-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:760px;margin:0 auto;
  background:rgba(20,22,25,.92);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(244,241,234,.14);border-radius:18px;padding:22px 24px;box-shadow:0 18px 50px rgba(0,0,0,.5)}
.cmp-banner h2{font-family:"Manrope",sans-serif;font-size:16px;font-weight:600;margin:0 0 8px}
.cmp-banner p{font-size:13.5px;line-height:1.55;color:rgba(244,241,234,.8);margin:0 0 16px}
.cmp-banner p a{color:#B99E6A;text-decoration:underline}
.cmp-actions{display:flex;flex-wrap:wrap;gap:10px}
.cmp-btn{flex:1 1 auto;min-width:140px;cursor:pointer;font:inherit;font-size:13.5px;font-weight:600;
  padding:12px 16px;border-radius:12px;border:1px solid rgba(244,241,234,.2);
  background:rgba(244,241,234,.06);color:#F4F1EA;transition:background .2s,border-color .2s,transform .15s}
.cmp-btn:hover{background:rgba(244,241,234,.12);transform:translateY(-1px)}
.cmp-btn--primary{background:#B99E6A;border-color:#B99E6A;color:#14161A}
.cmp-btn--primary:hover{background:#c7ad7c}
.cmp-btn--ghost{background:transparent}

/* Modale paramètres */
.cmp-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:16px;
  background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.cmp-modal.open{display:flex}
.cmp-modal__box{width:100%;max-width:620px;max-height:88vh;overflow-y:auto;
  background:rgba(22,24,27,.98);border:1px solid rgba(244,241,234,.14);border-radius:20px;padding:28px}
.cmp-modal__box h2{font-family:"Manrope",sans-serif;font-size:19px;font-weight:600;margin:0 0 6px}
.cmp-modal__box>p{font-size:13.5px;line-height:1.55;color:rgba(244,241,234,.75);margin:0 0 20px}
.cmp-cat{border:1px solid rgba(244,241,234,.12);border-radius:14px;padding:16px 18px;margin-bottom:14px}
.cmp-cat__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cmp-cat__head h3{font-size:14.5px;font-weight:600;margin:0}
.cmp-cat__desc{font-size:12.5px;line-height:1.5;color:rgba(244,241,234,.7);margin:8px 0 0}
.cmp-cat__cookies{font-size:11.5px;line-height:1.5;color:rgba(244,241,234,.55);margin:10px 0 0;padding-top:10px;border-top:1px solid rgba(244,241,234,.08)}
.cmp-always{font-size:12px;font-weight:600;color:#B99E6A}
/* toggle */
.cmp-switch{position:relative;width:44px;height:24px;flex:0 0 auto;display:inline-block}
.cmp-switch input{opacity:0;width:0;height:0;position:absolute}
.cmp-slider{position:absolute;inset:0;cursor:pointer;background:rgba(244,241,234,.18);border-radius:24px;transition:.2s}
.cmp-slider::before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#F4F1EA;border-radius:50%;transition:.2s}
.cmp-switch input:checked+.cmp-slider{background:#B99E6A}
.cmp-switch input:checked+.cmp-slider::before{transform:translateX(20px)}
.cmp-modal__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}

/* Gate ClickChauffeur */
.cc-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  min-height:420px;text-align:center;padding:32px 24px;
  background:rgba(20,22,25,.5);border:1px dashed rgba(244,241,234,.2);border-radius:16px}
.cc-gate p{font-size:14px;line-height:1.6;color:rgba(244,241,234,.8);max-width:460px;margin:0}
.cc-gate button{cursor:pointer;font:inherit;font-size:14px;font-weight:600;padding:13px 22px;border-radius:12px;
  background:#B99E6A;border:none;color:#14161A;transition:background .2s,transform .15s}
.cc-gate button:hover{background:#c7ad7c;transform:translateY(-1px)}

/* lien footer */
.cmp-manage{color:inherit;text-decoration:underline;cursor:pointer}

@media(max-width:560px){
  .cmp-btn{flex:1 1 100%}
  .cmp-banner{padding:18px}
}
