.bv-front-wrap{ width:100%; }
.bv-front-head{ margin: 0 0 14px 0; }
.bv-front-title{ margin:0; font-size:24px; font-weight:800; }

.bv-grid-carousel{
  position: relative;
  padding: 0;            /* iç padding'i sıfırla: oklar içeri gömülmesin */
}

.bv-grid-viewport{
  padding: 0 52px;       /* kartlar nefes alsın, oklar ayrı kalsın */
}

.bv-grid-track{
  display:flex;
  transition:transform .35s ease;
  will-change: transform;
}

.bv-grid-page{
  flex:0 0 100%;
}

/* =========================
   GRID KIRILIMI (3-2-1)
   ========================= */

.bv-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* Desktop: 3'lü */
  gap: 24px;
}

/* Tablet */
@media (max-width: 1024px){
  .bv-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2'li */
  }
}

/* Mobil */
@media (max-width: 560px){
  .bv-grid{
    grid-template-columns: 1fr; /* 1'li */
  }
}



.bv-grid-nav{
  position:absolute;
  top: 160px;
  transform: translateY(-50%);
  width:40px; height:40px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#fff;
  cursor:pointer;
  font-size:26px;
  line-height:36px;
}
.bv-grid-nav.bv-prev{
  left: -12px;           /* SOLDA dışarı taşı */
}
.bv-grid-nav.bv-next{
  right: -12px;          /* SAĞDA dışarı taşı */
}

.bv-grid-dots{
  display:flex;
  gap:10px;
  justify-content:center;
  margin-top: 18px;
}
.bv-grid-dot{
  width:10px; height:10px;
  border-radius:999px;
  border:none;
  background:#e5e7eb;
  cursor:pointer;
}
.bv-grid-dot.is-active{ background:#0ea5e9; }

.bv-card-front{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.bv-card-media{
  position:relative;
  height: 240px;
  background:#f3f4f6;
}

.bv-card-link{
  position:absolute;
  inset:0;
  z-index:1;
}

.bv-card-tags{
  position:absolute;
  top:12px;
  left:12px;
  z-index:3;
}

.villabv-badges{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.villabv-badge{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:12px;
  line-height:1;
}

.bv-fav{
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  width:40px;
  height:40px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.95);
  cursor:pointer;
  font-size:18px;
}
.bv-fav.is-active{ background:#fff; }

.bv-media-slider{
  position:absolute;
  inset:0;
  z-index:2;
}

.bv-media-track{
  height:100%;
  display:flex;
  transition:transform .35s ease;
}
.bv-media-slide{
  flex: 0 0 100%;
  height:100%;
  background-size:cover;
  background-position:center;
}

.bv-noimg{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6b7280;
}

.bv-media-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px; height:42px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.92);
  cursor:pointer;
  font-size:24px;
  z-index:4;
}
.bv-media-prev{ left:12px; }
.bv-media-next{ right:12px; }

.bv-media-dots{
  position:absolute;
  left:0; right:0;
  bottom:12px;
  display:flex;
  gap:8px;
  justify-content:center;
  z-index:4;
}
.bv-dot{
  width:8px; height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.5);
}
.bv-dot.is-active{ background: rgba(255,255,255,.95); }

.bv-card-content{
  padding: 16px 16px 18px 16px;
}

.bv-loc{
  color:#6b7280;
  font-size:14px;
  margin-bottom:6px;
}

