/*
 * Pagine dei documenti: sezioni numerate con il numero grande a sinistra,
 * titoli in maiuscolo con il colore principale e collegamenti con il colore di evidenziazione.
 * Le regole importanti hanno !important perché alcuni temi colorano o centrano titoli e paragrafi.
 */
.ddpc-documento {
    --ddpc-colore: #003B8F;
    --ddpc-accento: #F2A300;
    --ddpc-testo: #2b2f36;
    --ddpc-bordo: #e2e6ee;
    box-sizing: border-box;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 8px 0 24px;
    color: var(--ddpc-testo);
    font-size: 16px;
    line-height: 1.7;
    text-align: left !important;
}

.ddpc-documento *,
.ddpc-documento *::before,
.ddpc-documento *::after { box-sizing: border-box; }

.ddpc-documento p,
.ddpc-documento li,
.ddpc-documento td,
.ddpc-documento th {
    color: var(--ddpc-testo) !important;
    text-align: left !important;
}

.ddpc-documento p { margin: 0 0 12px; }

.ddpc-documento .ddpc-aggiornamento {
    margin: 0 0 40px;
    text-align: center !important;
    font-size: 16px;
}

.ddpc-documento .ddpc-aggiornamento strong { color: #1f2733 !important; }

.ddpc-documento .ddpc-introduzione {
    max-width: 900px;
    margin: 0 auto 48px;
}

/* Sezione numerata */
.ddpc-documento .ddpc-sezione {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 0 36px;
    margin: 0 0 56px;
}

.ddpc-documento .ddpc-numero {
    padding-top: 2px;
    color: var(--ddpc-accento) !important;
    font-size: 96px;
    font-weight: 800;
    line-height: 0.9;
    text-align: center;
    font-variant-numeric: lining-nums;
}

.ddpc-documento .ddpc-sezione-corpo { min-width: 0; }

.ddpc-documento .ddpc-sezione-corpo h2 {
    display: block !important;
    visibility: visible !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: var(--ddpc-colore) !important;
    background: none !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.01em;
    text-align: left !important;
    text-transform: uppercase;
}

.ddpc-documento .ddpc-sezione-corpo h3 {
    display: block !important;
    visibility: visible !important;
    margin: 26px 0 8px !important;
    padding: 0 !important;
    color: var(--ddpc-colore) !important;
    background: none !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-transform: none;
}

.ddpc-documento .ddpc-sezione-corpo h2 + h3 { margin-top: 0 !important; }

.ddpc-documento strong,
.ddpc-documento b { color: #1f2733 !important; font-weight: 700; }

.ddpc-documento a {
    color: var(--ddpc-accento) !important;
    font-weight: 600;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.ddpc-documento a:hover,
.ddpc-documento a:focus { text-decoration: underline; }

/* Elenchi con il pallino */
.ddpc-documento ul {
    margin: 0 0 14px !important;
    padding: 0 0 0 4px !important;
    list-style: none !important;
}

.ddpc-documento ul li {
    position: relative;
    margin: 0 0 4px;
    padding-left: 16px;
}

.ddpc-documento ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #1f2733;
    font-weight: 700;
}

.ddpc-documento ul ul { margin: 6px 0 4px !important; }

.ddpc-documento ol { margin: 0 0 14px 20px; }

.ddpc-documento code {
    padding: 1px 6px;
    border-radius: 4px;
    background: #f1f3f7;
    color: #1f2733;
    font-size: 0.88em;
    white-space: nowrap;
}

/* Tabelle dei cookie */
.ddpc-documento .ddpc-tabella-scorrevole {
    width: 100%;
    margin: 6px 0 22px;
    overflow-x: auto;
}

.ddpc-documento .ddpc-tabella {
    width: 100%;
    min-width: 560px;
    margin: 0;
    border-collapse: collapse;
    border: 1px solid var(--ddpc-bordo);
    font-size: 0.93em;
    line-height: 1.5;
}

.ddpc-documento .ddpc-tabella th,
.ddpc-documento .ddpc-tabella td {
    padding: 10px 12px;
    border: 1px solid var(--ddpc-bordo);
    vertical-align: top;
}

.ddpc-documento .ddpc-tabella th {
    background: color-mix(in srgb, var(--ddpc-colore) 8%, #ffffff);
    color: var(--ddpc-colore) !important;
    font-weight: 700;
}

.ddpc-documento .ddpc-tabella code { white-space: nowrap; }

.ddpc-documento .ddpc-servizio {
    margin: 0 0 18px;
    padding: 16px 18px 6px;
    border: 1px solid var(--ddpc-bordo);
    border-radius: 10px;
}

.ddpc-documento .ddpc-servizio-nome { margin-bottom: 6px; font-size: 17px; }
.ddpc-documento .ddpc-servizio-nome strong { color: var(--ddpc-colore) !important; }

/* Riquadro con le scelte del visitatore */
.ddpc-documento .ddpc-stato-consenso {
    margin: 22px 0 0;
    padding: 16px 18px;
    background: color-mix(in srgb, var(--ddpc-colore) 6%, #ffffff);
    border-left: 4px solid var(--ddpc-accento);
    border-radius: 6px;
}

.ddpc-documento .ddpc-stato-consenso p { margin: 0 0 8px; }

@media (max-width: 782px) {
    .ddpc-documento .ddpc-sezione {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 0 14px;
        margin-bottom: 40px;
    }

    .ddpc-documento .ddpc-numero { font-size: 48px; }
    .ddpc-documento .ddpc-sezione-corpo h2 { font-size: 21px !important; }
    .ddpc-documento .ddpc-introduzione { margin-bottom: 36px; }
}
