/* Bandeau de consentement cookies — commun à toutes les pages.
   Logique dans cookie-consent.js. Les boutons Accepter / Refuser ont
   exprès le même poids visuel (exigence CNIL : refuser aussi simple
   qu'accepter). */

.cc-banner{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:950;width:min(680px,calc(100vw - 32px));background:rgba(15,8,32,0.96);backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,0.09);border-radius:22px;padding:22px 24px;box-shadow:0 24px 60px rgba(0,0,0,0.45);font-family:'Montserrat',sans-serif;color:#fff;animation:ccUp 0.5s cubic-bezier(0.16,1,0.3,1) both;}
@keyframes ccUp{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.cc-title{font-size:13px;font-weight:800;letter-spacing:0.02em;margin-bottom:8px;}
.cc-text{font-size:12px;font-weight:300;line-height:1.7;color:rgba(255,255,255,0.68);margin:0 0 16px;}
.cc-text a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.cc-actions{display:flex;gap:8px;flex-wrap:wrap;}
.cc-btn{flex:1 1 0;min-width:120px;padding:12px 18px;border-radius:40px;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.25s;border:1px solid rgba(255,255,255,0.16);background:rgba(255,255,255,0.06);color:#fff;}
.cc-btn:hover{background:rgba(255,255,255,0.12);}
.cc-btn-main{background:linear-gradient(135deg,#311B92,#4A148C);border-color:transparent;}
.cc-btn-main:hover{background:linear-gradient(135deg,#311B92,#6A1B9A);}
.cc-btn-link{flex:0 0 auto;min-width:0;background:none;border-color:transparent;color:rgba(255,255,255,0.6);text-decoration:underline;text-underline-offset:3px;}
.cc-btn-link:hover{background:none;color:#fff;}
.cc-btn:focus-visible,.cc-switch input:focus-visible+span{outline:2px solid #FF7A33;outline-offset:2px;}

/* Panneau "Personnaliser" */
.cc-prefs{margin:0 0 16px;display:flex;flex-direction:column;gap:8px;}
.cc-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);}
.cc-row-t{font-size:11px;font-weight:700;margin-bottom:3px;}
.cc-row-d{font-size:11px;font-weight:300;line-height:1.5;color:rgba(255,255,255,0.55);}
.cc-always{font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.45);white-space:nowrap;}
.cc-switch{position:relative;flex-shrink:0;width:42px;height:24px;cursor:pointer;}
.cc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.cc-switch span{position:absolute;inset:0;border-radius:24px;background:rgba(255,255,255,0.16);transition:background 0.25s;pointer-events:none;}
.cc-switch span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform 0.25s;}
.cc-switch input:checked+span{background:#9C27B0;}
.cc-switch input:checked+span::after{transform:translateX(18px);}

/* Vidéo bloquée tant que YouTube n'est pas autorisé */
.cc-ph{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;background:radial-gradient(circle at 50% 40%,#2A1450,#1a0e2e 70%);color:#fff;font-family:'Montserrat',sans-serif;}
.cc-ph-ic{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;}
.cc-ph-t{font-size:11px;font-weight:300;line-height:1.5;color:rgba(255,255,255,0.65);max-width:190px;}
.cc-ph-btn{padding:9px 16px;border-radius:40px;border:none;background:#fff;color:#4A148C;font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:transform 0.2s;}
.cc-ph-btn:hover{transform:scale(1.04);}

@media(max-width:600px){
  .cc-banner{bottom:12px;padding:18px;border-radius:18px;}
  .cc-btn{min-width:0;}
  .cc-btn-link{flex:1 1 100%;order:3;padding:6px;}
}
@media(prefers-reduced-motion:reduce){.cc-banner{animation:none;}}

/* Cartes vidéo étroites (formats en grille sur mobile) : bouton sur une ligne */
.cc-ph{container-type:inline-size;}
.cc-ph-btn{white-space:nowrap;}
@container (max-width:170px){
  .cc-ph-t{font-size:10px;}
  .cc-ph-btn{padding:8px 10px;font-size:8.5px;letter-spacing:0.04em;}
}