.bv-title{
  font-size:20px;
  font-weight:800;
  margin: 0 0 6px 0;
}
.bv-title a{ color:#111827; text-decoration:none; }
.bv-title a:hover{ text-decoration:underline; }

.bv-sub{
  color:#111827;
  opacity:.75;
  font-size:14px;
  margin-bottom:10px;
}

.bv-meta{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.bv-score{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 10px;
  border-radius:12px;
  background:#e0f2fe;
  font-weight:800;
}
.bv-star{ opacity:.9; }
.bv-rev{ color:#6b7280; text-decoration:underline; font-size:14px; }

.bv-icons{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.bv-ic{
  display:flex;
  gap:8px;
  align-items:center;
  color:#111827;
  font-weight:700;
}
.bv-ic-ico{ opacity:.8; }

.bv-price{
  font-size:18px;
  font-weight:800;
}
.bv-price span{
  font-weight:600;
  color:#6b7280;
  font-size:14px;
}

/* =========================
   PATCH - UI HİYERARŞİSİ
   ========================= */

/* 1) Grid okları: daha yakın, daha sakin */
.bv-grid-carousel { padding: 0 44px; } /* biraz daralt */
.bv-grid-nav{
  top: 140px;                 /* kart görselinin ortasına yaklaş */
  width: 44px;
  height: 44px;
  font-size: 28px;
  border: 1px solid rgba(17,24,39,.12);
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(6px);
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
  opacity: .55;               /* default daha sönük */
  transition: opacity .2s ease, transform .2s ease;
}
.bv-grid-carousel:hover .bv-grid-nav{ opacity: .95; }
.bv-grid-nav:hover{ transform: translateY(-50%) scale(1.06); }

/* mobilde dış oklar kaybolmasın */
@media (max-width: 560px){
  .bv-grid-carousel { padding: 0 8px; }
  .bv-grid-nav{ display:none; } /* mobilde set oklarını kapat (istersen açarız) */
}

/* 2) Kart içi slider okları: sadece hover’da görünsün (en kritik düzeltme) */
.bv-media-nav{
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%) scale(.96);
  transition: opacity .18s ease, transform .18s ease;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(17,24,39,.10);
  box-shadow: 0 10px 18px rgba(0,0,0,.12);
}
.bv-card-front:hover .bv-media-nav{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%) scale(1);
}

/* 3) Foto dotları: daha küçük + daha silik (grid dotlarından ayrışsın) */
.bv-media-dots{ bottom: 12px; }
.bv-dot{
  width: 6px;
  height: 6px;
  background: rgba(255,255,255,.45);
}
.bv-dot.is-active{ background: rgba(255,255,255,.92); }

/* 4) Grid dotları: daha belirgin (foto dotlarından ayrışsın) */
.bv-grid-dot{
  width: 10px;
  height: 10px;
  background: rgba(17,24,39,.12);
}
.bv-grid-dot.is-active{ background: #0ea5e9; }

/* 5) Favori kalp: ikincil aksiyon gibi dursun (daha hafif) */
.bv-fav{
  width: 38px;
  height: 38px;
  font-size: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(17,24,39,.10);
  box-shadow: 0 10px 18px rgba(0,0,0,.10);
  transition: transform .16s ease, background .16s ease, opacity .16s ease;
  opacity: .9;
}
.bv-fav:hover{
  transform: scale(1.06);
  background: rgba(255,255,255,.95);
  opacity: 1;
}
.bv-fav.is-active{
  transform: scale(1.02);
}

/* 6) Etiketler: daha küçük ve temiz (kalabalık hissi azalır) */
.bv-card-tags .villabv-badge{
  padding: 4px 9px;
  font-size: 11px;
  opacity: .95;
}

/* 7) Kart hover: hafif yükselsin (daha premium) */
.bv-card-front{
  transition: transform .18s ease, box-shadow .18s ease;
}
.bv-card-front:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(0,0,0,.10);
}

/* 8) Fiyat biraz daha öne çıksın */
.bv-price{
  margin-top: 6px;
}

.bv-grid-title{
  text-align: center;
  font-size: 32px;
  font-weight: 800;
  margin-bottom: 36px; /* card ile boşluk */
}

.bv-villa-grid{
  margin-bottom: 36px;
}
.bv-grid-footer{
  display: flex;
  justify-content: center;
  margin-top: 36px;   /* card ile boşluk */
}

.bv-view-all{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  border-radius: 999px; /* TAM OVAL */
  background: #ff4d6d;  /* senin kırmızı tonuna yakın */
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(255,77,109,.35);
  transition: all .2s ease;
}

.bv-view-all span{
  font-size: 18px;
  transition: transform .2s ease;
}

.bv-view-all:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(255,77,109,.45);
}

.bv-view-all:hover span{
  transform: translateX(4px);
}

/* Sadece tag tek-sütun widget */
.bv-tag-single-wrap{
  max-width: 520px;   /* sağ kolon için ideal; istersen 600-700 yaparız */
  margin: 0 auto;
}

.bv-grid--singlecol{
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 18px;
}

/* tekli görünümde kart daha derli toplu */
.bv-card-front--single .bv-card-media{
  border-radius: 18px;
  overflow: hidden;
}

/* sağ kolonda görsel çok uzun olmasın */
.bv-card-front--single .bv-media-slide{
  min-height: 240px;   /* istersen 200 */
}

