/* ========== COOKIE CONSENT BANNER ========== */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:100000;background:#fff;border-top:1px solid rgba(0,0,0,.08);box-shadow:0 -10px 60px rgba(0,0,0,.15);transform:translateY(100%);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner-inner{display:flex;align-items:center;gap:28px;padding:24px 0}
.cookie-banner-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,rgba(165,25,49,.08),rgba(45,42,74,.06));display:flex;align-items:center;justify-content:center;font-size:22px;color:#A51931;flex-shrink:0}
.cookie-banner-text{flex:1}
.cookie-banner-text h4{font-size:16px;font-weight:700;color:#2D2A4A;margin:0 0 6px;font-family:'Inter',sans-serif}
.cookie-banner-text p{font-size:13px;color:#777;margin:0;line-height:1.6}
.cookie-banner-text a{color:#A51931;text-decoration:underline;font-weight:600}
.cookie-banner-actions{display:flex;gap:10px;flex-shrink:0;align-items:center}
.cb-btn{padding:11px 22px;border-radius:12px;font-size:13px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:all .3s ease;border:2px solid transparent;white-space:nowrap}
.cb-btn-reject{background:#f5f5f5;color:#666;border-color:#e8e8e8}
.cb-btn-reject:hover{background:#eee;color:#333}
.cb-btn-customize{background:transparent;color:#2D2A4A;border-color:#2D2A4A}
.cb-btn-customize:hover{background:#2D2A4A;color:#fff}
.cb-btn-accept{background:linear-gradient(135deg,#A51931,#C42A44);color:#fff;box-shadow:0 4px 15px rgba(165,25,49,.25)}
.cb-btn-accept:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(165,25,49,.35)}

/* ========== COOKIE MODAL ========== */
.cookie-modal-overlay{position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:all .3s ease}
.cookie-modal-overlay.show{opacity:1;visibility:visible}
.cookie-modal{background:#fff;border-radius:24px;width:100%;max-width:640px;max-height:85vh;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.2);transform:translateY(30px) scale(.95);transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column}
.cookie-modal-overlay.show .cookie-modal{transform:translateY(0) scale(1)}
.cm-header{padding:28px 28px 20px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.cm-header h3{font-size:1.3rem;font-weight:800;color:#2D2A4A;margin:0;font-family:'Playfair Display',serif}
.cm-close{width:38px;height:38px;border-radius:10px;border:none;background:#f5f5f5;color:#888;font-size:16px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}
.cm-close:hover{background:#A51931;color:#fff}
.cm-body{padding:24px 28px;overflow-y:auto;flex:1}
.cm-category{margin-bottom:20px}
.cm-category:last-child{margin-bottom:0}
.cm-category-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.cm-cat-info{flex:1}
.cm-cat-info h4{font-size:14px;font-weight:700;color:#2D2A4A;margin:0 0 3px;font-family:'Inter',sans-serif;display:flex;align-items:center;gap:8px}
.cm-cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.cm-cat-dot.essential{background:#A51931}
.cm-cat-dot.functional{background:#3498db}
.cm-cat-dot.analytics{background:#f39c12}
.cm-cat-dot.marketing{background:#8e44ad}
.cm-cat-info p{font-size:12px;color:#888;margin:0;line-height:1.5}

/* Toggle Switch */
.cm-toggle{position:relative;width:48px;height:26px;flex-shrink:0}
.cm-toggle input{opacity:0;width:0;height:0;position:absolute}
.cm-toggle-slider{position:absolute;inset:0;background:#ddd;border-radius:26px;cursor:pointer;transition:all .3s ease}
.cm-toggle-slider::before{content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.15)}
.cm-toggle input:checked+.cm-toggle-slider{background:#A51931}
.cm-toggle input:checked+.cm-toggle-slider::before{transform:translateX(22px)}
.cm-toggle.disabled{opacity:.5;pointer-events:none}
.cm-toggle.disabled .cm-toggle-slider{cursor:not-allowed}
.cm-toggle input:focus-visible+.cm-toggle-slider{outline:2px solid #A51931;outline-offset:2px}

.cm-cookie-items{margin-top:10px;padding:12px 14px;background:#fafafa;border-radius:10px;display:none}
.cm-cookie-items.show{display:block}
.cm-cookie-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:12px}
.cm-cookie-item:last-child{border-bottom:none}
.cmci-name{font-family:'Courier New',monospace;font-weight:700;color:#2D2A4A;min-width:90px;font-size:11px}
.cmci-desc{color:#888;flex:1}
.cmci-dur{color:#aaa;font-weight:600;white-space:nowrap;font-size:11px}
.cm-expand-btn{background:none;border:none;color:#A51931;font-size:11px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;padding:4px 0;display:flex;align-items:center;gap:4px;transition:color .3s ease}
.cm-expand-btn:hover{color:#8B1428}
.cm-expand-btn i{font-size:9px;transition:transform .3s ease}
.cm-expand-btn.open i{transform:rotate(180deg)}
.cm-footer{padding:20px 28px;border-top:1px solid #f0f0f0;display:flex;gap:10px;justify-content:flex-end;flex-shrink:0}
.cm-footer .cb-btn{padding:12px 24px}

/* Floating cookie settings button (shown on non-cookie-policy pages) */
.cookie-float-btn{position:fixed;bottom:28px;left:28px;width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid #e8e8e8;box-shadow:0 4px 20px rgba(0,0,0,.1);display:none;align-items:center;justify-content:center;cursor:pointer;z-index:999;color:#A51931;font-size:18px;transition:all .3s ease}
.cookie-float-btn.visible{display:flex}
.cookie-float-btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(165,25,49,.2);border-color:#A51931}

@media(max-width:991px){
.cookie-banner-inner{flex-direction:column;text-align:center;gap:18px;padding:20px 0}
.cookie-banner-actions{flex-wrap:wrap;justify-content:center}
}
@media(max-width:767px){
.cm-header{padding:22px 20px 16px}
.cm-body{padding:18px 20px}
.cm-footer{padding:16px 20px;flex-direction:column}
.cm-footer .cb-btn{width:100%;text-align:center}
.cookie-float-btn{bottom:18px;left:18px;width:42px;height:42px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){
.cookie-banner,.cookie-modal,.cookie-modal-overlay,.cm-toggle-slider,.cm-toggle-slider::before{transition:none}
}