/* Vocal Shoot Consent : theme sombre, pastilles rondes, couleurs reglables
   dans l'admin (variables --vsc-* definies dans le <head>). */
.vsc-root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--vsc-text,#f5f1e9);}
.vsc-root *,.vsc-root *::before,.vsc-root *::after{box-sizing:border-box;}

.vsc-banner{
  position:fixed;left:24px;bottom:24px;z-index:99998;
  width:min(460px,calc(100vw - 24px));max-height:calc(100vh - 48px);overflow:auto;
  background:var(--vsc-bg,#15120f);border:1px solid rgba(214,189,145,0.3);border-radius:20px;
  padding:22px;box-shadow:0 24px 60px rgba(0,0,0,0.55);
}
.vsc-has-consent .vsc-banner{display:none;}

.vsc-title{
  margin:0 0 8px;font-family:Georgia,serif;font-weight:400;
  font-size:22px;line-height:1.2;color:var(--vsc-accent,#d6bd91);
}
.vsc-text{margin:0 0 8px;font-size:14px;line-height:1.55;opacity:0.9;}
.vsc-link{color:var(--vsc-accent,#d6bd91);font-size:13px;text-decoration:underline;text-underline-offset:3px;}

.vsc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.vsc-btn{
  flex:1 1 120px;min-height:44px;padding:0 18px;border-radius:999px;cursor:pointer;
  font-family:inherit;font-size:13px;font-weight:700;letter-spacing:0.02em;
  border:1px solid var(--vsc-accent,#d6bd91);transition:filter 0.2s ease,background 0.2s ease;
}
.vsc-btn-main{background:var(--vsc-accent,#d6bd91);color:var(--vsc-accent-text,#0b0a09);}
.vsc-btn-main:hover{filter:brightness(1.1);}
.vsc-btn-ghost{background:transparent;color:var(--vsc-text,#f5f1e9);border-color:rgba(245,241,233,0.35);}
.vsc-btn-ghost:hover{background:rgba(245,241,233,0.1);}
.vsc-btn-wide{flex-basis:100%;}
.vsc-btn:focus-visible,.vsc-link:focus-visible{outline:2px solid var(--vsc-text,#f5f1e9);outline-offset:2px;}

.vsc-modal{
  position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;
  padding:16px;background:rgba(0,0,0,0.72);
}
.vsc-modal.is-open{display:flex;}
.vsc-panel{
  width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;
  background:var(--vsc-bg,#15120f);border:1px solid rgba(214,189,145,0.3);border-radius:22px;padding:26px;
}
.vsc-cat{padding:14px 0;border-top:1px solid rgba(245,241,233,0.13);}
.vsc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;}
.vsc-cat p{margin:8px 0 0;font-size:13px;line-height:1.55;opacity:0.8;}
.vsc-always{font-size:12px;color:var(--vsc-accent,#d6bd91);font-weight:700;}

.vsc-switch{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0;cursor:pointer;}
.vsc-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;}
.vsc-track{
  position:absolute;inset:0;border-radius:999px;background:rgba(245,241,233,0.2);
  transition:background 0.2s ease;pointer-events:none;
}
.vsc-track::after{
  content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:var(--vsc-text,#f5f1e9);transition:transform 0.2s ease;
}
.vsc-switch input:checked + .vsc-track{background:var(--vsc-accent,#d6bd91);}
.vsc-switch input:checked + .vsc-track::after{transform:translateX(20px);background:var(--vsc-accent-text,#0b0a09);}
.vsc-switch input:focus-visible + .vsc-track{outline:2px solid var(--vsc-text,#f5f1e9);outline-offset:2px;}

.vsc-manage-link{color:inherit;opacity:0.7;font-size:12px;text-decoration:underline;text-underline-offset:3px;}
.vsc-manage-link:hover{opacity:1;}

@media (max-width:600px){
  .vsc-banner{left:12px;bottom:12px;padding:18px;}
  .vsc-panel{padding:20px;}
}

/* Bouton cookie flottant : visible des qu'un choix existe (accepte ou
   refuse), aligne en bas a gauche. Position reglable dans
   l'admin (variables --vsc-fab-left / --vsc-fab-y). */
.vsc-fab{
  display:none;position:fixed;left:var(--vsc-fab-left,24px);bottom:var(--vsc-fab-y,24px);z-index:9500;
  width:48px;height:48px;padding:0;border-radius:50%;align-items:center;justify-content:center;
  background:var(--vsc-bg,#15120f);color:var(--vsc-accent,#d6bd91);
  border:1px solid var(--vsc-accent,#d6bd91);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,0.35);
  transition:background 0.2s ease,color 0.2s ease,transform 0.2s ease;
}
.vsc-has-consent .vsc-fab{display:flex;}
.vsc-fab:hover{background:var(--vsc-accent,#d6bd91);color:var(--vsc-accent-text,#0b0a09);transform:translateY(-2px);}
.vsc-fab:focus-visible{outline:2px solid var(--vsc-text,#f5f1e9);outline-offset:3px;}
.vsc-fab svg{width:24px;height:24px;display:block;}

/* Liste des cookies (repliable) dans la fenetre de choix */
.vsc-details{margin:14px 0 6px;font-size:13px;}
.vsc-details summary{cursor:pointer;color:var(--vsc-accent,#d6bd91);font-weight:600;padding:4px 0;}
.vsc-cookies{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px;}
.vsc-cookies th,.vsc-cookies td{text-align:left;vertical-align:top;padding:6px 8px;border-bottom:1px solid rgba(245,241,233,0.13);color:var(--vsc-text,#f5f1e9);}
.vsc-cookies th{font-weight:700;color:var(--vsc-accent,#d6bd91);}
.vsc-cookies code{font-size:11px;word-break:break-all;color:var(--vsc-accent,#d6bd91);background:none;}
