/* ==========================================================================
   Bandeau de consentement — charte « Blueprint » du thème.
   Les jetons du thème sont réutilisés quand ils existent, avec un repli
   littéral : l'extension doit rester lisible même sous un autre thème.
   ========================================================================== */
.swb-cmp{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:200;
  padding:0 clamp(12px,3vw,24px) clamp(12px,3vw,24px);
  transform:translateY(16px);
  opacity:0;
  transition:transform .3s ease, opacity .3s ease;
  pointer-events:none;
}
.swb-cmp--visible{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.swb-cmp[hidden]{ display:none }

.swb-cmp__boite{
  max-width:var(--page,1200px);
  margin-inline:auto;
  background:var(--canvas,#fff);
  border:1px solid var(--gridline,#e3dfd6);
  border-radius:var(--r-card,16px);
  box-shadow:0 1px 2px rgba(38,38,38,.05), 0 12px 36px rgba(38,38,38,.10);
  padding:clamp(18px,2.4vw,26px);
}

.swb-cmp__titre{
  margin:0 0 8px;
  font-size:16px;
  font-weight:500;
  letter-spacing:-.01em;
  color:var(--ink,#262626);
}
.swb-cmp__texte{
  margin:0 0 18px;
  font-size:14px;
  line-height:1.6;
  color:var(--slate,#6b6b62);
  max-width:78ch;
}
.swb-cmp__texte a{ color:var(--ember,#ff4d00) }

.swb-cmp__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.swb-cmp__btn{
  font:inherit;
  font-size:14px;
  padding:10px 18px;
  border-radius:var(--r-pill,999px);
  border:1px solid var(--gridline,#e3dfd6);
  background:var(--canvas,#fff);
  color:var(--ink,#262626);
  cursor:pointer;
  transition:border-color .15s, color .15s, background .15s;
}
.swb-cmp__btn:hover{
  border-color:var(--ember,#ff4d00);
  color:var(--ember,#ff4d00);
}
.swb-cmp__btn--go{
  background:var(--ember,#ff4d00);
  border-color:var(--ember,#ff4d00);
  color:#fff;
}
.swb-cmp__btn--go:hover{
  background:var(--ink,#262626);
  border-color:var(--ink,#262626);
  color:#fff;
}
.swb-cmp__btn:focus-visible{
  outline:2px solid var(--ember,#ff4d00);
  outline-offset:2px;
}

/* Vue « choisir » */
.swb-cmp__ligne{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  padding:12px 0;
  border-top:1px solid var(--gridline,#e3dfd6);
  font-size:13.5px;
  line-height:1.6;
  color:var(--slate,#6b6b62);
  cursor:pointer;
}
.swb-cmp__ligne strong{
  color:var(--ink,#262626);
  font-weight:500;
}
.swb-cmp__ligne input{
  margin-top:3px;
  accent-color:var(--ember,#ff4d00);
}
.swb-cmp__vue[data-vue="choix"] .swb-cmp__actions{
  margin-top:18px;
  justify-content:space-between;
}

/* Bouton de réouverture, dans le pied de page */
.swb-cmp__rouvrir{
  background:none;
  border:0;
  padding:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.swb-cmp__rouvrir:hover{ color:var(--ember,#ff4d00) }

@media(max-width:560px){
  .swb-cmp__actions{ justify-content:stretch }
  .swb-cmp__btn{ flex:1 1 auto; text-align:center }
}
@media(prefers-reduced-motion:reduce){
  .swb-cmp{ transition:none }
}
