/* ====== COOKIE CONSENT BANNER ====== */
/* Class prefix: cc-* */

.cc-overlay{position:fixed;inset:0;z-index:10000;pointer-events:none}
.cc-banner{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:var(--bg-card);border-top:1px solid var(--border-color);padding:20px 0;transform:translateY(100%);transition:transform var(--transition-smooth);pointer-events:auto}
.cc-banner.cc-visible{transform:translateY(0)}
.cc-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
@media(min-width:768px){.cc-inner{padding:0 40px;flex-wrap:nowrap}}

.cc-text{flex:1 1 100%;font-size:14px;line-height:1.5;color:var(--text-secondary)}
@media(min-width:768px){.cc-text{flex:1 1 0}}
.cc-text a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px}
.cc-text a:hover{color:var(--text-primary)}

.cc-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap;width:100%}
@media(min-width:768px){.cc-actions{width:auto}}
.cc-btn{padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:var(--font-family);cursor:pointer;border:none;transition:opacity var(--transition-fast),transform var(--transition-fast);white-space:nowrap;flex:1}
@media(min-width:768px){.cc-btn{flex:none}}
.cc-btn:hover{opacity:0.9;transform:translateY(-1px)}
.cc-btn:active{transform:translateY(0)}

.cc-btn-accept{background:var(--accent-gradient);color:#fff}
.cc-btn-reject{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}
.cc-btn-settings{background:none;color:var(--accent-2);padding:10px 12px;font-weight:500;text-decoration:underline;text-underline-offset:2px}
.cc-btn-settings:hover{color:var(--text-primary)}

/* Preferences panel */
.cc-prefs{display:none;width:100%;padding-top:16px;border-top:1px solid var(--border-color);margin-top:4px}
.cc-prefs.cc-prefs-open{display:block}

.cc-pref-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-color)}
.cc-pref-item:last-child{border-bottom:none}
.cc-pref-info{flex:1}
.cc-pref-label{font-size:14px;font-weight:600;color:var(--text-primary)}
.cc-pref-desc{font-size:13px;color:var(--text-muted);margin-top:2px}

/* Toggle switch */
.cc-toggle{position:relative;width:44px;height:24px;flex-shrink:0;margin-left:16px}
.cc-toggle input{opacity:0;width:0;height:0;position:absolute}
.cc-toggle-track{position:absolute;inset:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}
.cc-toggle input:checked+.cc-toggle-track{background:var(--accent-1);border-color:var(--accent-1)}
.cc-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform var(--transition-fast);pointer-events:none}
.cc-toggle input:checked~.cc-toggle-thumb{transform:translateX(20px)}
.cc-toggle input:disabled+.cc-toggle-track{opacity:0.6;cursor:not-allowed}

.cc-prefs-save{margin-top:16px;display:flex;justify-content:flex-end}
.cc-btn-save{background:var(--accent-gradient);color:#fff;padding:10px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:var(--font-family);cursor:pointer;border:none;transition:opacity var(--transition-fast)}
.cc-btn-save:hover{opacity:0.9}
