/* ============================================================
   restyle.css — riveste Reddio in stile editoriale crema/terracotta.
   Caricato DOPO app.css: ridefinisce le variabili :root e corregge i
   pochi colori navy hardcoded. Non tocca la semantica verde/ambra
   (flip/cantiere).
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Hanken+Grotesk:wght@400;500;600;700&family=Spline+Sans+Mono:wght@400;500&display=swap');

:root{
  --navy:#211C17;  --navy-2:#2C241D;  --navy-3:#3A322A;
  --gold:#C99A56;  --gold-2:#A8772E;  --gold-soft:#E5DBC6;
  --bone:#F4EEE1;  --bone-2:#EFE7D7;
  --ink:#211C17;   --ink-2:#5B5247;   --ink-3:#8A7E6E;
  --line:#DDD3BE;  --line-2:#CFC4AD;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Hanken Grotesk', -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* navy hardcoded -> dark caldo */
.hero       { background: linear-gradient(180deg,#211C17 0%,#2C241D 100%) !important; }
.login-page { background: linear-gradient(180deg,#211C17 0%,#2C241D 100%) !important; }

/* navbar crema */
header.nav { background: rgba(244,238,225,.92) !important; border-bottom:1px solid #DDD3BE; }

/* CTA terracotta (oro resta accento su fondi scuri) */
.cta,
header.nav nav a.cta            { background:#8A352B !important; color:#F4EEE1 !important; }
.cta:hover,
header.nav nav a.cta:hover      { background:#742B22 !important; color:#F4EEE1 !important; }
.cta.ghost                      { background:transparent !important; color:#211C17 !important; border:1px solid #211C17 !important; }
/* su sezioni scure il ghost resta chiaro */
.hero .cta.ghost,
section[style*="#211C17"] .cta.ghost { color:#F4EEE1 !important; border-color:rgba(255,255,255,.3) !important; }

/* etichette mono */
.eyebrow { font-family:'Spline Sans Mono', monospace !important; color:#8A352B !important; letter-spacing:.22em; }

/* i pulsanti reali nelle card prezzi sono cliccabili (annulla lo stato 'disabled' di app.css) */
.prezzo-card .cta { opacity:1 !important; cursor:pointer !important; }
.prezzo-card .cta[disabled] { opacity:.45 !important; cursor:not-allowed !important; }

/* card prezzo in evidenza: bordo terracotta */
.prezzo-card.hl { border-color:#8A352B !important; }

/* --- FIX contrasto (navbar crema + fascia scura /valuta/) --- */
/* Navbar crema: testo scuro leggibile (annulla il bianco di app.css) */
header.nav .brand       { color:#211C17 !important; }
header.nav .brand span  { color:#8A352B !important; }   /* la "I" */
header.nav nav a        { color:#4A4138 !important; }
header.nav nav a:hover  { color:#8A352B !important; }

/* Fascia scura della pagina "Valuta": testo caldo, non grigio-azzurro freddo */
.va-hero h1        { color:#F4EEE1 !important; }
.va-hero .lead     { color:rgba(244,238,225,.85) !important; }
.va-hero .va-alt-ingresso   { color:rgba(244,238,225,.7) !important; }
.va-hero .va-alt-ingresso a { color:#C99A56 !important; }
.va-hero .eyebrow  { color:#C99A56 !important; border-color:rgba(201,154,86,.5) !important; }
.hero    .eyebrow  { color:#C99A56 !important; border-color:rgba(201,154,86,.5) !important; }
.bg-navy .section-eyebrow { color:#C99A56 !important; }

/* --- navbar da loggato: nome utente + Esci visibili su crema --- */
header.nav .user-badge .user-name       { color:#4A4138 !important; }
header.nav .user-badge:hover .user-name  { color:#8A352B !important; }
header.nav .nav-logout                   { color:#8A7E6E !important; }
header.nav .nav-logout:hover             { color:#8A352B !important; }

/* --- selettore caso fiscale nel costo totale --- */
.ct-casi { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 14px; }
.ct-caso { padding:7px 14px; border-radius:18px; border:1px solid #CFC4AD; background:#FBF8F0;
           color:#5B5247; font-size:13px; font-weight:600; cursor:pointer; transition:all .15s; }
.ct-caso:hover { border-color:#8A352B; color:#8A352B; }
.ct-caso.attivo { background:#8A352B; border-color:#8A352B; color:#F4EEE1; }

/* --- pulsante Google + divisore --- */
.btn-google { display:flex; align-items:center; justify-content:center; gap:10px; width:100%;
  padding:12px; border:1px solid #CFC4AD; border-radius:8px; background:#FBF8F0; color:#211C17;
  font-weight:600; font-size:15px; text-decoration:none; cursor:pointer; transition:all .15s; }
.btn-google:hover { border-color:#8A352B; background:#fff; }
.auth-divisore { display:flex; align-items:center; gap:12px; margin:18px 0; color:#8A7E6E; font-size:13px; }
.auth-divisore::before, .auth-divisore::after { content:""; flex:1; height:1px; background:#DDD3BE; }

/* --- pulsante 'compra valutazione' nell'area cliente --- */
.dash-buy { display:inline-block; width:100%; padding:11px 14px; border:none; border-radius:8px;
  background:#8A352B; color:#F4EEE1; font-weight:600; font-size:14px; cursor:pointer; transition:background .15s; }
.dash-buy:hover { background:#742B22; }

/* --- alert occasione nell'area cliente --- */
.alert-form { margin:14px 0 18px; }
.alert-upsell { margin:14px 0 18px; padding:18px 20px; background:var(--bone); border:1px solid var(--line); border-radius:12px; }
.alert-upsell p { margin:0 0 8px; }
.alert-fields { display:flex; gap:12px; flex-wrap:wrap; align-items:end; }
.alert-field { display:flex; flex-direction:column; gap:4px; flex:1; min-width:140px; }
.alert-field label { font-size:12px; color:#8A7E6E; font-weight:600; }
.alert-field input { padding:10px 12px; border:1px solid #CFC4AD; border-radius:8px; background:#FBF8F0; font-size:16px; }
.alert-field input:focus { outline:none; border-color:#8A352B; }
.alert-list { list-style:none; padding:0; margin:0; }
.alert-list li { display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 14px; border:1px solid #E3DAC6; border-radius:8px; background:#FBF8F0; margin-bottom:8px; }
.alert-descr { font-weight:600; color:#4A4138; }

/* === Workspace (/app/) — stesso linguaggio crema/terracotta del sito === */
.ws-nav { background: rgba(244,238,225,.92) !important; border-bottom:1px solid #DDD3BE !important; color:#211C17 !important; }
.ws-nav .brand { color:#211C17 !important; }
.ws-nav .brand span:not(.badge) { color:#8A352B !important; }
.ws-nav .badge { background:rgba(138,53,43,.10) !important; color:#8A352B !important; }
.ws-tabs a { color:#4A4138 !important; }
.ws-tabs a:hover { color:#8A352B !important; background:rgba(138,53,43,.06) !important; }
.ws-tabs a.active { color:#8A352B !important; background:rgba(138,53,43,.12) !important; }
.ws-tabs a.ext { color:#8A7E6E !important; }
.ws-user { color:#5B5247 !important; }
.ws-logout { border:1px solid #CFC4AD !important; color:#8A7E6E !important; background:transparent !important; }
.ws-logout:hover { border-color:#8A352B !important; color:#8A352B !important; background:rgba(138,53,43,.06) !important; }

/* link Admin discreto nella navbar del sito */
.nav-staff { color:#8A7E6E !important; font-size:13px !important; }
.nav-staff:hover { color:#8A352B !important; }

/* === Login admin — fondo gradiente brand + accenti terracotta === */
.login-page { background: linear-gradient(160deg,#2A1A14 0%,#8A352B 70%,#B0894A 130%) !important; }
.login-wrap { background:#FBF8F0 !important; border:1px solid #E3DAC6 !important; }
.brand-big span { color:#8A352B !important; }
.login-form input:focus { border-color:#8A352B !important; }
.login-back:hover { color:#8A352B !important; }

/* ============ NAVBAR — rifinitura premium ============ */
header.nav { padding:17px 40px !important; background:rgba(244,238,225,.85) !important;
  -webkit-backdrop-filter:saturate(140%) blur(12px); backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid rgba(138,53,43,.12) !important; }
header.nav .brand { font-size:23px !important; letter-spacing:.05em; }
header.nav nav { gap:30px !important; }
/* link con sottolineatura animata */
header.nav nav > a:not(.cta):not(.user-badge):not(.nav-ghost) { position:relative; font-weight:500; letter-spacing:.01em; }
header.nav nav > a:not(.cta):not(.user-badge):not(.nav-ghost)::after {
  content:""; position:absolute; left:0; bottom:-6px; height:1.5px; width:0; background:#8A352B; transition:width .22s ease; }
header.nav nav > a:not(.cta):not(.user-badge):not(.nav-ghost):hover::after { width:100%; }
/* Area clienti / Workspace — ghost raffinato */
.nav-ghost { border:1px solid #CFC4AD !important; color:#4A4138 !important; padding:8px 16px !important;
  border-radius:8px !important; font-weight:500 !important; font-size:14px !important; transition:all .18s; }
.nav-ghost:hover { border-color:#8A352B !important; color:#8A352B !important; background:rgba(138,53,43,.05); }
/* CTA Registrati — pill terracotta con lift */
header.nav nav a.cta { padding:9px 20px !important; border-radius:8px !important;
  box-shadow:0 8px 20px -12px rgba(138,53,43,.6); display:inline-flex; align-items:center; gap:7px; transition:all .2s; }
header.nav nav a.cta:hover { transform:translateY(-1px); box-shadow:0 12px 26px -12px rgba(138,53,43,.7); }
header.nav nav a.cta .arrow { transition:transform .2s; }
header.nav nav a.cta:hover .arrow { transform:translateX(3px); }
/* badge utente — cerchio terracotta */
.user-initials { background:#8A352B !important; color:#F4EEE1 !important; width:36px !important; height:36px !important; font-weight:600 !important; }
/* hamburger visibile su crema */
.nav-toggle span { background:#211C17 !important; }
/* footer — link riservato molto discreto */
.footer-staff { color:rgba(255,255,255,.32) !important; font-size:12px; margin-left:4px; }
.footer-staff:hover { color:rgba(255,255,255,.7) !important; }
@media (max-width:720px){ header.nav nav { border-top-color:rgba(138,53,43,.15) !important; } header.nav { padding:16px 22px !important; } }

/* Avviso di affidabilità del verdetto (quota / nuda proprietà / sconto anomalo) */
.avviso-affidabilita{
  display:flex; gap:12px; align-items:flex-start;
  background:#FBEEE6; border:1px solid #E7C3B4; border-left:4px solid #C24A33;
  border-radius:12px; padding:14px 16px; margin:16px 0;
}
.avviso-affidabilita .aff-ico{ color:#C24A33; font-size:1.2rem; line-height:1.4; flex:0 0 auto; }
.avviso-affidabilita p{ margin:0; color:#5A3A30; font-size:.92rem; line-height:1.45; }

/* Tag asta imminente (entro 14 giorni) */
.detail-tag.asta-urgente{
  background:#C24A33; color:#fff; border-color:#C24A33; font-weight:600;
}
.detail-tag.asta-urgente .dot{ background:#fff; }

/* CTA scarica dossier sulla scheda pubblica */
.dossier-cta{
  display:inline-flex; align-items:center; gap:8px; margin-left:10px;
  background:#8A352B; color:#fff; border:1px solid #8A352B;
  padding:11px 18px; border-radius:10px; font-weight:600; text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease;
}
.dossier-cta:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(138,53,43,.28); }
@media (max-width:560px){ .dossier-cta{ margin-left:0; margin-top:10px; } }

/* Geolocalizzazione mappa: pulsante "vicino a me" + chip distanza/imminenza */
.near-me-btn{
  width:100%; cursor:pointer; border-radius:10px; padding:11px 14px; font-weight:600;
  background:#8A352B; color:#fff; border:1px solid #8A352B; font-size:14px;
  transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.near-me-btn:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(138,53,43,.26); }
.near-me-btn:disabled{ opacity:.7; cursor:default; transform:none; box-shadow:none; }
.li-near{ display:flex; gap:8px; flex-wrap:wrap; margin:4px 0 2px; }
.li-dist{ font-weight:700; color:#8A352B; font-size:12.5px; }
.li-imm{ font-size:12px; color:#6B5F50; }
.li-imm.urg{ color:#C24A33; font-weight:700; }


/* v144 — profilazione immobile: form (details) e griglia risultati */
.va-profilo { margin: 8px 0 4px; border: 1px solid var(--line,#e3e8ee); border-radius: 10px; padding: 4px 14px; background: #fbfaf7; }
.va-profilo summary { cursor: pointer; font-weight: 600; color: var(--navy,#0C2340); padding: 8px 0; font-size: .95rem; }
.va-profilo summary .opt { font-weight: 400; color: var(--ink-3,#8593a2); font-size: .82rem; }
.va-profilo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 8px; }
@media (max-width: 640px) { .va-profilo-grid { grid-template-columns: 1fr; } }
.va-card-profilo { border-left: 3px solid var(--gold,#C4A05A); }
.va-profilo-griglia { margin: 12px 0; padding: 12px 14px; background: #faf8f3; border-radius: 8px; }
.vpg-titolo { display: block; font-size: .8rem; font-weight: 600; color: var(--ink-2,#51606f); margin-bottom: 8px; }
.vpg-riga { display: flex; align-items: baseline; gap: 10px; padding: 4px 0; border-bottom: 1px solid #eee7d8; font-size: .88rem; }
.vpg-riga:last-child { border-bottom: none; }
.vpg-voce { flex: 0 0 auto; font-weight: 600; color: var(--ink,#1c2733); }
.vpg-eff { flex: 0 0 auto; font-weight: 700; font-variant-numeric: tabular-nums; }
.vpg-eff.pos { color: var(--green,#1e7d46); }
.vpg-eff.neg { color: #b0432f; }
.vpg-nota { flex: 1 1 auto; text-align: right; font-size: .78rem; color: var(--ink-3,#8593a2); font-style: italic; }

/* fix logo header: l'SVG senza dimensioni esplode a grandezza naturale.
   REGOLA PERMANENTE (deve restare nel repo, non solo sul server) */
header.nav .brand { display: flex; align-items: center; gap: 8px; }
header.nav .brand-logo { height: 34px; width: auto; display: block; }
header.nav .brand-word { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 20px; color: #8A352B; }

/* v147 — pagina dedicata valutazione (come scheda immobile) */
.vs-page { max-width: 860px; margin: 0 auto; padding: 24px 20px 60px; }
.vs-back { display: inline-block; margin-bottom: 16px; color: var(--navy,#0C2340); font-weight: 600; text-decoration: none; font-size: .9rem; }
.vs-back:hover { text-decoration: underline; }
.vs-hero { background: var(--navy,#0C2340); color: #fff; border-radius: 14px; padding: 24px 26px; margin-bottom: 20px; }
.vs-hero-dove { font-size: .82rem; opacity: .8; margin-bottom: 10px; }
.vs-hero-giudizio { font-size: 1.5rem; font-weight: 700; margin-bottom: 16px; line-height: 1.25; }
.vs-hero-riga { display: flex; flex-wrap: wrap; gap: 28px; }
.vs-hero-riga > div { display: flex; flex-direction: column; }
.vs-hero-riga b { font-size: 1.15rem; font-weight: 700; }
.vs-hero-riga span { font-size: .74rem; opacity: .75; margin-top: 2px; }
.vs-card { background: #fff; border: 1px solid var(--line,#e3e8ee); border-radius: 12px; padding: 18px 20px; margin-bottom: 18px; }
.vs-card h3 { margin: 0 0 12px; font-size: 1.05rem; color: var(--navy,#0C2340); }
#vs-map { height: 340px; border-radius: 10px; overflow: hidden; }
.vs-map-nota { font-size: .82rem; color: var(--ink-2,#51606f); margin: 10px 0 0; }
.vs-affid { border-left: 3px solid; }
.vs-affid-alta { border-left-color: var(--green,#1e7d46); background: #f4f9f5; }
.vs-affid-media { border-left-color: var(--gold,#C4A05A); background: #faf8f3; }
.vs-affid-bassa { border-left-color: #c0724a; background: #fbf5f1; }
.vs-affid ul { margin: 8px 0 0; padding-left: 18px; font-size: .85rem; color: var(--ink-2,#51606f); }
.vs-cards { display: flex; flex-direction: column; gap: 16px; }

/* legenda colori mappa aste */
.map-legend { padding: 12px 14px; margin-top: 4px; background: #fbfaf7; border: 1px solid var(--line,#e3e8ee); border-radius: 8px; }
.map-legend-title { display: block; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3,#8593a2); margin-bottom: 9px; }
.map-legend-item { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--ink-2,#51606f); padding: 3px 0; }
.map-legend-item b { color: var(--ink,#1c2733); font-weight: 600; }
.map-legend-dot { width: 12px; height: 12px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.08); flex: 0 0 auto; }

/* avviso perimetro residenziale in valuta annuncio */
.va-perimetro { font-size: 13.5px; line-height: 1.55; color: var(--ink-2,#51606f); background: #f6f4ef; border-left: 3px solid var(--gold,#C4A05A); padding: 11px 15px; border-radius: 0 6px 6px 0; margin-top: 12px; }
.va-perimetro b { color: var(--ink,#1c2733); }

/* bivio a due opzioni in valuta annuncio: visura vs annuncio */
.va-bivio { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 24px 0 8px; }
@media (max-width: 720px) { .va-bivio { grid-template-columns: 1fr; } }
.va-scelta { display: flex; flex-direction: column; align-items: flex-start; text-align: left;
  background: #fff; border: 1px solid var(--line,#e3e8ee); border-radius: 12px; padding: 26px 26px 24px;
  text-decoration: none; cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; font: inherit; width: 100%; }
.va-scelta:hover { transform: translateY(-3px); box-shadow: 0 20px 44px -26px rgba(12,35,64,.4); border-color: #c9bfa8; }
.va-scelta-precisa { border-top: 3px solid var(--gold,#C4A05A); }
.va-scelta-annuncio { border-top: 3px solid var(--navy,#0C2340); }
.va-scelta-tag { font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--gold,#C4A05A); }
.va-scelta-annuncio .va-scelta-tag { color: var(--navy,#0C2340); }
.va-scelta h2 { font-size: 22px; margin: 10px 0 0; color: var(--ink,#1c2733); }
.va-scelta p { font-size: 14.5px; line-height: 1.55; color: var(--ink-2,#51606f); margin: 10px 0 0; }
.va-scelta-cta { display: inline-block; margin-top: 16px; font-weight: 600; font-size: 14.5px; color: var(--navy,#0C2340); }
.va-scelta-precisa .va-scelta-cta { color: #9A7B2E; }
.va-scelta-nota { font-size: 12px; color: var(--ink-3,#8593a2); margin-top: 12px; font-style: italic; }
.va-form-titolo { font-size: 26px; color: var(--ink,#1c2733); margin: 8px 0 18px; padding-top: 8px; }

/* interruttore Compra/Vendi nel form valuta */
.va-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 22px; padding: 5px; background: #f2ede3; border-radius: 12px; }
.va-switch-3 { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 620px) { .va-switch-3 { grid-template-columns: 1fr; } }
.va-switch-opt { display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 2px;
  background: transparent; border: 1px solid transparent; border-radius: 9px; padding: 13px 16px; cursor: pointer; font: inherit; transition: all .18s; }
.va-switch-opt b { font-size: 15px; color: var(--ink-2,#51606f); font-weight: 600; }
.va-switch-opt span { font-size: 12px; color: var(--ink-3,#8593a2); }
.va-switch-opt.on { background: #fff; border-color: var(--line,#e3e8ee); box-shadow: 0 6px 18px -10px rgba(12,35,64,.3); }
.va-switch-opt.on b { color: var(--navy,#0C2340); }
.va-campi-acquisto-hint { font-size: 13px; color: var(--ink-2,#51606f); margin: 6px 0 12px; }
.va-campi-acquisto-hint b { color: var(--ink,#1c2733); }

/* modalità reddito: card rendita in primo piano + confronto affittare/vendere */
.va-card-reddito { border-left: 3px solid var(--gold,#C4A05A); }
.va-confronto { }
.va-confronto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 6px 0 10px; }
@media (max-width: 560px) { .va-confronto-grid { grid-template-columns: 1fr; } }
.va-confronto-col { padding: 16px 18px; background: #f7f5f0; border-radius: 10px; border: 1px solid var(--line,#e3e8ee); }
.va-confronto-col-r { background: rgba(196,160,90,.10); border-color: #e0cfa6; }
.va-confronto-tit { font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-3,#8593a2); margin-bottom: 8px; }
.va-confronto-col b { display: block; font-size: 24px; color: var(--ink,#1c2733); line-height: 1.1; }
.va-confronto-col span { display: block; font-size: 12.5px; color: var(--ink-2,#51606f); margin-top: 6px; line-height: 1.45; }

/* mappa e paywall nella valutazione da visura */
#vis-map { height: 320px; border-radius: 10px; overflow: hidden; margin-top: 4px; }
.vis-mappa-box { margin: 18px 0; }
.vis-mappa-box h3 { margin: 0 0 10px; font-size: 1.05rem; color: var(--navy,#0C2340); }
.vis-paywall { text-align: center; padding: 36px 28px; background: #fbfaf7; border: 1px solid var(--line,#e3e8ee); border-radius: 14px; margin: 18px 0; }
.vis-paywall-lock { font-size: 32px; margin-bottom: 8px; }
.vis-paywall h3 { margin: 0 0 8px; color: var(--navy,#0C2340); }
.vis-paywall p { color: var(--ink-2,#51606f); max-width: 460px; margin: 0 auto 16px; }
.vis-paywall-nota { font-size: 13px; color: var(--ink-3,#8593a2); font-style: italic; margin-top: 14px !important; }

/* valore negativo/assenza margine nelle card */
.va-neg { color: #8A352B; }


/* confronto imposte prima/seconda casa nella visura */
.vis-imposte-intro { font-size: 14px; color: var(--ink-2,#51606f); margin: 4px 0 14px; }
.vis-imposte-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .vis-imposte-2col { grid-template-columns: 1fr; } }
.vis-imposte-col { padding: 16px 18px; background: #fbfaf7; border: 1px solid var(--line,#e3e8ee); border-radius: 10px; }
.vis-imposte-prima { background: rgba(196,160,90,.10); border-color: #e0cfa6; }
.vis-imposte-tit { font-weight: 700; color: var(--navy,#0C2340); margin-bottom: 10px; font-size: 15px; }
.vis-imposte-tit span { font-weight: 500; color: var(--ink-3,#8593a2); font-size: 12px; }
.vis-imposte-col .vis-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13.5px; }
.vis-row-tot { border-top: 1px solid var(--line,#e3e8ee); margin-top: 6px; padding-top: 10px !important; font-weight: 600; }
.vis-row-tot b { color: var(--navy,#0C2340); }


/* ---- v161: storico valutazioni leggibile su telefono ----
   Sotto 720px la tabella smette di essere una griglia da scorrere
   lateralmente e diventa una pila di card: il verdetto in evidenza,
   i dettagli come coppie etichetta/valore, l'azione a piena larghezza. */
@media (max-width: 720px) {
  /* niente scroll orizzontale: qui la tabella non e' piu' una tabella */
  .dash-section .table-wrap { overflow-x: visible; }
  .dash-table, .dash-table tbody, .dash-table tr, .dash-table td { display: block; width: 100%; }
  .dash-table thead { position: absolute; left: -9999px; }  /* intestazioni: le sostituiscono i data-label */
  .dash-table { background: transparent; border-radius: 0; }
  .dash-table tr {
    background: #fff; border: 1px solid var(--bone-2); border-radius: 12px;
    padding: 14px 16px; margin-bottom: 12px;
  }
  .dash-table td { border-top: 0; padding: 5px 0; display: flex; justify-content: space-between; gap: 14px; align-items: baseline; }
  .dash-table td::before {
    content: attr(data-label);
    font-size: 11px; text-transform: uppercase; letter-spacing: .03em;
    color: var(--ink-3); font-weight: 600; flex: 0 0 auto;
  }
  /* l'immobile e' il titolo della card: niente etichetta, testo piu' grande */
  .dash-table td.cell-immobile { display: block; padding: 0 0 8px; font-size: 16px; }
  .dash-table td.cell-immobile::before { content: none; }
  /* il verdetto e' l'informazione per cui si apre la pagina: sta in evidenza */
  .dash-table td.cell-verdetto { font-size: 15px; font-weight: 600; }
  /* azioni: pulsanti affiancati a piena larghezza, area di tocco comoda */
  .dash-table td.cell-azioni { display: flex; gap: 10px; padding-top: 12px; margin-top: 8px; border-top: 1px solid var(--bone-2); }
  .dash-table td.cell-azioni::before { content: none; }
  .dash-table td.cell-azioni .dash-download { flex: 1; text-align: center; padding: 10px 12px; }
}


/* v161 — avviso di zona OMI non determinata: il verdetto resta visibile
   ma dichiara la propria incertezza invece di presentarsi come certo. */
.vs-zona-incerta {
  background: #FDF6E9; border: 1px solid #E8D5A8; border-left: 4px solid var(--gold-2, #C4A05A);
  border-radius: 10px; padding: 12px 16px; margin: 0 0 14px;
  font-size: 14px; line-height: 1.5; color: #5C4A22;
}
.vs-zona-incerta b { color: #4A3A18; }
.vs-zona-incerta span { display: block; margin-top: 6px; font-size: 13px; color: #7A6740; }
