/* Cookie banner RGPD */
.cb-banner { position:fixed; bottom:0; left:0; right:0; background:rgba(5,10,24,0.98); backdrop-filter:blur(12px); border-top:1px solid rgba(148,163,184,0.2); color:#f1f5f9; z-index:9999; padding:20px; font-family:'Inter',sans-serif; }
.cb-inner { max-width:900px; margin:0 auto; }
.cb-banner h3 { margin:0 0 8px; font-size:1.1rem; color:#60a5fa; }
.cb-banner p { margin:0 0 14px; font-size:0.9rem; color:#cbd5e1; line-height:1.5; }
.cb-buttons { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.cb-btn { padding:10px 18px; border-radius:8px; font-size:0.9rem; font-weight:600; border:1px solid rgba(148,163,184,0.3); cursor:pointer; font-family:inherit; transition:all 0.2s; }
.cb-btn-outline { background:transparent; color:#f1f5f9; }
.cb-btn-outline:hover { background:rgba(255,255,255,0.06); }
.cb-btn-primary { background:linear-gradient(135deg,#3b82f6,#60a5fa); color:white; border:none; }
.cb-btn-primary:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(59,130,246,0.4); }
.cb-links { font-size:0.8rem; color:#94a3b8; margin:0; }
.cb-links a { color:#60a5fa; text-decoration:none; }
.cb-links a:hover { text-decoration:underline; }

.cb-modal { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:20px; font-family:'Inter',sans-serif; }
.cb-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.75); backdrop-filter:blur(8px); }
.cb-modal-inner { position:relative; background:#0b1528; border:1px solid rgba(148,163,184,0.2); border-radius:16px; padding:32px; max-width:560px; width:100%; color:#f1f5f9; max-height:90vh; overflow-y:auto; }
.cb-modal-close { position:absolute; top:12px; right:14px; background:none; border:none; color:#94a3b8; font-size:1.8rem; cursor:pointer; line-height:1; }
.cb-modal h3 { margin:0 0 10px; color:#60a5fa; font-size:1.3rem; }
.cb-modal > p { color:#cbd5e1; margin-bottom:20px; font-size:0.9rem; }
.cb-categories { display:flex; flex-direction:column; gap:14px; margin-bottom:22px; }
.cb-category { background:rgba(255,255,255,0.03); border:1px solid rgba(148,163,184,0.12); border-radius:10px; padding:14px 16px; }
.cb-cat-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.cb-cat-header label { display:flex; align-items:center; gap:10px; color:#f1f5f9; font-size:0.95rem; cursor:pointer; }
.cb-cat-header input[type="checkbox"] { width:18px; height:18px; accent-color:#3b82f6; cursor:pointer; }
.cb-cat-header input:disabled { cursor:not-allowed; }
.cb-badge { background:rgba(34,197,94,0.15); color:#86efac; font-size:0.7rem; padding:3px 8px; border-radius:4px; font-weight:600; }
.cb-category p { margin:0; font-size:0.85rem; color:#94a3b8; line-height:1.5; }
.cb-modal-actions { display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }

.cb-reopen-btn { position:fixed; bottom:16px; left:16px; width:44px; height:44px; border-radius:50%; background:rgba(11,21,40,0.95); color:white; border:1px solid rgba(148,163,184,0.2); cursor:pointer; z-index:998; font-size:1.3rem; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(8px); transition:transform 0.2s; }
.cb-reopen-btn:hover { transform:scale(1.1); background:rgba(59,130,246,0.2); }

@media (max-width:640px) {
  .cb-banner { padding:16px; }
  .cb-buttons { flex-direction:column; }
  .cb-btn { width:100%; text-align:center; }
  .cb-modal-inner { padding:22px; }
}
