#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -2px 10px rgba(0,0,0,.1);padding:1.25rem 1rem;z-index:1000;transform:translateY(100%);transition:transform .3s ease}
#cookie-banner.cc-visible{transform:translateY(0)}
.cc-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.cc-text{flex:1;min-width:280px;font-size:.9rem;color:var(--text);line-height:1.5}
.cc-text a{color:var(--primary)}
.cc-buttons{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}
.cc-btn{padding:.6rem 1.25rem;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}
.cc-btn-accept{background:var(--primary);color:#fff}
.cc-btn-accept:hover{background:var(--primary-dark)}
.cc-btn-reject{background:var(--bg-light);color:var(--text);border:1px solid var(--border)}
.cc-btn-reject:hover{background:var(--border)}
.cc-btn-settings{background:transparent;color:var(--primary);border:1px solid var(--primary)}
.cc-btn-settings:hover{background:var(--primary);color:#fff}

#cookie-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1001;align-items:center;justify-content:center}
#cookie-modal.cc-modal-visible{display:flex}
.cc-modal-content{background:var(--bg);border-radius:var(--radius);max-width:500px;width:calc(100% - 2rem);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.5rem;box-shadow:0 4px 20px rgba(0,0,0,.15)}
.cc-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.cc-modal-header h3{font-size:1.15rem;color:var(--text)}
.cc-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);line-height:1;padding:0}
.cc-modal-close:hover{color:var(--text)}
.cc-category{padding:1rem 0;border-bottom:1px solid var(--border)}
.cc-category:last-of-type{border-bottom:none}
.cc-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}
.cc-category-name{font-weight:600;color:var(--text)}
.cc-toggle{position:relative;width:44px;height:24px;flex-shrink:0}
.cc-toggle input{opacity:0;width:0;height:0}
.cc-toggle-slider{position:absolute;inset:0;background:var(--border);border-radius:12px;cursor:pointer;transition:background .2s}
.cc-toggle-slider::before{content:'';position:absolute;left:2px;top:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}
.cc-toggle input:checked+.cc-toggle-slider{background:var(--primary)}
.cc-toggle input:checked+.cc-toggle-slider::before{transform:translateX(20px)}
.cc-toggle input:disabled+.cc-toggle-slider{background:var(--success);cursor:default}
.cc-category-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}
.cc-modal-footer{margin-top:1rem;text-align:right}

@media(max-width:768px){
  .cc-inner{flex-direction:column;align-items:stretch}
  .cc-buttons{justify-content:stretch}
  .cc-btn{flex:1;text-align:center}
}

@media(prefers-color-scheme:dark){
  #cookie-banner{box-shadow:0 -2px 10px rgba(0,0,0,.4)}
  .cc-modal-content{box-shadow:0 4px 20px rgba(0,0,0,.5)}
  #cookie-modal{background:rgba(0,0,0,.7)}
}

/* Legacy production class-name compatibility */
.cookie-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.cookie-text{flex:1;min-width:280px;font-size:.9rem;color:var(--text);line-height:1.5}
.cookie-text a{color:var(--primary)}
.cookie-buttons{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}
#cookie-accept-all,#cookie-reject,#cookie-show-settings,#cookie-save-settings{padding:.6rem 1.25rem;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}
#cookie-accept-all{background:var(--primary);color:#fff}
#cookie-accept-all:hover{background:var(--primary-dark)}
#cookie-reject{background:var(--bg-light);color:var(--text);border:1px solid var(--border)}
#cookie-reject:hover{background:var(--border)}
#cookie-show-settings{background:transparent;color:var(--primary);border:1px solid var(--primary)}
#cookie-show-settings:hover{background:var(--primary);color:#fff}
#cookie-save-settings{background:var(--primary);color:#fff;width:100%;margin-top:1rem}
#cookie-save-settings:hover{background:var(--primary-dark)}

#cookie-settings-modal{display:none;position:fixed;inset:0;z-index:1001}
#cookie-settings-modal.active{display:block}
#cookie-settings-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.cookie-settings-panel{position:relative;background:var(--bg);border-radius:var(--radius);max-width:500px;width:calc(100% - 2rem);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.5rem;box-shadow:0 4px 20px rgba(0,0,0,.15);margin:5vh auto 0}
.cookie-settings-panel h3{font-size:1.15rem;color:var(--text);margin:0 0 1rem}
#cookie-settings-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);line-height:1;padding:0}
#cookie-settings-close:hover{color:var(--text)}
.cookie-category{padding:1rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.cookie-category:last-of-type{border-bottom:none}
.cookie-category-info{flex:1}
.cookie-category-info strong{display:block;font-weight:600;color:var(--text);margin-bottom:.2rem}
.cookie-category-info small{font-size:.8rem;color:var(--text-muted);line-height:1.4}
.cookie-toggle{position:relative;width:44px;height:24px;flex-shrink:0}
.cookie-toggle input{opacity:0;width:0;height:0}
.cookie-toggle .slider{position:absolute;inset:0;background:var(--border);border-radius:12px;cursor:pointer;transition:background .2s}
.cookie-toggle .slider::before{content:'';position:absolute;left:2px;top:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}
.cookie-toggle input:checked+.slider{background:var(--primary)}
.cookie-toggle input:checked+.slider::before{transform:translateX(20px)}
.cookie-toggle input:disabled+.slider{background:var(--success);cursor:default}

@media(max-width:768px){
  .cookie-inner{flex-direction:column;align-items:stretch}
  .cookie-buttons{justify-content:stretch}
  #cookie-accept-all,#cookie-reject,#cookie-show-settings{flex:1;text-align:center}
  .cookie-category{flex-direction:column;align-items:stretch}
}

@media(prefers-color-scheme:dark){
  .cookie-settings-panel{box-shadow:0 4px 20px rgba(0,0,0,.5)}
  #cookie-settings-overlay{background:rgba(0,0,0,.7)}
}

@media print{
  #cookie-banner,#cookie-modal,#cookie-settings-modal{display:none!important}
}
