/* thue-preview.css — Trang cho thuê VCP redesign v2 */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
::selection { background: rgba(27,107,90,.16); }

/* ---- Scroll reveal (đồng bộ homepage: .9s, class-based) ---- */
@media (prefers-reduced-motion: no-preference) {
  .bvh-ct .reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .9s cubic-bezier(.2,.7,.3,1), transform .9s cubic-bezier(.2,.7,.3,1);
  }
  .bvh-ct .reveal.in { opacity: 1; transform: none; }

  .bvh-ct [data-reveal-group] > * {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .75s cubic-bezier(.2,.7,.3,1), transform .75s cubic-bezier(.2,.7,.3,1);
  }
  .bvh-ct [data-reveal-group] > *.in { opacity: 1; transform: none; }
}

/* ---- BVL grid: align to 1240px + clamp padding (giống giỏ hàng pages) ---- */
.bvh-ct .bvl-grid .bvl-grid-sec { padding-top: 36px !important; padding-bottom: 0 !important; }
.bvh-ct .bvl-grid .bvl-grid-inner {
  max-width: 1240px !important;
  padding-left: clamp(20px,5vw,64px) !important;
  padding-right: clamp(20px,5vw,64px) !important;
}

/* ---- Buttons ---- */
.bvh-ct .ct-btn-primary {
  background: #1B6B5A;
  color: #fff;
  transition: background .18s;
}
.bvh-ct .ct-btn-primary:hover { background: #145446; }

.bvh-ct .ct-btn-outline-dark {
  border: 1.5px solid rgba(255,255,255,.45);
  color: #fff;
  transition: border-color .18s, background .18s;
}
.bvh-ct .ct-btn-outline-dark:hover {
  border-color: #fff;
  background: rgba(255,255,255,.08);
}

/* ---- TOC links ---- */
.bvh-ct .ct-toc a {
  color: #5c5851;
  text-decoration: none;
  transition: color .15s;
}
.bvh-ct .ct-toc a:hover { color: #1B6B5A; }

/* ---- Section right column: badge + link ---- */
/* Desktop: row — badge trước, link sau, 1 dòng */
.bvh-ct .ct-sec-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
/* "1PN →" inline trên desktop */
.bvh-ct .ct-pn-break { display: inline; }

/* ---- Section header: padding cân đối với grid (36px) ---- */
.bvh-ct .ct-sec-head { padding-bottom: 36px; }
/* ---- Desktop: H2 + meta cùng 1 dòng (baseline) ---- */
.bvh-ct .ct-sec-left { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.bvh-ct .ct-sec-left h2 { margin-bottom: 0 !important; }

/* ---- CTA "Tư vấn" — khung viền + glow (port từ trang chủ bán, tông xanh) ---- */
.bvh-ct .ct-cta { position: relative; overflow: hidden; }
.bvh-ct .ct-cta::before {
  content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(860px, 120vw); aspect-ratio: 1; pointer-events: none;
  background: radial-gradient(circle, rgba(111,195,168,.16), transparent 60%);
}
.bvh-ct .ct-cta::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(circle at center, #000, transparent 72%);
  mask-image: radial-gradient(circle at center, #000, transparent 72%);
}
.bvh-ct .ct-cta-card {
  position: relative; z-index: 1;
  border: 1px solid rgba(127,201,178,.32); border-radius: 18px;
  background: rgba(255,255,255,.018);
  padding: clamp(48px, 6vw, 76px) clamp(26px, 5vw, 64px);
}

/* Mobile ≤600px: tiêu đề trên + meta dưới, badge + link canh top trái */
@media (max-width: 600px) {
  .bvh-ct .ct-sec-head { align-items: flex-start; flex-wrap: nowrap; padding-bottom: 26px; }
  .bvh-ct .ct-sec-left { display: block; }
  .bvh-ct .ct-sec-head h2 { line-height: 1 !important; margin-bottom: 20px !important; }
  .bvh-ct .ct-sec-right {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .bvh-ct .ct-ml-txt { text-align: left; }
  .bvh-ct .ct-ml-arr { font-size: 15px; }
  /* "cả XPN" xuống dòng mới (block) → tạo dòng 2 */
  .bvh-ct .ct-pn-break { display: block; }
  .bvh-ct .ct-more-row .ct-btn { font-size: 12px; letter-spacing: .08em; padding: 14px 18px; }
  .bvh-ct .ct-gallery { columns: 2; column-gap: 10px; }
  .bvh-ct .ct-view-item { margin-bottom: 10px; }
  .bvh-ct .ct-gallery--cap .ct-view-item::after { opacity: .55; }
  .bvh-ct .ct-gallery--cap .ct-gcap { opacity: 1; transform: none; }
}

/* ---- Listing more link (copy link-more từ homepage) ---- */
.bvh-ct .ct-more-link { display: inline-flex; align-items: center; gap: 6px; color: #145446; transition: border-color .3s; }
.bvh-ct .ct-more-link:hover { color: #145446; border-bottom-color: #1B6B5A !important; }

/* ---- CTA "Xem thêm giỏ hàng" — copy y nguyên từ trang chủ bán ---- */
.bvh-ct .ct-more-row { text-align: center; margin-top: 40px; }
.bvh-ct .ct-btn {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  font-weight: 600; font-size: 13.5px; letter-spacing: .13em; text-transform: uppercase;
  padding: 16px 32px; cursor: pointer; border: none; border-radius: 8px;
  transition: all .35s cubic-bezier(.2,.7,.3,1); text-decoration: none;
}
.bvh-ct .ct-btn .ct-arr { transition: transform .35s ease; }
.bvh-ct .ct-btn:hover .ct-arr { transform: translateX(5px); }
.bvh-ct .ct-btn-outline { background: transparent; color: #1C1A16; border: 1px solid #1C1A16; }
.bvh-ct .ct-btn-outline:hover { background: #1C1A16; color: #f6f2e9; }

/* ---- Gallery masonry (Pinterest) — copy từ trang chủ bán ---- */
.bvh-ct .ct-gallery { columns: 4; column-gap: 14px; }
.bvh-ct .ct-view-item {
  display: block; break-inside: avoid; margin-bottom: 14px;
  position: relative; overflow: hidden;
  background: rgba(27,107,90,.06); border-radius: 12px;
  text-decoration: none; cursor: pointer;
}
.bvh-ct .ct-view-item img {
  width: 100%; height: auto; display: block;
  transition: transform 1s cubic-bezier(.2,.7,.3,1);
}
.bvh-ct .ct-view-item:hover img { transform: scale(1.06); }
.bvh-ct .ct-gallery--cap .ct-view-item::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(transparent 50%, rgba(0,0,0,.58));
  opacity: 0; transition: opacity .4s;
}
.bvh-ct .ct-gallery--cap .ct-view-item:hover::after { opacity: 1; }
.bvh-ct .ct-gcap {
  position: absolute; left: 14px; bottom: 12px; right: 14px;
  color: #fff; font-size: 13px; font-weight: 500; letter-spacing: .02em;
  opacity: 0; transform: translateY(6px); transition: all .4s; z-index: 2;
}
.bvh-ct .ct-gallery--cap .ct-view-item:hover .ct-gcap { opacity: 1; transform: none; }
@media (max-width: 1080px) { .bvh-ct .ct-gallery { columns: 3; } }
@media (max-width: 600px) { .bvh-ct .ct-gallery { columns: 2; column-gap: 10px; } .bvh-ct .ct-view-item { margin-bottom: 10px; } }

/* ---- Lightbox ---- */
.bvh-ct .ct-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(16,26,22,.92);
  align-items: center;
  justify-content: center;
}
.bvh-ct .ct-lightbox.open { display: flex; }
.bvh-ct .ct-lightbox img {
  max-width: min(90vw, 1100px);
  max-height: 88vh;
  border-radius: 8px;
  object-fit: contain;
  display: block;
}
.bvh-ct .lb-close {
  position: fixed;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
  line-height: 1;
  padding: 8px;
  opacity: .8;
  transition: opacity .15s;
}
.bvh-ct .lb-close:hover { opacity: 1; }

/* ---- Mobile ---- */
@media (max-width: 600px) {
  .bvh-ct .ct-toc { padding: 24px 22px; }
}
