/* ═══════════════════════════════════════════════════════════════
   BEB Case — single-immobili.css
   Template: singola scheda immobile
═══════════════════════════════════════════════════════════════ */

/* ── BREADCRUMB ──────────────────────────────────────────────── */
.imm-breadcrumb {
  background:var(--k);
  padding-top:calc(var(--H) + 115px);
  padding-bottom:0;
  line-height:1;
}
/* ── LAYOUT PRINCIPALE ───────────────────────────────────────── */
.imm-main {
  display:grid;
  grid-template-columns:1fr 340px;
  gap:4rem;
  padding:5rem 5vw;
  align-items:start;
  background:var(--w);
  max-width:1400px;
  margin:0 auto;
  box-sizing:border-box;
  width:100%;
}

/* ── HEADER IMMOBILE ─────────────────────────────────────────── */
.imm-header {
  padding-bottom:2.5rem;
  border-bottom:1px solid var(--bd);
  margin-bottom:2.5rem;
  display:grid;
  grid-template-columns:1fr 320px;
  gap:2.5rem;
  align-items:start;
}
.imm-header-copy {}
.imm-badge-zona {
  font-size:.65rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--yd);
  margin-bottom:.8rem; display:block;
}
.imm-tipo-badge {
  display:inline-block;
  background:var(--y); color:var(--k);
  font-size:.6rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  padding:.25rem .7rem; margin-left:.6rem;
}
.imm-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:600; line-height:1.1; color:var(--k);
  margin-bottom:1rem;
}
.imm-prezzo {
  font-family:'Cormorant Garamond',serif;
  font-size:2.8rem; font-weight:700; color:var(--k);
  line-height:1;
}
.imm-prezzo.riservato {
  font-size:1rem; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--mu);
  font-family:'Barlow',sans-serif;
}
.imm-prezzo-note {
  font-size:.78rem; font-weight:300; color:var(--mu);
  margin-top:.3rem; display:block;
}

/* Foto principale accanto al titolo */
.imm-header-foto {
  position:relative; overflow:hidden; border-radius:1px;
  aspect-ratio:4/3; cursor:pointer;
}
.imm-header-foto img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.9) brightness(.95);
  transition:transform .5s ease, filter .3s ease;
}
.imm-header-foto:hover img { transform:scale(1.04); filter:saturate(1) brightness(1.05); }
.imm-header-foto-badge {
  position:absolute; bottom:.8rem; right:.8rem;
  background:rgba(35,31,32,.85);
  border:1px solid rgba(247,174,78,.35);
  color:var(--y);
  font-size:.6rem; font-weight:600; letter-spacing:.1em;
  padding:.35rem .8rem;
  backdrop-filter:blur(4px);
}

/* ── FIELDS ACF ──────────────────────────────────────────────── */
.imm-fields {
  display:flex; flex-wrap:wrap; gap:.6rem;
  margin-bottom:2.5rem;
}
.acf-field {
  display:flex; align-items:center; gap:.6rem;
  background:var(--g0);
  border:1px solid var(--bd);
  border-left:2.5px solid var(--y);
  padding:.55rem 1rem;
}
.acf-label {
  font-size:.58rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--mu); display:block; line-height:1; margin-bottom:.15rem;
}
.acf-val {
  font-weight:500; color:var(--k); font-size:.84rem; display:block; line-height:1;
}

/* ── DESCRIZIONE ─────────────────────────────────────────────── */
.imm-desc-title {
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem; font-weight:600; color:var(--k);
  margin-bottom:1.2rem;
  padding-bottom:.8rem;
  border-bottom:2px solid var(--y);
  display:inline-block;
}
.imm-desc {
  font-size:1.05rem; font-weight:300; line-height:1.95; color:var(--mu);
}
.imm-desc p + p { margin-top:1.1rem; }

/* ── SEZIONE GENERICA ────────────────────────────────────────── */
.imm-section {
  margin-top:3rem; padding-top:2.5rem;
  border-top:1px solid var(--bd);
}
.imm-section-title {
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem; font-weight:600; color:var(--k);
  margin-bottom:1.5rem;
  display:flex; align-items:center; gap:.8rem;
}
.imm-section-title::after { content:''; flex:1; height:1px; background:var(--bd); }

