/* ============================================================
   Bandeau cookies — Baptiste & Magali
   Carte discrète en bas à gauche, aux couleurs du studio.
============================================================ */
.bmc-root{
  --bmc-gold:#E54B8D; --bmc-gold-lt:#F291B9;
  --bmc-navy:#043D64; --bmc-blue2:#085C95; --bmc-blue0:#02273F; --bmc-soft:#B9CFE0;
  --bmc-serif:'Besley', Georgia, 'Times New Roman', serif;
  --bmc-sans:'Roboto','Helvetica Neue', Arial, sans-serif;
  --bmc-jost:'Jost','Futura','Avenir Next','Trebuchet MS',system-ui,sans-serif;

  position:fixed; left:clamp(14px,2.2vw,30px); bottom:clamp(14px,2.2vw,30px);
  z-index:99990; width:min(420px, calc(100vw - 28px));
  opacity:0; transform:translateY(22px) scale(.985); pointer-events:none;
  transition:opacity .45s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
}
.bmc-root.is-vis{opacity:1; transform:none; pointer-events:auto;}

.bmc{
  position:relative; overflow:hidden;
  background:
    radial-gradient(120% 130% at 12% 0%, rgba(8,92,149,.85) 0%, rgba(4,61,100,0) 62%),
    linear-gradient(158deg,#043D64 0%,#02273F 88%);
  border:1px solid rgba(242,145,185,.34);
  border-radius:20px;
  padding:26px 26px 22px;
  color:#fff; font-family:var(--bmc-sans);
  box-shadow:0 30px 70px -26px rgba(2,20,36,.92), 0 0 0 1px rgba(255,255,255,.04) inset;
}
/* filet rose en haut de la carte */
.bmc::before{
  content:''; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg,var(--bmc-gold) 0%,var(--bmc-gold-lt) 46%,rgba(242,145,185,0) 100%);
}

.bmc-x{
  position:absolute; top:12px; right:14px;
  width:30px; height:30px; line-height:1; font-size:20px;
  background:none; border:none; color:rgba(185,207,224,.6); cursor:pointer;
  border-radius:50%; transition:color .25s, background .25s;
}
.bmc-x:hover{color:#fff; background:rgba(255,255,255,.08);}

.bmc-eyebrow{
  font-family:var(--bmc-jost); font-weight:600; font-size:10px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--bmc-gold-lt);
  margin:0 0 10px;
}
.bmc-title{
  font-family:var(--bmc-serif); font-weight:500; font-size:25px; line-height:1.1;
  letter-spacing:-.3px; margin:0 0 12px; color:#fff;
}
.bmc-title em{font-style:italic; color:var(--bmc-gold);}
.bmc-txt{
  font-size:14px; line-height:1.62; color:var(--bmc-soft); margin:0 0 18px;
}

/* ---------- préférences ---------- */
.bmc-prefs[hidden]{display:none;}
.bmc-prefs{
  display:flex; flex-direction:column; gap:2px;
  margin:0 0 18px; padding:4px 0 2px;
  border-top:1px solid rgba(185,207,224,.16);
  border-bottom:1px solid rgba(185,207,224,.16);
  max-height:min(46vh,340px); overflow-y:auto;
}
.bmc-opt{
  display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:start;
  padding:14px 2px; cursor:pointer;
  border-bottom:1px solid rgba(185,207,224,.1);
}
.bmc-opt:last-child{border-bottom:none;}
.bmc-opt input{position:absolute; opacity:0; width:0; height:0;}
.bmc-sw{
  position:relative; flex:none; width:38px; height:21px; margin-top:2px;
  background:rgba(255,255,255,.13); border:1px solid rgba(185,207,224,.3);
  border-radius:999px; transition:background .3s, border-color .3s;
}
.bmc-sw i{
  position:absolute; top:2px; left:2px; width:15px; height:15px;
  background:var(--bmc-soft); border-radius:50%;
  transition:transform .3s cubic-bezier(.16,1,.3,1), background .3s;
}
.bmc-opt input:checked ~ .bmc-sw{background:var(--bmc-gold); border-color:var(--bmc-gold);}
.bmc-opt input:checked ~ .bmc-sw i{transform:translateX(17px); background:#fff;}
.bmc-opt input:focus-visible ~ .bmc-sw{outline:2px solid var(--bmc-gold-lt); outline-offset:3px;}
.bmc-opt--locked .bmc-sw{background:rgba(242,145,185,.4); border-color:rgba(242,145,185,.5);}
.bmc-opt--locked .bmc-sw i{transform:translateX(17px); background:rgba(255,255,255,.75);}
.bmc-opt--locked{cursor:default;}

.bmc-opt-txt{font-size:12.5px; line-height:1.55; color:rgba(185,207,224,.9);}
.bmc-opt-txt b{
  display:flex; align-items:center; gap:8px;
  font-family:var(--bmc-jost); font-weight:600; font-size:13.5px;
  color:#fff; margin-bottom:3px;
}
.bmc-always{
  font-family:var(--bmc-jost); font-weight:500; font-size:9px;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--bmc-gold-lt); border:1px solid rgba(242,145,185,.4);
  border-radius:999px; padding:3px 8px;
}

