/* ═══════════════════════════════════════════════════════════════
   BEB Case — archive-immobili.css
   Archivio listing immobili — design editoriale premium
═══════════════════════════════════════════════════════════════ */

/* ── INTRO BAND ──────────────────────────────────────────────── */
.intro-band {
  background:var(--k);
  padding-top:calc(var(--H) + 115px);
  border-bottom:2px solid var(--y);
  position:relative; overflow:hidden;
}
.intro-band-inner {
  padding:4rem 5vw 4.5rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem; align-items:end;
  position:relative; z-index:1;
}
.intro-band-deco {
  position:absolute; right:-2%; top:50%; transform:translateY(-50%);
  width:clamp(220px,30vw,420px); opacity:.06; pointer-events:none;
}
.intro-band-deco svg { width:100%; height:auto; display:block; }
.intro-band-deco path { fill:#F7AE4E; }
.intro-band .s-label { color:var(--y); }
.intro-band .s-label::before { background:var(--y); }
.intro-band h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.6rem,4.5vw,4rem);
  font-weight:300; line-height:1.1; color:var(--w);
  margin-bottom:.6rem;
}
.intro-band h1 em { font-style:italic; color:var(--y); font-weight:300; }
.intro-count {
  font-family:'Cormorant Garamond',serif;
  font-size:5.5rem; font-weight:700;
  color:rgba(247,174,78,.15);
  line-height:1; letter-spacing:-.02em; display:block;
}
.intro-right-text {
  font-size:.96rem; font-weight:300; line-height:1.9;
  color:rgba(255,255,255,.45); margin-bottom:2rem;
}

/* ── FILTER BAR STICKY ───────────────────────────────────────── */
.filter-bar {
  position:sticky; top:var(--H); z-index:100;
  background:rgba(35,31,32,.97);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(247,174,78,.2);
  padding:0 5vw;
  display:flex; align-items:center; gap:0;
  height:52px;
  overflow-x:auto; scrollbar-width:none;
}
.filter-bar::-webkit-scrollbar { display:none; }
.filter-label {
  font-size:.6rem; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(255,255,255,.3);
  margin-right:1.5rem; flex-shrink:0; white-space:nowrap;
}
.filter-pill {
  display:inline-flex; align-items:center;
  font-size:.68rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.5);
  padding:0 1.1rem; height:52px;
  cursor:pointer; transition:color .2s;
  border:none; border-bottom:2px solid transparent; border-top:none; border-left:none; border-right:none;
  font-family:'Barlow',sans-serif;
  background:none; flex-shrink:0; white-space:nowrap;
}
.filter-pill:hover { color:rgba(255,255,255,.85); }
.filter-pill.active { color:var(--y); border-bottom-color:var(--y); }
.filter-sep {
  width:1px; height:20px;
  background:rgba(255,255,255,.12); flex-shrink:0; margin:0 .5rem;
}
.filter-bar-right {
  margin-left:auto; flex-shrink:0;
  font-size:.62rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.25);
  padding-left:1.5rem; border-left:1px solid rgba(255,255,255,.08);
  white-space:nowrap;
}
.filter-bar-right span { color:var(--y); font-weight:600; }

/* ── SEPARATORE SEZIONE ──────────────────────────────────────── */
.section-sep {
  height:1px; background:var(--bd); position:relative;
}
.section-sep::before {
  content:''; position:absolute;
  left:5vw; top:0; height:100%; width:80px; background:var(--y);
}

