/* ==========================================================================
   Futuro Acessível
   Cookie Consent v1.0
   cookieConsent.css
   ========================================================================== */

/* Overlay */

.cc-overlay{
    position:fixed;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    background:rgba(0,0,0,.75);
    backdrop-filter:blur(3px);
    z-index:999999;
}

.cc-overlay[hidden]{
    display:none !important;
}

/* Janela */

.cc-dialog{

    width:100%;
    max-width:760px;

    max-height:90vh;

    overflow:auto;

    background:#ffffff;

    color:#202124;

    border-radius:14px;

    border:2px solid #d7d7d7;

    box-shadow:
        0 10px 40px rgba(0,0,0,.35);

    outline:none;

}

/* Cabeçalho */

.cc-header{

    padding:24px;

    border-bottom:1px solid #e5e5e5;

}

.cc-header h2{

    margin:0;

    font-size:1.7rem;

    font-weight:700;

}

/* Corpo */

.cc-body{

    padding:24px;

}

.cc-body p{

    margin:0 0 18px;

    line-height:1.6;

    font-size:1rem;

}

/* Preferências */

.cc-preferences{

    padding:24px;

    border-top:1px solid #ececec;

}

.cc-preferences fieldset{

    margin:0;

    padding:0;

    border:none;

}

.cc-preferences legend{

    font-size:1.2rem;

    font-weight:bold;

    margin-bottom:20px;

}

.cc-option{

    padding:18px;

    margin-bottom:16px;

    border:1px solid #dcdcdc;

    border-radius:10px;

    background:#fafafa;

}

.cc-option:last-child{

    margin-bottom:0;

}

.cc-option input{

    width:20px;

    height:20px;

    margin-right:10px;

    vertical-align:middle;

}

.cc-option label{

    font-weight:600;

    cursor:pointer;

}

.cc-help{

    margin-top:10px;

    margin-left:32px;

    font-size:.95rem;

    color:#555;

    line-height:1.5;

}

/* Rodapé */

.cc-footer{

    display:flex;

    flex-wrap:wrap;

    justify-content:flex-end;

    gap:12px;

    padding:24px;

    border-top:1px solid #e5e5e5;

}

/* Botões */

.cc-button{

    appearance:none;

    border:none;

    border-radius:8px;

    cursor:pointer;

    min-width:170px;

    padding:14px 20px;

    font-size:1rem;

    font-weight:600;

    transition:
        background-color .25s,
        transform .15s,
        box-shadow .25s;

    background:#666;

    color:#fff;

}

.cc-button:hover{

    background:#555;

}

.cc-button:active{

    transform:scale(.98);

}

.cc-button:focus-visible{

    outline:4px solid #ffb300;

    outline-offset:3px;

}

.cc-primary{

    background:#0069d9;

}

.cc-primary:hover{

    background:#0053ad;

}

/* Estado desativado */

.cc-button:disabled{

    opacity:.55;

    cursor:not-allowed;

}

/* Scroll */

.cc-dialog::-webkit-scrollbar{

    width:10px;

}

.cc-dialog::-webkit-scrollbar-thumb{

    background:#b5b5b5;

    border-radius:20px;

}

/* Mobile */

@media (max-width:768px){

    .cc-dialog{

        width:100%;

        max-height:100vh;

        border-radius:0;

    }

    .cc-footer{

        flex-direction:column;

    }

    .cc-button{

        width:100%;

    }

}

/* Alto contraste */

@media (prefers-contrast: more){

    .cc-dialog{

        border:3px solid #000;

    }

    .cc-button{

        border:2px solid #000;

    }

}

/* Movimento reduzido */

@media (prefers-reduced-motion: reduce){

    *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}