:root{
    --cc-primary:#233570;
    --cc-text:#1f2937;
    --cc-border:#e5e7eb;
}

#cc-overlay{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.45);
    backdrop-filter:blur(4px);
    z-index:99998;
    display:none;
}

#cc-banner{
    position:fixed;
    left:50%;
    bottom:25px;
    transform:translateX(-50%);
    width:calc(100% - 30px);
    max-width:1050px;
    background:#fff;
    border-radius:18px;
    box-shadow:0 15px 45px rgba(0,0,0,.12);
    z-index:99999;
    display:none;
    border:1px solid rgba(0,0,0,.06);
}

.cc-banner-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    padding:22px 24px;
}

.cc-text h3{
    margin:0 0 6px;
    font-size:20px;
    color:var(--cc-text);
}

.cc-text p{
    margin:0;
    color:#6b7280;
    line-height:1.6;
    font-size:14px;
}

.cc-actions{
    display:flex;
    gap:10px;
    flex-shrink:0;
}

.cc-actions button,
#cc-save{
    height:46px;
    padding:0 18px;
    border-radius:12px;
    border:none;
    cursor:pointer;
    font-weight:600;
    transition:.2s;
    font-size:14px;
}

#cc-customize{
    background:#eef2ff;
    color:var(--cc-primary);
}

#cc-customize:hover{
    background:#dbe4ff;
}

#cc-reject{
    background:#f3f4f6;
    color:#374151;
}

#cc-reject:hover{
    background:#e5e7eb;
}

#cc-accept,
#cc-save{
    background:var(--cc-primary);
    color:#fff;
}

#cc-accept:hover,
#cc-save:hover{
    opacity:.92;
}

#cc-modal{
    position:fixed;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) scale(.96);
    width:94%;
    max-width:620px;
    background:#fff;
    border-radius:22px;
    z-index:100000;
    display:none;
    opacity:0;
    transition:.25s ease;
    box-shadow:0 25px 70px rgba(0,0,0,.18);
}

#cc-modal.active{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
}

.cc-modal-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:24px;
    border-bottom:1px solid var(--cc-border);
}

.cc-modal-header h2{
    margin:0;
    font-size:24px;
}

#cc-close{
    background:none;
    border:none;
    font-size:28px;
    cursor:pointer;
    color:#6b7280;
}

.cc-modal-body{
    padding:10px 24px 24px;
}

.cc-option{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:20px 0;
    border-bottom:1px solid var(--cc-border);
}

.cc-option h4{
    margin:0 0 6px;
    font-size:16px;
    color:var(--cc-text);
}

.cc-option p{
    margin:0;
    color:#6b7280;
    font-size:14px;
    line-height:1.5;
}

.cc-switch{
    position:relative;
    width:52px;
    height:30px;
    flex-shrink:0;
}

.cc-switch input{
    display:none;
}

.cc-switch span{
    position:absolute;
    inset:0;
    background:#d1d5db;
    border-radius:50px;
    transition:.25s;
}

.cc-switch span:before{
    content:"";
    position:absolute;
    width:22px;
    height:22px;
    left:4px;
    top:4px;
    background:#fff;
    border-radius:50%;
    transition:.25s;
}

.cc-switch input:checked + span{
    background:var(--cc-primary);
}

.cc-switch input:checked + span:before{
    transform:translateX(22px);
}

.cc-modal-footer{
    padding:0 24px 24px;
}

#cc-save{
    width:100%;
}

@media(max-width:768px){

    .cc-banner-content{
        flex-direction:column;
        align-items:flex-start;
    }

    .cc-actions{
        width:100%;
        flex-wrap:wrap;
    }

    .cc-actions button{
        flex:1;
    }

}

.cc-open-preferences a{
    display:inline-flex!important;
    align-items:center;
    gap:8px;
}

.cc-open-preferences a::after{
    content:'';
    width:24px;
    height:24px;
    display: block;
    background-image:url('/image/catalog/cookie_icon.svg');
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
}