/* =========================================================
   Liste immobili (Realizzazioni 183, Proposte 877) - lista-immobili.css
   Classi Divi usate: .lista_immobili_testo (testo introduttivo), .lista_immobili_griglia (modulo col filtro YMC)
   + (da aggiungere) .reg-titolo-pag sul modulo Titolo, .reg-breadcrumb-modulo sul testo breadcrumb
   ========================================================= */
body:is(.page-id-183, .page-id-877) #main-content{ font-family:var(--im-font); }
body:is(.page-id-183, .page-id-877) .et_pb_section:first-of-type{ padding-top:calc(40 * var(--u)) !important; }

/* H1 della pagina: se non vuoi aggiungere la classe, vale anche per il primo heading */
body:is(.page-id-183, .page-id-877) #main-content .et_pb_heading{ margin-top:calc(34 * var(--u)) !important; }
body:is(.page-id-183, .page-id-877) #main-content .et_pb_heading h1{
  margin:0; padding:0; font:800 calc(56 * var(--u))/1.1 var(--im-font); color:var(--im-navy); text-transform:uppercase;
}
body:is(.page-id-183, .page-id-877) #main-content .et_pb_heading h1::after{ content:"."; }
body:is(.page-id-183, .page-id-877) #main-content .et_pb_heading .et_pb_heading_container::after{
  content:""; display:block; width:calc(48 * var(--u)); height:2px; margin-top:calc(22 * var(--u)); background:var(--im-rosso);
}

body .ymc-container {max-width: unset;}
body .ymc-container .filter-content .posts-grid .post-layout_standard {border:0}

.lista_immobili_testo p{
  margin:0; padding:calc(26 * var(--u)) 0 0; max-width:calc(900 * var(--u));
  font:400 calc(18 * var(--u))/1.6 var(--im-font); color:var(--im-testo);
}

/* ---- filtri (YMC) ---- */
.lista_immobili_griglia{ margin-top:calc(40 * var(--u)); }
.lista_immobili_griglia .filter-layout{
  margin:0 0 calc(44 * var(--u)) !important; padding:0 !important; 
}
.lista_immobili_griglia .filter-buttons{ display:flex !important; flex-wrap:wrap; gap:0 !important; }
.lista_immobili_griglia .ymc-container .filter-button{
  all:unset; box-sizing:border-box; cursor:pointer;
  display:inline-block !important; margin:0 calc(36 * var(--u)) 0 0 !important; padding:0 0 calc(10 * var(--u)) !important;
  background:none !important; border-radius:0 !important; box-shadow:none !important;
  font:500 calc(14 * var(--u))/1.2 var(--im-font) !important; letter-spacing:0 !important; text-transform:none !important;
  color:var(--im-testo) !important; border-bottom:2px solid transparent !important;
}
.lista_immobili_griglia .ymc-container .filter-button:hover{ color:var(--im-navy) !important; background:none !important; }
.lista_immobili_griglia .ymc-container .filter-button.is-active{
  color:var(--im-navy) !important; font-weight:700 !important; background:none !important; border-bottom-color:var(--im-rosso) !important;
}

/* ---- griglia 2 colonne ---- */
.lista_immobili_griglia .posts-grid{
  display:grid !important; grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:calc(64 * var(--u)) calc(32 * var(--u)) !important;
}
.lista_immobili_griglia .posts-grid > *{ width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; float:none !important; }

/* ---- card ---- */
.reg-card{ display:flex; flex-direction:column; font-family:var(--im-font); background:transparent; }
.reg-card__img{ display:block; aspect-ratio:4/3; overflow:hidden; background:var(--im-grigio); }
.reg-card__img img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.reg-card:hover .reg-card__img img{ transform:scale(1.03); }
.reg-card__meta{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:calc(22 * var(--u)); }
.reg-termini{ font:500 calc(10 * var(--u))/1.4 var(--im-font); letter-spacing:.04em; text-transform:uppercase; color:var(--im-navy); }
.reg-term-padre{ font-weight:800; margin-right:.35em; }
.reg-term-figlio{ font-weight:400; margin-right:.5em; }
.reg-card__anno{ flex:none; font:400 calc(12 * var(--u))/1.4 var(--im-font); color:var(--im-testo); }
.reg-card__incorso{ font-weight:700; color:var(--im-navy); }
.reg-card__titolo{ margin:calc(10 * var(--u)) 0 0; padding:0; font:700 calc(26 * var(--u))/1.2 var(--im-font); color:var(--im-navy); }
.reg-card__titolo a{ color:var(--im-navy); text-decoration:none; }

