/* ===== COOKIE BANNER ===== */
.cb{position:fixed;bottom:0;left:0;right:0;z-index:1050;background:var(--navy);color:rgba(255,255,255,.85);transform:translateY(100%);transition:transform .4s ease;box-shadow:0 -4px 24px rgba(0,0,0,.15)}
.cb-visible{transform:translateY(0)}
.cb-inner{max-width:var(--max-width);margin:0 auto;padding:20px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cb-text{flex:1;min-width:280px}
.cb-text p{color:rgba(255,255,255,.8);font-size:.88rem;line-height:1.6;margin:0}
.cb-text a{color:var(--mustard);text-decoration:underline;text-underline-offset:2px}
.cb-text a:hover{color:#d4a53e}
.cb-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.cb-btn{padding:10px 20px;border-radius:8px;font-family:'Inter',sans-serif;font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:all .3s;white-space:nowrap}
.cb-btn-accept{background:var(--mustard);color:var(--navy)}
.cb-btn-accept:hover{background:#d4a53e}
.cb-btn-reject{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.3)}
.cb-btn-reject:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.cb-btn-prefs{background:rgba(255,255,255,.1);color:var(--white)}
.cb-btn-prefs:hover{background:rgba(255,255,255,.18)}
.cb-btn:focus-visible{outline:2px solid var(--mustard);outline-offset:2px}
@media(max-width:768px){
  .cb-inner{flex-direction:column;align-items:stretch;gap:14px;padding:16px}
  .cb-text p{font-size:.82rem}
  .cb-actions{justify-content:stretch}
  .cb-btn{flex:1;text-align:center;padding:12px 14px;font-size:.82rem}
}

/* ===== COOKIE PREFERENCES PANEL ===== */
.cp-overlay{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;padding:24px}
.cp-visible{opacity:1;pointer-events:all}
.cp-panel{background:var(--white);border-radius:20px;max-width:520px;width:100%;max-height:85vh;overflow-y:auto;position:relative;transform:translateY(20px);transition:transform .3s}
.cp-visible .cp-panel{transform:translateY(0)}
.cp-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 0;margin-bottom:8px}
.cp-header h3{font-size:1.2rem;color:var(--navy);margin:0}
.cp-close{background:none;border:none;color:var(--gray);cursor:pointer;padding:4px;line-height:0;transition:color .3s;border-radius:6px}
.cp-close:hover{color:var(--navy)}
.cp-close:focus-visible{outline:2px solid var(--mustard);outline-offset:2px}
.cp-body{padding:16px 28px}
.cp-category{padding:16px 0;border-bottom:1px solid rgba(20,33,61,.08)}
.cp-category:last-child{border-bottom:none}
.cp-cat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.cp-cat-header strong{font-size:.95rem;color:var(--navy)}
.cp-always{font-size:.72rem;font-weight:600;color:var(--mustard);background:rgba(233,185,73,.1);padding:2px 10px;border-radius:20px;margin-left:8px}
.cp-category p{font-size:.84rem;color:var(--gray);line-height:1.6;margin:0}
.cp-toggle{position:relative;width:44px;height:24px;flex-shrink:0}
.cp-toggle input{opacity:0;width:0;height:0;position:absolute}
.cp-slider{position:absolute;inset:0;background:rgba(20,33,61,.15);border-radius:24px;cursor:pointer;transition:background .3s}
.cp-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:var(--white);border-radius:50%;transition:transform .3s;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.cp-toggle input:checked+.cp-slider{background:var(--mustard)}
.cp-toggle input:checked+.cp-slider::before{transform:translateX(20px)}
.cp-toggle input:focus-visible+.cp-slider{outline:2px solid var(--mustard);outline-offset:2px}
.cp-footer{padding:16px 28px 24px;display:flex;gap:10px;justify-content:flex-end}
@media(max-width:768px){
  .cp-panel{margin:16px;max-height:90vh;border-radius:16px}
  .cp-header{padding:20px 20px 0}
  .cp-body{padding:12px 20px}
  .cp-footer{padding:12px 20px 20px;flex-direction:column}
  .cp-footer .cb-btn{width:100%;text-align:center}
}
