/* Rebirth Immobili · vetrina stile Vendita (image card 4/5 con overlay)
   Tutte le regole sono scoped sotto .rbi-section per non interferire col tema.
   !important mirati per battere le regole aggressive di temi/Elementor. */

.rbi-section{
  --rbi-gold:#B8884A;
  --rbi-gold-warm:#D9B88A;
  --rbi-gold-deep:#8A6A3E;
  --rbi-ink:#0B2350;
  --rbi-ink-soft:rgba(11,35,80,.72);
  --rbi-ink-mute:rgba(11,35,80,.5);
  --rbi-hair:rgba(11,35,80,.12);
  --rbi-cream:#FAF8F3;

  font-family:'Inter','Helvetica Neue',Arial,sans-serif !important;
  font-weight:300;
  color:var(--rbi-ink);
  box-sizing:border-box;
  margin: 0 auto;
  max-width: 1320px;
  padding: 32px 0;
}
.rbi-section *, .rbi-section *::before, .rbi-section *::after{ box-sizing:border-box; }

/* ── FILTER BAR ────────────────────────────── */
.rbi-section .rbi-flt{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:18px 0 !important;
  border:none !important;
  border-bottom:1px solid var(--rbi-hair) !important;
  margin:0 0 40px 0 !important;
  background:transparent !important;
  list-style:none !important;
}
.rbi-section .rbi-lbl{
  font-size:10px !important;
  letter-spacing:.3em !important;
  text-transform:uppercase !important;
  color:var(--rbi-gold) !important;
  font-weight:500 !important;
  margin-right:10px !important;
  line-height:1 !important;
}
.rbi-section .rbi-chip{
  display:inline-flex !important;
  align-items:center !important;
  padding:8px 16px !important;
  margin:0 !important;
  border:1px solid var(--rbi-hair) !important;
  border-radius:0 !important;
  background:#fff !important;
  color:var(--rbi-ink-soft) !important;
  font-family:inherit !important;
  font-size:11.5px !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
  cursor:pointer !important;
  transition:all .25s ease !important;
  box-shadow:none !important;
  outline:none !important;
  line-height:1 !important;
  text-decoration:none !important;
}
.rbi-section .rbi-chip:hover{
  border-color:var(--rbi-gold) !important;
  color:var(--rbi-ink) !important;
  background:#fff !important;
}
.rbi-section .rbi-chip.is-active{
  background:var(--rbi-ink) !important;
  color:#fff !important;
  border-color:var(--rbi-ink) !important;
}
.rbi-section .rbi-count{
  margin-left:auto !important;
  font-family:'Cormorant Garamond','Times New Roman',serif !important;
  font-style:italic !important;
  font-size:14px !important;
  color:var(--rbi-gold) !important;
  font-weight:400 !important;
}

/* ── GRID 3 colonne ──────────────────────────── */
.rbi-section .rbi-grid{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:20px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.rbi-section[data-cols="4"] .rbi-grid{ grid-template-columns:repeat(4, 1fr) !important; }
.rbi-section[data-cols="2"] .rbi-grid{ grid-template-columns:repeat(2, 1fr) !important; }
.rbi-section[data-cols="1"] .rbi-grid{ grid-template-columns:1fr !important; }

/* ── CARD immagine 4/5 con overlay ─────────── */
.rbi-section .rbi-card{
  position:relative !important;
  overflow:hidden !important;
  aspect-ratio:4/5 !important;
  background:var(--rbi-ink) !important;
  transition: transform .5s cubic-bezier(.22,.61,.36,1), opacity .3s ease !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  display:block !important;
  box-shadow:none !important;
}
.rbi-section .rbi-card.is-hidden{ display:none !important; }
.rbi-section .rbi-card:hover{ transform:translateY(-6px) !important; }

.rbi-section .rbi-link{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  text-decoration:none !important;
  color:inherit !important;
  background:transparent !important;
  border:none !important;
}
.rbi-section .rbi-card img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  filter:brightness(.72) saturate(1.05) !important;
  transition: filter .6s ease, transform 1s cubic-bezier(.22,.61,.36,1) !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  display:block !important;
  max-width:none !important;
}
.rbi-section .rbi-card:hover img{
  filter:brightness(.88) saturate(1.15) !important;
  transform:scale(1.05) !important;
}
.rbi-section .rbi-link::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, transparent 0%, transparent 40%, rgba(6,23,53,.95) 100%) !important;
  z-index:1 !important;
  pointer-events:none !important;
}

