.cc-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9998;opacity:0;transition:opacity .3s ease;pointer-events:none}.cc-backdrop.cc-visible{opacity:1;pointer-events:auto}.cc-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(29,27,27,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:1.25rem 0;font-family:var(--text-family);font-size:var(--text-md-fsize,14px);line-height:var(--text-md-lheight,1.4);transform:translateY(100%);transition:transform .35s ease}.cc-banner.cc-visible{transform:translateY(0)}.cc-banner-inner{max-width:var(--grid-width,1450px);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.cc-banner-text{flex:1;min-width:250px}.cc-banner-text p{margin:0;color:rgba(255,255,255,.85)}.cc-banner-text a{color:var(--color-alt,#00A6DC);text-decoration:underline}.cc-banner-text a:hover{color:#fff}.cc-banner-actions{display:flex;gap:.75rem;flex-wrap:wrap}.cc-btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.4rem;font-family:var(--text-family-bold,'Outfit',sans-serif);font-size:var(--btn-fsize,13px);font-weight:600;text-transform:uppercase;border:2px solid transparent;border-radius:var(--btn-radius,0);cursor:pointer;transition:all .2s ease;line-height:1.2;white-space:nowrap}.cc-btn-accept{background:var(--color-alt,#00A6DC);color:#fff;border-color:var(--color-alt,#00A6DC)}.cc-btn-accept:hover{background:#fff;color:var(--color-alt,#00A6DC)}.cc-btn-reject{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.cc-btn-reject:hover{border-color:#fff}.cc-btn-customize{background:transparent;color:var(--color-alt,#00A6DC);border-color:var(--color-alt,#00A6DC)}.cc-btn-customize:hover{background:var(--color-alt,#00A6DC);color:#fff}

.cc-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);z-index:10000;background:#fff;color:var(--color-black,#1D1D1B);border-radius:var(--card-radius,.5rem);max-width:560px;width:calc(100% - 2rem);max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.cc-modal.cc-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.cc-modal-header{padding:1.5rem 1.5rem 0;display:flex;align-items:center;justify-content:space-between}.cc-modal-header h2{margin:0;font-family:var(--text-family-bold,'Outfit',sans-serif);font-size:1.3rem;font-weight:600;color:var(--color-black,#1D1D1B)}.cc-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-gray-dark,#8B898A);padding:.25rem;line-height:1;transition:color .2s}.cc-modal-close:hover{color:var(--color-black,#1D1D1B)}.cc-modal-body{padding:1.25rem 1.5rem}.cc-modal-body p{margin:0 0 1rem;color:var(--color-gray-dark,#8B898A);font-size:var(--text-md-fsize,14px)}.cc-category{border:1px solid var(--color-gray-medium,#EBEBEB);border-radius:.375rem;padding:1rem;margin-bottom:.75rem;display:flex;align-items:flex-start;gap:1rem}.cc-category-info{flex:1}.cc-category-name{font-family:var(--text-family-bold,'Outfit',sans-serif);font-weight:600;font-size:var(--text-md-fsize,14px);color:var(--color-black,#1D1D1B);margin:0 0 .25rem}.cc-category-desc{font-size:var(--text-sm-fsize,13px);color:var(--color-gray-dark,#8B898A);margin:0}.cc-toggle{position:relative;width:44px;height:24px;flex-shrink:0;margin-top:2px}.cc-toggle input{opacity:0;width:0;height:0;position:absolute}.cc-toggle-slider{position:absolute;inset:0;background:var(--color-gray-medium,#EBEBEB);border-radius:12px;cursor:pointer;transition:background .2s}.cc-toggle-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.cc-toggle input:checked+.cc-toggle-slider{background:var(--color-alt,#00A6DC)}.cc-toggle input:checked+.cc-toggle-slider::before{transform:translateX(20px)}.cc-toggle input:disabled+.cc-toggle-slider{opacity:.6;cursor:not-allowed}.cc-modal-footer{padding:0 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.cc-modal-footer .cc-btn{padding:.55rem 1.2rem}

.cc-settings-link{color:rgba(255,255,255,.5);text-decoration:underline;margin-left:.75rem;font-size:var(--text-sm-fsize,13px)}.cc-settings-link:hover{color:#fff}

@media(max-width:640px){.cc-banner-inner{flex-direction:column;align-items:stretch;text-align:center}.cc-banner-actions{justify-content:center}.cc-modal{max-height:90vh}.cc-modal-footer{flex-direction:column}.cc-modal-footer .cc-btn{width:100%}}
