/* Dalvini Dalvini Live Property Search - V2 Widgets */

.resales-v2{margin:24px 0;}
.resales-v2-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.resales-v2-title{margin:0;font-size:20px;line-height:1.2;}

/* Shared card */
.resales-v2-track{display:flex;gap:16px;}
.resales-v2-card{flex:0 0 320px;border-radius:18px;overflow:hidden;border:1px solid rgba(184,155,94,.25);background:rgba(14,14,16,.6);box-shadow:0 10px 30px rgba(0,0,0,.18);}
.resales-v2-card-link{display:block;color:inherit;text-decoration:none;}
.resales-v2-img{position:relative;aspect-ratio:4/3;background:rgba(255,255,255,.05);}
.resales-v2-img img{width:100%;height:100%;object-fit:cover;display:block;}
.resales-v2-img-ph{width:100%;height:100%;}
.resales-v2-body{padding:14px 14px 16px;}
.resales-v2-price{font-weight:600;margin-bottom:6px;}
.resales-v2-name{font-size:16px;line-height:1.25;margin-bottom:6px;}
.resales-v2-loc{opacity:.85;font-size:13px;margin-bottom:10px;}
.resales-v2-meta{display:flex;gap:10px;flex-wrap:wrap;opacity:.9;font-size:13px;}
.resales-v2-meta span{border:1px solid rgba(184,155,94,.25);padding:4px 8px;border-radius:999px;}
.resales-v2-cta{margin-top:12px;display:inline-flex;align-items:center;gap:8px;color:var(--dalvini-gold, #B89B5E);font-size:13px;}

/* Carousel */
.resales-v2-carousel .resales-v2-track{overflow:auto;scroll-snap-type:x mandatory;padding-bottom:6px;}
.resales-v2-carousel .resales-v2-card{scroll-snap-align:start;}
.resales-v2-controls{display:flex;gap:8px;}
.resales-v2-btn{width:34px;height:34px;border-radius:999px;border:1px solid rgba(184,155,94,.35);background:rgba(14,14,16,.55);color:#fff;cursor:pointer;}
.resales-v2-btn:hover{border-color:rgba(184,155,94,.75);}

/* Grid */
.resales-v2-grid .resales-v2-track{display:grid;grid-template-columns:repeat(var(--resales-cols,4),minmax(0,1fr));gap:16px;}
.resales-v2-grid .resales-v2-card{flex:initial;}

@media (max-width: 1024px){
  .resales-v2-grid .resales-v2-track{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .resales-v2-card{flex-basis:280px;}
  .resales-v2-grid .resales-v2-track{grid-template-columns:repeat(1,minmax(0,1fr));}
}

/* Hero */
.resales-v2-hero{position:relative;border-radius:22px;overflow:hidden;margin:24px 0;min-height:320px;height:var(--resales-hero-h,70vh);}
.resales-v2-hero-link{position:relative;display:block;width:100%;height:100%;color:#fff;text-decoration:none;}
.resales-v2-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.01);}
.resales-v2-hero-link:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0, calc(var(--resales-hero-overlay, .45) * 0.7)) 0%, rgba(0,0,0, var(--resales-hero-overlay,.45)) 60%, rgba(0,0,0, calc(var(--resales-hero-overlay,.45) * 1.1)) 100%);z-index:1;}
.resales-v2-hero-inner{position:absolute;z-index:2;max-width:1100px;padding:28px;}
.resales-v2-hero-title{margin:0 0 10px;font-size:34px;line-height:1.05;}
.resales-v2-hero-tag{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(184,155,94,.35);padding:6px 10px;border-radius:999px;margin-bottom:12px;color:var(--dalvini-gold,#B89B5E);font-size:12px;}
.resales-v2-hero-price{font-size:18px;font-weight:600;margin-bottom:10px;}
.resales-v2-hero-meta{display:flex;gap:10px;flex-wrap:wrap;opacity:.95;}
.resales-v2-hero-meta span{border:1px solid rgba(255,255,255,.25);padding:6px 10px;border-radius:999px;font-size:13px;}
.resales-v2-hero-cta{margin-top:16px;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;background:var(--dalvini-gold,#B89B5E);color:#fff;font-weight:600;width:max-content;}

.resales-v2-hero-align-bottom-left .resales-v2-hero-inner{left:0;bottom:0;}
.resales-v2-hero-align-center .resales-v2-hero-inner{left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;}
.resales-v2-hero-align-bottom-center .resales-v2-hero-inner{left:50%;bottom:0;transform:translateX(-50%);text-align:center;}

/* --- Dalvini fix: enforce consistent image sizing across carousel + grid --- */
.resales-v2-card-link{display:flex;flex-direction:column;height:100%;}
.resales-v2-body{flex:1;display:flex;flex-direction:column;}
.resales-v2-cta{margin-top:auto;}

/* Make sure no theme/Elementor rule overrides the image sizing */
.resales-v2-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}