/* ── INFO overlay sul fondo della card ─────── */
.rbi-section .rbi-info{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:2 !important;
  padding:24px 22px !important;
  color:#fff !important;
  background:transparent !important;
}
.rbi-section .rbi-loc{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  font-size:10px !important;
  letter-spacing:.3em !important;
  text-transform:uppercase !important;
  color:var(--rbi-gold-warm) !important;
  font-weight:500 !important;
  margin:0 0 8px 0 !important;
  line-height:1 !important;
}
.rbi-section .rbi-loc::before{
  content:"" !important;
  display:inline-block !important;
  width:6px !important;
  height:6px !important;
  background:var(--rbi-gold) !important;
  border-radius:50% !important;
  flex:none !important;
}
.rbi-section .rbi-name{
  font-family:'Cormorant Garamond','Times New Roman',serif !important;
  font-weight:500 !important;
  font-size:clamp(22px, 2.4vw, 28px) !important;
  line-height:1.05 !important;
  margin:0 0 8px 0 !important;
  color:#fff !important;
  padding:0 !important;
}
.rbi-section .rbi-name em{
  font-style:italic !important;
  color:var(--rbi-gold-warm) !important;
}
.rbi-section .rbi-typ{
  font-size:11px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.7) !important;
  font-weight:500 !important;
  margin:0 0 16px 0 !important;
  line-height:1.4 !important;
}
.rbi-section .rbi-feats{
  display:flex !important;
  gap:14px !important;
  padding:14px 0 0 0 !important;
  margin:0 !important;
  border-top:1px solid rgba(217,184,138,.25) !important;
  font-size:9.5px !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.75) !important;
  font-weight:500 !important;
  flex-wrap:wrap !important;
  list-style:none !important;
}
.rbi-section .rbi-feats span{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}
.rbi-section .rbi-feats span::before{
  content:"" !important;
  display:inline-block !important;
  width:5px !important;
  height:5px !important;
  background:var(--rbi-gold-warm) !important;
  flex:none !important;
}

/* ── Corner bracket oro animato ────────────── */
.rbi-section .rbi-br{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  width:18px !important;
  height:18px !important;
  border:none !important;
  border-top:1.5px solid var(--rbi-gold-warm) !important;
  border-right:1.5px solid var(--rbi-gold-warm) !important;
  z-index:3 !important;
  transition: width .4s ease, height .4s ease, opacity .35s ease !important;
  opacity:.7 !important;
  pointer-events:none !important;
  background:transparent !important;
}
.rbi-section .rbi-card:hover .rbi-br{
  width:42px !important;
  height:42px !important;
  opacity:1 !important;
}

/* ── Tag stato ─────────────────────────────── */
.rbi-section .rbi-tag{
  position:absolute !important;
  top:14px !important;
  left:14px !important;
  z-index:3 !important;
  font-family:'Inter','Helvetica Neue',Arial,sans-serif !important;
  font-size:9px !important;
  letter-spacing:.3em !important;
  text-transform:uppercase !important;
  padding:5px 12px !important;
  font-weight:500 !important;
  line-height:1 !important;
  margin:0 !important;
  border:none !important;
  border-radius:0 !important;
}
.rbi-section .rbi-tag.disp{ background:var(--rbi-gold) !important; color:#fff !important; }
.rbi-section .rbi-tag.soon{ background:var(--rbi-ink) !important; color:var(--rbi-gold-warm) !important; }
.rbi-section .rbi-tag.vend{ background:rgba(11,35,80,.7) !important; color:var(--rbi-gold-warm) !important; }

/* ── RESPONSIVE ────────────────────────────── */
@media (max-width:1024px){
  .rbi-section .rbi-grid,
  .rbi-section[data-cols="4"] .rbi-grid{
    grid-template-columns:repeat(2, 1fr) !important;
  }
}
@media (max-width:560px){
  .rbi-section .rbi-grid,
  .rbi-section[data-cols="2"] .rbi-grid,
  .rbi-section[data-cols="4"] .rbi-grid{
    grid-template-columns:1fr !important;
  }
  .rbi-section .rbi-flt{ gap:6px !important; }
  .rbi-section .rbi-count{
    margin-left:0 !important;
    flex:1 1 100% !important;
    margin-top:6px !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .rbi-section *, .rbi-section *::before, .rbi-section *::after{
    transition:none !important;
    animation:none !important;
  }
}
