/* ═══ 7. VILLAS + FOOD — hai dạng bài mới (bản 3: chuyển đổi, 15/10/2026) ════
 * Thả vào wordpress/triplarks/assets/css/ sau 6-dien-thoai.css. Chỉ dùng token 1-nen-tang.css.
 * Điện thoại: @media (max-width: 760px). Bản mẫu tự đổi sang container query.
 * Luật chữ: IBM Plex Mono CHỈ cho 1 nhãn nhỏ đầu khối (.tlk-mat) và nhãn trên ảnh.
 * Thứ tự ưu tiên: link tiền đầu tiên phải nằm trong màn đầu điện thoại (≤ 844px ở 390px).
 */

/* ── Khung chung: bỏ hình thoi trước H2, giãn nhịp dọc ─────────────── */
.tlk-van--villa h2, .tlk-van--food h2 { padding-left: 0; margin: 56px 0 14px; }
.tlk-van--villa h2::before, .tlk-van--food h2::before { display: none; }
.tlk-van--villa h3, .tlk-van--food h3 { font-weight: 700; }

/* Nhãn mono DUY NHẤT của mỗi khối */
.tlk-mat { display: block; margin: 0 0 8px; font: 500 11.5px var(--chu-nhan); letter-spacing: 0.12em; text-transform: uppercase; color: var(--brand); }
.tlk-van .tlk-mat { color: var(--brand); margin: 0 0 8px; }
.tlk-van .tlk-mat + h2 { margin-top: 0; }
.tlk-van .tlk-mat--cach { margin-top: 56px; }