/* Griglia dati tecnici */
.imm-data-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--bd); margin-bottom:2rem;
}
.imm-data-row {
  background:var(--w); padding:.8rem 1.2rem;
  display:flex; justify-content:space-between; align-items:center;
}
.imm-data-label {
  font-size:.72rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:var(--mu);
}
.imm-data-val { font-size:.82rem; font-weight:500; color:var(--k); text-align:right; }

/* ── GALLERY HINT ────────────────────────────────────────────── */
.gallery-hint {
  display:flex; align-items:center; gap:.6rem;
  font-size:.72rem; font-weight:300; color:var(--mu);
  margin-bottom:1rem; font-style:italic;
}
.gallery-hint::before {
  content:'↗';
  font-size:.85rem; color:var(--y); font-style:normal; flex-shrink:0;
}

/* ── GALLERIA MASONRY ────────────────────────────────────────── */
.imm-masonry { columns:3; column-gap:4px; }
.imm-masonry .gitem {
  break-inside:avoid; margin-bottom:4px; display:block;
}
.imm-masonry .gitem img {
  width:100%; height:auto;
  max-height:520px;   /* portrait: max ~2 foto orizzontali sovrapposte */
  object-fit:cover;
}

/* ── PLANIMETRIE ─────────────────────────────────────────────── */
.imm-planimetria { max-width:600px; }
.imm-planimetria img { width:100%; height:auto; display:block; border:1px solid var(--bd); }

/* ── CLASSE ENERGETICA ───────────────────────────────────────── */
.energy-badge {
  display:inline-flex; align-items:center; gap:.8rem;
  background:var(--k); padding:.7rem 1.4rem; margin-top:.5rem;
}
.energy-letter {
  font-family:'Cormorant Garamond',serif;
  font-size:2rem; font-weight:700; line-height:1;
}
.energy-ipe { font-size:.72rem; color:rgba(255,255,255,.5); line-height:1.5; }
.energy-ipe strong { color:rgba(255,255,255,.85); display:block; }

/* ── VIDEO ───────────────────────────────────────────────────── */
.imm-video-wrap {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  margin-top:1rem;
}
.imm-video-wrap iframe {
  position:absolute; top:0; left:0;
  width:100%; height:100%; border:0;
}

/* ── SIDEBAR ─────────────────────────────────────────────────── */
.imm-sidebar { position:sticky; top:calc(var(--H) + 1.5rem); }
.sidebar-card {
  background:var(--k);
  border-top:3px solid var(--y);
  padding:2.5rem 2rem;
  margin-bottom:1.5rem;
}
.sidebar-prezzo {
  font-family:'Cormorant Garamond',serif;
  font-size:2.4rem; font-weight:700; color:var(--y);
  line-height:1; display:block; margin-bottom:.2rem;
}
.sidebar-prezzo.riservato {
  font-size:.8rem; font-family:'Barlow',sans-serif;
  color:rgba(255,255,255,.4); letter-spacing:.1em; text-transform:uppercase;
}
.sidebar-tipo { font-size:.65rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:1.8rem; display:block; }
.sidebar-divider { border:none; border-top:1px solid rgba(247,174,78,.15); margin:1.5rem 0; }
.sidebar-agent-title { font-size:.6rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--y); margin-bottom:1.2rem; display:block; }
.sidebar-agent-logo { height:100px; width:auto; display:block; margin-bottom:1.2rem; }
.sidebar-info { display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.8rem; }
.sidebar-info-row { display:flex; align-items:center; gap:.6rem; font-size:.78rem; font-weight:300; color:rgba(255,255,255,.5); }
.sidebar-info-row a { color:rgba(255,255,255,.5); text-decoration:none; transition:color .2s; }
.sidebar-info-row a:hover { color:var(--y); }
.sidebar-info-row svg { flex-shrink:0; opacity:.6; }

