.cc_div {
    /* Stile del contenitore */
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.cc_div .c-bn {
    /* Stile dei pulsanti */
    padding: 8px 16px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    min-height: 40px !important;
    white-space: nowrap !important;
    margin: 4px !important;
}

.cc_div .b-bn {
    background: #738A6B !important; /* Colore primario del sito */
    color: #FFF !important;
}

.cc_div .c-tgl input:checked ~ .c-tg {
    background: #738A6B !important; /* Colore primario per checkbox attivo */
}

#c-txt {
    /* Stile del testo */
    margin: 16px 0 !important;
    line-height: 1.5 !important;
    color: #3C3D42 !important; /* Colore del testo principale */
}

#s-hdr {
    /* Stile intestazione preferenze */
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(0,0,0,0.1) !important;
}

#s-bl {
    /* Stile lista delle preferenze */
    padding: 16px 0 !important;
}

.cc_div .b-ex {
    /* Stile link "Scopri di più" */
    color: #738A6B !important; /* Colore primario */
    text-decoration: underline !important;
}

/* Fix sovrapposizione testo */
.cc_div .c-bn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#s-c-bn {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
    margin-top: 16px !important;
}

#s-bl .c-bl {
    margin-bottom: 16px !important;
    padding: 16px !important;
    background: rgba(115,138,107,0.05) !important;
    border-radius: 4px !important;
}

#s-bl .c-bl:last-child {
    margin-bottom: 0 !important;
}

/* Stili responsive */
@media (max-width: 768px) {
    .cc_div {
        max-width: calc(100% - 32px) !important;
        margin: 16px !important;
        max-height: 85vh !important;
        overflow-y: auto !important;
        top: auto !important;
    }

    /* Riduci padding interno su mobile */
    .cm {
        padding: 16px 16px 12px 16px !important;
    }

    /* Titolo più compatto */
    .cm h2, #c-ttl {
        margin-bottom: 8px !important;
        font-size: 1.25rem !important;
        line-height: 1.3 !important;
    }

    /* Riduci margini del testo */
    #c-txt {
        margin: 6px 0 10px 0 !important;
        font-size: 0.9rem !important;
        line-height: 1.4 !important;
    }

    /* Container bottoni più compatto */
    #c-bns {
        margin-top: 12px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    /* Riduci spaziatura bottoni */
    #s-c-bn {
        margin-top: 12px !important;
        gap: 6px !important;
    }

    .cc_div .c-bn {
        padding: 10px 16px !important;
        min-height: 44px !important;
        margin: 0 !important;
        font-size: 0.9rem !important;
        width: 100% !important;
    }

    #s-bl {
        max-height: 60vh !important;
        overflow-y: auto !important;
    }

    #s-c-bn {
        flex-direction: column !important;
    }

    /* Riduci padding sezioni preferenze */
    #s-bl .c-bl {
        padding: 12px !important;
        margin-bottom: 12px !important;
    }

    /* Riduci dimensione font nelle sezioni */
    #s-bl .c-bl h3 {
        font-size: 1rem !important;
        margin-bottom: 6px !important;
    }

    #s-bl .c-bl p {
        font-size: 0.85rem !important;
        line-height: 1.4 !important;
    }
}

/* Fix accessibilità */
.cc_div :focus-visible {
    outline: 3px solid #738A6B !important;
    outline-offset: 2px !important;
    border-radius: 4px !important;
}

.cc_div .c-tgl input:focus-visible ~ .c-tg {
    outline: 3px solid #738A6B !important;
    outline-offset: 2px !important;
}