/* ============================================================
   Chuẩn hoá khoảng cách dọc giữa các section — áp dụng toàn site
   (Mục 0). Mọi template bọc section trong <main class="site-content">.
   Giữ nguyên các trường hợp cố ý: hero slider, marquee, và cụm
   số liệu vt_stats (margin-top âm để đè lên section video).
   ============================================================ */
:root {
  --sec-space: clamp(34px, 3.5vw, 56px);
}

.site-content > section:not(.vt_stats):not(.vt_top_slider):not(.service-marquee) {
  padding-top: var(--sec-space);
  padding-bottom: var(--sec-space);
  margin-top: 0;
  margin-bottom: 0;
}

/* ============================================================
   Grid tin tức (chuyên mục + trang tìm kiếm) — cân 3 cột & ảnh khít
   ============================================================ */
.category-posts .category-posts_grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* minmax(0,..) để 3 cột LUÔN bằng nhau dù nội dung rộng */
  align-items: start; /* các cột canh đều từ trên xuống */
}
/* Chặn nội dung dài (URL/từ dài) làm phình cột */
.category-posts .post-card { min-width: 0; }
.category-posts .post-card .post-card_title,
.category-posts .post-card .post-card_excerpt { overflow-wrap: anywhere; word-break: break-word; }
/* Khung ảnh: theo tỉ lệ landscape, ảnh phủ kín tuyệt đối, không dư nền xám */
.category-posts .post-card .post-card_thumb {
  position: relative;
  height: auto;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
.category-posts .post-card .post-card_thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 992px) {
  .category-posts .category-posts_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .category-posts .category-posts_grid { grid-template-columns: minmax(0, 1fr); }
}

/* ============================================================
   Form ĐĂNG KÝ NHẬN BẢN TIN (.subscribe-section) — sửa input bị bóp
   ============================================================ */
.subscribe-section .container .subscribe-left .subscribe-form {
  max-width: 520px;   /* trước bị max-width:70px làm vỡ input */
  width: 100%;
  margin: 26px 0 0;   /* trước margin:100px 0 thừa dọc */
}
.subscribe-section .container .subscribe-left .subscribe-form input {
  min-width: 0;       /* cho input co giãn đúng trong flex */
}

/* ============================================================
   template-estate-single: ảnh giới thiệu bên phải cân chiều cao
   với nội dung bên trái (desktop)
   ============================================================ */
@media (min-width: 993px) {
  .bsop-country-single .cl-intro-program .cl-intro-grid { align-items: stretch !important; }
  .bsop-country-single .cl-intro-program .cl-intro-images {
    align-self: stretch !important;
    height: auto;
    justify-content: stretch;
  }
  .bsop-country-single .cl-intro-program .cl-intro-images .cl-img-4-3 {
    aspect-ratio: auto;      /* bỏ tỉ lệ 4:3 cố định */
    height: 100%;
    flex: 1 1 auto;
    min-height: 300px;
    object-fit: cover;
  }
}

/* ============================================================
   ĐIỂM ĐẾN TOÀN CẦU (.bsop-destination) — 3 cột bằng nhau + ảnh khít
   (giống grid tin tức)
   ============================================================ */
.bsop-destination .grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.bsop-destination .card { min-width: 0; }
.bsop-destination .card .thumb { overflow: hidden; }
.bsop-destination .card .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 12px 12px 0 0;
}
@media (max-width: 992px) {
  .bsop-destination .grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .bsop-destination .grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ============================================================
   Slider ĐỐI TÁC (.partner_slider) — marquee chạy đều, liền mạch
   ============================================================ */
.partner_slider .swiper-wrapper { transition-timing-function: linear !important; }
.partner_slider .swiper-slide { display:flex; align-items:center; justify-content:center; height:auto; }
.partner_slider .swiper-slide img { max-height:70px; width:auto; object-fit:contain; }