/* Form contatto */
.sidebar-form { display:flex; flex-direction:column; gap:.8rem; }
.sf-input {
  background:rgba(255,255,255,.07);
  border:1px solid rgba(247,174,78,.2);
  color:var(--w);
  font-family:'Barlow',sans-serif; font-size:.85rem; font-weight:300;
  padding:.75rem 1rem; outline:none;
  transition:border-color .2s; width:100%;
}
.sf-input::placeholder { color:rgba(255,255,255,.3); }
.sf-input:focus { border-color:var(--y); }
.sf-textarea { height:90px; resize:vertical; }
.sf-privacy { font-size:.66rem; font-weight:300; color:rgba(255,255,255,.25); line-height:1.6; }
.sidebar-ref {
  background:var(--g0); border:1px solid var(--bd);
  padding:1.2rem 1.5rem;
  display:flex; justify-content:space-between; align-items:center;
}
.sidebar-ref-label { font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mu); }
.sidebar-ref-val { font-size:.88rem; font-weight:600; color:var(--k); display:block; margin-top:.2rem; }

/* ── LIGHTBOX ────────────────────────────────────────────────── */
.lightbox {
  display:none; position:fixed; inset:0; z-index:1000;
  background:rgba(35,31,32,.97);
  flex-direction:column;
}
.lightbox.open { display:flex; }
.lb-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:.8rem 2vw;
  background:rgba(35,31,32,.9);
  border-bottom:1px solid rgba(247,174,78,.15);
  flex-shrink:0;
}
.lb-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:600; color:var(--w); }
.lb-counter { font-size:.72rem; color:rgba(255,255,255,.4); letter-spacing:.1em; }
.lb-close {
  background:none; border:1px solid rgba(247,174,78,.3);
  color:var(--y); font-size:1.2rem; cursor:pointer;
  padding:.3rem .8rem; transition:background .2s;
}
.lb-close:hover { background:rgba(247,174,78,.1); }
.lb-body { flex:1; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.lb-slide { display:none; flex-direction:column; align-items:center; max-height:100%; }
.lb-slide.active { display:flex; }
.lb-slide img { max-height:calc(100vh - 140px); max-width:96vw; object-fit:contain; display:block; }
.lb-cap { font-size:.7rem; color:rgba(255,255,255,.4); margin-top:.5rem; letter-spacing:.12em; text-transform:uppercase; }
.lb-nav {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(35,31,32,.8); border:1px solid rgba(247,174,78,.25);
  color:var(--y); font-size:1.4rem; cursor:pointer;
  padding:.6rem 1rem; transition:background .2s;
}
.lb-nav:hover { background:rgba(247,174,78,.15); }
.lb-prev { left:1vw; } .lb-next { right:1vw; }
.lb-thumbs {
  display:flex; gap:3px; overflow-x:auto; padding:.5rem 1vw;
  flex-shrink:0; background:rgba(35,31,32,.8);
  scrollbar-width:thin; scrollbar-color:rgba(247,174,78,.3) transparent;
}
.lb-thumb { width:64px; height:48px; flex-shrink:0; object-fit:cover; cursor:pointer; opacity:.5; transition:opacity .2s; border:1px solid transparent; }
.lb-thumb.active, .lb-thumb:hover { opacity:1; border-color:var(--y); }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width:960px) {
  .imm-main { grid-template-columns:1fr; gap:3rem; padding:3rem 4vw; }
  .imm-sidebar { position:static; }
  .imm-header { grid-template-columns:1fr; }
  .imm-header-foto { aspect-ratio:16/7; max-height:260px; }
  .imm-data-grid { grid-template-columns:1fr; }
  .imm-masonry { columns:2; }
}
@media (max-width:640px) {
  .imm-masonry { columns:1; }
  .sidebar-card { padding:2rem 1.5rem; }
}

/* ── CTA RICHIEDI INFORMAZIONI ───────────────────────────────── */
.sidebar-cta-info {
  display:block; width:100%;
  background:var(--y); color:var(--k);
  font-family:'Barlow',sans-serif;
  font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  text-align:center; text-decoration:none;
  padding:1.2rem 1rem;
  border:none; cursor:pointer;
  transition:background .2s, color .2s;
  margin-bottom:1rem;
  line-height:1.4;
}
.sidebar-cta-info:hover { background:#ffc46a; color:var(--k); }
.sidebar-cta-info small {
  display:block; font-size:.65rem; font-weight:400;
  letter-spacing:.06em; text-transform:none;
  margin-top:.3rem; color:rgba(35,31,32,.65);
}