/* ---------- boutons ---------- */
.bmc-b[hidden]{display:none;}
.bmc-btns{display:flex; flex-wrap:wrap; gap:9px;}
.bmc-b{
  font-family:var(--bmc-jost); font-weight:600; font-size:13.5px; letter-spacing:.02em;
  border-radius:999px; padding:12px 20px; cursor:pointer; border:1px solid transparent;
  transition:background .25s, border-color .25s, color .25s, transform .25s;
}
.bmc-b--yes{
  background:var(--bmc-gold); color:#fff; flex:1 1 auto; min-width:140px;
  box-shadow:0 12px 26px -14px rgba(229,75,141,.9);
}
.bmc-b--yes:hover{background:var(--bmc-gold-lt); transform:translateY(-1px);}
.bmc-b--no,.bmc-b--set{background:transparent; color:#fff; border-color:rgba(185,207,224,.34);}
.bmc-b--no:hover,.bmc-b--set:hover{border-color:#fff; background:rgba(255,255,255,.07);}
.bmc-b:focus-visible{outline:2px solid var(--bmc-gold-lt); outline-offset:3px;}

.bmc-legal{
  margin:15px 0 0; font-size:11.5px; line-height:1.5; color:rgba(185,207,224,.62);
}
.bmc-legal a{color:rgba(185,207,224,.85); text-decoration:none; border-bottom:1px solid rgba(242,145,185,.45);}
.bmc-legal a:hover{color:#fff; border-color:var(--bmc-gold);}

/* ---------- placeholder pour un contenu bloqué ---------- */
.bmc-blocked{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  min-height:180px; padding:28px; text-align:center;
  background:rgba(4,61,100,.5); border:1px dashed rgba(242,145,185,.4); border-radius:16px;
  font-family:var(--bmc-sans); font-size:14px; color:#B9CFE0;
}
.bmc-blocked button{
  font-family:var(--bmc-jost); font-weight:600; font-size:13px; color:#fff;
  background:#E54B8D; border:none; border-radius:999px; padding:11px 22px; cursor:pointer;
}

@media(max-width:520px){
  .bmc{padding:22px 20px 18px; border-radius:18px;}
  .bmc-title{font-size:22px;}
  .bmc-b--yes{min-width:100%;}
}
@media(prefers-reduced-motion:reduce){
  .bmc-root{transition:opacity .2s linear;}
  .bmc-root.is-vis{transform:none;}
  .bmc-sw i,.bmc-b{transition:none;}
}

/* quand le panneau est ouvert, "Tout accepter" repasse en bouton secondaire
   pour que "Enregistrer mes choix" reste l'action principale */
.bmc.is-open .bmc-b[data-act="all"]{
  background:transparent; color:#fff; border-color:rgba(185,207,224,.34); box-shadow:none;
}
.bmc.is-open .bmc-b[data-act="all"]:hover{border-color:#fff; background:rgba(255,255,255,.07);}