/* Chỗ điền dữ liệu thật (chỉ bản mẫu / bản nháp; site thật không in) */
.tlk-slot { text-decoration: underline dashed #A9B3BB; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-skip-ink: none; cursor: help; }

/* ── Bìa gọn: máy bàn như bìa tạp chí nhưng thấp; điện thoại = ảnh 200px + chữ đậm trên nền giấy ── */
.tlk-bia-tc--gon { min-height: 460px; padding: 84px 0 150px; }
.tlk-bia-tc--gon::before {
  background: linear-gradient(180deg, rgba(14, 22, 30, 0.38) 0%, rgba(14, 22, 30, 0.66) 14%, rgba(14, 22, 30, 0.76) 30%, rgba(14, 22, 30, 0.78) 70%, rgba(14, 22, 30, 0.84) 100%);
}
.tlk-bia-tc--gon::after { border-color: rgba(255, 255, 255, 0.14); }

/* ── Ảnh minh hoạ (gLabs) + chú thích trung thực ─────────────────────── */
.tlk-anh-mh { position: relative; margin: 0; border-radius: 6px; overflow: hidden; background: var(--rule-2); }
.tlk-anh-mh img, .tlk-anh-mh svg { display: block; width: 100%; height: 100%; object-fit: cover; }
.tlk-anh-mh figcaption {
  position: absolute; left: 8px; bottom: 8px; max-width: calc(100% - 16px);
  padding: 3px 8px; border-radius: 3px; background: rgba(24, 34, 44, 0.78);
  font: 400 12px/1.4 var(--chu-de); color: #fff;
}
.tlk-anh-mh__lk { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.tlk-anh-mh__lk:hover { color: #fff; }

/* ── Hộp Quick picks (villa) / Where to stay to eat well (food): thay thẻ nổi ── */
.tlk-nhanh3 { max-width: none; gap: 14px; }
.tlk-van .tlk-nhanh3, .tlk-nhanh3 .tlk-the-noi__qa { font-size: 17px; line-height: 1.5; }
.tlk-nhanh3__ds { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tlk-chon1 { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.tlk-chon1__anh .tlk-anh-mh { aspect-ratio: 4 / 3; }
.tlk-chon1__anh figcaption { font-size: 11px; }
.tlk-chon1__chu p { margin: 0; }
.tlk-chon1__nhu { font: 600 13px var(--chu-de); color: var(--brand); }
.tlk-chon1__ten { margin-top: 2px !important; font: 700 16.5px/1.3 var(--chu-de); color: var(--ink); }
.tlk-chon1__meta { margin-top: 2px !important; font: 400 13.5px/1.4 var(--chu-de); color: var(--muted); }
.tlk-chon1__why { margin-top: 4px !important; font-size: 15px; line-height: 1.45; color: var(--body-2); }
.tlk-chon1 .tlk-nut { margin-top: auto; width: 100%; min-height: 48px; padding: 8px 12px; font-size: 14px; line-height: 1.25; }
.tlk-chon1__phu { align-self: center; display: inline-flex; align-items: center; min-height: 32px; font: 500 14px var(--chu-de); color: var(--action); }
.tlk-nhanh3 > small { font: 400 12.5px/1.45 var(--chu-de); color: var(--muted); }

/* ── Văn bản sau hộp: mở bài, công bố, short answer ─────────────────── */
.tlk-tom { list-style: none; margin: 0 0 8px; padding: 0; }

/* ── Sơ đồ khu nhỏ + hàng khu gọn (thay bảng so sánh) ────────────────── */
.tlk-sodo { display: grid; grid-template-columns: 230px minmax(0, 1fr); margin: 18px 0 8px; background: var(--surface); border: 1px solid var(--rule); border-radius: 8px; }
.tlk-sodo__hinh { position: relative; margin: 0; padding: 16px 14px 36px; background: #F3F5F4; border-radius: 8px 0 0 8px; }
.tlk-sodo__hinh svg { display: block; width: 100%; height: auto; }
.tlk-sodo__hinh svg a:hover .tlk-sodo__vung, .tlk-sodo__hinh svg a:focus-visible .tlk-sodo__vung { fill-opacity: 0.3; }
.tlk-van .tlk-sodo__hinh figcaption { position: absolute; left: 14px; bottom: 12px; margin: 0; font: 500 10.5px var(--chu-nhan); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.tlk-van .tlk-khu-ds { list-style: none; margin: 0; padding: 4px 0; }
.tlk-van .tlk-khu-ds > li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 0 10px; margin: 0; padding: 12px 20px; }
.tlk-van .tlk-khu-ds > li::before { display: none; }
.tlk-van .tlk-khu-ds > li + li { border-top: 1px solid var(--rule-2); }
.tlk-khu-ds__so { grid-row: 1 / 4; font: 600 15px/1.45 var(--chu-de); color: var(--brand); }
.tlk-khu-ds__ten { font: 600 16.5px/1.4 var(--chu-de); color: var(--ink); }
.tlk-van .tlk-khu-ds p { margin: 0; font: 400 14.5px/1.45 var(--chu-de); color: var(--muted); }
.tlk-khu-ds__lk { display: flex; flex-wrap: wrap; gap: 0 18px; margin-top: 2px; }
.tlk-khu-ds__lk a { display: inline-flex; align-items: center; min-height: 36px; font: 600 14.5px var(--chu-de); color: var(--action); }

/* ── Mục mỗi khu: ảnh khu → nhãn → H2 → meta → văn → thẻ villa ─────── */
.tlk-khu { margin: 64px 0 0; scroll-margin-top: 16px; }
.tlk-van .tlk-khu h2 { margin: 0 0 8px; }
.tlk-anh-khu { position: relative; margin: 0 0 22px; border-radius: 6px; overflow: hidden; background: var(--rule-2); }
.tlk-anh-khu img, .tlk-anh-khu svg { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.tlk-van .tlk-anh-khu figcaption { margin: 0; color: #fff; font-size: 11.5px; letter-spacing: 0.06em; }
.tlk-van .tlk-hop-khu { margin: 0 0 14px; font: 400 15px/1.5 var(--chu-de); color: var(--body-2); }
.tlk-hop-khu span + span::before { content: '·'; margin: 0 8px; color: var(--muted); }

/* ── Thẻ villa: ảnh minh hoạ trái, nội dung phải; một nút chính ─────── */
.tlk-vl-ds { display: grid; gap: 16px; margin: 20px 0 0; }
.tlk-vl { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 0; background: var(--surface); border: 1px solid var(--rule); border-radius: 8px; overflow: hidden; }
.tlk-vl .tlk-anh-mh { border-radius: 0; height: 100%; min-height: 220px; }
.tlk-vl__than { display: flex; flex-direction: column; padding: 20px 22px 18px; }
.tlk-van .tlk-vl__ten { margin: 0 0 6px; font-size: 19px; font-weight: 700; }
.tlk-van .tlk-vl__meta { display: flex; flex-wrap: wrap; gap: 2px 14px; margin: 0 0 10px; font: 400 14.5px/1.5 var(--chu-de); color: var(--body-2); }
.tlk-vl__meta > span { display: inline-flex; align-items: center; gap: 6px; }
.tlk-vl__meta svg { flex: none; color: var(--muted); }
.tlk-van .tlk-vl__vi { margin: 0 0 14px; font-size: 16px; line-height: 1.5; color: var(--body-2); }
.tlk-vl__vi strong { font-weight: 600; color: var(--ink); }
.tlk-vl__nut { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.tlk-vl__nut .tlk-nut:first-child { flex: 1 1 auto; }
.tlk-lk-gia { display: inline-flex; align-items: center; min-height: 40px; margin-top: 4px; font: 500 14px var(--chu-de); color: var(--action); }

/* ── Khối giá trực tiếp (bản đồ Stay22 có ngày điền sẵn) ─────────────── */
.tlk-gia-song { margin: 56px 0 0; scroll-margin-top: 16px; }
.tlk-van .tlk-gia-song h2 { margin: 0 0 6px; }
.tlk-van .tlk-gia-song > p:not(.tlk-mat) { font-size: 16px; color: var(--body-2); }
.tlk-gia-song__khung {
  position: relative; height: 440px; border: 1px solid var(--rule); border-radius: 8px; overflow: hidden;
  background-color: #E8EEEA;
  background-image: radial-gradient(circle at 30% 40%, #DDE7DE 0 18%, transparent 19%), radial-gradient(circle at 72% 62%, #E1E8DC 0 22%, transparent 23%), linear-gradient(115deg, transparent 47%, #D5E3EE 47% 50%, transparent 50%);
}
.tlk-ghim-gia { position: absolute; transform: translate(-50%, -100%); padding: 5px 10px; border-radius: 999px; background: var(--surface); border: 1px solid var(--rule); box-shadow: 0 4px 10px -4px rgba(0, 0, 0, 0.3); font: 600 12.5px var(--chu-de); color: var(--ink); white-space: nowrap; }
.tlk-gia-song__ngay { position: absolute; left: 12px; top: 12px; display: flex; gap: 6px; flex-wrap: wrap; }
.tlk-gia-song__ngay > span { padding: 6px 10px; border-radius: 6px; background: var(--surface); border: 1px solid var(--rule); font: 500 13px var(--chu-de); color: var(--ink); }
.tlk-gia-song__ghi { position: absolute; left: 12px; right: 12px; bottom: 12px; padding: 8px 12px; border-radius: 6px; background: rgba(255, 255, 255, 0.92); font: 400 13px/1.45 var(--chu-de); color: var(--muted); }
.tlk-gia-song .tlk-hang-nut { margin-top: 14px; }

/* ── Villa hay khách sạn? / Danh sách kiểm / Thẻ ghim ───────────────── */
.tlk-hay { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0 0; }
.tlk-hay__cot { padding: 22px 24px 18px; background: var(--surface); border: 1px solid var(--rule); border-radius: 8px; }
.tlk-hay__cot--b { background: var(--tint); border-color: var(--tint); }
.tlk-van .tlk-hay h3 { margin: 0 0 12px; font-size: 19px; }
.tlk-van .tlk-hay ul { margin: 0 0 6px; }
.tlk-van .tlk-hay li { font-size: 16.5px; line-height: 1.5; }
.tlk-hay a { display: inline-flex; align-items: center; min-height: 44px; font: 600 15px var(--chu-de); }
.tlk-van .tlk-ktra { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.tlk-van .tlk-ktra li { position: relative; margin: 0; padding: 14px 0 14px 34px; border-bottom: 1px solid var(--rule-2); color: var(--body-2); font-size: 16px; line-height: 1.5; }
.tlk-van .tlk-ktra li::before { content: ''; position: absolute; left: 0; top: 18px; width: 16px; height: 16px; background: transparent; border: 1.5px solid var(--muted); border-radius: 4px; transform: none; }
.tlk-ktra li b { display: block; font: 600 16px/1.4 var(--chu-de); color: var(--ink); }
.tlk-ghim { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; align-items: center; margin: 56px 0 0; padding: 28px; background: var(--surface); border: 1px solid var(--rule); border-radius: 8px; }
.tlk-ghim__the { position: relative; isolation: isolate; overflow: hidden; aspect-ratio: 2 / 3; display: flex; flex-direction: column; padding: 22px 20px 18px; background: var(--ink); color: #fff; border-radius: 10px; }
.tlk-ghim__the::after { content: ''; position: absolute; z-index: -1; width: 220px; height: 220px; right: -120px; top: -100px; border: 1.5px solid rgba(255, 255, 255, 0.14); transform: rotate(45deg); }
.tlk-ghim__the .tlk-mat { color: #FF9CBE; font-size: 10.5px; }
.tlk-van .tlk-ghim__de { margin: 14px 0 18px; font: 800 26px/1.08 var(--chu-de); letter-spacing: -0.02em; color: #fff; }
.tlk-van .tlk-ghim__the ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tlk-van .tlk-ghim__the li { margin: 0; padding: 0; font: 600 14px/1.25 var(--chu-de); color: #fff; }
.tlk-ghim__the li small { display: block; margin-top: 2px; font: 400 12.5px/1.3 var(--chu-de); color: rgba(255, 255, 255, 0.68); }
.tlk-ghim__chan { margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.2); font: 500 12px var(--chu-de); color: rgba(255, 255, 255, 0.75); }
.tlk-van .tlk-ghim__chu h3 { margin: 0 0 8px; font-size: 21px; }
.tlk-van .tlk-ghim__chu p:not(.tlk-mat) { font-size: 16.5px; }

/* ═══ FOOD ═══ */

/* ── Thực đơn La Mã: viền mảnh, đệm rộng; 2 món đầu bảng có ảnh nhỏ tròn ── */
.tlk-td { margin: 36px 0 0; padding: 40px 44px 30px; background: var(--surface); border: 1px solid var(--rule); border-radius: 8px; scroll-margin-top: 16px; }
.tlk-td__dau { text-align: center; margin-bottom: 26px; }
.tlk-van .tlk-td__de { margin: 0 0 8px; font-size: clamp(28px, 3vw, 36px); font-weight: 800; letter-spacing: -0.02em; }
.tlk-van .tlk-td__dau p:last-child { margin: 0 auto; max-width: 32em; font-size: 16.5px; font-style: italic; color: var(--muted); }
.tlk-td__cot { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.tlk-td__nhom { margin-bottom: 18px; }
.tlk-van .tlk-td__nhom h3 { display: flex; align-items: center; gap: 12px; margin: 8px 0 6px; font-size: 17px; }
.tlk-td__nhom h3::after { content: ''; flex: 1; height: 1px; background: var(--rule); }
.tlk-td__nhom h3 span { font: italic 400 15px var(--chu-than); color: var(--muted); }
.tlk-van .tlk-td ul { margin: 0; }
.tlk-van .tlk-td ul > li { margin: 0; padding: 10px 10px; border-radius: 6px; scroll-margin-top: 20px; }
.tlk-van .tlk-td ul > li::before { display: none; }
.tlk-van .tlk-td ul > li.tlk-mon--anh { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 0 14px; align-items: start; }
.tlk-mon__anh { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: var(--rule-2); grid-row: 1 / 3; }
.tlk-mon__anh img, .tlk-mon__anh svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.tlk-mon:target { background: var(--tint); }
.tlk-mon__hang { display: flex; align-items: baseline; gap: 10px; margin: 0; }
.tlk-mon__ten { font: 600 17px/1.3 var(--chu-de); color: var(--ink); }
.tlk-mon__cham { flex: 1 1 24px; min-width: 24px; border-bottom: 1px dotted #B9C1C7; transform: translateY(-4px); }
.tlk-mon__noi { font: 400 13.5px var(--chu-de); color: var(--muted); white-space: nowrap; }
.tlk-van .tlk-mon__mo { margin: 2px 0 0; font-size: 16px; line-height: 1.5; color: var(--body-2); }
.tlk-mon__mo i { color: var(--muted); }
.tlk-van .tlk-td__chan { margin: 10px 0 0; text-align: center; font: 400 13.5px var(--chu-de); color: var(--muted); }
.tlk-van .tlk-td__chan small { display: block; margin-top: 4px; font-size: 12px; }

/* ── "Order here", danh sách quán ──────────────────────────────────── */
.tlk-goi { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 6px; }
.tlk-goi > span { flex: none; white-space: nowrap; font: 500 14px var(--chu-de); color: var(--muted); margin-right: 2px; }
.tlk-goi a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; background: var(--surface); border: 1px solid var(--rule); font: 500 14px var(--chu-de); color: var(--ink); text-decoration: none; }
.tlk-goi a:hover { border-color: var(--action); color: var(--action); }
.tlk-van .tlk-quan-ds { list-style: none; margin: 10px 0 0; padding: 0; border-top: 1px solid var(--rule); }
.tlk-van .tlk-quan-ds > li { display: flex; justify-content: space-between; align-items: baseline; gap: 6px 20px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--rule-2); }
.tlk-van .tlk-quan-ds > li::before { display: none; }
.tlk-van .tlk-quan__ten { margin: 0; font: 600 16.5px/1.35 var(--chu-de); color: var(--ink); }
.tlk-van .tlk-quan__meta { margin: 2px 0 0; font: 400 14.5px/1.5 var(--chu-de); color: var(--muted); }
.tlk-quan__meta a { color: var(--action); }
.tlk-van .tlk-quan__ngay { flex: none; margin: 0; font: 400 13px var(--chu-de); color: var(--muted); }

/* ── Dải "Sleep near the food" ─────────────────────────────────────── */
.tlk-o { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 24px; align-items: center; margin: 22px 0 0; padding: 20px 22px; background: var(--tint); border-radius: 8px; }
.tlk-van .tlk-o__chu p:not(.tlk-mat):not(.tlk-gia) { margin: 0; font-size: 16.5px; line-height: 1.5; color: var(--ink); }
.tlk-van .tlk-o__chu .tlk-mat { color: var(--action); margin-bottom: 4px; }
.tlk-van .tlk-gia, .tlk-van .tlk-o__chu .tlk-gia { margin: 6px 0 0; font: 400 13.5px var(--chu-de); color: var(--muted); }
.tlk-o .tlk-hang-nut { flex-wrap: nowrap; }
.tlk-o .tlk-nut--vien { background: var(--surface); }
.tlk-o__huy { display: inline-block; margin-left: 8px; padding: 2px 9px; border-radius: 999px; background: var(--surface); color: var(--action); font: 600 12px var(--chu-de); letter-spacing: 0; text-transform: none; vertical-align: 1px; }

/* ── Từ gọi món · Giờ ăn ───────────────────────────────────────────── */
.tlk-tu { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; margin: 16px 0 0; }
.tlk-tu > div { padding: 12px 0; border-bottom: 1px solid var(--rule-2); }
.tlk-tu dt { font: 600 16px var(--chu-de); color: var(--ink); }
.tlk-tu dd { margin: 2px 0 0; font-size: 16px; line-height: 1.45; color: var(--muted); }
.tlk-gio { margin: 18px 0 0; padding: 22px 24px 18px; background: var(--surface); border: 1px solid var(--rule); border-radius: 8px; }
.tlk-gio__thuoc { position: relative; height: 28px; margin: 4px 0 6px; border-radius: 999px; background: var(--rule-2); }
.tlk-gio__thuoc span { position: absolute; top: 0; bottom: 0; left: var(--tu); width: var(--dai); border-radius: 999px; background: var(--mau, var(--ink)); }
.tlk-gio__so { display: flex; justify-content: space-between; font: 400 12.5px var(--chu-de); color: var(--muted); }
.tlk-van .tlk-gio ul { margin: 16px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 18px; }
.tlk-van .tlk-gio li { margin: 0; padding: 0 0 0 16px; font-size: 15px; line-height: 1.45; }
.tlk-van .tlk-gio li::before { width: 9px; height: 9px; top: 0.45em; left: 0; transform: none; border-radius: 50%; background: var(--mau, var(--ink)); }
.tlk-gio li b { display: block; font: 600 15.5px var(--chu-de); color: var(--ink); }
.tlk-gio li i { display: block; font: normal 400 13.5px var(--chu-de); color: var(--muted); }
.tlk-van .tlk-gio .tlk-gia { margin-top: 14px; }

/* ═══ Điện thoại ═══ */
@media (max-width: 760px) {
  .tlk-van--villa h2, .tlk-van--food h2 { margin-top: 40px; }

  /* Bìa gọn: ảnh 200px, chữ mực trên nền giấy — để hộp chọn nhanh lọt màn đầu */
  .tlk-bia-tc--gon { display: block; min-height: 0; padding: 0; background: var(--paper); color: var(--ink); overflow: visible; }
  .tlk-bia-tc--gon .tlk-bia-tc__anh { position: relative; z-index: 0; display: block; width: 100%; height: 200px; }
  .tlk-bia-tc--gon::before { inset: 0 0 auto 0; height: 200px; z-index: 1; background: linear-gradient(180deg, rgba(14, 22, 30, 0.28), rgba(14, 22, 30, 0) 45%); }
  .tlk-bia-tc--gon::after { display: none; }
  .tlk-bia-tc--gon .tlk-bia-tc__toa { top: 12px; z-index: 2; }
  .tlk-bia-tc--gon .tlk-bia-tc__trong { position: relative; z-index: 2; gap: 6px; padding-top: 14px; }
  .tlk-bia-tc--gon h1 { color: var(--ink); text-shadow: none; font-size: 26px; line-height: 1.12; }
  .tlk-bia-tc--gon .tlk-bc, .tlk-bia-tc--gon .tlk-bc a, .tlk-bia-tc--gon .tlk-bc__tach { color: var(--muted); font-size: 12px; }
  .tlk-bia-tc--gon .tlk-loai { display: none; }
  .tlk-bia-tc--gon .tlk-tg { color: var(--muted); font-size: 12px; }
  .tlk-bia-tc--gon .tlk-tg a { color: var(--ink); }
  .tlk-bia-tc--gon .tlk-tg .tlk-thoi { background: var(--brand); }

  /* Hộp chọn nhanh: hàng gọn, ảnh nhỏ bên trái, nút toàn chiều ngang */
  .tlk-bai--gon .tlk-the-noi { margin-top: 14px; padding: 14px 14px 12px; gap: 10px; border-top-width: 3px; }
  .tlk-nhanh3 .tlk-the-noi__qa { font-size: 15.5px; }
  .tlk-nhanh3__ds { grid-template-columns: 1fr; gap: 0; }
  .tlk-chon1 { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px 12px; padding: 12px 0; border-top: 1px solid var(--rule-2); }
  .tlk-chon1:first-child { border-top: 0; padding-top: 2px; }
  .tlk-chon1__anh .tlk-anh-mh { aspect-ratio: 1 / 1; border-radius: 6px; }
  .tlk-chon1__anh figcaption { display: none; }
  .tlk-chon1__why { display: none; }
  .tlk-chon1:first-child .tlk-chon1__why { display: block; font-size: 14px; }
  .tlk-chon1 .tlk-nut, .tlk-chon1__phu { grid-column: 1 / -1; }
  .tlk-chon1__phu { min-height: 40px; margin-top: -4px; }
  .tlk-nhanh3 > small { font-size: 12px; }

  .tlk-sodo { grid-template-columns: 1fr; }
  .tlk-sodo__hinh { border-radius: 8px 8px 0 0; padding: 12px 16px 34px; }
  .tlk-sodo__hinh svg { max-width: 220px; margin: 0 auto; }
  .tlk-van .tlk-khu-ds > li { padding: 12px 14px; }
  .tlk-khu-ds__lk a { min-height: 44px; }

  .tlk-khu { margin-top: 44px; }
  .tlk-anh-khu { margin-bottom: 16px; }
  .tlk-anh-khu img, .tlk-anh-khu svg { aspect-ratio: 4 / 3; }

  .tlk-vl { grid-template-columns: 1fr; }
  .tlk-vl .tlk-anh-mh { aspect-ratio: 4 / 3; min-height: 0; height: auto; }
  .tlk-vl__than { padding: 16px 16px 12px; }
  .tlk-vl__nut { flex-direction: column; }
  .tlk-vl__nut .tlk-nut { width: 100%; min-height: 48px; }
  .tlk-lk-gia { min-height: 44px; align-self: center; }

  .tlk-gia-song__khung { height: 360px; }
  .tlk-gia-song .tlk-hang-nut { flex-direction: column; }

  .tlk-hay { grid-template-columns: 1fr; }
  .tlk-hay__cot { padding: 18px 18px 14px; }
  .tlk-van .tlk-ktra { grid-template-columns: 1fr; }
  .tlk-ghim { grid-template-columns: 1fr; gap: 20px; padding: 18px; margin-top: 40px; }
  .tlk-ghim__the { width: min(100%, 280px); margin: 0 auto; }
  .tlk-ghim__chu .tlk-nut { width: 100%; }

  .tlk-td { padding: 26px 16px 20px; }
  .tlk-td__cot { grid-template-columns: 1fr; }
  .tlk-van .tlk-td ul > li { padding: 10px 6px; }
  .tlk-van .tlk-td ul > li.tlk-mon--anh { grid-template-columns: 56px minmax(0, 1fr); }
  .tlk-mon__anh { width: 56px; height: 56px; }
  .tlk-mon__hang { flex-wrap: wrap; row-gap: 0; column-gap: 8px; }
  .tlk-mon__cham { display: none; }
  .tlk-mon__noi { flex: 0 0 100%; font-size: 13.5px; }
  .tlk-goi { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--le)); padding-right: var(--le); }
  .tlk-goi a { flex: 0 0 auto; min-height: 44px; }
  .tlk-van .tlk-quan-ds > li { flex-direction: column; gap: 2px; }
  .tlk-o { grid-template-columns: 1fr; padding: 18px 16px; }
  .tlk-o .tlk-hang-nut { width: 100%; flex-direction: column; gap: 8px; }
  .tlk-tu { grid-template-columns: 1fr; }
  .tlk-gio { padding: 18px 16px 16px; }
  .tlk-van .tlk-gio ul { grid-template-columns: 1fr 1fr; }
}

/* ── Ban do Stay22 that (iframe do inc/dang-villa-food.php dung; thay cho khung gia ghim) ── */
.tlk-gia-song__khung--that { background: var(--rule-2); background-image: none; }
.tlk-gia-song__khung--that .tlk-ban-do { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
/* Hang khu khong co so do SVG (thieu so_do_svg trong spec cua scripts/tl-dung-khoi-villa-food.php): mot cot */
.tlk-sodo--ds { grid-template-columns: 1fr; }
