/* SOLO LAYOUT / UX - NON MODIFICA COLORI */
  .hero-shell{
    margin-bottom:28px !important;
  }

  .hero-shell h1{
    max-width:980px !important;
    letter-spacing:-0.035em !important;
  }

  .hero-shell .lead{
    max-width:860px !important;
  }

  .section{
    margin-top:28px !important;
  }

  .card{
    box-sizing:border-box !important;
  }

  .card h2,
  .card h3{
    line-height:1.08 !important;
    letter-spacing:-0.025em !important;
  }

  .soft-card{
    box-sizing:border-box !important;
  }

  .public-form label{
    display:block !important;
    margin-bottom:7px !important;
    font-weight:700 !important;
  }

  .public-form input,
  .public-form select,
  .public-form textarea{
    width:100% !important;
    box-sizing:border-box !important;
  }

  .public-form .grid-2{
    gap:16px !important;
  }

  #publicContactSplit,
  #portalRegisterSplit,
  #portalAccountSplit{
    align-items:start !important;
  }

  #publicContactSplit > aside,
  #portalRegisterSplit > aside,
  #portalAccountSplit > aside{
    align-self:start !important;
  }

  #portalDashKpi .card{
    min-height:118px !important;
  }

  #portalDashMain{
    align-items:start !important;
  }

  #sellerSummaryCompactBox{
    min-height:128px !important;
  }

  .valuation-layout{
    align-items:stretch !important;
  }

  .valuation-card{
    min-height:100% !important;
  }

  .valuation-card-body{
    gap:14px !important;
  }

  .valuation-diagram-row{
    align-items:stretch !important;
  }

  @media(max-width:1100px){
    .valuation-layout,
    #portalDashMain,
    #publicContactSplit,
    #portalRegisterSplit,
    #portalAccountSplit{
      grid-template-columns:1fr !important;
    }

    #portalDashKpi{
      grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
  }

  @media(max-width:720px){
    .hero-shell{
      padding:18px !important;
      margin-bottom:18px !important;
    }

    .hero-shell h1{
      font-size:clamp(26px,8vw,38px) !important;
      line-height:1.04 !important;
    }

    .hero-shell .lead{
      font-size:14px !important;
      line-height:1.55 !important;
    }

    .section{
      margin-top:18px !important;
    }

    .card{
      padding:18px !important;
    }

    .btn-row{
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:10px !important;
    }

    .btn-row .btn,
    .btn-row button{
      width:100% !important;
      justify-content:center !important;
    }

    .grid-2,
    .sell-check-grid{
      grid-template-columns:1fr !important;
    }

    #portalDashKpi{
      grid-template-columns:1fr !important;
    }

    #portalDashKpi .card{
      min-height:auto !important;
    }

    .valuation-diagram-row{
      grid-template-columns:1fr !important;
    }

    .valuation-diagram-arrow{
      transform:rotate(90deg);
      min-height:18px !important;
    }
  }

@media (max-width: 980px){
    #publicContactSplit{
      grid-template-columns:1fr !important;
    }
  }

/* G1 — pagina contatti (no style= inline) */
.portal-contacts-hero.hero-shell{
  padding:28px;
}

.portal-contacts-hero-row{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-start;
  flex-wrap:wrap;
}

.portal-contacts-hero-inner{
  max-width:860px;
}

.portal-contacts-hero-title{
  font-size:clamp(28px,3.2vw,42px);
  line-height:1.05;
}

.portal-contacts-lead.lead{
  margin-top:12px;
}

.portal-contacts-selected.card{
  margin-top:18px;
  padding:18px;
  max-width:760px;
}

.portal-contacts-selected-title{
  font-size:24px;
  font-weight:700;
  font-family:var(--font-display);
  margin-top:6px;
}

.portal-contacts-selected-meta{
  margin-top:8px;
  line-height:1.6;
}

.portal-contacts-split.section,
#publicContactSplit.portal-contacts-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:24px;
  align-items:start;
}

.portal-contacts-card.card,
.portal-contacts-success.card{
  padding:24px;
}

.portal-contacts-success.card{
  border:1px solid rgba(216,78,46,.22);
  background:linear-gradient(180deg,#FFF8F4 0%,#FFF2EC 100%);
}

.portal-contacts-success h2{
  font-size:30px;
}

.portal-contacts-success-copy{
  margin-top:12px;
  line-height:1.7;
  color:#4b5563;
}

.portal-contacts-prefill{
  margin-top:10px;
  line-height:1.6;
}

.portal-contacts-form-error{
  margin-top:14px;
}

.portal-contacts-form.public-form{
  margin-top:18px;
}

.portal-contacts-field{
  margin-top:14px;
}

.portal-contacts-visit-help{
  margin-top:8px;
  line-height:1.6;
}

.portal-contacts-actions.btn-row,
.portal-contacts-submit.btn-row{
  margin-top:18px;
}

.portal-contacts-submit.btn-row{
  margin-top:20px;
}

.portal-contacts-aside.card{
  padding:22px;
}

.portal-contacts-aside h3{
  font-size:26px;
}

.portal-contacts-flow.stack{
  margin-top:16px;
}

.portal-contacts-flow-step.soft-card{
  padding:16px;
}

.portal-contacts-flow-step-title{
  font-weight:700;
}

.portal-contacts-flow-step-desc{
  margin-top:6px;
}

/* ONDA 4 — contatti funnel */
.portal-contacts-hero.hero-shell{
  border-radius:var(--radius-lg, 28px);
  border:1px solid rgba(var(--brand-rgb), .12);
  box-shadow:var(--shadow-soft);
  scroll-margin-top:calc(var(--topbar-h, 88px) + 16px);
}

.portal-contacts-hero-title{
  line-height:var(--leading-tight, 1.22);
  letter-spacing:-.04em;
}

.portal-contacts-lead.lead{
  color:var(--muted);
  line-height:var(--leading-relaxed, 1.72);
}

.portal-contacts-split.section,
#publicContactSplit.portal-contacts-split{
  scroll-margin-top:calc(var(--topbar-h, 88px) + 16px);
}

.portal-contacts-card.card,
.portal-contacts-aside.card{
  border-radius:var(--radius-lg, 28px);
  border:1px solid rgba(var(--brand-rgb), .10);
  box-shadow:var(--shadow-soft);
}

.portal-contacts-form.public-form input:focus-visible,
.portal-contacts-form.public-form select:focus-visible,
.portal-contacts-form.public-form textarea:focus-visible,
.portal-contacts-submit .btn:focus-visible,
#visitDateInput:focus-visible,
#visitTimeSelect:focus-visible{
  outline:none;
  border-color:var(--brand);
  box-shadow:var(--focus-ring, 0 0 0 3px rgba(var(--brand-rgb), .20));
}

@media (max-width:760px){
  .portal-contacts-hero.hero-shell,
  .portal-contacts-card.card,
  .portal-contacts-aside.card{
    border-radius:var(--radius, 22px);
  }
}