/* ── PROP FEATURED — hero del primo immobile ─────────────────── */
.prop-featured {
  display:grid; grid-template-columns:1fr 1fr;
  min-height:90vh; position:relative;
}
.prop-feat-photo { position:relative; overflow:hidden; }
.prop-feat-photo img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:brightness(.75) saturate(.85);
  transition:transform .8s ease;
}
.prop-featured:hover .prop-feat-photo img { transform:scale(1.03); }
.prop-feat-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to right, transparent 60%, var(--k) 100%);
}
.prop-num-bg {
  position:absolute; bottom:-2rem; left:-1rem;
  font-family:'Cormorant Garamond',serif;
  font-size:22vw; font-weight:700;
  color:rgba(255,255,255,.04); line-height:1;
  pointer-events:none; user-select:none;
}
.prop-feat-copy {
  background:var(--k);
  padding:6rem 5vw 5rem 4rem;
  display:flex; flex-direction:column; justify-content:center;
  border-left:2px solid rgba(247,174,78,.15);
}
.prop-feat-meta { display:flex; align-items:center; gap:1rem; margin-bottom:2rem; }
.prop-zona-label {
  font-size:.65rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--y);
}
.prop-tag {
  font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  background:rgba(247,174,78,.15);
  border:1px solid rgba(247,174,78,.4);
  color:var(--y); padding:.2rem .65rem;
}
.prop-tag.venduto {
  background:rgba(35,31,32,.6); border-color:rgba(255,255,255,.15);
  color:rgba(255,255,255,.5);
}
.prop-feat-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.6rem,4vw,3.8rem);
  font-weight:600; line-height:1.1; color:var(--w);
  margin-bottom:.8rem;
}
.prop-feat-sub {
  font-size:.92rem; font-weight:300; font-style:italic;
  color:rgba(255,255,255,.45);
  margin-bottom:2.5rem;
  padding-bottom:2.5rem;
  border-bottom:1px solid rgba(247,174,78,.12);
}
.prop-specs { display:flex; flex-wrap:wrap; gap:2rem; margin-bottom:2rem; }
.spec { display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; }
.spec-val {
  font-family:'Cormorant Garamond',serif;
  font-size:2rem; font-weight:700; color:var(--y); line-height:1;
}
.spec-lab {
  font-size:.58rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(255,255,255,.3);
}
.prop-feat-desc {
  font-size:.9rem; font-weight:300; line-height:1.9;
  color:rgba(255,255,255,.5);
  margin-bottom:2.5rem; flex:1;
}
.prop-feat-footer {
  display:flex; align-items:center; justify-content:space-between;
  gap:2rem; flex-wrap:wrap;
}
.prop-price {
  font-family:'Cormorant Garamond',serif;
  font-size:2.2rem; font-weight:700; color:var(--w);
  display:block; line-height:1;
}
.prop-price-reserved {
  font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.4); display:block;
}
.prop-tipo-inline {
  font-size:.6rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.28); display:block; margin-top:.25rem;
}

/* ── PROP ROW — card alternata foto/testo ────────────────────── */
.prop-row {
  display:grid; grid-template-columns:5fr 6fr;
  min-height:600px; position:relative;
}
.prop-photo-right { grid-template-columns:6fr 5fr; }
.prop-photo-right .prop-photo { order:2; }
.prop-photo-right .prop-copy  { order:1; }
.prop-photo { position:relative; overflow:hidden; }
.prop-photo a { display:block; width:100%; height:100%; }
.prop-photo img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.82) brightness(.9);
  transition:transform .7s ease, filter .5s ease;
}
.prop-row:hover .prop-photo img { transform:scale(1.04); filter:saturate(.95) brightness(1); }
.prop-num-float {
  position:absolute; bottom:1.5rem; left:1.5rem;
  font-family:'Cormorant Garamond',serif;
  font-size:4rem; font-weight:700;
  color:rgba(255,255,255,.12); line-height:1;
  pointer-events:none; mix-blend-mode:overlay;
}
.prop-copy {
  background:var(--w);
  display:flex; align-items:center;
  border-top:1px solid var(--bd); border-bottom:1px solid var(--bd);
}
.prop-copy-inner { padding:4rem 5vw; width:100%; }
.prop-meta-top { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.prop-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,3vw,2.8rem);
  font-weight:600; line-height:1.1; color:var(--k); margin-bottom:.6rem;
}
.prop-title a { color:inherit; text-decoration:none; transition:color .2s; }
.prop-title a:hover { color:var(--yd); }
.prop-sub {
  font-size:.88rem; font-weight:300; font-style:italic;
  color:var(--mu); margin-bottom:2rem;
  padding-bottom:2rem; border-bottom:1px solid var(--bd);
}
/* Specs nelle prop-row: numeri neri */
.prop-row .spec-val { color:var(--k); }
.prop-row .spec-lab { color:var(--mu); }
.prop-desc {
  font-size:.9rem; font-weight:300; line-height:1.9;
  color:var(--mu); margin-top:1.8rem; margin-bottom:2.5rem;
}
.prop-footer {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:2rem; flex-wrap:wrap;
  padding-top:2rem; border-top:1px solid var(--bd);
}
.prop-price-block .prop-price { color:var(--k); }
.prop-price-block .prop-tipo-inline { color:rgba(35,31,32,.35); }
.prop-link {
  font-size:.75rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--k); text-decoration:none;
  display:flex; align-items:center; gap:.5rem;
  padding-bottom:2px; border-bottom:1.5px solid var(--y);
  transition:gap .25s, border-color .2s; white-space:nowrap;
}
.prop-link:hover { gap:1rem; border-color:var(--k); }
.prop-link-arrow { transition:transform .25s; }
.prop-link:hover .prop-link-arrow { transform:translateX(4px); }

