.ccp-banner {position: fixed;bottom: 0;left: 0;right: 0;background: var(--ccp-banner-bg, #1a1a1a);color: var(--ccp-banner-text, #ffffff);z-index: 999999;padding: 30px 0;box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.3);animation: ccpSlideUp 0.3s ease-out;}
@keyframes ccpSlideUp {
from {transform: translateY(100%);}
to {transform: translateY(0);}
}
.ccp-container {max-width: 1200px;margin: 0 auto;padding: 0 20px;}
.ccp-content {text-align: center;}
.ccp-actions {display: flex;justify-content: end;gap: 15px;flex-wrap: wrap;}
.ccp-btn {padding:7px 7px;border: none; border-radius: 6px;font-size: 16px;font-weight: 500;cursor: pointer;transition: all 0.3s ease;text-decoration: none;display: inline-block;}
.ccp-btn-preferences:hover, .ccp-btn-accept:hover, .ccp-btn-accept-all:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);}
.ccp-btn-preferences {background: transparent;color: var(--ccp-banner-text);border:1px solid rgba(219, 216, 216, 0.67);}
.ccp-btn-preferences:hover {background: rgba(255, 255, 255, 0.1);border-color: rgba(255, 255, 255, 0.5);}
.ccp-btn-reject {color: var(--ccp-banner-text, #ffffff);background: transparent;border: none;padding: 0;text-decoration: underline;font-size:1.4rem;}
.ccp-btn-reject-all {background: var(--ccp-btn-reject-bg, #333333);color: var(--ccp-btn-reject-text, #ffffff);border: 1px solid var(--ccp-btn-reject-text, #fff);}
.ccp-btn-accept, .ccp-btn-accept-all {background: var(--ccp-btn-accept-bg, #4CAF50);color: var(--ccp-btn-accept-text, #ffffff);}
.ccp-btn-save {background: var(--ccp-banner-bg, #1a1a1a);color: var(--ccp-banner-text, #fff);border: 1px solid var(--ccp-banner-text, #fff);}
.ccp-btn-understood {background: var(--ccp-btn-accept-bg, #4CAF50);color: var(--ccp-btn-accept-text, #ffffff);min-width: 150px;}
.ccp-sc{font-size: 2.4rem;font-weight: 700;}
.ccp-scc{font-size: 2.4rem;}
.ccp-banner.ccp-simple-mode  {padding:10px 0;}
.ccp-banner.ccp-simple-mode .ccp-container {display: flex;gap: 20px;text-align:left;align-items: center;}
.ccp-banner.ccp-simple-mode .ccp-container p {margin: 0px;font-size: 15px;line-height: 1.6;}
.ccp-banner.ccp-simple-mode .ccp-actions {justify-content: center;}
.ccp-banner.ccp-simple-mode .ccp-btn {padding: 7px 7px;}
.ccp-preferences-modal {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: rgba(0, 0, 0, 0.8);z-index: 999999;display: flex;align-items: center;justify-content: center;animation: ccpFadeIn 0.3s ease-out;}
@keyframes ccpFadeIn {
from {opacity: 0;}
to {opacity: 1;}
}
.ccp-modal-content {background: var(--ccp-banner-bg, #1a1a1a);color: var(--ccp-banner-text, #ffffff);border-radius: 6px;max-width: 600px;width: 100%;max-height: 90vh;overflow: hidden;display: flex;flex-direction: column;animation: ccpSlideIn 0.3s ease-out;}
@keyframes ccpSlideIn {
from {transform: scale(0.9);opacity: 0;}
to {transform: scale(1);opacity: 1;}
}
.ccp-modal-header {padding: 20px 20px;border-bottom: 1px solid #f4f4f4;display: flex;justify-content: space-between;align-items: center;}
.ccp-modal-header span {margin: 0;font-size:1.8rem;font-weight: 600;}
.ccp-close {background: none;border: none;color: var(--ccp-banner-text);font-size: 28px;cursor: pointer;opacity: 0.7;transition: opacity 0.3s;line-height: 1;padding: 0;width: 32px;height: 32px;}
.ccp-close:hover {opacity: 1;}
.ccp-modal-body {padding: 20px;overflow-y: auto;flex: 1;}
.ccp-modal-body > p {margin: 0 0 20px 0;font-size: 16px;line-height: 1.5;opacity: 0.9;}
.ccp-categories {padding: 20px 20px;overflow-y: auto;}
.ccp-category {border: 1px solid #3c3b3a;border-radius: 6px;padding: 15px;margin-bottom: 12px;background: rgba(255, 255, 255, 0.03);}
.ccp-category-header {display: flex;justify-content: space-between;align-items: flex-start;gap: 20px;}
.ccp-toggle {display: flex;align-items: center;}
.ccp-always-active {font-size: 14px;opacity: 0.7;white-space: nowrap;}
.ccp-switch {position: relative;display: inline-block;width: 50px;height: 26px;}
.ccp-switch input {opacity: 0;width: 0;height: 0;}
.ccp-slider {position: absolute;cursor: pointer;top: 0;left: 0;right: 0;bottom: 0;background-color: rgba(255, 255, 255, 0.2);transition: .4s;border-radius: 26px;}
.ccp-modal-footer {padding: 30px;border-top: 1px solid #f4f4f4;display: flex;justify-content: center;gap: 15px;flex-wrap: wrap;}
.ccp-open-preferences {background: none;border: 1px solid currentColor;color: inherit;padding: 8px 16px;border-radius: 4px;cursor: pointer;font-size: 14px;transition: all 0.3s ease;}
.ccp-open-preferences:hover {background: rgba(0, 0, 0, 0.05);}
.ccp-floating-button {position: fixed;z-index: 999998;width: 56px;height: 56px;border-radius: 50%;background: var(--ccp-banner-bg, #1a1a1a);color: var(--ccp-banner-text, #ffffff);border: none;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);cursor: pointer;transition: all 0.3s ease;display: flex;align-items: center;justify-content: center;animation: ccpBounceIn 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);}
@keyframes ccpBounceIn {
0% {transform: scale(0);opacity: 0;}
80% {transform: scale(1.1);}
100% {transform: scale(1);opacity: 1;}
}
.ccp-floating-button:hover {transform: scale(1.1);box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);}
.ccp-floating-button:active {transform: scale(0.95);}
.ccp-floating-button svg {width: 28px;height: 28px;}
.ccp-floating-button.ccp-position-bottom-left {bottom: 20px;left: 20px;}
.ccp-floating-button.ccp-position-bottom-right {bottom: 20px;right: 20px;}
.ccp-floating-button:hover svg {animation: ccpRotate 0.5s ease-in-out;}
@keyframes ccpRotate {
0% {transform: rotate(0deg);}
100% {transform: rotate(15deg);}
}
.ccp-banner.ccp-hiding {animation: ccpSlideDown 0.3s ease-out forwards;}
@keyframes ccpSlideDown {
from {transform: translateY(0);}
to {transform: translateY(100%);}
}
.ccp-preferences-modal.ccp-hiding {animation: ccpFadeOut 0.3s ease-out forwards;}
@keyframes ccpFadeOut {
from {opacity: 1;}
to {opacity: 0;}
}
.ccp-category-row {display: flex;align-items: center;justify-content: space-between;}
.ccp-category-alw{display:inline-flex;}
.ccp-expand-btn {color: var(--ccp-banner-text, #ffffff);background: none;border: none;margin-left:15px;display: flex;cursor: pointer;padding:0;align-items:center;}
.ccp-expand-btn:hover {opacity: 1;}
.ccp-expand-btn[aria-expanded="true"] .ccp-expand-icon {transform: rotate(180deg);}
.ccp-expand-icon {transition: transform 0.3s ease;}
.ccp-inline-wrapper {display: inline-flex;margin: 10px 0 18px 0;font-size:1.4rem;}
.ccp-banner {position: fixed;bottom: 0;left: 0;right: 0;background: var(--ccp-banner-bg, #1a1a1a);color: var(--ccp-banner-text, #ffffff);z-index: 999999;padding: 30px 0;box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.3);animation: ccpSlideUp 0.3s ease-out;}
.ccp-switch {position: relative;display: inline-block;width: 44px;height: 24px;}
.ccp-switch input {opacity: 0;width: 0;height: 0;}
.ccp-slider {position: absolute;cursor: pointer;top: 0;left: 0;right: 0;bottom: 0;background-color: var(--ccp-banner-text, #fff);transition: .3s;border-radius: 24px;}
.ccp-slider:before {position: absolute;content: "";height: 18px;width: 18px;left: 3px;bottom: 3px;background-color:var(--ccp-banner-bg, #1a1a1a);transition: .3s;border-radius: 50%;}
.ccp-switch input:checked + .ccp-slider {background-color: #4CAF50;}
.ccp-switch input:checked + .ccp-slider:before {transform: translateX(20px);}
.ccp-category-desc {margin-top:7px;transition: all 0.3s ease;}
.ccp-category-desc p {margin: 0;font-size: 14px; opacity: 0.8;line-height: 1.5;}
.ccp-category-desc.ccp-expanding {animation: ccp-slide-down 0.3s ease forwards;}
.ccp-category-desc.ccp-collapsing {animation: ccp-slide-up 0.3s ease forwards;}
@keyframes ccp-slide-down {
from {opacity: 0;transform: translateY(-10px);}
to { opacity: 1;transform: translateY(0);}
}
@keyframes ccp-slide-up {
from {opacity: 1;transform: translateY(0);}
to {opacity: 0;transform: translateY(-10px);}
}
@media (max-width: 768px) { 
.ccp-category-title {gap: 8px;}
.ccp-category-title h4 {font-size: 15px;}  
.ccp-switch {width: 40px;height: 22px;}   
.ccp-slider:before {height: 16px;width: 16px;}
.ccp-switch input:checked + .ccp-slider:before {transform: translateX(18px);}
.ccp-actions {flex-direction: column;align-items: stretch;}   
.ccp-modal-content {margin: 10px;max-height: calc(100vh - 20px);} 
.ccp-modal-header, .ccp-modal-body, .ccp-modal-footer {padding: 20px;}  
.ccp-category-header {flex-direction: column;gap: 15px;}   
.ccp-toggle {align-self: flex-start;}   
.ccp-modal-footer {display: grid;grid-template-columns: 1fr;gap: 12px;} 
.ccp-btn-accept-all { order: 1; }  
.ccp-btn-save { order: 2; }    
.ccp-btn-reject-all { order: 3; } 
.ccp-modal-footer .ccp-btn {width: 100%;}
.ccp-floating-button {width: 48px;height: 48px;}
.ccp-floating-button svg {width: 24px;height: 24px;}
.ccp-floating-button.ccp-position-bottom-left, .ccp-floating-button.ccp-position-bottom-right {bottom: 15px;left: 15px;right: auto;}
.ccp-banner.ccp-simple-mode .ccp-container {align-items: normal;flex-direction: column;}
}
@media (min-width: 769px) {.ccp-banner.ccp-position-desktop-center {bottom: auto;left: 50%;right: auto;top: 50%;transform: translate(-50%, -50%);max-width: 500px;width: 90%;padding:0;border-radius: 6px;box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);animation: ccpFadeInScale 0.3s ease-out;}
.ccp-banner.ccp-position-desktop-center .ccp-container {padding: 15px 30px;max-width: 100%;}	
.ccp-banner.ccp-position-desktop-center .ccp-sce{display: flex;flex-direction: column;}	
.ccp-banner.ccp-position-desktop-center .ccp-sc, .ccp-banner.ccp-position-desktop-center .ccp-scc{line-height: 2.5rem;}
.ccp-banner.ccp-position-desktop-center .ccp-container p{margin:15px 0 15px 0;}	
.ccp-banner.ccp-position-desktop-center .ccp-actions {border-top: 1px solid #ccc;padding-top: 15px;}
.ccp-banner.ccp-position-desktop-center .ccp-btn-preferences {color: var(--ccp-banner-text);border: 1px solid rgba(219, 216, 216, 0.67);} 
@keyframes ccpFadeInScale {
from {opacity: 0;transform: translate(-50%, -50%) scale(0.9);}
to {opacity: 1;transform: translate(-50%, -50%) scale(1);}
    }
}
@keyframes ccpSlideUp {
from {transform: translateY(100%);}
to {transform: translateY(0);}
}