/* dh-gallery R03 (LEAD131 27/10/2026, LO8T R03; R02 sửa theo B3 vòng 1; R03 thêm data-cols theo LEAD132) — thư viện ảnh cảnh quan theo nhóm + khối mở đầu chia đôi (S1).
   Không JS: lưới ảnh, bấm ảnh mở ảnh lớn. JS: PhotoSwipe sẵn có của theme (tải ở lần bấm đầu). Tiền tố .dh-gallery. */
.dh-gallery{margin:28px 0;container-type:inline-size}
.dh-gallery__group+.dh-gallery__group{margin-top:32px}
.dh-gallery__title{margin:0 0 12px;font-size:1.15em;font-weight:600;line-height:1.35}
.dh-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
@container (min-width:640px){
  .dh-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .dh-gallery[data-cols="2"] .dh-gallery__grid,.dh-gallery .dh-gallery__grid[data-cols="2"],
  .dh-gallery[data-cols="4"] .dh-gallery__grid,.dh-gallery .dh-gallery__grid[data-cols="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (min-width:900px){.dh-gallery[data-cols="4"] .dh-gallery__grid,.dh-gallery .dh-gallery__grid[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dh-gallery__item{min-width:0;margin:0}
.dh-gallery__item figure{position:relative;margin:0}
.dh-gallery__link{display:block;border-radius:8px;overflow:hidden}
.dh-gallery__link:focus-visible{outline:3px solid #c59f4c;outline-offset:3px}
.dh-gallery__item img{display:block;width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;margin:0!important;border-radius:0}
.dh-gallery__item figcaption{margin-top:6px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.dh-gallery__tag{position:absolute;top:8px;left:8px;padding:3px 9px;border-radius:99px;background:rgba(38,51,40,.84);color:#fff;font-size:12px;font-weight:500;line-height:1.3;pointer-events:none}
/* Khối mở đầu chia đôi (10-16): chữ một bên, ảnh một bên từ 768px khối */
.dh-gallery__hero{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:center}
@container (min-width:768px){.dh-gallery__hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}}
.dh-gallery__hero figure{position:relative;margin:0}
.dh-gallery__hero img{display:block;width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.dh-gallery__hero-text>*+*{margin-top:.9em}
.pswp .dh-gallery__pswp-cap{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);max-width:min(90vw,760px);padding:6px 14px;border-radius:8px;background:rgba(33,44,32,.8);color:var(--cream,#eadec3);font-size:14px;line-height:1.4;text-align:center}
.pswp .dh-gallery__pswp-cap:empty{display:none}
