/* =====================================================================
   SOL · CSS CÁC TRANG CHUNG (Agent TRANG C)
   Dùng cho: /doanh-nghiep/, /thue-thang/, /ve-chung-toi/, /hoi-dap/, /chinh-sach/, /gan/<khu>/
   Số đo lấy theo bản mẫu ở giao_dien_tham_chieu (doanh-nghiep, ve-chung-toi).
   Mọi lớp ở đây bắt đầu bằng "tc-" để không đụng lớp của trang khác.
   ===================================================================== */

/* ---------- khối và tiêu đề ---------- */
.tc-khoi { padding-top: 30px; padding-bottom: 16px; }
.tc-khoi--hep { max-width: 900px; }
.tc-khoi--cuoi { padding-bottom: 32px; }
.tc-h2 { font-family: var(--serif); font-weight: 500; font-size: 36px; line-height: 1.08; color: var(--muc); text-align: center; max-width: 760px; margin: 0 auto 26px; text-wrap: balance; }
.tc-h2--trai { text-align: left; margin-left: 0; }
.tc-h3 { font-family: var(--serif); font-weight: 600; font-size: 24px; line-height: 1.2; color: var(--muc); margin-bottom: 8px; }
.tc-dan { font-size: 17px; color: var(--chu-2); line-height: 1.75; max-width: 760px; margin: 0 auto 26px; text-align: center; }
.tc-dan--trai { text-align: left; margin-left: 0; }
.tc-van p { font-size: 16.5px; color: var(--chu-2); line-height: 1.8; margin-bottom: 14px; max-width: 820px; }
.tc-van p b, .tc-van li b { color: var(--muc); font-weight: 600; }
.tc-ghi { font-size: 14.5px; color: var(--chu-3); line-height: 1.6; margin-top: 14px; }
.tc-vbm { padding-top: 22px; }