/* Riga scura ogni 6 */
.prop-row:nth-child(6n) .prop-copy { background:var(--k); }
.prop-row:nth-child(6n) .prop-title a { color:var(--w); }
.prop-row:nth-child(6n) .prop-sub { color:rgba(255,255,255,.4); border-bottom-color:rgba(255,255,255,.1); }
.prop-row:nth-child(6n) .prop-desc { color:rgba(255,255,255,.45); }
.prop-row:nth-child(6n) .prop-footer { border-top-color:rgba(255,255,255,.1); }
.prop-row:nth-child(6n) .prop-price { color:var(--y); }
.prop-row:nth-child(6n) .prop-tipo-inline { color:rgba(255,255,255,.25); }
.prop-row:nth-child(6n) .prop-link { color:var(--w); border-bottom-color:var(--y); }
.prop-row:nth-child(6n) .prop-link:hover { border-bottom-color:var(--w); }
.prop-row:nth-child(6n) .spec-val { color:var(--y); }
.prop-row:nth-child(6n) .spec-lab { color:rgba(255,255,255,.3); }
.prop-row:nth-child(6n) .prop-zona-label { color:var(--y); }
.prop-row:nth-child(6n) .prop-copy { border-color:rgba(255,255,255,.06); }

/* ── FASCETTA VENDUTO ────────────────────────────────────────── */
.prop-photo.sold::after {
  content:''; position:absolute; inset:0;
  background:rgba(35,31,32,.38); pointer-events:none;
}
.sold-ribbon {
  position:absolute; top:52px; left:-58px;
  width:230px; background:var(--k); color:var(--w);
  font-family:'Barlow',sans-serif;
  font-size:.8rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase;
  text-align:center; padding:.75rem 0;
  transform:rotate(-45deg);
  border-top:2px solid var(--y); border-bottom:2px solid var(--y);
  pointer-events:none; z-index:4;
  box-shadow:0 4px 18px rgba(35,31,32,.5);
}
.sold-ribbon em { color:var(--y); font-style:normal; }
.prop-photo.sold img { filter:saturate(.25) brightness(.65) !important; }
.prop-photo.sold a { pointer-events:none; cursor:default; }
.sold-flag {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--k); border:1px solid rgba(247,174,78,.4);
  padding:.32rem .9rem;
  font-size:.62rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.sold-flag::before {
  content:''; display:block; width:6px; height:6px;
  background:var(--y); border-radius:50%; flex-shrink:0;
}

/* NASCOSTO dai filtri */
.prop-featured.hidden, .prop-row.hidden { display:none; }

/* ── PAGINAZIONE ─────────────────────────────────────────────── */
.listing-pagination {
  background:var(--g0);
  border-top:1px solid var(--bd); border-bottom:2px solid var(--y);
  padding:3rem 5vw;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1.5rem;
}
.pag-info { font-size:.72rem; font-weight:400; color:var(--mu); letter-spacing:.08em; }
.pag-info strong { color:var(--k); font-weight:600; }
.pag-pages { display:flex; align-items:center; gap:3px; }
.pag-btn {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:38px;
  background:var(--w); border:1px solid var(--bd);
  font-family:'Barlow',sans-serif; font-size:.75rem; font-weight:500;
  color:var(--k); text-decoration:none;
  transition:background .18s, border-color .18s, color .18s;
  cursor:pointer; padding:0 .5rem;
}
.pag-btn:hover, .pag-btn.current { background:var(--k); border-color:var(--k); color:var(--y); }
.pag-btn.dots { background:none; border:none; cursor:default; color:var(--mu); min-width:24px; }
.pag-btn.arrow {
  font-size:.65rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:0 1.2rem; gap:.5rem;
}
.pag-btn.arrow:hover { background:var(--y); border-color:var(--yd); color:var(--k); }

