/* ── Banner ── */
.vd-banner {
  background: var(--primary-dk); padding: 90px 0 0;
  position: relative; overflow: hidden;
}
.vd-banner::before {
  content:''; position:absolute; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23C9A84C' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}
.vd-breadcrumb { position:relative; z-index:1; }
.vd-breadcrumb .breadcrumb-item,
.vd-breadcrumb .breadcrumb-item a { color:rgba(255,255,255,0.5); font-size:0.8rem; text-decoration:none; }
.vd-breadcrumb .breadcrumb-item.active { color:rgba(255,255,255,0.8); }
.vd-breadcrumb .breadcrumb-item+.breadcrumb-item::before { color:rgba(255,255,255,0.3); }

/* ── Cover image ── */
.vd-cover {
  position: relative; z-index:1;
  height: 420px; border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  overflow: hidden; margin-top: 24px;
}
.vd-cover img { width:100%; height:100%; object-fit:cover; }
.vd-cover-overlay {
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(20,10,10,0.7) 0%, transparent 55%);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding: 28px 32px;
}
.vd-badge-row { display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
.vd-badge {
  font-size:0.68rem; font-weight:600; letter-spacing:0.8px;
  text-transform:uppercase; padding:4px 12px; border-radius:4px;
}
.vd-badge.gold    { background:var(--accent); color:var(--primary-dk); }
.vd-badge.primary { background:var(--primary); color:#fff; }
.vd-badge.success { background:#198754; color:#fff; }
.vd-badge.verified{ background:rgba(255,255,255,0.15); color:#fff; border:1px solid rgba(255,255,255,0.3); }
.vd-cover-title {
  font-family:'Playfair Display',serif; font-size:clamp(1.6rem,3vw,2.4rem);
  color:#fff; font-weight:700; line-height:1.2; margin-bottom:8px;
}
.vd-cover-meta { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.vd-cover-meta span { color:rgba(255,255,255,0.75); font-size:0.875rem; display:flex; align-items:center; gap:5px; }

/* ── Thumbnail strip ── */
.vd-thumbs { display:flex; gap:8px; padding:12px 0; overflow-x:auto; }
.vd-thumbs::-webkit-scrollbar { height:3px; }
.vd-thumbs::-webkit-scrollbar-thumb { background:var(--border); border-radius:4px; }
.vd-thumb {
  width:80px; height:60px; border-radius:8px; overflow:hidden;
  flex-shrink:0; cursor:pointer; border:2px solid transparent;
  transition:border-color 0.2s;
}
.vd-thumb.active { border-color:var(--accent); }
.vd-thumb img { width:100%; height:100%; object-fit:cover; }

/* ── Main layout ── */
.vd-main { padding: 40px 0 70px; }
.vd-content-card {
  background:var(--bg-white); border-radius:var(--radius-lg);
  border:1px solid var(--border-light); padding:28px 32px;
  margin-bottom:24px;
}

/* ── Stats bar ── */
.vd-stats-bar {
  display:flex; gap:0; border-radius:var(--radius-lg);
  border:1px solid var(--border-light); overflow:hidden;
  background:var(--bg-white); margin-bottom:24px;
}
.vd-stat-item {
  flex:1; padding:18px 12px; text-align:center;
  border-right:1px solid var(--border-light);
}
.vd-stat-item:last-child { border-right:none; }
.vd-stat-val {
  font-family:'Playfair Display',serif; font-size:1.4rem;
  font-weight:700; color:var(--primary); display:block;
}
.vd-stat-lbl { font-size:0.72rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:1px; }

/* ── Section title inside card ── */
.vd-card-title {
  font-family:'Playfair Display',serif; font-size:1.15rem;
  font-weight:700; margin-bottom:18px; padding-bottom:12px;
  border-bottom:1px solid var(--border-light); color:var(--text);
}

/* ── Info list ── */
.vd-info-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.vd-info-list li { display:flex; align-items:flex-start; gap:12px; font-size:0.875rem; }
.vd-info-list li i { color:var(--accent); font-size:1rem; margin-top:1px; flex-shrink:0; width:18px; }
.vd-info-list li span { color:var(--text-muted); min-width:80px; font-size:0.8rem; }
.vd-info-list li strong { color:var(--text); font-weight:500; }

/* ── Reviews ── */
.vd-review-item {
  padding:18px 0; border-bottom:1px solid var(--border-light);
}
.vd-review-item:last-child { border-bottom:none; padding-bottom:0; }
.vd-review-av {
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:0.85rem;
}
.vd-review-name { font-weight:500; font-size:0.875rem; }
.vd-review-date { font-size:0.75rem; color:var(--text-muted); }
.vd-review-text { font-size:0.875rem; color:var(--text-muted); line-height:1.75; margin-top:6px; }
.vd-review-title { font-weight:500; font-size:0.9rem; color:var(--text); margin-bottom:4px; }

/* ── Rating summary ── */
.vd-rating-big {
  font-family:'Playfair Display',serif; font-size:3.5rem;
  font-weight:700; color:var(--primary); line-height:1;
}
.vd-rating-bar-wrap { flex:1; }
.vd-rating-bar-row { display:flex; align-items:center; gap:8px; margin-bottom:5px; }
.vd-rating-bar-row span { font-size:0.75rem; color:var(--text-muted); min-width:12px; }
.vd-bar-track { flex:1; height:6px; background:var(--border-light); border-radius:4px; overflow:hidden; }
.vd-bar-fill  { height:100%; background:var(--accent); border-radius:4px; transition:width 0.6s ease; }
.vd-bar-cnt   { font-size:0.72rem; color:var(--text-muted); min-width:24px; text-align:right; }

/* ── Enquiry sidebar ── */
.vd-enquiry-card {
  background:var(--bg-white); border-radius:var(--radius-lg);
  border:1px solid var(--border-light); padding:24px;
  position:sticky; top:86px;
}
.vd-price-big { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:700; color:var(--primary); }
.vd-price-label { font-size:0.8rem; color:var(--text-muted); }
.vd-form-label { font-size:0.8rem; font-weight:500; color:var(--text); margin-bottom:5px; }
.vd-input {
  width:100%; padding:10px 14px; border:1px solid var(--border-light);
  border-radius:var(--radius-sm); font-size:0.875rem; color:var(--text);
  background:var(--bg); outline:none; transition:border-color 0.2s;
  font-family:'DM Sans',sans-serif;
}
.vd-input:focus { border-color:var(--accent); }
.vd-input::placeholder { color:var(--text-muted); }
.vd-submit {
  width:100%; padding:13px; background:var(--primary); color:#fff;
  border:none; border-radius:var(--radius-sm); font-size:0.9rem;
  font-weight:500; cursor:pointer; transition:var(--transition);
  font-family:'DM Sans',sans-serif;
}
.vd-submit:hover { background:var(--primary-dk); transform:translateY(-1px); }
.vd-whatsapp {
  width:100%; padding:11px; background:#25D366; color:#fff;
  border:none; border-radius:var(--radius-sm); font-size:0.875rem;
  font-weight:500; cursor:pointer; transition:var(--transition);
  font-family:'DM Sans',sans-serif; display:flex; align-items:center;
  justify-content:center; gap:8px; text-decoration:none;
  margin-top:10px;
}
.vd-whatsapp:hover { background:#1da851; color:#fff; }

/* ── Similar vendors ── */
.vd-similar-card {
  display:flex; gap:12px; padding:14px;
  background:var(--bg-white); border-radius:var(--radius-md);
  border:1px solid var(--border-light); text-decoration:none;
  color:inherit; transition:var(--transition); margin-bottom:12px;
}
.vd-similar-card:hover { border-color:var(--accent); box-shadow:var(--shadow-sm); transform:translateX(3px); }
.vd-similar-img { width:72px; height:64px; border-radius:8px; overflow:hidden; flex-shrink:0; }
.vd-similar-img img { width:100%; height:100%; object-fit:cover; }
.vd-similar-name { font-weight:500; font-size:0.875rem; line-height:1.3; margin-bottom:3px; }
.vd-similar-meta { font-size:0.75rem; color:var(--text-muted); }

/* ── Tab pills ── */
.vd-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
.vd-tab {
  padding:8px 20px; border-radius:30px; font-size:0.84rem;
  font-weight:500; cursor:pointer; transition:var(--transition);
  border:1px solid var(--border-light); background:var(--bg);
  color:var(--text-muted);
}
.vd-tab.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.vd-tab-pane { display:none; }
.vd-tab-pane.active { display:block; }

/* ── Responsive ── */
@media(max-width:768px){
  .vd-cover { height:260px; }
  .vd-cover-title { font-size:1.4rem; }
  .vd-content-card { padding:20px 18px; }
  .vd-stats-bar { flex-wrap:wrap; }
  .vd-stat-item { flex:1 1 45%; border-bottom:1px solid var(--border-light); }
  .vd-enquiry-card { position:static; }
}