/* Koralis Privacy — privacy policy e cookie policy (stile leggero, eredita il tema) */
.kpriv-doc { line-height: 1.65; }
.kpriv-doc h2 { margin: 2em 0 .6em; font-size: 1.35em; line-height: 1.3; }
.kpriv-doc h3 { margin: 1.5em 0 .5em; font-size: 1.1em; }
.kpriv-doc p, .kpriv-doc ul { margin: 0 0 1em; }
.kpriv-doc ul { padding-left: 1.3em; }
.kpriv-doc li { margin-bottom: .35em; }
.kpriv-doc-date { font-size: .9em; opacity: .75; }
.kpriv-doc code { font-size: .88em; word-break: break-all; }
.kpriv-table-wrap { overflow-x: auto; margin: 0 0 1.4em; -webkit-overflow-scrolling: touch; }
.kpriv-table { width: 100%; border-collapse: collapse; font-size: .92em; }
.kpriv-table th, .kpriv-table td { padding: .6em .75em; border: 1px solid rgba(127,127,127,.3); text-align: left; vertical-align: top; }
.kpriv-table th { background: rgba(127,127,127,.08); font-weight: 600; }
.kpriv-table small { opacity: .8; }
@media (max-width: 640px) {
    .kpriv-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .kpriv-table, .kpriv-table tbody, .kpriv-table tr, .kpriv-table td { display: block; width: 100%; }
    .kpriv-table tr { margin-bottom: .8em; border: 1px solid rgba(127,127,127,.3); }
    .kpriv-table td { border: 0; border-bottom: 1px solid rgba(127,127,127,.15); }
    .kpriv-table td::before { content: attr(data-label); display: block; font-size: .8em; font-weight: 600; opacity: .7; }
}
@media print { .kpriv-doc a.kpriv-open { display: none; } }

/* Modulo richieste privacy */
.kpriv-dsar-form { max-width: 620px; }
.kpriv-dsar-form label { display: block; font-weight: 600; margin-bottom: .3em; }
.kpriv-dsar-form input[type="text"], .kpriv-dsar-form input[type="email"], .kpriv-dsar-form select, .kpriv-dsar-form textarea { width: 100%; box-sizing: border-box; }
.kpriv-dsar-check label { font-weight: 400; display: flex; gap: .5em; align-items: flex-start; }
.kpriv-dsar-note { font-size: .9em; opacity: .8; }
.kpriv-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.kpriv-dsar-msg { padding: .8em 1em; border-radius: 8px; border: 1px solid; }
.kpriv-dsar-msg.is-ok { background: #ecfdf3; border-color: #abefc6; color: #05603a; }
.kpriv-dsar-msg.is-err { background: #fef3f2; border-color: #fecdca; color: #912018; }
.kpriv-form-model { padding: 1em 1.2em; border: 1px dashed rgba(127,127,127,.5); border-radius: 8px; }

/* 1.5.1 — Contrasto automatico (assets/js/documents.js): si attiva solo se il
   colore del tema non si legge sullo sfondo reale della pagina. */
.kpriv-fix-text.kpriv-on-dark  { color: #e6e8eb !important; }
.kpriv-fix-text.kpriv-on-light { color: #1f2328 !important; }
.kpriv-fix-text :is(p, li, td, th, strong, em, b, small, time, label, span, code) { color: inherit !important; }
.kpriv-fix-head.kpriv-on-dark  :is(h2, h3, h4) { color: #f5f6f7 !important; }
.kpriv-fix-head.kpriv-on-light :is(h2, h3, h4) { color: #111827 !important; }
.kpriv-fix-link.kpriv-on-dark  a { color: #8cc8ff !important; }
.kpriv-fix-link.kpriv-on-light a { color: #0b57d0 !important; }
