/*
Theme Name: Privaco
Template: twentytwentyfive
Description: Child theme di Twenty Twenty-Five con la palette colori di Privaco (blu istituzionale chiaro).
Version: 1.0
*/

/* ==========================================
   Counter / Stats strip
   ========================================== */

.privaco-stats {
  border-top: 1px solid #E1EBF4;
}

.privaco-stats .wp-block-columns {
  gap: 0 !important;
}

.privaco-stats .wp-block-column {
  text-align: center;
  padding-left: clamp(20px, 4vw, 48px) !important;
  padding-right: clamp(20px, 4vw, 48px) !important;
  border-right: 1px solid #E1EBF4;
}

.privaco-stats .wp-block-column:last-child {
  border-right: none;
}

.privaco-stats .privaco-stat-number {
  font-family: "Libre Franklin", sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(44px, 6vw, 64px) !important;
  line-height: 1 !important;
  color: #042C53 !important;
  margin-bottom: 0 !important;
}

.privaco-stats .privaco-stat-label {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #5F5E5A !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 599px) {
  .privaco-stats .wp-block-columns {
    flex-direction: column;
  }
  .privaco-stats .wp-block-column {
    border-right: none;
    border-bottom: 1px solid #E1EBF4;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
  .privaco-stats .wp-block-column:last-child {
    border-bottom: none;
  }
}


/* === Sezione obblighi normativi === */
.privaco-norme{background:#F5F9FD;border-top:1px solid #E1EBF4;border-bottom:1px solid #E1EBF4}
.privaco-norme .pv-ey{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#185FA5;margin:0 0 10px}
.privaco-norme .pv-tit{font-size:clamp(24px,3.2vw,36px);font-weight:600;color:#042C53;margin:0 0 14px;line-height:1.2}
.privaco-norme .pv-sub{font-size:16px;color:#5F5E5A;line-height:1.65;margin:0 0 2.25rem;max-width:64ch}

.privaco-norme .pv-rows{display:flex;flex-direction:column;gap:14px}
.privaco-norme .pv-row,.privaco-norme .pv-ademp,.privaco-norme .pv-side,.privaco-norme .pv-sanz{box-sizing:border-box}
.privaco-norme .pv-row{background:#FFFFFF;border:1px solid #E7EEF6;border-radius:14px;padding:20px;box-shadow:0 1px 2px rgba(4,44,83,.04);display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}
.privaco-norme .pv-ademp{background:#EDF4FB;border-radius:10px;padding:16px 18px;flex:1 1 260px}
.privaco-norme .pv-ob{font-size:15px;font-weight:600;color:#042C53;margin:0 0 5px;line-height:1.35}
.privaco-norme .pv-dt{font-size:12.5px;color:#5B6B7A;margin:0;line-height:1.55}
.privaco-norme .pv-side{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;flex:0 1 200px}
.privaco-norme .pv-nr{font-size:9.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;text-transform:uppercase;color:#3E7AB8;text-align:left;padding:0 2px}
.privaco-norme .pv-sanz{background:#F5F9FD;border:1px solid #E7EEF6;border-radius:10px;padding:10px 14px;text-align:right;width:100%}
.privaco-norme .pv-amount{font-size:15px;font-weight:700;color:#042C53;line-height:1.3}
.privaco-norme .pv-src{display:block;font-size:10.5px;color:#8FA0B3;margin-top:3px;line-height:1.4}
.privaco-norme .pv-fn{font-size:12px;color:#8895A3;padding-top:1.25rem;margin:1.25rem 0 0;line-height:1.6;max-width:78ch}

@media(max-width:560px){
.privaco-norme .pv-row{flex-direction:column}
.privaco-norme .pv-side{width:100%}
.privaco-norme .pv-sanz{text-align:left}
}

/* === Hero su fondo blu scuro === */
.privaco-hero h1{color:#FFFFFF!important;letter-spacing:-.015em}
.privaco-hero p{color:#C6DEF5!important}
.privaco-hero .wp-block-button__link{background:#FFFFFF!important;color:#042C53!important;font-weight:600;border:none}
.privaco-hero .wp-block-button__link:hover{background:#E6F1FB!important;color:#042C53!important}
.privaco-hero figure{margin:0}
.privaco-hero img{width:100%;height:auto;display:block}

/* === Icone delle schede servizi === */
.pv-svc{display:grid!important;grid-template-columns:44px 1fr;column-gap:12px;align-items:center}
.pv-svc>*{margin-left:0!important;margin-right:0!important;max-width:none!important}
.pv-svc .pv-ico{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#EDF4FB;border:1px solid #DCE8F3;margin-bottom:0}
.pv-svc .pv-ico svg{display:block}
.pv-svc h3{margin-top:0!important}
.pv-svc>p{grid-column:1/-1}

/* === Fascia contatti alleggerita === */
.has-privaco-tint-background-color{background-color:#EDF4FB!important}

/* === Icona standalone === */
.pv-ico{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#EDF4FB;border:1px solid #DCE8F3;margin-bottom:14px}
.pv-ico svg{display:block}
.pv-ico+.wp-block-heading{margin-top:0!important}

/* === Copertura territoriale (mappa) === */
.privaco-coverage .pv-cov-grid{display:grid;grid-template-columns:minmax(230px,300px) 1fr;gap:20px;align-items:stretch}
@media(max-width:781px){.privaco-coverage .pv-cov-grid{grid-template-columns:1fr}}
.privaco-coverage .pv-cov-stats{display:flex;flex-direction:column;gap:14px;margin:0}
.privaco-coverage .pv-cov-stat{background:#FFFFFF;border:1px solid #E7EEF6;border-radius:14px;padding:20px 22px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 2px rgba(4,44,83,.04)}
.privaco-coverage .pv-cov-icon{flex:none;width:40px;height:40px;border-radius:10px;background:#EDF4FB;border:1px solid #DCE8F3;display:flex;align-items:center;justify-content:center}
.privaco-coverage .pv-cov-icon svg{display:block;width:20px;height:20px;stroke:#042C53}
.privaco-coverage .pv-cov-stat--comuni .pv-cov-icon svg{stroke:#185FA5}
.privaco-coverage .pv-cov-stat--enti .pv-cov-icon svg{stroke:#0E3F72}
.privaco-coverage .pv-cov-num{font-family:"Libre Franklin",sans-serif;font-weight:700;font-size:28px;line-height:1;color:#042C53;margin:0}
.privaco-coverage .pv-cov-stat--comuni .pv-cov-num{color:#185FA5}
.privaco-coverage .pv-cov-stat--enti .pv-cov-num{color:#0E3F72}
.privaco-coverage .pv-cov-label{font-family:"Source Sans 3",sans-serif;font-size:13px;color:#5F5E5A;margin:2px 0 0}
.privaco-coverage .pv-cov-map{position:relative;background:#FFFFFF;border:1px solid #E7EEF6;border-radius:14px;padding:22px;box-shadow:0 1px 2px rgba(4,44,83,.04);display:flex;flex-direction:column;min-height:380px}
.privaco-coverage .pv-cov-mapstage{position:relative;flex:1;display:flex;align-items:center;justify-content:center}
.privaco-coverage .pv-cov-svg{width:100%;max-width:420px;height:auto;display:block}
.privaco-coverage .pv-cov-landmass{fill:#B5D4F4}
.privaco-coverage .pv-cov-marker{fill:#185FA5;stroke:#FFFFFF;stroke-width:1.1}
.privaco-coverage .pv-cov-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid #E7EEF6}
.privaco-coverage .pv-cov-legend-item{display:flex;align-items:center;gap:8px;font-family:"Source Sans 3",sans-serif;font-size:12px;color:#5F5E5A}
.privaco-coverage .pv-cov-legend-shape{width:12px;height:12px;background:#185FA5;flex:none}
.privaco-coverage .pv-cov-legend-shape.circle{border-radius:50%}
.privaco-coverage .pv-cov-legend-shape.square{border-radius:3px}
.privaco-coverage .pv-cov-legend-shape.diamond{transform:rotate(45deg);border-radius:2px}

/* === Fascia "Ultimo aggiornamento" in home === */
.privaco-ultimo-aggiornamento{margin:0 0 28px;padding:12px 24px;text-align:center;background:#EDF4FB;font-size:14px}
.privaco-ultimo-aggiornamento a{text-decoration:none}
.privaco-ultimo-aggiornamento a:hover{text-decoration:underline}
