/**
 * Stili del sistema di consenso - Due Emme Recinzioni
 * Nessun font esterno, nessuna risorsa remota.
 * "Rifiuta" e "Accetta" condividono la stessa classe: stessa dimensione,
 * stesso colore, stesso peso. Nessuna evidenza asimmetrica.
 */

/* ------------------------------------------------------------------
   Vecchio banner di WebSite X5: neutralizzato.
   La regola sta nel CSS statico (non iniettata da JS) proprio per
   impedire che compaia anche solo per un istante prima che il
   JavaScript entri in azione: nessun "flash" del banner precedente.
   Il JS ne blocca poi la creazione a monte (showBanner reso inerte).
   ------------------------------------------------------------------ */
#cookie-law-message,
.cookie-law-message,
#cookiebanner {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

#dmr-consent-root {
    position: fixed;
    inset: 0;
    z-index: 2147483000;      /* sopra il resto, sotto nulla di funzionale */
    pointer-events: none;      /* il banner non blocca la pagina: niente cookie wall */
}

/* Il pannello preferenze usa un velo, il banner no */
.dmr-consent-overlay {
    background: rgba(0, 0, 0, .45);
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 16px;
    overflow-y: auto;
}

.dmr-consent {
    pointer-events: auto;
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    max-width: 720px;
    margin: 0 auto;
    background: #ffffff;
    color: #1e293b;
    border: 1px solid #d7dee6;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
    padding: 20px 22px 18px;
    font-family: Roboto, Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.55;
    box-sizing: border-box;
}

.dmr-consent--pannello {
    position: relative;
    left: auto; right: auto; bottom: auto;
    width: 100%;
    max-width: 620px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
}

.dmr-consent__titolo {
    margin: 0 34px 8px 0;
    font-size: 17px;
    font-weight: 700;
    color: #16233a;
}

.dmr-consent__testo { margin: 0 0 14px; }

.dmr-consent__link {
    color: #5a7a36;
    text-decoration: underline;
}
.dmr-consent__link:hover { color: #46601f; }

/* --- pulsanti ------------------------------------------------------ */
.dmr-consent__azioni {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}

.dmr-consent__btn {
    font: inherit;
    font-weight: 600;
    padding: 11px 18px;
    border-radius: 7px;
    cursor: pointer;
    border: 2px solid #7FA34C;
    background: #7FA34C;
    color: #ffffff;
    min-height: 44px;              /* area di tocco adeguata su mobile */
    flex: 1 1 auto;
    min-width: 0;
}

/* Accetta e Rifiuta condividono ESATTAMENTE questo stile: nessun dark pattern */
.dmr-consent__btn--principale { background: #7FA34C; color: #fff; border-color: #7FA34C; }
.dmr-consent__btn--principale:hover { background: #6b8b40; border-color: #6b8b40; }

.dmr-consent__btn--secondario {
    background: #ffffff;
    color: #3f5426;
    border-color: #7FA34C;
}
.dmr-consent__btn--secondario:hover { background: #f2f6ec; }

.dmr-consent__btn--testo {
    background: none;
    border: none;
    color: #4a5568;
    text-decoration: underline;
    padding: 10px 4px;
    margin-top: 10px;
    min-height: 44px;
    font-weight: 500;
}

.dmr-consent__btn:focus-visible,
.dmr-consent__x:focus-visible,
.dmr-consent input[type="checkbox"]:focus-visible {
    outline: 3px solid #16233a;
    outline-offset: 2px;
}

.dmr-consent__x {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 40px;
    height: 40px;
    line-height: 1;
    font-size: 24px;
    border: none;
    background: none;
    color: #55606f;
    cursor: pointer;
    border-radius: 7px;
}
.dmr-consent__x:hover { background: #eef1f5; color: #16233a; }

/* --- pannello preferenze ------------------------------------------- */
.dmr-consent__gruppo {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 12px;
}

.dmr-consent__riga {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.dmr-consent__nome {
    font-weight: 700;
    flex: 1 1 auto;
    min-width: 0;
}

.dmr-consent__sempre {
    color: #55606f;
    font-size: 13px;
}

.dmr-consent__switch-label { font-size: 13px; }

.dmr-consent input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: #7FA34C;
    cursor: pointer;
}
.dmr-consent input[type="checkbox"][disabled] { cursor: not-allowed; opacity: .65; }

.dmr-consent__desc {
    margin: 8px 0 0;
    font-size: 13px;
    color: #4a5568;
}

/* --- mobile --------------------------------------------------------- */
@media (max-width: 640px) {
    .dmr-consent {
        left: 8px;
        right: 8px;
        bottom: 8px;
        padding: 16px 16px 14px;
        max-height: 85vh;
        overflow-y: auto;
    }
    .dmr-consent--pannello { max-height: calc(100vh - 24px); }
    .dmr-consent__azioni { flex-direction: column; }
    .dmr-consent__btn { width: 100%; flex: 0 0 auto; }
}

/* Rispetta la preferenza di sistema per il movimento ridotto */
@media (prefers-reduced-motion: reduce) {
    .dmr-consent { transition: none !important; }
}
