/* =========================================================
   Realizzazioni - parti comuni (lista + singolo)  immobili-comune.css
   Unita' di misura: --u = 1px a 1440px di viewport, scala con la finestra
   (max x1.78 = 2560px).  Esempio: calc(60 * var(--u)).
   ========================================================= */
:root{
  --im-navy:#152c72; --im-rosso:#f01824; --im-testo:#596174; --im-linea:#dde2ec; --im-grigio:#f5f6f8;
  --im-font:'Inter', var(--font, 'Montserrat'), Helvetica, Arial, sans-serif;
  --u: clamp(.8px, .069444vw, 1.7778px);
}
@media (max-width:1099px){ :root{ --u:1px; } }
@media (max-width:767px){  :root{ } }

/* Margini laterali: UNICO valore per tutto il sito = --riga-w (definito in style.css, :root).
   Stesso valore per header, footer e corpo di tutte le pagine. */
body.single-immobile #main-content .et_pb_section .et_pb_row,
body:is(.page-id-183, .page-id-877) #main-content .et_pb_section .et_pb_row,
body.single-immobile .et-l--footer .et_pb_section .et_pb_row,
body:is(.page-id-183, .page-id-877) .et-l--footer .et_pb_section .et_pb_row,
.et-db #et-boc .et-l--footer .et_pb_section .et_pb_row{
  box-sizing:border-box !important;
  width:var(--riga-w, 86%) !important; max-width:var(--riga-w, 86%) !important;
  margin-left:auto !important; margin-right:auto !important;
  padding-left:0 !important; padding-right:0 !important;
}

/* breadcrumb */
.reg-breadcrumb{ font:400 calc(12 * var(--u))/1.4 var(--im-font); color:var(--im-testo); }
.reg-breadcrumb a{ color:inherit; text-decoration:none; }
.reg-breadcrumb a:hover{ color:var(--im-navy); }
.et_pb_text:has(.reg-breadcrumb) p{ margin:0 !important; padding:0 !important; }
@media (max-width:767px){ .reg-breadcrumb{ font-size:12px; } }

/* titolo H1 con punto finale e trattino rosso */
.reg-titolo-pag h1,
.singolo_immobile_titolo .entry-title{
  margin:0; padding:0; font:800 calc(56 * var(--u))/1.1 var(--im-font);
  color:var(--im-navy); text-transform:uppercase; letter-spacing:-.01em;
}
.reg-titolo-pag h1::after,
.singolo_immobile_titolo .entry-title::after{ content:"."; }
.reg-titolo-pag h1::before{ content:none; }
.singolo_immobile_titolo .et_pb_title_container::after,
.reg-titolo-pag::after{
  content:""; display:block; width:calc(48 * var(--u)); height:2px;
  margin-top:calc(22 * var(--u)); background:var(--im-rosso);
}
@media (max-width:767px){
  .reg-titolo-pag h1, .singolo_immobile_titolo .entry-title{ font-size:clamp(30px, 9vw, 40px); }
}

/* fascia CTA grigia  [cta_progetto] */
.et_pb_section:has(.reg-cta){ background:var(--im-grigio) !important; padding:0 !important; margin-top: calc(80 * var(--u)); }
.reg-cta{
  display:flex; align-items:center; justify-content:space-between; gap:calc(40 * var(--u));
  min-height:calc(260 * var(--u)); font-family:var(--im-font);
}
.reg-cta h2{ margin:0 0 calc(14 * var(--u)); padding:0; font:800 calc(32 * var(--u))/1.15 var(--im-font); color:var(--im-navy); text-transform:uppercase; }
.reg-cta p{ margin:0; padding:0; font:400 calc(16 * var(--u))/1.5 var(--im-font); color:var(--im-testo); }
.reg-cta__btn{
  flex:none; display:inline-flex; align-items:center; justify-content:center;
  width:calc(210 * var(--u)); height:calc(60 * var(--u)); background:var(--im-rosso); color:#fff !important;
  font:700 calc(12 * var(--u))/1 var(--im-font); letter-spacing:.06em; text-transform:uppercase; text-decoration:none;
}
.reg-cta__btn:hover{ background:#c9101b; }
@media (max-width:767px){
  .reg-cta{ flex-direction:column; align-items:flex-start; padding:40px 0; min-height:0; }
  .reg-cta h2{ font-size:24px; } .reg-cta p{ font-size:15px; }
  .reg-cta__btn{ width:100%; height:54px; font-size:12px; }
}

/* ---------------------------------------------------------
   Divi 5 (flex): azzero i gap automatici fra moduli/righe/sezioni
   (30px fra moduli, 60px fra righe, 56px di padding sezione):
   le distanze qui sono quelle del mockup, gestite coi margini.
   --------------------------------------------------------- */
body.single-immobile #main-content .et_flex_section,
body:is(.page-id-183, .page-id-877) #main-content .et_flex_section{ row-gap:0 !important; align-items:stretch !important; }
body.single-immobile #main-content .et_flex_column,
body:is(.page-id-183, .page-id-877) #main-content .et_flex_column{ row-gap:0 !important; align-items:stretch !important; }
body.single-immobile #main-content .et_pb_text_inner,
body:is(.page-id-183, .page-id-877) #main-content .et_pb_text_inner{ width:100%; }
.reg-galleria{ width:100%; }
