/* =========================================================
   CHATCOOL COOKIE CONSENT
   estilo compacto tipo Chatpolis
   ========================================================= */

.cc-cookie-widget{
    position:fixed;
    right:18px;
    bottom:78px;
    z-index:999999;

    width:min(365px, calc(100vw - 28px));

    padding:16px;

    background:#fff;

    border:1px solid #e4e8ef;
    border-radius:16px;

    box-shadow:
        0 22px 55px rgba(15,23,42,.14),
        0 6px 18px rgba(15,23,42,.06);

    color:#172033;

    font-family:inherit;
}


.cc-cookie-widget:not([hidden]){
    animation:
        ccCookieEnter .28s
        cubic-bezier(.22,.8,.35,1)
        both;
}


@keyframes ccCookieEnter{

    from{
        opacity:0;
        transform:
            translateY(12px)
            scale(.975);
    }

    to{
        opacity:1;
        transform:
            translateY(0)
            scale(1);
    }

}


.cc-cookie-close{
    position:absolute;
    top:10px;
    right:10px;

    width:29px;
    height:29px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #dfe4eb;
    border-radius:8px;

    background:#f8fafc;

    color:#64748b;

    font-size:18px;
    font-weight:700;

    cursor:pointer;
}


.cc-cookie-close:hover{
    background:#eef2f6;
    color:#172033;
}


.cc-cookie-brand{
    display:flex;
    align-items:center;

    gap:9px;

    margin:0 36px 10px 0;
}


.cc-cookie-brand-badge{
    width:30px;
    height:30px;

    flex:0 0 30px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:9px;

    background:
        linear-gradient(
            135deg,
            #0ea5e9,
            #2563eb
        );

    color:#fff;

    font-size:14px;
    font-weight:900;
}


.cc-cookie-brand-text{
    display:flex;
    flex-direction:column;

    line-height:1.05;
}


.cc-cookie-brand-text strong{
    font-size:12px;
    font-weight:900;
}


.cc-cookie-brand-text span{
    margin-top:3px;

    color:#8a95a7;

    font-size:9px;
}


.cc-cookie-title{
    margin:0 0 8px;

    color:#172033;

    font-size:17px;
    font-weight:850;

    line-height:1.2;
}


.cc-cookie-text{
    margin:0 0 13px;

    color:#5f6d82;

    font-size:12.5px;
    line-height:1.55;
}


.cc-cookie-actions{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    gap:8px;

    margin:0 0 10px;
}


.cc-cookie-btn{
    min-height:39px;

    padding:8px 12px;

    border:0;
    border-radius:9px;

    font-size:13px;
    font-weight:800;

    cursor:pointer;

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}


.cc-cookie-btn:hover{
    transform:translateY(-1px);
}


.cc-cookie-primary{
    color:#fff;

    background:
        linear-gradient(
            135deg,
            #1479df,
            #0964c7
        );

    box-shadow:
        0 6px 13px
        rgba(20,121,223,.17);
}


.cc-cookie-secondary{
    grid-column:1 / -1;

    color:#455267;

    background:#f4f6f9;
}


.cc-cookie-secondary:hover{
    background:#eceff4;
}


.cc-cookie-prefs{
    margin:0 0 10px;

    padding:12px;

    border:1px solid #e5e9ef;
    border-radius:12px;

    background:#f8fafc;
}


.cc-cookie-pref-item{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;
}


.cc-cookie-pref-item + .cc-cookie-pref-item{
    margin-top:11px;
    padding-top:11px;

    border-top:1px solid #e6eaf0;
}


.cc-cookie-pref-item strong{
    display:block;

    color:#263247;

    font-size:12px;
}


.cc-cookie-pref-item p{
    margin:4px 0 0;

    color:#718096;

    font-size:11px;
    line-height:1.4;
}


.cc-cookie-always{
    flex:0 0 auto;

    color:#64748b;

    font-size:10px;
    font-weight:700;
}


.cc-switch{
    position:relative;

    width:42px;
    height:24px;

    flex:0 0 42px;
}


.cc-switch input{
    display:none;
}


.cc-switch span{
    position:absolute;
    inset:0;

    border-radius:999px;

    background:#ccd3dc;

    cursor:pointer;

    transition:.2s;
}


.cc-switch span::before{
    content:"";

    position:absolute;

    width:18px;
    height:18px;

    left:3px;
    top:3px;

    border-radius:50%;

    background:#fff;

    transition:.2s;

    box-shadow:
        0 2px 5px
        rgba(15,23,42,.15);
}


.cc-switch input:checked + span{
    background:#1479df;
}


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


.cc-cookie-save{
    width:100%;

    margin-top:12px;
}


.cc-cookie-links{
    display:flex;
    flex-wrap:wrap;

    gap:7px 13px;

    margin-top:2px;
}


.cc-cookie-links a{
    color:#1479df;

    font-size:10.5px;
    font-weight:650;

    text-decoration:none;
}


.cc-cookie-links a:hover{
    text-decoration:underline;
    text-underline-offset:3px;
}


/* =========================================================
   BOTÓN FLOTANTE GALLETA
   ========================================================= */

.cc-cookie-fab{
    position:fixed;

    right:18px;
    bottom:18px;

    z-index:999998;

    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:0;

    border:1px solid #e3e7ee;
    border-radius:50%;

    background:#fff;

    font-size:23px;
    line-height:1;

    cursor:pointer;

    box-shadow:
        0 8px 22px rgba(15,23,42,.10),
        0 2px 6px rgba(15,23,42,.05);

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}


.cc-cookie-fab:hover{
    transform:
        translateY(-2px)
        scale(1.03);

    box-shadow:
        0 12px 28px rgba(15,23,42,.14);
}


.cc-cookie-widget[hidden],
.cc-cookie-fab[hidden]{
    display:none !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media(max-width:560px){

    .cc-cookie-widget{
        right:10px;
        left:10px;
        bottom:68px;

        width:auto;

        padding:14px;
    }


    .cc-cookie-title{
        font-size:16px;
    }


    .cc-cookie-text{
        font-size:12px;
    }


    .cc-cookie-actions{
        gap:7px;
    }


    .cc-cookie-btn{
        min-height:38px;
        font-size:12px;
    }


    .cc-cookie-fab{
        right:10px;
        bottom:10px;

        width:46px;
        height:46px;
    }

}
