/* =====================================================================
   BLUME — Consentement cookies (RGPD / nLPD)
   ===================================================================== */

/* --- Bandeau principal --- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:9999;
  background:var(--ink,#2F2F30);color:#fff;
  padding:1.4rem clamp(1rem,4vw,3rem);
  box-shadow:0 -10px 40px -12px rgba(0,0,0,.5);
  transform:translateY(110%);transition:transform .5s cubic-bezier(.16,1,.3,1);
  font-family:var(--ff-body,'Roboto',sans-serif);
}
.cookie-banner.is-visible{transform:translateY(0)}
.cookie-banner__inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.cookie-banner__text{flex:1;min-width:280px}
.cookie-banner__text h3{font-family:var(--ff-display,'Montserrat',sans-serif);font-size:1.05rem;margin-bottom:.4rem;color:#fff}
.cookie-banner__text p{font-size:.88rem;line-height:1.55;color:rgba(255,255,255,.78);margin:0}
.cookie-banner__text a{color:var(--blue,#007CC1);text-decoration:underline}
.cookie-banner__actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}

.cookie-btn{
  font-family:var(--ff-display,'Montserrat',sans-serif);font-weight:600;font-size:.9rem;
  padding:.75rem 1.4rem;border-radius:99px;cursor:pointer;border:2px solid transparent;
  transition:all .25s;white-space:nowrap;
}
.cookie-btn--accept{background:var(--blue,#007CC1);color:#fff}
.cookie-btn--accept:hover{background:#0069a5}
/* "Refuser" AUSSI visible qu'"Accepter" (obligation CNIL) */
.cookie-btn--refuse{background:#fff;color:var(--ink,#2F2F30)}
.cookie-btn--refuse:hover{background:#e9e9ec}
.cookie-btn--custom{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cookie-btn--custom:hover{border-color:#fff}

/* --- Panneau de personnalisation (modale) --- */
.cookie-modal{
  position:fixed;inset:0;z-index:10000;display:none;
  align-items:center;justify-content:center;padding:1rem;
  background:rgba(15,15,16,.65);backdrop-filter:blur(4px);
}
.cookie-modal.is-open{display:flex}
.cookie-modal__box{
  background:#fff;border-radius:18px;max-width:620px;width:100%;
  max-height:90vh;overflow-y:auto;padding:clamp(1.5rem,4vw,2.5rem);
  font-family:var(--ff-body,'Roboto',sans-serif);
}
.cookie-modal__box h2{font-family:var(--ff-display,'Montserrat',sans-serif);font-size:1.4rem;color:var(--ink,#2F2F30);margin-bottom:.6rem}
.cookie-modal__box>p{font-size:.9rem;line-height:1.6;color:#55555b;margin-bottom:1.5rem}

.cookie-cat{border:1px solid #e5e5e8;border-radius:12px;padding:1.1rem 1.2rem;margin-bottom:1rem}
.cookie-cat__head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.cookie-cat__title{font-family:var(--ff-display,'Montserrat',sans-serif);font-weight:600;font-size:1rem;color:var(--ink,#2F2F30)}
.cookie-cat__desc{font-size:.84rem;line-height:1.5;color:#6a6a70;margin-top:.5rem}

/* Interrupteur (switch) */
.cookie-switch{position:relative;width:46px;height:26px;flex:0 0 auto}
.cookie-switch input{opacity:0;width:0;height:0}
.cookie-switch__slider{position:absolute;inset:0;background:#c9c9cf;border-radius:99px;transition:.3s;cursor:pointer}
.cookie-switch__slider::before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.3s}
.cookie-switch input:checked + .cookie-switch__slider{background:var(--blue,#007CC1)}
.cookie-switch input:checked + .cookie-switch__slider::before{transform:translateX(20px)}
.cookie-switch input:disabled + .cookie-switch__slider{background:var(--blue,#007CC1);opacity:.5;cursor:not-allowed}

.cookie-modal__actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}
.cookie-modal__actions .cookie-btn{flex:1;min-width:140px;text-align:center}

/* Bouton flottant pour rouvrir les préférences */
.cookie-reopen{
  position:fixed;left:16px;bottom:16px;z-index:9998;
  width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--ink,#2F2F30);color:#fff;font-size:1.2rem;
  box-shadow:0 6px 20px -6px rgba(0,0,0,.4);
  display:none;align-items:center;justify-content:center;transition:transform .2s;
}
.cookie-reopen:hover{transform:scale(1.08)}
.cookie-reopen.is-visible{display:flex}

/* Placeholder pour contenu bloqué (Maps/YouTube non chargés) */
.consent-block{
  background:#f1f1f3;border:1px dashed #c9c9cf;border-radius:14px;
  padding:2.5rem 1.5rem;text-align:center;color:#55555b;
  display:flex;flex-direction:column;align-items:center;gap:1rem;
}
.consent-block p{font-size:.92rem;max-width:420px;line-height:1.5}
.consent-block__btn{
  font-family:var(--ff-display,'Montserrat',sans-serif);font-weight:600;font-size:.88rem;
  padding:.7rem 1.4rem;border-radius:99px;background:var(--blue,#007CC1);color:#fff;
  border:none;cursor:pointer;
}

@media(max-width:640px){
  .cookie-banner__inner{flex-direction:column;align-items:stretch;gap:1.2rem}
  .cookie-banner__actions{justify-content:stretch}
  .cookie-banner__actions .cookie-btn{flex:1;text-align:center}
}