/* ---------- đầu trang có ảnh (doanh nghiệp, thuê tháng) ---------- */
.tc-dau { position: relative; color: var(--kem); overflow: hidden; min-height: 64vh; display: flex; align-items: center; }
.tc-dau--thap { min-height: 52vh; }
.tc-dau__anh { position: absolute; inset: 0; }
.tc-dau__anh img { width: 100%; height: 100%; object-fit: cover; }
.tc-dau__anh::after { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(36,36,27,.8), rgba(36,36,27,.38)); }
.tc-dau__trong { position: relative; width: 100%; padding-top: 38px; padding-bottom: 28px; }
.tc-dau__nho { font-size: 13px; letter-spacing: .34em; color: var(--vang-nhat); margin-bottom: 20px; text-transform: uppercase; }
.tc-dau h1 { font-family: var(--serif); font-weight: 500; font-size: 56px; line-height: 1.04; max-width: 820px; color: #fff; text-wrap: balance; }
.tc-dau__mo { font-size: 18px; color: #EFE7D8; max-width: 620px; margin: 22px 0 30px; line-height: 1.7; }
.tc-dau__nut { display: flex; gap: 12px; flex-wrap: wrap; }
.tc-dau .nut-vien { border-color: rgba(255,255,255,.7); color: #fff; padding: 14px 24px; }
.tc-dau .nut-vien:hover { background: rgba(255,255,255,.14); color: #fff; }
.tc-dau .vbm ol, .tc-dau .vbm a { color: #E4DAC8; }
.tc-dau .vbm { margin-bottom: 26px; }

/* ---------- đầu trang chữ (hỏi đáp, chính sách, gần khu công nghiệp) ---------- */
.tc-mo { padding-top: 26px; padding-bottom: 8px; }
.tc-mo__nho { font-size: 13px; letter-spacing: .34em; color: var(--vang); margin: 26px 0 14px; text-transform: uppercase; }
.tc-mo h1 { font-family: var(--serif); font-weight: 600; font-size: 48px; line-height: 1.06; color: var(--muc); max-width: 860px; text-wrap: balance; }
.tc-mo__mo { font-size: 18px; color: var(--chu-2); line-height: 1.7; max-width: 760px; margin-top: 18px; }
.tc-tra-loi { margin-top: 22px; max-width: 860px; background: #fff; border: 1px solid var(--vang-vien); border-left: 4px solid var(--vang); border-radius: 14px; padding: 20px 24px; font-size: 18px; line-height: 1.7; color: var(--muc); }
.tc-tra-loi b { font-weight: 600; }
.tc-hang-nut { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }

/* ---------- lưới 6 lợi ích có đường kẻ ---------- */
.tc-luoi-vien { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--vang-mo); border-left: 1px solid var(--vang-mo); border-radius: 20px; overflow: hidden; }
.tc-luoi-vien--4 { grid-template-columns: repeat(4, 1fr); }
.tc-loi { padding: 30px; border-right: 1px solid var(--vang-mo); border-bottom: 1px solid var(--vang-mo); text-align: center; }
.tc-loi p { font-size: 16px; color: var(--chu-2); line-height: 1.6; }
.tc-tron { width: 52px; height: 52px; border-radius: 50%; background: var(--kem-sang); display: flex; align-items: center; justify-content: center; color: var(--vang); margin: 0 auto 14px; }
.tc-tron .ic { width: 24px; height: 24px; }
.tc-tron--lon { width: 60px; height: 60px; margin: 8px auto 20px; }
.tc-tron--lon .ic { width: 26px; height: 26px; }

/* ---------- 4 bước ---------- */
.tc-buoc { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; counter-reset: buoc; }
.tc-buoc li { background: #fff; border: 1px solid var(--vang-vien); border-radius: var(--bo); padding: 34px 26px; text-align: center; position: relative; }
.tc-buoc__so { position: absolute; top: 16px; left: 20px; font-family: var(--serif); font-size: 22px; font-weight: 700; color: rgba(179,145,84,.6); }
.tc-buoc p { font-size: 16px; font-weight: 500; color: var(--muc); line-height: 1.5; }

/* ---------- dải tên công ty ---------- */
.tc-cty { text-align: center; padding-top: 34px; padding-bottom: 6px; }
.tc-cty__nhan { font-size: 13px; letter-spacing: .28em; color: var(--chu-3); text-transform: uppercase; margin-bottom: 16px; }
.tc-cty ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 14px; }
.tc-cty li { font-family: var(--serif); font-size: 23px; font-weight: 600; color: var(--muc); padding: 8px 20px; border: 1px solid var(--vang-vien); border-radius: 30px; background: #fff; }

/* ---------- dải vàng chứa form ---------- */
.tc-bg { background: var(--vang); color: #fff; margin-top: 24px; scroll-margin-top: 80px; }
.tc-bg__trong { padding-top: 30px; padding-bottom: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.tc-bg h2 { font-family: var(--serif); font-weight: 500; font-size: 36px; line-height: 1.05; color: #fff; text-wrap: balance; }
.tc-bg__mo { font-size: 16.5px; color: #FBF3E2; margin: 18px 0 34px; max-width: 440px; line-height: 1.7; }
.tc-bg__lh { margin-bottom: 22px; }
.tc-bg__lh small { display: block; font-size: 13.5px; color: #FBF3E2; margin-bottom: 4px; }
.tc-bg__lh a { font-family: var(--serif); font-size: 25px; font-weight: 600; color: #fff; overflow-wrap: anywhere; }
.tc-bg__lh a:hover { color: #fff; text-decoration: underline; }

/* ---------- form ---------- */
.tc-form { background: #fff; border-radius: 20px; padding: 34px; color: var(--muc); }
.tc-form--vien { border: 1px solid var(--vang-vien); }
.tc-form__luoi { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 22px; }
.tc-o { display: block; min-width: 0; }
.tc-o--ca { grid-column: 1 / -1; }
.tc-o__nhan { display: block; font-size: 13.5px; color: var(--chu-2); margin-bottom: 2px; }
.tc-o input, .tc-o select, .tc-o textarea { width: 100%; min-height: 46px; background: transparent; border: 0; border-bottom: 1px solid var(--vang-mo); border-radius: 0; padding: 10px 2px; font-size: 16px; color: var(--muc); outline: none; }
.tc-o textarea { min-height: 84px; resize: vertical; line-height: 1.5; }
.tc-o select { -webkit-appearance: none; appearance: none; cursor: pointer; background-image: linear-gradient(45deg, transparent 50%, var(--vang) 50%), linear-gradient(135deg, var(--vang) 50%, transparent 50%); background-position: calc(100% - 13px) 21px, calc(100% - 8px) 21px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 26px; }
.tc-o input:focus, .tc-o select:focus, .tc-o textarea:focus { border-bottom-color: var(--vang-dam); box-shadow: 0 1px 0 var(--vang-dam); }
.tc-o input::placeholder, .tc-o textarea::placeholder { color: var(--chu-mo); }
.tc-o.sai input, .tc-o.sai select { border-bottom-color: var(--do); }
.tc-o__loi { display: block; font-size: 13.5px; color: var(--do-chu); margin-top: 5px; }
.tc-bay { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tc-form__gui { width: 100%; min-height: 52px; margin-top: 24px; border-radius: 30px; }
.tc-form__gui[disabled] { opacity: .6; cursor: progress; }
.tc-form__ghi { text-align: center; font-size: 13.5px; color: var(--chu-3); margin-top: 14px; line-height: 1.55; }
.tc-kq { margin-top: 18px; }
.tc-kq h3 { font-size: 17px; font-weight: 700; margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
.tc-kq h3 .ic { width: 20px; height: 20px; }
.tc-kq p { margin-bottom: 8px; }
.tc-kq__ma { font-family: var(--serif); font-size: 30px; font-weight: 600; letter-spacing: .06em; color: var(--muc); }
.tc-kq__nut { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.tc-kq__nut .nut, .tc-kq__nut .nut-vien { min-height: 46px; padding: 10px 18px; font-size: 15.5px; }
.tc-kq pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: 14.5px; background: rgba(255,255,255,.7); border: 1px dashed #C9A227; border-radius: 10px; padding: 12px 14px; margin-top: 12px; color: var(--muc); }
.tc-kq--ok { border-color: var(--xanh-ok); background: #EEF5EE; color: #25472B; }

/* ---------- hỏi đáp 2 cột ---------- */
.tc-hd2 { grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
/* cả dòng câu hỏi bấm được, cao tối thiểu 44px (bản nền chỉ bấm được đúng dòng chữ) */

/* ---------- khối cho chủ khách sạn ---------- */
.tc-chu { background: var(--muc); color: var(--kem); margin-top: 30px; }
.tc-chu__trong { padding-top: 32px; padding-bottom: 32px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.tc-chu__nho { font-size: 13px; letter-spacing: .34em; color: var(--vang-nhat); margin-bottom: 16px; text-transform: uppercase; }
.tc-chu h2 { font-family: var(--serif); font-weight: 500; font-size: 36px; line-height: 1.08; color: #fff; text-wrap: balance; }
.tc-chu p { font-size: 16.5px; color: #D9CFC0; margin: 18px 0 24px; line-height: 1.75; }
.tc-tich { display: grid; gap: 14px; }
.tc-tich li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; color: #EDE6DA; line-height: 1.55; }
.tc-tich .ic { width: 20px; height: 20px; color: var(--vang-nhat); margin-top: 3px; }
.tc-tich--sang li { color: var(--chu-2); }
.tc-tich--sang .ic { color: var(--vang); }
.tc-tich--khong .ic { color: var(--chu-3); }
.tc-chu__nut { display: flex; flex-wrap: wrap; gap: 12px; }
.tc-chu .nut-vien { border-color: rgba(255,255,255,.65); color: #fff; }
.tc-chu .nut-vien:hover { background: rgba(255,255,255,.14); }
.tc-chu__anh { border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 3; }
.tc-chu__anh img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- về chúng tôi ---------- */
.tc-gt { max-width: 900px; padding-top: 32px; padding-bottom: 20px; text-align: center; }
.tc-gt__nho { font-size: 13px; letter-spacing: .34em; color: var(--vang); margin-bottom: 26px; }
.tc-gt__trich { font-family: var(--serif); font-size: 26px; font-style: italic; line-height: 1.5; color: var(--chu-2); max-width: 700px; margin: 0 auto; }
.tc-gt h1 { font-family: var(--serif); font-weight: 600; font-size: 48px; line-height: 1.06; color: var(--muc); margin: 30px 0 26px; text-wrap: balance; }
.tc-gt h1 em { font-style: normal; color: var(--vang); }
.tc-gt__mo { font-size: 17px; color: var(--chu-2); max-width: 620px; margin: 0 auto; line-height: 1.8; }
.tc-the-cao { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; padding-top: 28px; padding-bottom: 20px; }
.tc-the-cao li { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 3 / 4; }
.tc-the-cao .anh-zoom { position: absolute; inset: 0; border-radius: 0; }
.tc-the-cao li::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(36,36,27,0) 42%, rgba(36,36,27,.84)); pointer-events: none; }
.tc-the-cao__chu { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px 22px; z-index: 1; }
.tc-the-cao__chu b { display: block; font-family: var(--serif); font-size: 26px; font-weight: 600; color: #fff; }
.tc-the-cao__chu span { display: block; font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--vang-nhat); margin-top: 4px; }
.tc-su-menh { margin-top: 34px; }
.tc-so { background: #fff; text-align: left; padding: 34px 26px; }
.tc-so b { display: block; font-family: var(--serif); font-size: 44px; font-weight: 600; color: var(--vang); line-height: 1; }
.tc-so span { display: block; font-size: 15px; color: var(--chu-2); margin-top: 8px; line-height: 1.5; }
.tc-moi { max-width: 900px; padding-top: 30px; padding-bottom: 32px; text-align: center; }
.tc-moi h2 { font-family: var(--serif); font-weight: 500; font-size: 36px; line-height: 1.1; color: var(--muc); margin-bottom: 16px; text-wrap: balance; }
.tc-moi p { font-size: 16.5px; color: var(--chu-2); margin-bottom: 26px; }
.tc-moi__nut { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.tc-moi__nut .nut, .tc-moi__nut .nut-vien { border-radius: 30px; padding: 14px 28px; min-height: 48px; font-weight: 600; }

/* ---------- thẻ khách sạn ---------- */
.tc-ks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.tc-ks__the { background: #fff; border: 1px solid var(--vang-vien); border-radius: var(--bo); overflow: hidden; display: flex; flex-direction: column; }
.tc-ks__anh { display: block; aspect-ratio: 16 / 10; border-radius: 0; }
.tc-ks__than { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.tc-ks__than h3 { font-family: var(--serif); font-size: 27px; font-weight: 600; line-height: 1.15; }
.tc-ks__than h3 a { color: var(--muc); }
.tc-ks__than h3 a:hover { color: var(--vang-dam); }
.tc-ks__than p { font-size: 16px; color: var(--chu-2); line-height: 1.6; }
.tc-ks__dong { display: flex; align-items: flex-start; gap: 9px; font-size: 16px; color: var(--muc); line-height: 1.5; }
.tc-ks__dong .ic { width: 18px; height: 18px; color: var(--vang); margin-top: 3px; }
.tc-ks__gia { font-size: 16px; color: var(--chu-2); margin-top: 2px; }
.tc-ks__gia b { font-family: var(--serif); font-size: 28px; font-weight: 600; color: var(--muc); }
.tc-ks__gia small { display: block; font-size: 13.5px; color: var(--chu-3); }
.tc-ks__nut { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 8px; }
.tc-ks__nut .nut, .tc-ks__nut .nut-vien { min-height: 46px; padding: 10px 18px; font-size: 15.5px; flex: 1 1 auto; }

/* ---------- lưới thẻ chữ ---------- */
.tc-the3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tc-the2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.tc-the { background: #fff; border: 1px solid var(--vang-vien); border-radius: var(--bo); padding: 26px 24px; }
.tc-the > .ic { width: 26px; height: 26px; color: var(--vang); margin-bottom: 12px; }
.tc-the p, .tc-the li { font-size: 16px; color: var(--chu-2); line-height: 1.65; }
.tc-the .tc-tich { gap: 10px; }
.tc-the a.tc-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 600; }
.tc-quan { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.tc-quan li { background: #fff; border: 1px solid var(--vang-vien); border-radius: 14px; padding: 16px 20px; font-size: 16px; color: var(--chu-2); line-height: 1.55; }
.tc-quan b { display: block; color: var(--muc); font-weight: 600; font-size: 17px; }
.tc-quan a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; font-size: 15px; }
.tc-cheo { display: flex; flex-wrap: wrap; gap: 10px; }
.tc-cheo a { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 10px 18px; border: 1px solid var(--vang-mo); border-radius: 30px; background: #fff; color: var(--muc); font-size: 16px; font-weight: 500; }
.tc-cheo a:hover { border-color: var(--vang); color: var(--vang-dam); }
.tc-cheo .ic { width: 16px; height: 16px; color: var(--vang); }

/* ---------- bảng ---------- */
.tc-bang-khung { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--vang-vien); border-radius: var(--bo); background: #fff; }
.tc-bang { width: 100%; border-collapse: collapse; font-size: 16px; }
.tc-bang caption { text-align: left; padding: 18px 22px 6px; font-family: var(--serif); font-size: 24px; font-weight: 600; color: var(--muc); caption-side: top; }
.tc-bang th, .tc-bang td { padding: 14px 22px; text-align: left; border-top: 1px solid var(--vang-vien); vertical-align: top; line-height: 1.5; }
.tc-bang thead th { font-size: 13.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--chu-3); font-weight: 600; border-top: 0; white-space: nowrap; }
.tc-bang tbody th { font-weight: 600; color: var(--muc); }
.tc-bang td { color: var(--chu-2); }
.tc-bang .tc-so-tien { font-weight: 700; color: var(--muc); white-space: nowrap; }
.tc-bang small { display: block; font-size: 13.5px; color: var(--chu-3); font-weight: 400; }
.tc-bang + .tc-bang { border-top: 1px solid var(--vang-mo); }

/* ---------- hỏi đáp theo nhóm, chính sách có mục lục ---------- */
.tc-2khu { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 46px; align-items: start; padding-top: 30px; padding-bottom: 28px; }
.tc-ml { position: sticky; top: 96px; background: #fff; border: 1px solid var(--vang-vien); border-radius: var(--bo); padding: 18px 12px; }
.tc-ml__nhan { font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: var(--chu-3); padding: 0 10px 8px; }
.tc-ml a { display: flex; align-items: center; min-height: 44px; padding: 8px 10px; border-radius: 10px; color: var(--muc); font-size: 16px; font-weight: 500; line-height: 1.3; }
.tc-ml a:hover { background: var(--kem); color: var(--vang-dam); }
.tc-phan { scroll-margin-top: 96px; padding-bottom: 38px; }
.tc-phan + .tc-phan { border-top: 1px solid var(--vang-vien); padding-top: 28px; }
.tc-phan h2 { font-family: var(--serif); font-weight: 600; font-size: 32px; line-height: 1.12; color: var(--muc); margin-bottom: 8px; display: flex; align-items: center; gap: 12px; }
.tc-phan h2 .ic { width: 26px; height: 26px; color: var(--vang); }
.tc-phan h3 { font-size: 18px; font-weight: 700; color: var(--muc); margin: 22px 0 8px; }
.tc-phan__ap { display: inline-block; font-size: 14px; color: var(--vang-dam); background: var(--vang-nen); border-radius: 30px; padding: 5px 14px; margin: 4px 0 16px; line-height: 1.45; }
.tc-phan p { font-size: 16.5px; color: var(--chu-2); line-height: 1.75; margin-bottom: 12px; }
.tc-phan .hd { margin-top: 14px; }
.tc-cham { display: grid; gap: 9px; margin-bottom: 14px; }
.tc-cham li { position: relative; padding-left: 20px; font-size: 16.5px; color: var(--chu-2); line-height: 1.7; }
.tc-cham li::before { content: ''; position: absolute; left: 2px; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: var(--vang); }
.tc-cham b { color: var(--muc); font-weight: 600; }
.tc-so-thu-tu { counter-reset: nq; display: grid; gap: 10px; }
.tc-so-thu-tu li { counter-increment: nq; position: relative; padding-left: 40px; font-size: 16.5px; color: var(--chu-2); line-height: 1.7; }
.tc-so-thu-tu li::before { content: counter(nq); position: absolute; left: 0; top: 2px; width: 28px; height: 28px; border-radius: 50%; background: var(--vang-nen); color: var(--vang-dam); font-size: 14px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.tc-lien-he { background: #fff; border: 1px solid var(--vang-vien); border-radius: var(--bo); padding: 26px 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.tc-lien-he p { font-size: 17px; color: var(--muc); margin: 0; max-width: 560px; line-height: 1.6; }
.tc-lien-he div { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- thanh chọn ngôn ngữ (hồ sơ, video, hợp đồng mẫu) ---------- */
.tc-nn { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: #fff; border: 1px solid var(--vang-mo); border-radius: 30px; }
.tc-nn button { min-height: 44px; padding: 8px 20px; border-radius: 26px; font-size: 15.5px; font-weight: 500; color: var(--muc); transition: background .18s, color .18s; }
.tc-nn button:hover { background: var(--kem); }
.tc-nn button[aria-pressed="true"] { background: var(--muc); color: var(--kem); }

/* ---------- hồ sơ gửi doanh nghiệp: thư ngỏ + tài liệu ---------- */
.tc-hs { text-align: center; scroll-margin-top: 80px; }
/* khối mới cách khối trước tối đa 52px (máy tính) và 36px (điện thoại), tính cả đệm dưới 16px của khối trước */
.tc-khoi.tc-hs, .tc-khoi.tc-vd, .tc-khoi.tc-hd-mau { padding-top: 34px; }
/* tiếng Hàn không ngắt giữa từ */
.tc-hs [lang="ko"], .tc-vd [lang="ko"], .tc-hd-mau [lang="ko"] { word-break: keep-all; }
.tc-hs .tc-nn { margin-bottom: 26px; }
.tc-hs__nho { font-size: 13px; letter-spacing: .34em; color: var(--vang); text-transform: uppercase; margin-bottom: 12px; text-align: center; }
.tc-hs__dau .tc-h2 { margin-bottom: 12px; }
.tc-hs__luoi { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 28px; align-items: start; text-align: left; }
.tc-thu { position: relative; background: #fff; border: 1px solid var(--vang-mo); border-radius: var(--bo); padding: 34px 52px 32px; box-shadow: 0 14px 34px rgba(36,36,27,.07); }
.tc-thu, .tc-hs__tl { min-width: 0; }
.tc-thu::before { content: ''; position: absolute; inset: 9px; border: 1px solid var(--vang-vien); border-radius: 11px; pointer-events: none; }
.tc-thu p { font-size: 16.5px; line-height: 1.8; color: var(--chu-2); margin-bottom: 14px; }
.tc-thu__dau { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; padding-bottom: 16px; margin-bottom: 22px; border-bottom: 1px solid var(--vang-vien); }
.tc-thu p.tc-thu__ten { font-family: var(--serif); font-size: 21px; font-weight: 600; letter-spacing: .14em; color: var(--muc); margin: 0; line-height: 1.2; }
.tc-thu__ten b { color: var(--vang); font-weight: 600; }
.tc-thu p.tc-thu__ql { font-size: 13px; letter-spacing: .22em; text-transform: uppercase; color: var(--chu-3); margin: 0; line-height: 1.4; }
.tc-thu p.tc-thu__chao { font-family: var(--serif); font-style: italic; font-size: 22px; font-weight: 500; line-height: 1.3; color: var(--vang-dam); margin-bottom: 6px; }
.tc-thu p.tc-thu__td { font-family: var(--serif); font-size: 29px; font-weight: 600; line-height: 1.15; letter-spacing: .02em; color: var(--muc); margin: 0 0 10px; text-wrap: balance; }
.tc-thu p.tc-thu__phu { font-family: var(--serif); font-style: italic; font-size: 20px; line-height: 1.4; color: var(--chu-2); margin-bottom: 20px; }
.tc-thu p.tc-thu__tin { font-size: 15.5px; line-height: 1.75; color: var(--muc); background: var(--kem-sang); border-radius: 12px; padding: 14px 18px; margin: 4px 0 0; }
.tc-thu__tin b { display: block; font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: var(--vang-dam); font-weight: 600; margin-bottom: 4px; }
.tc-thu__doc { margin-top: 20px; min-height: 46px; width: 100%; border-color: var(--vang); color: var(--vang-dam); }
.tc-thu__doc:hover { background: var(--vang); border-color: var(--vang); color: #fff; }
.tc-thu__doc .ic { width: 18px; height: 18px; }
.tc-thu p.tc-thu__muc { font-family: var(--serif); font-size: 23px; font-weight: 600; line-height: 1.25; color: var(--muc); margin: 28px 0 12px; padding-top: 22px; border-top: 1px solid var(--vang-vien); }
.tc-thu__o { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; }
.tc-thu__o li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; line-height: 1.55; color: var(--chu-2); }
.tc-thu__o .ic { width: 22px; height: 22px; color: var(--vang); margin-top: 2px; }
.tc-thu__o b { display: block; color: var(--muc); font-weight: 600; font-size: 16px; }
.tc-thu .tc-bang-khung { border-radius: 12px; margin-bottom: 14px; }
.tc-thu__bang { font-size: 15.5px; }
.tc-thu__bang th, .tc-thu__bang td { padding: 11px 14px; }
.tc-thu__bang td { white-space: nowrap; color: var(--muc); }
.tc-thu__bang tbody th { font-weight: 500; }
.tc-thu .tc-cham { gap: 6px; margin-bottom: 0; }
.tc-thu .tc-cham li { font-size: 15.5px; line-height: 1.6; }
.tc-thu__khac { grid-template-columns: 1fr 1fr; column-gap: 22px; }
.tc-thu__cap { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px; }
.tc-thu__cap dt { font-size: 15.5px; font-weight: 600; color: var(--muc); line-height: 1.4; }
.tc-thu__cap dd { font-size: 15.5px; line-height: 1.6; color: var(--chu-2); }
.tc-thu p.tc-thu__ket { margin: 26px 0 0; padding: 16px 18px; background: var(--kem-sang); border-left: 3px solid var(--vang); border-radius: 0 12px 12px 0; color: var(--muc); }
.tc-thu p.tc-thu__ky { font-family: var(--serif); font-style: italic; font-size: 32px; font-weight: 500; line-height: 1.2; color: var(--muc); margin: 26px 0 2px; }
.tc-thu p.tc-thu__chuc { font-size: 15px; color: var(--chu-3); margin-bottom: 16px; }
.tc-thu p.tc-thu__lh { font-size: 15px; line-height: 1.9; margin: 0; padding-top: 14px; border-top: 1px solid var(--vang-vien); }
.tc-thu__lh a { overflow-wrap: anywhere; }
.tc-hs__tl { position: sticky; top: 96px; display: grid; gap: 16px; }
.tc-hs__nhan-tl { font-size: 13px; letter-spacing: .3em; text-transform: uppercase; color: var(--chu-3); }
.tc-tl { background: #fff; border: 1px solid var(--vang-vien); border-radius: var(--bo); padding: 24px; text-align: left; }
.tc-tl__dau { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; }
.tc-tl__ic { flex: 0 0 48px; height: 48px; border-radius: 50%; background: var(--kem-sang); color: var(--vang); display: flex; align-items: center; justify-content: center; }
.tc-tl__ic .ic { width: 22px; height: 22px; }
.tc-tl__ten { font-family: var(--serif); font-size: 24px; font-weight: 600; line-height: 1.2; color: var(--muc); }
.tc-tl__ct { font-size: 14.5px; color: var(--chu-3); margin-top: 5px; line-height: 1.5; }
.tc-tl__nut { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tc-tl__nut .nut, .tc-tl__nut .nut-vien { min-height: 46px; padding: 10px 12px; font-size: 15.5px; }
.tc-hd-mau__trong { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 28px; align-items: center; background: var(--kem-sang); border: 1px solid var(--vang-vien); border-radius: var(--bo); padding: 28px 32px; }
.tc-hd-mau__chu p { font-size: 16.5px; color: var(--chu-2); line-height: 1.7; margin-bottom: 16px; }

/* ---------- 4 video dọc ---------- */
.tc-vd { text-align: center; scroll-margin-top: 80px; }
.tc-vd .tc-h2 { margin-bottom: 10px; }
.tc-vd__hang { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: none; margin: 0; }
.tc-vd__the { position: relative; display: block; aspect-ratio: 9 / 16; border-radius: var(--bo); overflow: hidden; background: var(--muc); color: #fff; box-shadow: 0 12px 30px rgba(36,36,27,.12); transition: transform .3s ease, box-shadow .3s ease; }
a.tc-vd__the:hover { transform: translateY(-4px); box-shadow: var(--bong); color: #fff; }
.tc-vd__the img, .tc-vd__the video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tc-vd__the video { background: #000; object-fit: contain; }
a.tc-vd__the::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(36,36,27,0) 52%, rgba(36,36,27,.78)); pointer-events: none; }
.tc-vd__phat { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; border: 1.5px solid var(--vang-nhat); background: rgba(36,36,27,.34); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; color: #fff; z-index: 1; transition: background .2s, transform .2s; }
.tc-vd__phat .ic { width: 22px; height: 22px; margin-left: 3px; fill: currentColor; }
a.tc-vd__the:hover .tc-vd__phat { background: var(--vang); transform: scale(1.06); }
.tc-vd__chu { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 18px 20px; z-index: 1; text-align: left; font-size: 16px; font-weight: 600; line-height: 1.4; text-wrap: balance; }

/* =====================================================================
   SOL LÀM VIỆC THẾ NÀO (/chuan-phuc-vu/) và dải "cách Sol làm việc"
   ===================================================================== */
.tc-dai__o { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tc-dai__o li { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; align-items: center; background: #fff; border: 1px solid var(--vang-vien); border-radius: 14px; padding: 14px 16px; }
.tc-dai__o .ic { grid-row: span 2; width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: var(--kem-sang); color: var(--vang); }
.tc-dai__o b { font-size: 15.5px; font-weight: 600; color: var(--muc); line-height: 1.3; }
.tc-dai__o span { font-size: 14px; color: var(--chu-3); line-height: 1.4; }
.tc-dai__link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 6px; font-weight: 600; font-size: 15.5px; }
.tc-dai__link .ic { width: 16px; height: 16px; }

.tc-cpv-bang-khung { border: 1px solid var(--vang-vien); border-radius: var(--bo); background: #fff; overflow: hidden; }
.tc-cpv-bang { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.tc-cpv-bang thead th { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--chu-3); font-weight: 600; text-align: left; padding: 14px 18px; background: var(--kem-sang); }
.tc-cpv-bang tbody tr + tr { border-top: 1px solid var(--vang-vien); }
.tc-cpv-bang th, .tc-cpv-bang td { padding: 14px 18px; vertical-align: top; line-height: 1.5; }
.tc-cpv-bang tbody th { width: 22%; text-align: left; font-weight: 600; color: var(--muc); }
.tc-cpv-bang tbody th, .tc-cpv-bang td { }
.tc-cpv-bang tbody th > .ic, .tc-cpv-bang td > .ic { width: 20px; height: 20px; margin-top: 2px; }
.tc-cpv-bang tbody th, .tc-cpv-dat, .tc-cpv-chua { display: table-cell; }
.tc-cpv-bang tbody th > *, .tc-cpv-dat > *, .tc-cpv-chua > * { vertical-align: top; }
.tc-cpv-bang tbody th > .ic { color: var(--vang); margin-right: 10px; float: left; }
.tc-cpv-dat > .ic, .tc-cpv-chua > .ic { float: left; margin-right: 10px; }
.tc-cpv-bang span { display: block; overflow: hidden; }
.tc-cpv-dat { color: var(--chu-2); }
.tc-cpv-dat > .ic { color: var(--xanh-ok); }
.tc-cpv-chua { color: var(--chu-2); background: #FCF8F1; }
.tc-cpv-chua > .ic { color: var(--do); }

.tc-cpv-tg { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; counter-reset: none; position: relative; }
.tc-cpv-tg--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 18px; }
.tc-cpv-tg::before { content: ''; position: absolute; left: 6%; right: 6%; top: 21px; height: 1px; background: var(--vang-mo); }
.tc-cpv-tg li { position: relative; text-align: center; padding: 0 4px; }
.tc-cpv-tg__so { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--kem); border: 1px solid var(--vang); font-family: var(--serif); font-size: 21px; font-weight: 600; color: var(--vang-dam); }
.tc-cpv-tg__ic { display: block; margin: 10px auto 4px; color: var(--vang); }
.tc-cpv-tg__ic .ic { width: 22px; height: 22px; }
.tc-cpv-tg b { display: block; font-size: 15.5px; font-weight: 600; color: var(--muc); line-height: 1.3; margin-bottom: 4px; }
.tc-cpv-tg p { font-size: 14.5px; color: var(--chu-2); line-height: 1.5; }
.tc-cpv-tg li:last-child .tc-cpv-tg__so { background: var(--vang); color: #fff; }

.tc-cpv-hai { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.tc-cpv-hai .tc-h3 { margin-bottom: 12px; }
.tc-cpv-dk { display: grid; gap: 10px; }
.tc-cpv-dk li { display: grid; grid-template-columns: 24px 110px minmax(0, 1fr); gap: 10px; align-items: baseline; font-size: 15.5px; color: var(--chu-2); line-height: 1.5; }
.tc-cpv-dk .ic { width: 20px; height: 20px; color: var(--vang); align-self: center; }
.tc-cpv-dk b { color: var(--muc); font-weight: 600; }
.tc-cpv-nhan { display: grid; gap: 12px; }
.tc-cpv-nhan > div { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 12px; }
.tc-cpv-nhan .ic { grid-row: span 2; width: 20px; height: 20px; color: var(--vang); margin-top: 2px; }
.tc-cpv-nhan dt { font-size: 15.5px; font-weight: 600; color: var(--muc); line-height: 1.4; }
.tc-cpv-nhan dd { font-size: 15.5px; color: var(--chu-2); line-height: 1.5; }

.tc-cpv-o { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tc-cpv-o--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tc-cpv-o li { background: #fff; border: 1px solid var(--vang-vien); border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tc-cpv-o .ic { width: 24px; height: 24px; color: var(--vang); margin-bottom: 6px; }
.tc-cpv-o b { font-size: 16px; font-weight: 600; color: var(--muc); line-height: 1.35; }
.tc-cpv-o span { font-size: 15px; color: var(--chu-2); line-height: 1.5; overflow-wrap: anywhere; }

@media (max-width: 1024px) {
  .tc-dai__o, .tc-cpv-o { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tc-cpv-o--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tc-cpv-tg { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 22px; }
  .tc-cpv-tg::before { display: none; }
}
@media (max-width: 768px) {
  .tc-dai__o, .tc-cpv-o, .tc-cpv-o--3, .tc-cpv-hai { grid-template-columns: minmax(0, 1fr); }
  .tc-dai__o b, .tc-cpv-tg b, .tc-cpv-o b { font-size: 16px; }
  .tc-dai__o span, .tc-cpv-tg p, .tc-cpv-o span, .tc-cpv-dk li, .tc-cpv-nhan dt, .tc-cpv-nhan dd { font-size: 16px; }
  /* dòng thời gian dọc trên điện thoại */
  .tc-cpv-tg, .tc-cpv-tg--4 { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .tc-cpv-tg::before { display: block; left: 20px; right: auto; top: 10px; bottom: 10px; width: 1px; height: auto; }
  .tc-cpv-tg li { display: grid; grid-template-columns: 42px 24px minmax(0, 1fr); column-gap: 10px; text-align: left; padding: 0 0 16px; }
  .tc-cpv-tg__so { grid-row: span 2; }
  .tc-cpv-tg__ic { grid-row: span 2; margin: 10px 0 0; }
  .tc-cpv-tg b { margin: 10px 0 2px; }
  .tc-cpv-tg p { grid-column: 3; }
  .tc-cpv-dk li { grid-template-columns: 24px minmax(0, 1fr); }
  .tc-cpv-dk span { grid-column: 2; }
  /* bảng đạt, chưa đạt thành thẻ trên điện thoại */
  .tc-cpv-bang thead { display: none; }
  .tc-cpv-bang, .tc-cpv-bang tbody, .tc-cpv-bang tr, .tc-cpv-bang tbody th, .tc-cpv-bang td { display: block; width: auto; }
  .tc-cpv-bang tbody th { padding: 14px 16px 6px; font-size: 17px; }
  .tc-cpv-bang td { padding: 8px 16px; font-size: 16px; }
  .tc-cpv-chua { margin: 0 12px 12px; border-radius: 10px; }
}

/* =====================================================================
   MÀN HÌNH NHỎ
   ===================================================================== */
@media (max-width: 1024px) {
  .tc-hs__luoi { grid-template-columns: minmax(0, 1fr); }
  .tc-hs__tl { position: static; grid-template-columns: 1fr 1fr; }
  .tc-hs__nhan-tl { grid-column: 1 / -1; }
  .tc-luoi-vien--4 { grid-template-columns: repeat(2, 1fr); }
  .tc-buoc, .tc-the-cao { grid-template-columns: repeat(2, 1fr); }
  .tc-the3 { grid-template-columns: repeat(2, 1fr); }
  .tc-bg__trong, .tc-chu__trong { gap: 36px; }
  .tc-2khu { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .tc-ml { position: static; display: flex; flex-wrap: wrap; gap: 4px; padding: 12px; }
  .tc-ml__nhan { flex-basis: 100%; padding: 2px 6px 4px; }
  .tc-ml a { border: 1px solid var(--vang-vien); border-radius: 30px; padding: 8px 14px; font-size: 15px; }
}
@media (max-width: 768px) {
  .tc-nn { display: grid; grid-template-columns: 1fr 1fr; width: 100%; border-radius: 18px; }
  .tc-nn button { padding: 8px 10px; border-radius: 14px; }
  .tc-hs .tc-nn { margin-bottom: 20px; }
  .tc-khoi.tc-hs, .tc-khoi.tc-vd, .tc-khoi.tc-hd-mau { padding-top: 20px; }
  .tc-thu { padding: 34px 26px 30px; }
  .tc-thu p.tc-thu__chao { font-size: 20px; }
  .tc-thu p.tc-thu__td { font-size: 24px; }
  .tc-thu p.tc-thu__phu { font-size: 18px; }
  .tc-thu p.tc-thu__muc { font-size: 21px; margin-top: 22px; padding-top: 18px; }
  .tc-thu__o, .tc-thu__khac, .tc-thu__cap { grid-template-columns: 1fr; }
  .tc-thu p.tc-thu__tin, .tc-thu__o li, .tc-thu .tc-cham li, .tc-thu__cap dd, .tc-thu__cap dt, .tc-thu__o b { font-size: 16px; }
  .tc-thu__bang { font-size: 14.5px; }
  /* điện thoại: ẩn cột diện tích để bảng giá vừa khung, tên hạng không bị bẻ từng chữ */
  .tc-thu__bang th:nth-child(2), .tc-thu__bang td:nth-child(2) { display: none; }
  .tc-thu__bang tbody th { overflow-wrap: normal; word-break: normal; min-width: 84px; padding-left: 12px; }
  .tc-thu__bang td { padding-left: 4px; padding-right: 8px; }
  .tc-thu__bang thead th { overflow-wrap: normal; }
  .tc-thu__bang th, .tc-thu__bang td { padding: 10px 8px; }
  .tc-thu__bang thead th { white-space: normal; letter-spacing: .02em; font-size: 13px; }
  .tc-thu p.tc-thu__ky { font-size: 28px; }
  .tc-thu p.tc-thu__lh, .tc-thu p.tc-thu__chuc, .tc-tl__ct { font-size: 16px; }
  .tc-thu__lh a { min-height: 44px; display: inline-flex; align-items: center; }
  .tc-hs__tl { grid-template-columns: 1fr; }
  .tc-tl { padding: 20px 18px; }
  .tc-hd-mau__trong { grid-template-columns: 1fr; padding: 22px 18px; gap: 18px; }
  .tc-vd__hang { display: flex; gap: 12px; max-width: none; margin: 0 calc(-1 * var(--le)); padding: 4px var(--le) 14px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .tc-vd__hang::-webkit-scrollbar { display: none; }
  .tc-vd__hang li { flex: 0 0 64%; scroll-snap-align: center; }
  .tc-vd__phat { width: 56px; height: 56px; margin: -28px 0 0 -28px; }
  .tc-khoi { padding-top: 32px; }
  .tc-ghi, .tc-form__ghi { font-size: 16px; }
      .tc-h2 { font-size: 30px; }
  .tc-dau { min-height: 0; }
  .tc-dau__trong { padding-top: 34px; padding-bottom: 28px; }
  .tc-dau h1 { font-size: 36px; }
  .tc-dau__mo { font-size: 17px; }
  .tc-dau__nut .nut, .tc-dau__nut .nut-vien { flex: 1 1 100%; white-space: normal; text-align: center; }
  .tc-mo h1, .tc-gt h1 { font-size: 34px; }
  .tc-gt { padding-top: 34px; }
  .tc-gt__trich { font-size: 22px; }
  .tc-tra-loi { font-size: 17px; padding: 18px; }
  .tc-luoi-vien, .tc-luoi-vien--4 { grid-template-columns: 1fr; }
  .tc-luoi-vien--4.tc-so-luoi { grid-template-columns: 1fr 1fr; }
  .tc-loi { padding: 24px 20px; }
  .tc-so { padding: 24px 18px; }
  .tc-so b { font-size: 36px; }
  .tc-buoc { grid-template-columns: 1fr; gap: 14px; }
  .tc-buoc li { padding: 26px 22px 24px; }
  .tc-the-cao { grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 30px; }
  .tc-the-cao__chu { padding: 16px 14px; }
  .tc-the-cao__chu b { font-size: 22px; }
  .tc-the-cao__chu span { font-size: 16px; }
  .tc-cty li { font-size: 20px; padding: 6px 16px; }
  .tc-bg__trong, .tc-chu__trong { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; padding-bottom: 28px; }
  .tc-bg h2, .tc-chu h2, .tc-moi h2 { font-size: 31px; }
  .tc-bg__mo { margin-bottom: 22px; }
  .tc-bg__lh a { font-size: 22px; }
  .tc-form { padding: 24px 18px; }
  .tc-form__luoi { grid-template-columns: 1fr; gap: 16px; }
  .tc-hd2 { grid-template-columns: 1fr; }
  .tc-ks, .tc-the3, .tc-the2, .tc-quan { grid-template-columns: 1fr; }
  .tc-ks__nut .nut, .tc-ks__nut .nut-vien { flex-basis: 100%; white-space: normal; }
  .tc-kq__nut .nut, .tc-kq__nut .nut-vien, .tc-hang-nut .nut, .tc-hang-nut .nut-vien, .tc-chu__nut .nut, .tc-chu__nut .nut-vien, .tc-moi__nut .nut, .tc-moi__nut .nut-vien, .tc-lien-he .nut, .tc-lien-he .nut-vien { flex: 1 1 100%; white-space: normal; text-align: center; }
  .tc-lien-he { padding: 22px 18px; }
  .tc-lien-he div { width: 100%; }
  .tc-bang th, .tc-bang td { padding: 12px 14px; }
  .tc-bang caption { padding: 16px 14px 4px; font-size: 22px; }
  .tc-phan h2 { font-size: 27px; }
  .tc-2khu { padding-top: 20px; padding-bottom: 30px; }
  .tc-su-menh { margin-top: 28px; }
  .tc-moi { padding-bottom: 34px; }
}

/* =====================================================================
   FORM GỌN (chủ chốt 11/11/2026): thẻ form rộng tối đa 520px, cao không quá khoảng 480px ở máy tính,
   lưới 6 cột (ô thường nửa hàng), ô cao 44px, hàng cách 14px. Khối vàng thấp, hai cột canh giữa.
   Đặt cuối tệp để đè các luật form cũ phía trên.
   ===================================================================== */
.tc-bg__trong { padding-top: 32px; padding-bottom: 32px; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 48px; align-items: center; }
.tc-bg h2 { font-size: 36px; }
.tc-bg__mo { font-size: 16.5px; line-height: 1.65; margin: 14px 0 20px; max-width: 460px; }
.tc-bg__cum { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.tc-bg__lh { margin: 0; min-width: 0; }
.tc-bg__lh small { font-size: 13px; margin-bottom: 2px; }
.tc-bg__lh a { font-size: 21px; line-height: 1.3; }
.tc-form { width: 100%; max-width: 520px; min-width: 0; justify-self: end; padding: 24px 26px 18px; border-radius: var(--bo); }
.tc-form__luoi { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px 18px; }
.tc-o { grid-column: span 3; min-width: 0; }
.tc-o--2 { grid-column: span 2; }
.tc-o--4 { grid-column: span 4; }
.tc-o--ca { grid-column: 1 / -1; }
.tc-o__nhan { font-size: 13px; line-height: 18px; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tc-o input, .tc-o select, .tc-o textarea { display: block; width: 100%; min-width: 0; max-width: 100%; height: 44px; min-height: 44px; padding: 8px 2px; font-size: 15.5px; line-height: 1.4; text-overflow: ellipsis; }
.tc-o input[type="date"] { -webkit-appearance: none; appearance: none; }
.tc-o select { white-space: nowrap; overflow: hidden; padding-right: 24px; background-position: calc(100% - 11px) 20px, calc(100% - 6px) 20px; }
.tc-o textarea { resize: none; overflow: hidden; max-height: 128px; padding-top: 11px; white-space: pre-wrap; text-overflow: clip; }
.tc-o__loi { font-size: 13px; line-height: 1.35; margin-top: 3px; }
.tc-form__gui { min-height: 48px; height: 48px; margin-top: 16px; border-radius: var(--bo-nut); padding-top: 0; padding-bottom: 0; }
.tc-form__ghi { font-size: 13px; line-height: 1.45; margin-top: 10px; }
.tc-kq { margin-top: 14px; min-width: 0; }
.tc-kq__nut .nut, .tc-kq__nut .nut-vien { white-space: normal; flex: 1 1 auto; min-width: 0; }
@media (max-width: 900px) {
  .tc-bg__trong { grid-template-columns: minmax(0, 1fr); gap: 22px; padding-top: 28px; padding-bottom: 28px; }
  .tc-form { justify-self: start; max-width: 560px; }
  .tc-bg__mo { max-width: 560px; margin-bottom: 16px; }
}
@media (max-width: 768px) {
  .tc-bg__trong { padding-top: 32px; padding-bottom: 32px; gap: 20px; }
  .tc-bg h2 { font-size: 30px; }
  .tc-bg__lh a { font-size: 20px; }
  .tc-form { padding: 20px 18px 16px; }
  .tc-form__ghi { font-size: 13px; }
  /* chữ ô 16px trên điện thoại để iPhone không tự phóng to khi chạm vào ô */
  .tc-o input, .tc-o select, .tc-o textarea { font-size: 16px; }
}
@media (max-width: 480px) {
  .tc-form__luoi { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .tc-o, .tc-o--2, .tc-o--4 { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .tc-form__gui { white-space: normal; height: auto; padding: 8px 12px; line-height: 1.25; }
}

/* =====================================================================
   NHỊP DỌC (QA M4, 11/11/2026): giữa hai khối cùng nền tối đa 48px (máy tính), 32px (điện thoại).
   Đặt cuối tệp để đè các luật đệm phía trên.
   ===================================================================== */
.tc-dau { min-height: 0; }
.tc-cty { padding-top: 26px; }
.tc-khoi.tc-hs, .tc-khoi.tc-vd, .tc-khoi.tc-hd-mau { padding-top: 26px; }
@media (max-width: 768px) {
  .tc-khoi, .tc-khoi.tc-hs, .tc-khoi.tc-vd, .tc-khoi.tc-hd-mau, .tc-cty { padding-top: 14px; padding-bottom: 12px; }
  .tc-mo { padding-bottom: 4px; }
  .tc-gt { padding-bottom: 8px; }
  .tc-the-cao { padding-top: 14px; padding-bottom: 8px; }
  .tc-vd__hang { padding-bottom: 6px; }
  .tc-moi { padding-top: 14px; }
}
@media (max-width: 768px) { .tc-moi { padding-bottom: 30px; } }

/* ---------- dòng nổi bật đầu trang thuê tháng (đợt 7, mục 16) ---------- */
.tc-noi-bat { padding-top: 26px; }
.tc-noi-bat p { display: flex; align-items: center; gap: 14px; background: var(--kem-sang); border: 1px solid var(--vang-mo); border-left: 4px solid var(--vang); border-radius: 14px; padding: 16px 20px; font-size: 17px; line-height: 1.5; color: var(--muc); }
.tc-noi-bat .ic { width: 26px; height: 26px; color: var(--vang); flex-shrink: 0; }
.tc-noi-bat b { font-weight: 700; }
@media (max-width: 768px) { .tc-noi-bat { padding-top: 16px; } .tc-noi-bat p { font-size: 16px; padding: 14px 16px; align-items: flex-start; } }
