/**
 * CookieFlame v5.4.0 — Consent Banner Stylesheet
 * ─────────────────────────────────────────────────────────────
 * Loaded on every front-end page via cookieflame_enqueue_assets().
 *
 * Dark mode: JS adds `.cc-dark` to <html> when theme=dark.
 * Icon position: JS adds `.cc-icon-right` to <html> when
 * iconPosition=right (default is left).
 *
 * Custom properties (v5.4.0): the banner's colours, corner radius and
 * font come from the --cc-* properties below. Override them on :root
 * (and :root.cc-dark for the dark theme) to restyle the banner.
 */

:root{--cc-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--cc-radius:20px;--cc-btn-radius:12px;--cc-bg:#fff;--cc-text:#1d1d1f;--cc-text-muted:#555;--cc-link:#0071e3;--cc-focus:#0071e3;--cc-banner-shadow:rgba(0,0,0,.15);--cc-accent:#0071e3;--cc-accent-hover:#005bb5;--cc-accent-text:#fff;--cc-accent-shadow:rgba(0,113,227,.3);--cc-accent-shadow-hover:rgba(0,113,227,.35);--cc-secondary-bg:#e8e8ed;--cc-secondary-hover:#d2d2d7;--cc-secondary-text:#1d1d1f;--cc-save-bg:#34c759;--cc-save-hover:#28a745;--cc-save-text:#fff;--cc-save-shadow:rgba(52,199,89,.3);--cc-save-shadow-hover:rgba(52,199,89,.35);--cc-details:#555;--cc-details-hover:#555;--cc-border:#e8e8ed;--cc-divider:#f0f0f2;--cc-cat-desc:#646970;--cc-always-on:#767676;--cc-toggle-off:#ccc;--cc-toggle-on:#0071e3;--cc-knob:#fff;--cc-powered:#999;--cc-powered-hover:#666;--cc-icon-bg:#1d1d1f;--cc-icon-text:#fff;--cc-icon-shadow:rgba(0,0,0,.25);--cc-icon-shadow-hover:rgba(0,0,0,.35)}
:root.cc-dark{--cc-bg:#1c1c1e;--cc-text:#f5f5f7;--cc-text-muted:#98989d;--cc-link:#2997ff;--cc-banner-shadow:rgba(0,0,0,.5);--cc-accent:#0a84ff;--cc-accent-hover:#0071e3;--cc-accent-shadow:rgba(10,132,255,.35);--cc-accent-shadow-hover:rgba(10,132,255,.4);--cc-secondary-bg:#2c2c2e;--cc-secondary-hover:#3a3a3c;--cc-secondary-text:#f5f5f7;--cc-save-bg:#30d158;--cc-save-hover:#28a745;--cc-save-shadow:rgba(48,209,88,.3);--cc-save-shadow-hover:rgba(48,209,88,.35);--cc-details:#98989d;--cc-details-hover:#c7c7cc;--cc-border:#2c2c2e;--cc-divider:#2c2c2e;--cc-cat-desc:#8e8e93;--cc-always-on:#8e8e93;--cc-toggle-off:#3a3a3c;--cc-toggle-on:#0a84ff;--cc-knob:#f5f5f7;--cc-powered:#aaa;--cc-powered-hover:#ddd;--cc-icon-bg:#f5f5f7;--cc-icon-text:#1d1d1f;--cc-icon-shadow:rgba(255,255,255,.15);--cc-icon-shadow-hover:rgba(255,255,255,.25)}

#cc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999998;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
#cc-overlay.cc-show{opacity:1;pointer-events:auto}
#cc-banner{position:fixed;bottom:0;left:0;right:0;z-index:999999;font-family:var(--cc-font);font-size:14px;line-height:1.5;color:var(--cc-text);background:var(--cc-bg);box-shadow:0 -8px 40px var(--cc-banner-shadow);transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);border-radius:var(--cc-radius) var(--cc-radius) 0 0;max-height:90vh;overflow-y:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
#cc-banner.cc-show{transform:translateY(0)}
#cc-banner,#cc-banner *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
#cc-banner button,#cc-banner a{-webkit-appearance:none;appearance:none;text-shadow:none}
.cc-inner{max-width:720px;margin:0 auto;padding:32px 32px 20px}
.cc-title{font-size:20px !important;font-weight:800 !important;margin:0 0 8px !important;letter-spacing:-.3px;line-height:1.3 !important;color:inherit !important;background:none !important;border:none !important;padding:0 !important;text-transform:none !important}
.cc-text{margin:0 0 20px !important;color:var(--cc-text-muted) !important;font-size:14px !important;font-weight:400 !important;line-height:1.6 !important;padding:0 !important;border:none !important;background:none !important;text-transform:none !important}
.cc-text a{color:var(--cc-link) !important;text-decoration:none !important;font-weight:500 !important;background:none !important;border:none !important;box-shadow:none !important}
.cc-text a:hover{text-decoration:underline !important}
.cc-buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.cc-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;border-radius:var(--cc-btn-radius) !important;border:none !important;font-weight:700 !important;cursor:pointer !important;letter-spacing:-.1px !important;text-transform:none !important;text-decoration:none !important;line-height:1 !important;white-space:nowrap !important;-webkit-appearance:none !important;appearance:none !important;outline:none !important;box-shadow:none !important;text-shadow:none !important;float:none !important;margin:0 !important}
.cc-btn:focus{outline:2px solid var(--cc-focus) !important;outline-offset:2px !important}
.cc-btn:active{transform:scale(.97) !important}
.cc-btn-accept{background:var(--cc-accent) !important;color:var(--cc-accent-text) !important;font-size:15px !important;padding:14px 32px !important;box-shadow:0 2px 8px var(--cc-accent-shadow) !important;transition:background .15s,box-shadow .15s,transform .1s !important}
.cc-btn-accept:hover{background:var(--cc-accent-hover) !important;box-shadow:0 4px 16px var(--cc-accent-shadow-hover) !important;color:var(--cc-accent-text) !important}
.cc-btn-decline{background:var(--cc-secondary-bg) !important;color:var(--cc-secondary-text) !important;font-size:13px !important;padding:11px 22px !important;box-shadow:none !important;transition:background .15s,transform .1s !important}
.cc-btn-decline:hover{background:var(--cc-secondary-hover) !important;color:var(--cc-secondary-text) !important}
.cc-btn-reject{background:var(--cc-secondary-bg) !important;color:var(--cc-secondary-text) !important;font-size:15px !important;padding:14px 32px !important;transition:background .15s,transform .1s !important}
.cc-btn-reject:hover{background:var(--cc-secondary-hover) !important;color:var(--cc-secondary-text) !important}
.cc-btn-save{background:var(--cc-save-bg) !important;color:var(--cc-save-text) !important;font-size:14px !important;padding:13px 28px !important;box-shadow:0 2px 8px var(--cc-save-shadow) !important;transition:background .15s,box-shadow .15s,transform .1s !important}
.cc-btn-save:hover{background:var(--cc-save-hover) !important;box-shadow:0 4px 16px var(--cc-save-shadow-hover) !important;color:var(--cc-save-text) !important}
.cc-btn-details{background:transparent !important;color:var(--cc-details) !important;padding:11px 4px;font-weight:500;font-size:13px;text-decoration:none !important;border:none !important;box-shadow:none !important;cursor:pointer;transition:color .15s !important}
.cc-btn-details:hover{color:var(--cc-details-hover) !important;text-decoration:none !important;background:transparent !important;box-shadow:none !important}
.cc-categories{margin:0 0 16px !important;border:1px solid var(--cc-border) !important;border-radius:14px !important;overflow:hidden !important;display:none}
.cc-categories.cc-open{display:block !important}
.cc-cat{padding:16px 20px !important;border-bottom:1px solid var(--cc-divider) !important;display:flex !important;justify-content:space-between !important;align-items:center !important;gap:16px !important;background:none !important}
.cc-cat:last-child{border-bottom:none !important}
.cc-cat-label{font-weight:700 !important;font-size:14px !important;line-height:1.3 !important;color:inherit !important;text-transform:none !important}
.cc-cat-desc{font-size:12px !important;color:var(--cc-cat-desc) !important;margin-top:3px !important;font-weight:400 !important;line-height:1.4 !important;text-transform:none !important}
.cc-always-on{font-weight:400 !important;font-size:11px !important;color:var(--cc-always-on) !important}
.cc-gpc-note{font-size:12px !important;color:var(--cc-text) !important;margin-top:6px !important;font-weight:600 !important;line-height:1.4 !important;text-transform:none !important}
.cc-toggle{position:relative !important;width:46px !important;height:26px !important;flex-shrink:0 !important;display:block !important}
.cc-toggle input{opacity:0 !important;width:0 !important;height:0 !important;position:absolute !important}
.cc-toggle .cc-slider{position:absolute !important;inset:0 !important;background:var(--cc-toggle-off) !important;border-radius:26px !important;cursor:pointer !important;transition:background .2s !important;border:none !important;box-shadow:none !important}
.cc-toggle .cc-slider:before{content:"" !important;position:absolute !important;width:20px !important;height:20px !important;left:3px !important;bottom:3px !important;background:var(--cc-knob) !important;border-radius:50% !important;transition:transform .2s !important;box-shadow:0 1px 3px rgba(0,0,0,.15) !important}
.cc-toggle input:checked+.cc-slider{background:var(--cc-toggle-on) !important}
.cc-toggle input:checked+.cc-slider:before{transform:translateX(20px) !important}
.cc-toggle input:disabled+.cc-slider{background:var(--cc-toggle-on) !important;opacity:.5 !important;cursor:default !important}
.cc-toggle input:focus-visible+.cc-slider{outline:2px solid var(--cc-focus) !important;outline-offset:2px !important}
.cc-powered{text-align:center !important;padding:0 0 16px !important;font-size:11px !important;color:var(--cc-powered) !important;font-weight:400 !important;background:none !important;border:none !important;margin:0 !important}
.cc-pref-buttons{display:none !important;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.cc-pref-buttons.cc-open{display:flex !important}
.cc-powered a{color:var(--cc-powered) !important;text-decoration:none !important;font-weight:400 !important;background:none !important;border:none !important;box-shadow:none !important}
.cc-powered a:hover{color:var(--cc-powered-hover) !important;text-decoration:none !important}
#cc-icon{position:fixed !important;bottom:18px !important;left:18px !important;z-index:999997 !important;width:48px !important;height:48px !important;border-radius:50% !important;background:var(--cc-icon-bg) !important;color:var(--cc-icon-text) !important;border:none !important;cursor:pointer !important;box-shadow:0 2px 12px var(--cc-icon-shadow) !important;display:none;align-items:center !important;justify-content:center !important;padding:0 !important;transition:transform .15s,box-shadow .15s !important;-webkit-appearance:none !important;appearance:none !important;margin:0 !important;text-decoration:none !important;outline:none !important}
#cc-icon:hover{transform:scale(1.1) !important;box-shadow:0 4px 20px var(--cc-icon-shadow-hover) !important}
#cc-icon:focus-visible{outline:2px solid var(--cc-focus) !important;outline-offset:2px !important}
#cc-icon.cc-show{display:flex !important}
.cc-icon-right #cc-icon{left:auto !important;right:18px !important}
#cc-ccpa-banner{position:fixed;bottom:0;left:0;right:0;z-index:999999;font-family:var(--cc-font);font-size:14px;line-height:1.5;color:var(--cc-text);background:var(--cc-bg);box-shadow:0 -8px 40px var(--cc-banner-shadow);transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);border-radius:var(--cc-radius) var(--cc-radius) 0 0;max-height:90vh;overflow-y:auto}
#cc-ccpa-banner.cc-show{transform:translateY(0)}
#cc-ccpa-banner *{box-sizing:border-box}
.cc-ccpa-inner{max-width:720px;margin:0 auto;padding:20px 32px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cc-ccpa-text{flex:1;min-width:280px}
.cc-ccpa-text p{margin:0;color:var(--cc-text-muted)}
.cc-ccpa-text p.cc-ccpa-gpc{margin:8px 0 0;color:var(--cc-text);font-weight:600}
.cc-ccpa-gpc:before{content:"\2713\00a0"}
.cc-ccpa-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.cc-ccpa-link{color:var(--cc-link);text-decoration:underline;font-size:13px;font-weight:500;white-space:nowrap}
#cc-ccpa-banner .cc-btn-details{padding:11px 0}
.cc-ccpa-choice{display:none}
.cc-ccpa-choice.cc-open{display:block}
.cc-ccpa-choice-inner{max-width:720px;margin:0 auto;padding:20px 32px}
.cc-ccpa-choice-title{font-size:16px;font-weight:800;line-height:1.3;margin:0 0 6px;color:inherit}
.cc-ccpa-choice-text,.cc-ccpa-choice-note{margin:0 0 14px;color:var(--cc-text-muted)}
.cc-ccpa-choice-status{margin:0 0 14px;font-weight:600;color:var(--cc-text)}
.cc-ccpa-choice-note{font-size:12px;margin:10px 0 0}
.cc-ccpa-choice-buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media(max-width:480px){.cc-inner{padding:24px 20px 16px}.cc-title{font-size:18px}.cc-buttons{gap:8px}.cc-btn-accept{font-size:14px;padding:12px 24px}.cc-btn-decline{font-size:12px;padding:10px 18px}.cc-ccpa-inner{padding:16px 20px;gap:12px}.cc-ccpa-text{min-width:0;flex:1 1 100%}.cc-ccpa-actions{flex-wrap:wrap;flex-shrink:1;width:100%;justify-content:space-between}.cc-ccpa-link{white-space:normal}.cc-ccpa-choice-inner{padding:16px 20px}}