/* ── END CTA ─────────────────────────────────────────────────── */
.end-cta {
  background:var(--k); padding:6rem 5vw;
  display:grid; grid-template-columns:1fr auto;
  gap:4rem; align-items:center;
  border-top:2px solid var(--y);
}
.end-cta .s-label { color:var(--y); }
.end-cta .s-label::before { background:var(--y); }
.end-cta h2 { color:var(--w); }
.end-cta h2 em { color:var(--y); font-style:italic; font-weight:300; }
.end-cta p { font-size:.92rem; font-weight:300; color:rgba(255,255,255,.45); margin-top:.8rem; }
.end-cta-contact { display:flex; flex-direction:column; gap:.8rem; align-items:flex-end; }
.end-cta-phone {
  font-family:'Cormorant Garamond',serif;
  font-size:2.4rem; font-weight:700; color:var(--w);
  text-decoration:none; line-height:1; transition:color .2s;
}
.end-cta-phone:hover { color:var(--y); }
.end-cta-mail { font-size:.8rem; color:rgba(255,255,255,.4); text-decoration:none; transition:color .2s; }
.end-cta-mail:hover { color:var(--y); }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width:1024px) {
  .prop-featured { grid-template-columns:1fr; min-height:auto; }
  .prop-feat-photo { min-height:55vh; }
  .prop-feat-overlay { background:linear-gradient(to top, var(--k) 0%, transparent 55%); }
  .prop-feat-copy { border-left:none; border-top:2px solid var(--y); padding:3rem 5vw; }
  .prop-row, .prop-photo-right { grid-template-columns:1fr; min-height:auto; }
  .prop-photo { height:380px; }
  .prop-photo-right .prop-photo, .prop-photo-right .prop-copy { order:unset; }
  .intro-band-inner { grid-template-columns:1fr; gap:2rem; }
  .end-cta { grid-template-columns:1fr; gap:2rem; }
  .end-cta-contact { align-items:flex-start; }
  .listing-pagination { flex-direction:column; align-items:flex-start; gap:1rem; }
}
@media (max-width:768px) {
  .filter-bar { height:auto; min-height:52px; flex-wrap:nowrap; }
  .prop-photo { height:280px; }
  .prop-feat-photo { min-height:45vh; }
  .prop-specs { gap:1.5rem; }
  .spec-val { font-size:1.5rem; }
}
@media (max-width:480px) {
  .intro-band-inner { padding:3rem 4vw 3.5rem; }
  .prop-feat-copy { padding:2.5rem 4vw; }
  .prop-copy-inner { padding:2.5rem 4vw; }
  .prop-photo { height:240px; }
  .end-cta { padding:4rem 4vw; }
  .pag-pages { flex-wrap:wrap; }
}

/* ── PAGINAZIONE — alias classi WordPress standard (paginate_links) ── */
.pag-pages a.page-numbers,
.pag-pages span.page-numbers {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:38px;
  background:var(--w); border:1px solid var(--bd);
  font-family:'Barlow',sans-serif; font-size:.75rem; font-weight:500;
  color:var(--k); text-decoration:none;
  transition:background .18s, border-color .18s, color .18s;
  padding:0 .5rem;
}
.pag-pages a.page-numbers:hover {
  background:var(--k); border-color:var(--k); color:var(--y);
}
.pag-pages span.page-numbers.current {
  background:var(--k); border-color:var(--k); color:var(--y);
}
.pag-pages span.page-numbers.dots {
  background:none; border:none; color:var(--mu); min-width:24px;
}
.pag-pages a.prev.page-numbers,
.pag-pages a.next.page-numbers {
  padding:0 1.2rem; font-size:.65rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
}
.pag-pages a.prev.page-numbers:hover,
.pag-pages a.next.page-numbers:hover {
  background:var(--y); border-color:var(--yd); color:var(--k);
}