.reg-card__estratto{ margin:calc(16 * var(--u)) 0 0; padding:0; font:400 calc(14 * var(--u))/1.5 var(--im-font); color:#1a1f2b; }
.reg-card__luogo{ margin:calc(26 * var(--u)) 0 0; padding:0; font:400 calc(12 * var(--u))/1.4 var(--im-font); color:var(--im-testo); }
.reg-card__link{ margin-top:calc(14 * var(--u)); font:700 calc(12 * var(--u))/1.4 var(--im-font); color:var(--im-rosso) !important; text-decoration:none; }
.reg-card__link:hover{ text-decoration:underline; }

body .ymc-container .filter-content .posts-grid .post-card__read-more {color:var(--im-rosso);font-weight: bold}
body .ymc-container .filter-content .posts-grid .post-card__title a {color: var(--im-navy);background: transparent;font-weight: bold;font-size: 2.5rem}
/* Termini: padre (slug senza "_", in grassetto) PRIMA, poi il figlio (slug "padre_figlio").
   Riordino con flex + order, perche' YMC li stampa in ordine alfabetico. */
body .ymc-container .filter-content .posts-grid .post-card__tags{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:0 .6rem;
}
body .ymc-container .filter-content .posts-grid .post-card__tags .tag{
  order:2; padding:0; margin:0; border:0; background:transparent !important;
  color:var(--im-navy); font-size:calc(10 * var(--u)); font-weight:400;
  letter-spacing:.04em; text-transform:uppercase; text-decoration:none;
}
body .ymc-container .filter-content .posts-grid .post-card__tags .tag:not([class*="_"]){
  order:1; font-weight:800;      /* termine padre */
}

/* ---- mobile ---- */
@media (max-width:767px){
  body:is(.page-id-183, .page-id-877) #main-content .et_pb_heading h1{ font-size:clamp(30px,9vw,40px); }
  .lista_immobili_testo p{ font-size:16px; }
  .lista_immobili_griglia .ymc-container .filter-button{ font-size:14px !important; margin-right:22px !important; }
  .lista_immobili_griglia .filter-buttons{ flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; }
  .lista_immobili_griglia .posts-grid{ grid-template-columns:1fr !important; gap:44px !important; }
  .reg-termini{ font-size:10px; } .reg-card__titolo{ font-size:24px; } .reg-card__estratto{ font-size:14px; }
  .reg-card__anno, .reg-card__luogo{ font-size:12px; }
}

/* Termini PRIMA del titolo: il contenitore che li ospita diventa una colonna flex
   e i termini passano per primi (l'eventuale immagine nello stesso contenitore resta in cima). */
body .ymc-container .posts-grid :has(> .post-card__tags){
  display:flex; flex-direction:column;
}
body .ymc-container .posts-grid :has(> .post-card__tags) > *{ order:3; }
body .ymc-container .posts-grid :has(> .post-card__tags) > :is([class*="image"], [class*="thumb"], [class*="media"], figure, a:has(> img)){ order:0; }
body .ymc-container .posts-grid :has(> .post-card__tags) > .post-card__tags{
  order:1; margin:calc(22 * var(--u)) 0 calc(10 * var(--u));
}
body .ymc-container .posts-grid :has(> .post-card__tags) > :is([class*="title"], h2, h3){ order:2; margin-top:0; }

/* Luogo inserito dal JS nelle card standard YMC */
body .ymc-container .posts-grid .reg-card__luogo{
  margin:calc(22 * var(--u)) 0 calc(10 * var(--u)); 
  padding:0 12px;
  font:400 calc(12 * var(--u))/1.4 var(--im-font); color:var(--im-testo);
}

/* Anno a destra, sulla riga dei termini */
body .ymc-container .posts-grid .post-card__tags .reg-card__anno{
  order:3; margin-left:auto; flex:none;
  font:400 calc(12 * var(--u))/1.4 var(--im-font); color:var(--im-testo); letter-spacing:0; text-transform:none;
}
body .ymc-container .posts-grid .reg-card__incorso{ font-weight:700; color:var(--im-navy); }

/* filtro senza risultati nel gruppo della pagina: nascosto dallo script */
body .ymc-container .filter-button.reg-vuoto{ display:none !important; }
