:root{--ccg-banner-bg:#fff;--ccg-banner-text:#1f2937;--ccg-banner-border:#e5e7eb;--ccg-accept-bg:#10b981;--ccg-accept-color:#fff;--ccg-decline-bg:#f3f4f6;--ccg-decline-color:#6b7280;--ccg-customize-bg:#fff;--ccg-customize-color:#374151;--ccg-toggle-on:#10b981;--ccg-toggle-off:#d1d5db;--ccg-modal-bg:#fff;--ccg-modal-header-bg:#f9fafb;--ccg-overlay:rgba(0,0,0,.55);--ccg-save-bg:#10b981;--ccg-save-color:#fff;--ccg-accept-all-bg:#10b981;--ccg-accept-all-color:#fff;--ccg-icon-color:#10b981;--ccg-reopen-bg:#fff;--ccg-reopen-icon-color:#10b981;--ccg-reopen-x:20px;--ccg-reopen-y:20px;--ccg-font:inherit;--ccg-fz:14px;--ccg-fz-title:18px;--ccg-radius:14px;--ccg-shadow:0 8px 32px rgba(0,0,0,.12)}.ccg-banner *,.ccg-overlay *{box-sizing:border-box;margin:0;padding:0;font-family: var(--ccg-font)}.ccg-banner{position:fixed;left:0;right:0;z-index:999990;padding:0 16px 16px;pointer-events:none}.ccg-banner--top{top:0;padding:16px 16px 0}.ccg-banner--bottom{bottom:0}.ccg-banner[aria-hidden="true"]{display:none}.ccg-banner.ccg-anim-slide.ccg-banner--bottom{transform: translateY(calc(100% + 32px))}.ccg-banner.ccg-anim-slide.ccg-banner--top{transform:translateY(calc(-100% - 32px))}.ccg-banner.ccg-anim-fade{opacity:0}.ccg-banner{transition:transform .45s cubic-bezier(.16,1,.3,1) , opacity .4s ease}.ccg-banner.ccg--visible{transform:translateY(0)!important;opacity:1!important;pointer-events:auto}.ccg-banner__inner{max-width:1200px;margin:0 auto;background:var(--ccg-banner-bg);border:1px solid var(--ccg-banner-border);border-radius:var(--ccg-radius);padding:18px 22px;display:flex;align-items:center;gap:20px;box-shadow:var(--ccg-shadow)}.ccg-banner__content{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:0}.ccg-banner__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.ccg-svg-icon path{fill:var(--ccg-icon-color);transition:fill .2s ease}.ccg-reopen .ccg-svg-icon path{fill:var(--ccg-reopen-icon-color)}.ccg-banner__text{flex:1;min-width:0}.ccg-banner__title{font-size:var(--ccg-fz-title)!important;font-weight:600!important;color:var(--ccg-banner-text)!important;line-height:1.3!important;margin-bottom:5px!important}.ccg-banner__desc{font-size:var(--ccg-fz)!important;color:var(--ccg-banner-text)!important;opacity:.72;line-height:1.55!important}.ccg-link{color:var(--ccg-accept-bg)!important;text-decoration:underline!important;margin-left:4px}.ccg-banner__actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;align-items:center}.ccg-btn{display:inline-flex;align-items:center;justify-content:center;font-family: var(--ccg-font) !important;font-size:var(--ccg-fz)!important;font-weight:500;line-height:1;padding:10px 20px;border-radius:8px;border:none;cursor:pointer;text-decoration:none!important;white-space:nowrap;transition:filter .18s ease , transform .15s ease , box-shadow .18s ease;-webkit-appearance:none}.ccg-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.14)}.ccg-btn:active{transform:translateY(0);filter:brightness(.96)}.ccg-btn--primary{background:var(--ccg-accept-bg)!important;color:var(--ccg-accept-color)!important}.ccg-btn--ghost{background:var(--ccg-decline-bg)!important;color:var(--ccg-decline-color)!important}.ccg-btn--outline{background:var(--ccg-customize-bg)!important;color:var(--ccg-customize-color)!important;border:1.5px solid var(--ccg-banner-border)!important}.ccg-btn--save{background:var(--ccg-save-bg)!important;color:var(--ccg-save-color)!important}.ccg-btn--primary#ccg-accept-all-modal{background:var(--ccg-accept-all-bg)!important;color:var(--ccg-accept-all-color)!important}.ccg-overlay{position:fixed;inset:0;z-index:999995;background:var(--ccg-overlay);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .3s ease;pointer-events:none}.ccg-overlay[aria-hidden="true"]{display:none}.ccg-overlay.ccg--visible{opacity:1;pointer-events:auto}.ccg-modal{background:var(--ccg-modal-bg);border-radius:20px;width:100%;max-width:560px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.22);transform:scale(.95) translateY(12px);transition:transform .35s cubic-bezier(.16,1,.3,1)}.ccg-overlay.ccg--visible .ccg-modal{transform:scale(1) translateY(0)}.ccg-modal__header{background:var(--ccg-modal-header-bg);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.07);flex-shrink:0}.ccg-modal__title{font-size:var(--ccg-fz-title)!important;font-weight:600!important;color:var(--ccg-banner-text)!important;line-height:1.3!important}.ccg-modal__close{background:none;border:none;cursor:pointer;color:var(--ccg-banner-text);opacity:.45;padding:5px;border-radius:6px;display:flex;align-items:center;transition:opacity .2s , background .2s;flex-shrink:0}.ccg-modal__close:hover{opacity:1;background:rgba(0,0,0,.06)}.ccg-modal__body{flex:1;overflow-y:auto;padding:22px;scroll-behavior:smooth}.ccg-modal__body::-webkit-scrollbar{width:6px}.ccg-modal__body::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:3px}.ccg-modal__desc{font-size:var(--ccg-fz)!important;color:var(--ccg-banner-text)!important;opacity:.68;line-height:1.55!important;margin-bottom:18px!important}.ccg-cats{display:flex;flex-direction:column;gap:10px}.ccg-cat{border:1.5px solid rgba(0,0,0,.08);border-radius:12px;overflow:hidden;transition:border-color .2s}.ccg-cat:hover{border-color:rgba(0,0,0,.15)}.ccg-cat__row{display:flex;align-items:center;gap:16px;padding:15px 18px}.ccg-cat__info{flex:1;min-width:0}.ccg-cat__info strong{display:block;font-size: calc(var(--ccg-fz) + 1px) !important;font-weight:600!important;color:var(--ccg-banner-text)!important;margin-bottom:3px}.ccg-cat__info span{font-size:calc(var(--ccg-fz) - 1px)!important;color:var(--ccg-banner-text)!important;opacity:.62;line-height:1.4!important}.ccg-cat__ctrl{display:flex;align-items:center;gap:8px;flex-shrink:0}.ccg-toggle{display:inline-block;cursor:pointer;position:relative}.ccg-toggle--always{cursor:default}.ccg-toggle__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.ccg-toggle__track{display:block;width:48px;height:26px;background:var(--ccg-toggle-off);border-radius:100px;position:relative;transition:background .25s ease}.ccg-toggle__track::after{content:'';position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .25s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 4px rgba(0,0,0,.2)}.ccg-toggle__track--on,.ccg-toggle__input:checked+.ccg-toggle__track{background:var(--ccg-toggle-on)!important}.ccg-toggle__track--on::after,.ccg-toggle__input:checked+.ccg-toggle__track::after{transform:translateX(22px)}.ccg-toggle--always .ccg-toggle__track{opacity:.55}.ccg-toggle__hint{font-size:11px!important;font-weight:500;opacity:.45;color:var(--ccg-banner-text);white-space:nowrap}.ccg-modal__footer{padding:14px 22px;border-top:1px solid rgba(0,0,0,.07);display:flex;gap:10px;justify-content:flex-end;flex-shrink:0;background:var(--ccg-modal-bg)}.ccg-reopen{position:fixed;z-index:999989;width:44px;height:44px;border-radius:50%;border:none;background:var(--ccg-reopen-bg);box-shadow:0 3px 14px rgba(0,0,0,.18);cursor:pointer;display:none;align-items:center;justify-content:center;transition:transform .2s ease , box-shadow .2s ease;padding:0}.ccg-reopen:hover{transform:scale(1.1);box-shadow:0 5px 18px rgba(0,0,0,.24)}.ccg-reopen--bottom-left{bottom:var(--ccg-reopen-y);left:var(--ccg-reopen-x)}.ccg-reopen--bottom-right{bottom:var(--ccg-reopen-y);right:var(--ccg-reopen-x)}.ccg-reopen--top-left{top:var(--ccg-reopen-y);left:var(--ccg-reopen-x)}.ccg-reopen--top-right{top:var(--ccg-reopen-y);right:var(--ccg-reopen-x)}@media (max-width:767px){.ccg-banner__inner{flex-direction:column;align-items:flex-start;gap:14px;padding:16px 18px}.ccg-banner__actions{width:100%;justify-content:stretch}.ccg-banner__actions .ccg-btn{flex:1;padding:11px 10px}.ccg-modal{border-radius:16px;max-height:96vh}.ccg-modal__footer{flex-direction:column}.ccg-modal__footer .ccg-btn{width:100%;padding:13px}}@media (max-width:400px){.ccg-banner{padding:0 10px 10px}.ccg-banner--top{padding:10px 10px 0}.ccg-banner__inner{border-radius:10px}.ccg-banner__actions{flex-direction:column}.ccg-banner__actions .ccg-btn{width:100%}}