@charset "UTF-8";
/* =============================================================================
   Trang Minh — GIAO DIỆN ĐIỆN THOẠI kiểu TikTok Shop
   -----------------------------------------------------------------------------
   TOÀN BỘ tệp này nằm trong MỘT khối @media (max-width:767px).
   Từ 768px trở lên trình duyệt bỏ qua sạch — màn hình máy tính KHÔNG đổi.

   HAI NGUỒN CHUẨN, ĐỀU ĐÃ ĐO BẰNG MÁY:
   1) 8 ảnh chụp TikTok Shop khách gửi  → CÁCH ẨN ĐẦU TRANG và CHỖ ĐẶT CHỨC NĂNG
      (ảnh iPhone 1290×2796 = 430pt; chia 3 ra số đo CSS):
        · thanh nổi đè trên ảnh, cao 44, lề ngang 12
        · ô tìm cao 32, bo 10, chữ 15
        · ảnh sản phẩm tràn hết bề ngang, vuông 1:1, số đếm "1/9" góc dưới phải
        · thanh thao tác dính đáy, nút mua bo tròn hết
        · tấm phủ chọn phân loại trượt từ dưới lên, bo góc trên
   2) Trang mẫu đã duyệt xem-truoc-san-pham.html ở 390px → MÀU SẮC và NỘI DUNG
      (số đo dưới đây lấy đúng bằng getComputedStyle trên trang mẫu đó):
        · dải giá : linear-gradient(90deg,#FE2C55 0%,#FF5C39 62%,#FF8A00 100%)
                    padding 12px 16px · gap 16 · chữ giá 24/800 · "Chỉ" 15/600
        · ô -28%  : nền trắng, chữ #FE2C55, 13/800, bo 6, đệm 3px 8px
        · khối trắng: đệm 14px 12px, cách nhau 10px, nền trang #F6F8FA
        · tên SP  : 20/700 màu #0E2464 · nhãn "Shop" nền #0E2464
        · hàng sao: 14px màu #93A0B2, vạch ngăn 1px #E8ECF1
        · thẻ tab : chữ 14.5/700, thẻ đang xem #FE2C55 + gạch chân đỏ
        · thanh đáy: đệm 10, nút giỏ 56×44 nền #FFF0F3 viền #FFD3DC,
                     nút mua cao 65 bo 999 nền #FE2C55 bóng rgba(254,44,85,.28)
        · tấm phủ : bo 20px trên, ảnh 104 bo 12 viền 2px #FFD3DC,
                    giá 25/800 #FE2C55, nút đáy cao 48 bo 999
   ============================================================================= */

@media (max-width: 767px) {

	/* =========================================================================
	   0. BẢNG MÀU — chép từ trang mẫu đã duyệt.
	   Khai trong khối điện thoại nên không rò sang máy tính.
	   ========================================================================= */
	body.tmmb {
		--tmmb-do: #FE2C55;
		--tmmb-do-dam: #E4244A;
		--tmmb-do-nhat: #FFF0F3;
		--tmmb-do-vien: #FFD3DC;
		--tmmb-cam: #FF8A00;
		--tmmb-xanh: #0E2464;   /* chữ đậm / tên sản phẩm */
		--tmmb-chu: #5C6B80;    /* chữ thường */
		--tmmb-mo: #93A0B2;     /* chữ phụ */
		--tmmb-nhat: #B9C3D0;   /* mũi tên, giá cũ */
		--tmmb-vien: #E8ECF1;
		--tmmb-nen: #F6F8FA;    /* nền trang, khe giữa các khối */
		--tmmb-luc: #0FA968;
		--tmmb-thuong: #00B4A8;  /* màu thương hiệu, dùng cho mục đang xem ở thanh dưới */
		--tmmb-tren: 44px;      /* chiều cao thanh nổi */
		--tmmb-tab: 44px;       /* chiều cao hàng thẻ trong thanh nổi */
	}

	/* =========================================================================
	   1. THANH ĐIỀU HƯỚNG DƯỚI MÀN HÌNH (dùng chung mọi trang)
	   ========================================================================= */
	/* Số đo chép từ `.nav-duoi` của trang mẫu đã duyệt: cao 60, nền trắng,
	   KHÔNG viền trên, bóng rgba(14,36,100,.08) 0 -2px 14px, chữ 11/600,
	   mục thường #93A0B2, mục đang xem MÀU THƯƠNG HIỆU #00B4A8 (không phải đỏ —
	   trang mẫu để màu thương hiệu ở đây, chỉ giá và nút mua mới màu đỏ). */
	body.tmmb .wstm-mbar {
		background: #fff;
		border-top: 0;
		box-shadow: 0 -2px 14px rgba(14, 36, 100, .08);
		padding-bottom: env(safe-area-inset-bottom);
	}
	body.tmmb .wstm-mbar__item {
		padding: 9px 4px 8px; gap: 3px;
		font-size: 11px; font-weight: 600; letter-spacing: 0;
		color: var(--tmmb-mo);
	}
	body.tmmb .wstm-mbar__item + .wstm-mbar__item::before { display: none; }
	body.tmmb .wstm-mbar__item .wstm-ico,
	body.tmmb .wstm-mbar__item img { width: 21px; height: 21px; stroke-width: 1.8; }
	body.tmmb .wstm-mbar__item.is-active,
	body.tmmb .wstm-mbar__item.is-active .wstm-ico { color: var(--tmmb-thuong); }

	/* =========================================================================
	   2. GIÁ ĐỎ — CHỈ trong trang chi tiết sản phẩm (khối "có thể bạn cũng thích")
	   Trang mẫu trang chủ đã duyệt KHÔNG dùng màu đỏ ở đâu cả, nên trang chủ và
	   trang danh mục giữ nguyên màu thương hiệu, không nhuộm đỏ.
	   ========================================================================= */
	body.tmmb--sp .wstm-card__price .wstm-price-now,
	body.tmmb--sp .wstm-card__price ins,
	body.tmmb--sp .wstm-card__price .amount { color: var(--tmmb-do); font-weight: 800; }
	body.tmmb--sp .wstm-card__off { background: var(--tmmb-do); color: #fff; }

	/* =========================================================================
	   3. TRANG CHI TIẾT SẢN PHẨM
	   ========================================================================= */

	/* ---- 3.1 Ẩn đầu trang của web, y như TikTok ----
	   Ẩn dải chạy khuyến mãi, đầu trang (logo · menu · ô tìm) và đường dẫn.
	   KHÔNG ẩn `.wstm-drawer`: nút ba chấm trên thanh nổi mở chính ngăn kéo đó
	   nên khách vẫn vào được menu đầy đủ. Thanh nổi luôn có nút quay lại và
	   nút giỏ hàng — khách không bao giờ bị kẹt. */
	body.tmmb--sp .tmdm-tb,
	body.tmmb--sp #wstm-header,
	body.tmmb--sp .wstm-topbar,
	body.tmmb--sp .wstm-crumb { display: none !important; }

	body.tmmb--sp {
		background: var(--tmmb-nen);
		padding-bottom: calc(96px + env(safe-area-inset-bottom));
	}
	body.tmmb--sp .wstm-main { padding-top: 0; margin-top: 0; }

	/* ---- 3.2 Bỏ lề hai bên để ảnh tràn hết bề ngang ---- */
	body.tmmb--sp .wstm-main > .wstm-wrap,
	body.tmmb--sp .wstm-main > .wstm-wrap.wstm-section,
	body.tmmb--sp .wstm-main > .wstm-section,
	body.tmmb--sp .wstm-section--tight {
		padding-left: 0; padding-right: 0; max-width: none;
	}
	body.tmmb--sp .wstm-single { padding-inline: 0; gap: 0; }

	/* ---- 3.3 THANH NỔI ĐÈ TRÊN ẢNH ----
	   Lúc đầu trong suốt, biểu tượng trắng có bóng đổ để nổi trên mọi màu ảnh.
	   Cuộn qua khỏi ảnh thì hoá nền trắng, chữ đen và hiện hàng thẻ. */
	.tmmb-tren {
		position: fixed; top: 0; left: 0; right: 0; z-index: 1200;
		padding-top: env(safe-area-inset-top);
		transition: background-color .18s linear, box-shadow .18s linear;
	}
	.tmmb-tren::before {
		content: ""; position: absolute; inset: 0; pointer-events: none;
		background: linear-gradient(180deg, rgba(0, 0, 0, .36), rgba(0, 0, 0, 0));
		transition: opacity .18s linear;
	}
	.tmmb-tren__hang {
		position: relative; display: flex; align-items: center; gap: 6px;
		height: var(--tmmb-tren); padding: 0 12px;
	}

	.tmmb-nut {
		position: relative; flex: none;
		width: 30px; height: 30px; padding: 0; border: 0; background: none;
		display: grid; place-items: center; cursor: pointer;
		color: #fff; -webkit-tap-highlight-color: transparent;
	}
	.tmmb-nut svg {
		width: 25px; height: 25px; display: block;
		filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .5));
	}
	.tmmb-nut--lui svg { width: 27px; height: 27px; }
	.tmmb-nut__so {
		position: absolute; top: -3px; right: -4px; min-width: 16px; height: 16px;
		padding: 0 4px; border-radius: 999px; background: var(--tmmb-do); color: #fff;
		font-size: 10px; font-weight: 700; line-height: 16px; text-align: center;
		box-shadow: 0 0 0 1.5px #fff;
	}
	.tmmb-nut__so[hidden] { display: none; }

	.tmmb-tim {
		flex: 1 1 auto; min-width: 0; position: relative;
		display: flex; align-items: center;
		height: 32px; border-radius: 10px; margin: 0 2px 0 4px;
		background: rgba(255, 255, 255, .74);
		-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
		transition: background-color .18s linear;
	}
	.tmmb-tim__kinh {
		flex: none; display: grid; place-items: center;
		width: 18px; height: 18px; margin: 0 8px 0 9px; color: var(--tmmb-chu);
	}
	.tmmb-tren .tmmb-tim__kinh,
	.tmmb-tren .tmmb-tim__kinh svg { color: var(--tmmb-chu); }
	.tmmb-tim__kinh svg { width: 18px; height: 18px; }
	.tmmb-tim__o {
		flex: 1 1 auto; min-width: 0; height: 32px;
		border: 0; background: none; outline: none; padding: 0 10px 0 0;
		font-family: inherit; font-size: 15px; color: var(--tmmb-xanh);
	}
	.tmmb-tren .tmmb-tim__o::placeholder { color: var(--tmmb-chu); opacity: 1; }
	.tmmb-tren .tmmb-tim__o::-webkit-input-placeholder { color: var(--tmmb-chu); opacity: 1; }
	.tmmb-tim__o::-webkit-search-cancel-button { display: none; }

	.tmmb-tren.is-dac { background: #fff; box-shadow: 0 1px 0 var(--tmmb-vien); }
	.tmmb-tren.is-dac::before { opacity: 0; }
	.tmmb-tren.is-dac .tmmb-nut { color: var(--tmmb-xanh); }
	.tmmb-tren.is-dac .tmmb-nut svg { filter: none; }
	.tmmb-tren.is-dac .tmmb-tim { background: var(--tmmb-nen); }

	/* ---- 3.4 Hàng thẻ Tổng quan · Đánh giá · Mô tả · Đề xuất ----
	   Vị trí lấy theo TikTok (nằm trong thanh nổi, hiện khi đã cuộn),
	   màu và cỡ chữ lấy theo trang mẫu (14.5/700, thẻ đang xem đỏ #FE2C55). */
	.tmmb-tab {
		position: relative; display: none;
		height: var(--tmmb-tab);
		background: #fff; border-bottom: 1px solid var(--tmmb-vien);
	}
	.tmmb-tren.is-dac .tmmb-tab { display: flex; }
	.tmmb-tab__m {
		flex: 1 1 0; min-width: 0; position: relative;
		border: 0; background: none; padding: 0; cursor: pointer;
		font-family: inherit; font-size: 14.5px; font-weight: 600;
		line-height: var(--tmmb-tab); color: var(--tmmb-mo); white-space: nowrap;
		-webkit-tap-highlight-color: transparent;
	}
	.tmmb-tab__m.is-on { color: var(--tmmb-do); font-weight: 700; }
	.tmmb-tab__m.is-on::after {
		content: ""; position: absolute; left: 50%; transform: translateX(-50%);
		bottom: 0; width: 44px; height: 2px; background: var(--tmmb-do); border-radius: 2px;
	}

	/* ---- 3.5 ẢNH SẢN PHẨM TRÀN HẾT BỀ NGANG, VUÔNG 1:1 ----
	   Hàng ảnh nhỏ của theme bị giấu (TikTok và trang mẫu đều không có),
	   thay bằng số đếm "1/15" góc dưới phải và vuốt ngang để đổi ảnh. */
	body.tmmb--sp .wstm-gal { display: block; padding: 0; margin: 0; }
	body.tmmb--sp .wstm-gal__box { display: none; }
	body.tmmb--sp .wstm-gal__main {
		position: relative;
		width: 100%; aspect-ratio: 1 / 1; height: auto;
		border: 0; border-radius: 0; background: var(--tmmb-nen); overflow: hidden;
	}
	body.tmmb--sp .wstm-gal__main img,
	body.tmmb--sp .wstm-gal__main video {
		width: 100%; height: 100%; object-fit: cover; object-position: center;
	}
	body.tmmb--sp .wstm-gal__zoom { right: 12px; bottom: 54px; }

	/* Số đếm ảnh — số đo lấy từ `.tv2-dem` của trang mẫu */
	.tmmb-dem {
		position: absolute; right: 12px; bottom: 12px; z-index: 3;
		padding: 4px 11px; border-radius: 999px;
		background: rgba(0, 0, 0, .55); color: #fff;
		font-size: 12.5px; font-weight: 700; line-height: 1.65;
		font-variant-numeric: tabular-nums; pointer-events: none;
	}

	/* ---- 3.6 DẢI GIÁ ngay dưới ảnh, tràn hết bề ngang ----
	   Chép đúng dải `.gia-dai` của trang mẫu. Đồng hồ đếm ngược CHỈ hiện khi
	   sản phẩm có hạn khuyến mãi thật trong WooCommerce — không có thì bỏ hẳn. */
	body.tmmb--sp .tt-giadai,
	body.tmmb--sp .tmmb-gia {
		display: flex; flex-wrap: wrap; align-items: center;
		margin: 0; padding: 12px 16px; border-radius: 0; gap: 6px 16px;
		background: linear-gradient(90deg, #FE2C55 0%, #FF5C39 62%, #FF8A00 100%);
		color: #fff;
	}
	body.tmmb--sp .tt-giadai .wstm-pinfo__price {
		display: flex; align-items: center; flex-wrap: wrap; gap: 11px;
		margin: 0; min-width: 0; flex: 1 1 100%;
	}
	body.tmmb--sp .tt-giadai .wstm-pinfo__price .now {
		font-family: inherit; font-size: 24px; font-weight: 800; line-height: 1;
		color: #fff; letter-spacing: -.24px;
	}
	body.tmmb--sp .tt-giadai .wstm-pinfo__price .old {
		font-size: 15px; font-weight: 500; line-height: 1.65;
		color: rgba(255, 255, 255, .86); text-decoration: line-through;
	}
	body.tmmb--sp .tt-giadai .wstm-pinfo__price .off {
		order: -1;
		padding: 3px 8px; border-radius: 6px;
		background: #fff; color: var(--tmmb-do);
		font-size: 13px; font-weight: 800; line-height: 1.3;
	}
	body.tmmb--sp .tt-giadai .wstm-pinfo__price .ask { font-size: 21px; color: #fff; }
	body.tmmb--sp .tt-giadai__nhan {
		flex: 1 1 100%;
		display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
		text-align: left;
	}
	body.tmmb--sp .tt-giadai__ten {
		display: flex; align-items: center; gap: 7px;
		font-size: 16px; font-weight: 800; line-height: 1.65; color: #fff;
	}
	body.tmmb--sp .tt-giadai__ten svg { width: 17px; height: 17px; flex: none; }
	body.tmmb--sp .tt-giadai__het {
		font-size: 13.5px; font-weight: 600; line-height: 1.65; color: #fff;
	}
	body.tmmb--sp .tt-giadai__het b { font-weight: 800; font-variant-numeric: tabular-nums; }

	/* ---- 3.7 KHỐI THÔNG TIN — xếp lại đúng thứ tự TikTok / trang mẫu ----
	   Trang mẫu: dải giá → tên (kèm nhãn Shop) → hàng sao · còn hàng →
	   mô tả ngắn → phân loại → số lượng → các dòng chính sách.
	   Theme xếp khác, nên dùng flex + order để đảo lại mà KHÔNG sửa template. */
	body.tmmb--sp .wstm-pinfo {
		display: flex; flex-direction: column;
		margin: 0; padding: 0; background: transparent;
	}
	body.tmmb--sp .wstm-pinfo > .tt-giadai,
	body.tmmb--sp .wstm-pinfo > .tmmb-gia { order: 1; }
	body.tmmb--sp .wstm-pinfo > .wstm-pinfo__badges { order: 2; }
	body.tmmb--sp .wstm-pinfo > .wstm-pinfo__title { order: 3; }
	body.tmmb--sp .wstm-pinfo > .wstm-pinfo__rate { order: 4; }
	body.tmmb--sp .wstm-pinfo > .wstm-pinfo__meta { order: 5; }
	body.tmmb--sp .wstm-pinfo > .wstm-pinfo__vat { order: 6; }
	body.tmmb--sp .wstm-pinfo > .wstm-specs { order: 8; }
	body.tmmb--sp .wstm-pinfo > .wstm-vtm { order: 9; }
	body.tmmb--sp .wstm-pinfo > form.wstm-buy-form { order: 7; }
	body.tmmb--sp .wstm-pinfo > .wstm-actions-row { order: 10; }

	/* Khối trắng đầu tiên: nhãn · tên · sao · độ tuổi · VAT */
	body.tmmb--sp .wstm-pinfo__badges {
		margin: 0; padding: 14px 12px 0; gap: 6px; background: #fff;
	}
	body.tmmb--sp .wstm-pinfo__badges .wstm-badge {
		font-size: 11.5px; font-weight: 800; letter-spacing: .02em;
		padding: 3px 9px; border-radius: 5px;
	}
	body.tmmb--sp .wstm-pinfo__title {
		font-family: inherit; background: #fff;
		margin: 0; padding: 8px 12px 0;
		font-size: 20px; font-weight: 700; line-height: 1.34; color: var(--tmmb-xanh);
	}
	body.tmmb--sp .wstm-pinfo__rate {
		margin: 0; padding: 12px 12px 0; gap: 10px; background: #fff;
		font-size: 13.5px; color: var(--tmmb-mo); align-items: center;
	}
	/* Trang mẫu chỉ để MỘT ngôi sao; hàng 5 sao rỗng của theme làm vỡ dòng. */
	body.tmmb--sp .wstm-pinfo__rate .wstm-stars { transform: scale(.85); transform-origin: left center; }
	body.tmmb--sp .wstm-pinfo__rate b { color: var(--tmmb-xanh); font-weight: 700; }
	body.tmmb--sp .wstm-pinfo__norate { font-size: 14px; color: var(--tmmb-mo); }
	body.tmmb--sp .wstm-pinfo__ratelink {
		font-size: 14px; font-weight: 600; color: var(--tmmb-do);
		text-decoration: none;
	}
	body.tmmb--sp .wstm-pinfo__meta {
		margin: 0; padding: 12px 12px 0; gap: 9px; background: #fff;
		font-size: 14px; color: var(--tmmb-mo);
	}
	body.tmmb--sp .wstm-pinfo__vat {
		margin: 0; padding: 8px 12px 14px; background: #fff;
		font-size: 13.5px; color: var(--tmmb-mo);
	}

	/* Khe 10px giữa các khối trắng — đúng `margin-bottom:10px` của trang mẫu */
	body.tmmb--sp form.wstm-buy-form,
	body.tmmb--sp .wstm-specs,
	body.tmmb--sp .wstm-vtm,
	body.tmmb--sp .wstm-actions-row,
	body.tmmb--sp .wstm-single__aside,
	body.tmmb--sp .wstm-tabs {
		border-top: 10px solid var(--tmmb-nen);
		background: #fff;
	}

	body.tmmb--sp .wstm-vtm {
		margin: 0; padding: 14px 12px; border-radius: 0;
		font-size: 13.5px; line-height: 1.5; color: var(--tmmb-chu);
	}
	body.tmmb--sp .wstm-specs { margin: 0; padding: 14px 12px; gap: 10px; }
	body.tmmb--sp .wstm-specs__item { border-radius: 10px; border-color: var(--tmmb-vien); }
	body.tmmb--sp .wstm-specs__lab {
		font-size: 11.5px; font-weight: 800; letter-spacing: .03em; color: var(--tmmb-mo);
	}
	body.tmmb--sp .wstm-specs__val { font-size: 14px; color: var(--tmmb-xanh); }

	/* ---- 3.8 Khối chọn phân loại + số lượng ----
	   Ô phân loại chép theo thẻ `.the-bt` của trang mẫu: bo 11, viền 2px,
	   đang chọn thì viền đỏ và nền hồng rất nhạt. */
	body.tmmb--sp form.wstm-buy-form { margin: 0; padding: 14px 12px; }
	body.tmmb--sp .wstm-vars__row { gap: 10px; }
	body.tmmb--sp .wstm-vars__lab {
		font-size: 16.5px; font-weight: 700; color: var(--tmmb-xanh); margin-bottom: 2px;
	}
	body.tmmb--sp .wstm-vars__opts { gap: 7px; }
	body.tmmb--sp .wstm-chip {
		border-radius: 11px; border: 2px solid var(--tmmb-vien); background: #fff;
		padding: 8px 11px;
	}
	body.tmmb--sp .wstm-chip.is-on {
		border-color: var(--tmmb-do); background: var(--tmmb-do-nhat);
	}
	body.tmmb--sp .tt-chip__ten {
		font-size: 11.5px; font-weight: 600; color: var(--tmmb-xanh); line-height: 1.35;
	}
	body.tmmb--sp .wstm-chip.is-on .tt-chip__ten { color: var(--tmmb-do); }
	body.tmmb--sp .tt-chip__gia { font-size: 12px; font-weight: 800; color: var(--tmmb-do); }
	body.tmmb--sp .tt-chip__gia i { color: var(--tmmb-mo); font-weight: 500; }

	/* Ô số lượng: 98×32, bo 9, nút 30×30 nền #F6F8FA */
	body.tmmb--sp .wstm-qty {
		height: 32px; border-radius: 9px; border: 1px solid var(--tmmb-vien);
		overflow: hidden; background: #fff;
	}
	body.tmmb--sp .wstm-qty button {
		width: 30px; height: 30px; background: var(--tmmb-nen);
		color: var(--tmmb-xanh); font-size: 18px; font-weight: 600; border: 0;
	}
	body.tmmb--sp .wstm-qty input {
		width: 38px; height: 30px; border: 0;
		font-size: 15px; font-weight: 700; color: var(--tmmb-xanh); text-align: center;
	}
	body.tmmb--sp .wstm-buy__stock b { color: var(--tmmb-luc); font-weight: 700; }
	body.tmmb--sp .wstm-buy-note { font-size: 13.5px; color: var(--tmmb-mo); }

	/* ---- 3.9 Thẻ Mô tả / Thông số / Đánh giá trong trang ---- */
	body.tmmb--sp .wstm-tabs { margin: 0; border-radius: 0; }
	body.tmmb--sp .wstm-tabs__nav {
		background: #fff; border-bottom: 1px solid var(--tmmb-vien); padding: 0 8px; gap: 2px;
	}
	body.tmmb--sp .wstm-tabs__btn {
		border: 0; background: none; padding: 13px 14px; position: relative;
		font-size: 14.5px; font-weight: 600; color: var(--tmmb-mo);
		text-transform: none; letter-spacing: 0; white-space: nowrap;
	}
	body.tmmb--sp .wstm-tabs__btn.is-active {
		color: var(--tmmb-do); font-weight: 700; background: none;
	}
	body.tmmb--sp .wstm-tabs__btn.is-active::after {
		content: ""; position: absolute; left: 14px; right: 14px; bottom: 0;
		height: 2px; background: var(--tmmb-do); border-radius: 2px;
	}
	body.tmmb--sp .wstm-tabs__pane { padding: 14px 12px; }
	body.tmmb--sp .wstm-entry { font-size: 15px; line-height: 1.65; color: var(--tmmb-chu); }

	/* ---- 3.10 Cột phụ (hộp gọi, cam kết) thành khối trắng cách nhau ---- */
	body.tmmb--sp .wstm-single__aside { margin: 0; padding: 14px 12px; gap: 12px; }

	/* ---- 3.11 THANH THAO TÁC DÍNH ĐÁY ----
	   Số đo chép từ `.thanh-day` của trang mẫu. Dùng lại chính thanh
	   `.tt-thanh` do plugin trangminh-tiktok dựng; plugin đó tắt thì JS của
	   plugin này tự dựng một thanh y hệt. */
	body.tmmb--sp .tt-thanh,
	body.tmmb--sp .tmmb-duoi {
		display: flex; align-items: center; gap: 8px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 1100;
		background: #fff; border-top: 0;
		box-shadow: 0 -3px 18px rgba(14, 36, 100, .09);
		padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
	}
	body.tmmb--sp .tt-thanh__ico {
		flex: none; min-width: 38px;
		display: flex; flex-direction: column; align-items: center; justify-content: center;
		gap: 2px; font-size: 10px; font-weight: 600; line-height: 1.65;
		color: var(--tmmb-mo); text-decoration: none;
	}
	body.tmmb--sp .tt-thanh__ico span {
		max-width: 64px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	}
	body.tmmb--sp .tt-thanh__ico svg { width: 22px; height: 22px; stroke-width: 1.8; }

	/* Nút giỏ: 56×44, nền hồng rất nhạt, viền hồng, xe đẩy đỏ */
	body.tmmb--sp .tt-thanh .tt-nut--vien,
	body.tmmb--sp .tmmb-duoi__gio {
		flex: none; width: 56px; height: 44px; margin: 0 0 0 4px; padding: 0;
		border: 1px solid var(--tmmb-do-vien); border-radius: 999px; cursor: pointer;
		background: var(--tmmb-do-nhat); color: var(--tmmb-do);
		display: grid; place-items: center; box-shadow: none;
	}
	body.tmmb--sp .tt-thanh .tt-nut--vien svg,
	body.tmmb--sp .tmmb-duoi__gio svg { width: 18px; height: 18px; stroke-width: 1.9; }

	/* Nút mua: chiếm hết phần còn lại, cao 65, bo tròn hết, hai dòng */
	body.tmmb--sp .tt-thanh .tt-nut:not(.tt-nut--vien),
	body.tmmb--sp .tmmb-duoi__mua {
		flex: 1 1 auto; min-width: 0;
		display: flex; flex-direction: column; align-items: center; justify-content: center;
		gap: 0; min-height: 65px; padding: 11px 12px;
		border: 0; border-radius: 999px; cursor: pointer;
		background: var(--tmmb-do); color: #fff;
		box-shadow: 0 4px 14px rgba(254, 44, 85, .28);
		font-family: inherit; font-size: 14.5px; font-weight: 700; line-height: 1.25;
	}
	body.tmmb--sp .tt-thanh .tt-nut:not(.tt-nut--vien):active,
	body.tmmb--sp .tmmb-duoi__mua:active { background: var(--tmmb-do-dam); }
	.tmmb-mua__phu {
		display: block; margin-top: 1px;
		font-size: 12.5px; font-weight: 600; line-height: 1.25; color: #fff;
		max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	}

	/* Hai thanh cùng bám đáy sẽ chồng nhau — chỉ ẩn thanh điều hướng
	   Ở TRANG SẢN PHẨM, các trang khác vẫn còn nguyên. */
	body.tmmb--sp .wstm-mbar { display: none !important; }
	body.tmmb--sp .wstm-float { bottom: calc(104px + env(safe-area-inset-bottom)); }
	/* Nút mua to giữa trang thành thừa khi đã có thanh dính đáy */
	body.tmmb--sp .wstm-cta:not(.wstm-cta--single) { display: none; }

	/* Ngăn kéo menu của theme phải nằm TRÊN mọi thứ của plugin này, nếu không
	   thanh nổi và thanh dính đáy sẽ đè lên menu. JS bật lớp `tmmb-menu` trên
	   <body> mỗi khi ngăn kéo mở. */
	body.tmmb-menu .tmmb-tren,
	body.tmmb-menu .tmmb-ghe,
	body.tmmb-menu .tmmb-len,
	body.tmmb-menu .tt-thanh,
	body.tmmb-menu .tmmb-duoi { display: none !important; }

	/* ---- 3.12 Nút "Ghé cửa hàng" dán mép phải + nút lên đầu trang ----
	   Hai nút này có trong ảnh chụp TikTok khách gửi. */
	.tmmb-ghe {
		position: fixed; right: 0; z-index: 1050;
		bottom: calc(152px + env(safe-area-inset-bottom));
		visibility: hidden; opacity: 0; transition: opacity .18s linear;
		display: flex; align-items: center; gap: 3px;
		padding: 8px 9px 8px 13px; border-radius: 999px 0 0 999px;
		background: var(--tmmb-do); color: #fff; text-decoration: none;
		font-size: 13px; font-weight: 700; line-height: 1.25;
		box-shadow: 0 4px 14px rgba(254, 44, 85, .28);
	}
	.tmmb-ghe.is-hien { visibility: visible; opacity: 1; }
	.tmmb-ghe svg { width: 15px; height: 15px; }

	.tmmb-len {
		position: fixed; right: 12px; z-index: 1050;
		bottom: calc(104px + env(safe-area-inset-bottom));
		width: 40px; height: 40px; border: 0; border-radius: 50%; cursor: pointer;
		background: rgba(255, 255, 255, .92); color: var(--tmmb-xanh);
		display: none; place-items: center;
		box-shadow: 0 6px 20px rgba(14, 36, 100, .18);
	}
	.tmmb-len.is-hien { display: grid; }
	.tmmb-len svg { width: 20px; height: 20px; }

	/* ---- 3.13 TẤM PHỦ CHỌN PHÂN LOẠI trượt từ dưới lên ----
	   Số đo chép từ `.tam-phu` của trang mẫu. */
	body.tmmb .wstm-chon { z-index: 1300; }
	body.tmmb .wstm-chon__nen { background: rgba(14, 36, 100, .5); backdrop-filter: none; }
	body.tmmb .wstm-chon__hop {
		border-radius: 20px 20px 0 0;
		padding: 18px 18px calc(14px + env(safe-area-inset-bottom));
		max-height: 84vh;
		box-shadow: 0 -8px 40px rgba(14, 36, 100, .2);
	}
	body.tmmb .wstm-chon__dau {
		align-items: flex-start; gap: 14px; padding: 0 0 12px; border-bottom: 0;
	}
	body.tmmb .wstm-chon__anh {
		width: 104px; height: 104px; margin-top: 0;
		border-radius: 12px; border: 2px solid var(--tmmb-do-vien);
		background: var(--tmmb-nen); overflow: hidden;
	}
	body.tmmb .wstm-chon__tt { padding-top: 0; }
	body.tmmb .wstm-chon__gia {
		display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px;
		font-size: 22px; font-weight: 800; line-height: 1.15;
		color: var(--tmmb-do); letter-spacing: -.25px;
	}
	body.tmmb .wstm-chon__gia del,
	body.tmmb .wstm-chon__gia .old {
		font-size: 16px; font-weight: 500; color: var(--tmmb-nhat);
	}
	body.tmmb .wstm-chon__ten {
		margin-top: 6px; font-size: 14.5px; line-height: 1.65; color: var(--tmmb-chu);
	}
	body.tmmb .wstm-chon__x {
		flex: none; width: 34px; height: 34px;
		border-radius: 50%; background: var(--tmmb-nen); color: var(--tmmb-xanh);
		font-size: 24px; line-height: 1;
	}
	body.tmmb .wstm-chon__than { padding: 0; border-top: 1px solid var(--tmmb-vien); }
	body.tmmb .wstm-chon__than .wstm-vars__lab {
		font-size: 16.5px; font-weight: 700; color: var(--tmmb-xanh);
		margin: 18px 0 12px;
	}
	body.tmmb .wstm-chon__ok {
		width: 100%; margin: 14px 0 0;
		height: 48px; padding: 0; border-radius: 999px;
		background: var(--tmmb-do); color: #fff;
		font-family: inherit; font-size: 16px; font-weight: 700;
		box-shadow: 0 4px 14px rgba(254, 44, 85, .28);
	}
	body.tmmb .wstm-chon__ok:active,
	body.tmmb .wstm-chon__ok:hover { background: var(--tmmb-do-dam); }

	/* =========================================================================
	   4. TRANG DANH MỤC + TRANG CHỦ
	   Đối chiếu trang mẫu đã duyệt (xem-truoc.html) ở 390px: hai trang này
	   KHÔNG dùng màu đỏ và KHÔNG giấu đầu trang — khách cần menu và ô tìm để
	   đi tiếp, ảnh chụp TikTok cũng chỉ giấu đầu trang ở trang chi tiết.
	   Vì vậy ở đây plugin CHỈ chỉnh thanh điều hướng dưới màn hình (mục 1),
	   không đụng gì thêm, tránh làm lệch phần trang chủ/danh mục đã dựng xong.
	   ========================================================================= */

	/* =========================================================================
	   5. GIỎ HÀNG & THANH TOÁN — CHỈ thanh điều hướng dưới màn hình.
	   Phần còn lại của hai trang này do plugin trangminh-muahang lo, KHÔNG đụng.
	   ========================================================================= */
	body.tmmb--gio .wstm-mbar,
	body.tmmb--tt .wstm-mbar {
		background: #fff; border-top: 0;
		box-shadow: 0 -2px 14px rgba(14, 36, 100, .08);
	}

	/* =========================================================================
	   7. 27/09/2026 — KHÁCH XEM TRÊN ĐIỆN THOẠI THẬT RỒI YÊU CẦU CHỈNH

	   Khách nhắn bốn việc, tất cả đều là số đo chứ không phải ý thích:
	     a) "Header mobile, slide hero chỉnh chuyên nghiệp, gọn hơn đẹp hơn"
	     b) "Nút mua ngay bị to"
	     c) "giỏ hàng icon đẹp hơn vừa với icon khác"
	     d) "cái thuộc tính đang quá to, nhiều thuộc tính là k nhìn dc hết"
	   Số đo cũ lấy bằng trình duyệt chạy ngầm ở khổ 390×844, ghi trong từng
	   mục dưới đây. Chỉ CSS, chỉ màn hình ≤767px — máy tính không đổi pixel nào.
	   ========================================================================= */

	/* ---- 7.1 Dải chạy trên cùng: BỎ HẲN trên điện thoại ----
	   27/09/2026 — khách xem trên máy thật rồi chốt: "Cái chạy trên đầu ẩn đi".
	   Dải này chỉ chạy ở khổ điện thoại (bản máy tính là hàng chữ đứng yên), câu
	   nào cũng bị cắt cụt hai đầu nên đọc không ra, mà lại ăn mất 29px ngay chỗ
	   khách nhìn đầu tiên. Trang sản phẩm và trang giỏ/thanh toán đã ẩn sẵn từ
	   trước, nay ẩn nốt ở trang chủ và các trang còn lại cho đồng bộ.
	   Nội dung không mất: mấy câu cam kết vẫn nằm ở khối "Giao hàng đồng kiểm…"
	   ngay dưới banner và ở chân trang.
	   Bật lại thì đổi dòng dưới thành `display:block`. Bản máy tính không đụng. */
	body.tmmb .tmdm-tb { display: none !important; }

	/* ---- 7.2 Đầu trang: 72px → 56px, có lề hai bên ----
	   `.wstm-header__inner` của theme đặt `padding:0`, nên đo được nút mở menu
	   nằm ở x=0 và cụm nút bên phải kết thúc đúng x=390 — dính sát hai mép màn
	   hình, nhìn như bị cắt mất một nửa. Trả lại lề 12px. */
	body.tmmb .wstm-header__inner {
		padding-inline: 12px; gap: 10px; min-height: 56px;
	}
	/* 27/09/2026 — khách báo "Logo lệch ko ở giữa".
	   Hàng đầu trang là FLEX (plugin trangminh-danhmuc đặt `display:flex`, không
	   phải lưới của theme — thử sửa `grid-template-columns` là vô ích, đã đo lại
	   thấy logo vẫn đứng nguyên chỗ cũ). Trong flex, logo nằm ngay sau nút menu
	   36px trong khi cụm nút phải rộng 90px, nên nó lệch trái 87px.
	   Cách chắc ăn: cho hai đầu CÙNG co giãn `flex:1 1 0` nên luôn bằng nhau,
	   logo ở giữa tự nằm đúng tâm màn hình dù nút hai bên to nhỏ thế nào. */
	body.tmmb .wstm-header__inner > .wstm-burger,
	body.tmmb .wstm-header__inner > .wstm-actions { flex: 1 1 0; min-width: 0; }
	/* Biểu tượng ba gạch vẫn nằm sát trái chứ không trôi vào giữa ô. */
	body.tmmb .wstm-header__inner > .wstm-burger { width: auto; justify-items: start; }
	body.tmmb .wstm-header__inner > .wstm-actions { justify-content: flex-end; }
	body.tmmb .wstm-header__inner > .wstm-brand { flex: 0 0 auto; }
	body.tmmb .wstm-burger { width: 36px; height: 36px; }
	body.tmmb .wstm-burger .wstm-ico { width: 24px; height: 24px; }
	body.tmmb .wstm-brand img { max-height: 36px; border-radius: 9px; }
	body.tmmb .wstm-actions { gap: 8px; }
	body.tmmb .wstm-actions .wstm-act { width: 38px; height: 38px; }
	body.tmmb .wstm-actions .wstm-act__ico { width: 100%; height: 100%; }
	body.tmmb .wstm-actions .wstm-act__ico .wstm-ico { width: 20px; height: 20px; }
	body.tmmb .wstm-act__caret { display: none; }
	body.tmmb .wstm-act__badge { top: -1px; }
	body.tmmb .wstm-mobile-search .wstm-wrap { padding-inline: 12px; }

	/* ---- 7.3 Slide hero + dải khuyến mãi: cùng lề 12px, cùng góc bo 14px ----
	   Trước: hero lề 16px góc 18px, dải chạy lề 16px góc 24px, hai khối lệch
	   nhau trông rời rạc. Dải chạy còn cao 45px cho một dòng chữ 14px. */
	body.tmmb .tm-tc-trang .muc--hero { padding: 8px 12px 6px; }
	body.tmmb .tm-tc-trang .hero-khung {
		border-radius: 14px;
		box-shadow: 0 5px 16px rgba(14, 36, 100, .10);
	}
	/* Chấm chuyển ảnh: banner trên điện thoại chỉ cao 122px, chấm trắng to nằm
	   giữa sẽ đè lên đúng phần chữ của tấm banner. Dồn xuống góc phải, nhỏ lại,
	   lót một nền mờ để nổi trên mọi màu ảnh mà không làm bẩn hình. */
	body.tmmb .tm-tc-trang .hero-cham {
		left: auto; right: 8px; bottom: 7px; transform: none;
		gap: 4px; padding: 4px 6px; border-radius: 999px;
		background: rgba(10, 22, 48, .34);
	}
	body.tmmb .tm-tc-trang .hero-cham button { width: 5px; height: 5px; }
	body.tmmb .tm-tc-trang .hero-cham button[aria-current="true"] { width: 14px; }
	body.tmmb .tm-tc-trang .muc--chay { padding-inline: 12px; }
	body.tmmb .tm-tc-trang .dai-chay {
		border-radius: 12px; padding-block: 6px;
		box-shadow: 0 3px 10px rgba(245, 158, 11, .18);
	}
	body.tmmb .tm-tc-trang .dai-chay * { font-size: 12.5px; }

	/* ---- 7.4 Thanh mua dính đáy: nút "Mua ngay" thấp lại ----
	   Đo được nút mua 198×65 còn nút giỏ 56×44 — lệch hẳn một tầng, nên nút mua
	   trông to quá khổ. Nay hai nút cùng cao 46px, chữ và giá nằm cùng một dòng
	   thay vì xếp hai tầng. Cả thanh 85px → 62px. */
	body.tmmb--sp .tt-thanh,
	body.tmmb--sp .tmmb-duoi {
		gap: 6px;
		padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
	}
	body.tmmb--sp .tt-thanh .tt-nut--vien,
	body.tmmb--sp .tmmb-duoi__gio {
		width: 46px; height: 46px; margin: 0 0 0 2px; border-radius: 14px;
	}
	/* Biểu tượng giỏ bằng đúng 22px của "Cửa hàng" và "Chat" bên cạnh (trước 18px). */
	body.tmmb--sp .tt-thanh .tt-nut--vien svg,
	body.tmmb--sp .tmmb-duoi__gio svg { width: 22px; height: 22px; stroke-width: 1.8; }
	body.tmmb--sp .tt-thanh .tt-nut:not(.tt-nut--vien),
	body.tmmb--sp .tmmb-duoi__mua {
		flex-direction: row; align-items: center; justify-content: center; gap: 8px;
		min-height: 46px; padding: 8px 16px; border-radius: 14px;
		font-size: 15px;
		box-shadow: 0 3px 10px rgba(254, 44, 85, .22);
	}
	.tmmb-mua__phu {
		display: inline-block; margin: 0;
		font-size: 13.5px; font-weight: 700; opacity: .95;
	}
	/* Thanh thấp đi thì mọi thứ bám theo nó cũng phải nhích xuống. */
	body.tmmb--sp { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
	body.tmmb--sp .wstm-float { bottom: calc(82px + env(safe-area-inset-bottom)); }
	body.tmmb--sp .tmmb-len { bottom: calc(82px + env(safe-area-inset-bottom)); }

	/* ---- 7.5 Bỏ hẳn nút "Ghé cửa hàng" dán mép phải ----
	   Khách bảo bỏ. JS cũng đã thôi không dựng nữa; dòng này giữ cho chắc,
	   phòng trang còn trong bộ nhớ đệm của máy khách. */
	.tmmb-ghe { display: none !important; }

	/* ---- 7.6 Tấm chọn phân loại: thấy hết phiên bản trong một màn ----
	   Đo được: mỗi thẻ 111×159, lưới 3 cột → 11 phiên bản thành 4 hàng cao
	   693px, trong khi tấm chỉ cao 709px kể cả đầu tấm và nút Xác nhận. Khách
	   phải cuộn mới thấy hết, đúng như đã báo.
	   Nay 4 cột, ảnh vuông nhỏ lại, chữ gọn: 11 phiên bản gói trong 3 hàng. */
	body.tmmb .wstm-chon__hop { padding: 14px 14px 0; }
	/* 27/09/2026 — khách báo: món nhiều phiên bản (Charm búp bê có hơn 30 mẫu)
	   thì cuộn một lúc là nút "Xác nhận" trôi mất, không biết bấm đâu để chốt.
	   Ghim nút xuống đáy tấm, luôn nhìn thấy dù đang cuộn tới đâu. Vòng trắng
	   quanh nút để chữ phía sau không lòi ra lem nhem lúc cuộn. */
	body.tmmb .wstm-chon__ok {
		position: sticky; bottom: 0; z-index: 4;
		margin: 12px 0 10px;
		box-shadow: 0 0 0 10px #fff;
		display: flex; flex-direction: column; align-items: center; gap: 1px;
		line-height: 1.25;
	}
	.tmmb-ok__gia {
		display: block; font-size: 12.5px; font-weight: 600; opacity: .95;
	}
	body.tmmb .wstm-chon__dau { gap: 10px; }
	body.tmmb .wstm-chon__anh { width: 76px; height: 76px; }
	body.tmmb .wstm-chon__anh img { width: 76px; height: 76px; }
	body.tmmb .wstm-chon__gia { font-size: 19px; }
	body.tmmb .wstm-chon__ten { font-size: 13px; line-height: 1.4; }
	body.tmmb .wstm-chon__than .wstm-vars__lab { font-size: 13.5px; }
	/* 27/09/2026 — làm đúng như màn chọn phiên bản của TikTok Shop khách gửi:
	   đầu tấm (ảnh · giá · tên) GHIM trên, nút mua GHIM dưới, còn dãy phiên bản
	   nằm giữa và VUỐT NGANG hai hàng. Trước đây xếp dọc 4 cột nên món 30 mẫu
	   như Charm búp bê phải cuộn dài mới xem hết. */
	body.tmmb .wstm-chon__dau {
		position: sticky; top: 0; z-index: 4;
		background: #fff; padding-bottom: 12px;
	}
	body.tmmb .wstm-chon__than .tt-vars--anh .wstm-vars__opts {
		display: grid;
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 104px;          /* ~3 thẻ rưỡi trong một màn, thẻ thứ tư ló ra để khách biết còn vuốt được */
		grid-template-rows: repeat(2, auto);
		gap: 8px;
		max-height: none;
		overflow-x: auto; overflow-y: hidden;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		padding: 0 0 8px;
		overscroll-behavior-x: contain;
	}
	body.tmmb .wstm-chon__than .tt-vars--anh .wstm-vars__opts::-webkit-scrollbar { height: 0 }
	body.tmmb .wstm-chon__than .tt-vars--anh .wstm-chip { scroll-snap-align: start }
	/* Chỉ còn một hàng khi ít phiên bản thì đừng chừa chỗ trống cho hàng thứ hai. */
	body.tmmb .wstm-chon__than .tt-vars--anh .wstm-vars__opts.tmmb-motHang {
		grid-template-rows: auto;
	}
	body.tmmb .wstm-chon__than .tt-vars--anh .wstm-chip { border-radius: 10px; }
	body.tmmb .wstm-chon__than .tt-chip__ten {
		padding: 4px 5px 0; font-size: 11px; line-height: 1.25;
		display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
		overflow: hidden; min-height: 28px;
	}
	/* Giá + mức giảm phải nằm gọn MỘT dòng, không thì ô cao thấp so le. */
	body.tmmb .wstm-chon__than .tt-chip__gia {
		padding: 0 4px 5px; font-size: 10px; white-space: nowrap;
	}
	/* Ảnh phiên bản GIỮ ĐÚNG khổ vuông: mã SKU in ở mép trên tấm ảnh, cắt dọc
	   là mất mã, mà mã chính là thứ để khách chọn đúng hàng. */
	body.tmmb .wstm-chon__than .tt-chip__anh { aspect-ratio: 1 / 1; }
	body.tmmb .wstm-chon__than .tt-chip__gia i { font-size: 10px; }

	/* =========================================================================
	   8. 27/09/2026 — HAI KHỐI CUỐI TRANG CHỦ KHÁCH CHÊ

	   a) "Mua theo dịp": các nút xếp kiểu `flex-wrap` nên so le, chỗ một nút
	      chỗ hai nút, nhìn lộn xộn. Cho về lưới 2 cột đều nhau.
	   b) "Góc của bố mẹ": mỗi bài là một thẻ dọc có ảnh 16:10 + tiêu đề + tóm
	      tắt + nút "Đọc tiếp", cao gần 450px — một bài ăn gần trọn màn hình.
	      Đổi sang thẻ NGANG: ảnh vuông 104px bên trái, tiêu đề bên phải, đúng
	      kiểu mục tin của TikTok. Một bài còn quãng 104px.
	   ========================================================================= */

	/* ---- 8.1 Mua theo dịp: lưới 2 cột ---- */
	body.tmmb .tm-tc-trang .hop-chip { padding: 14px 12px; }
	body.tmmb .tm-tc-trang .hop-chip h3 { font-size: 16px; }
	body.tmmb .tm-tc-trang .hop-chip > p { font-size: 13px; margin-bottom: 12px; }
	body.tmmb .tm-tc-trang .chip-ds {
		display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
	}
	body.tmmb .tm-tc-trang .chip {
		display: flex; align-items: center; justify-content: space-between; gap: 6px;
		padding: 10px 11px; border-radius: 12px; font-size: 13px; line-height: 1.3;
		min-width: 0; text-align: left;
	}
	body.tmmb .tm-tc-trang .chip em { flex: none; font-size: 11.5px; }

	/* ---- 8.2 Góc của bố mẹ: thẻ ngang ---- */
	body.tmmb .tm-tc-trang .luoi-tin { gap: 8px; }
	body.tmmb .tm-tc-trang .the-tin { flex-direction: row; border-radius: 12px; }
	body.tmmb .tm-tc-trang .tin-anh { flex: none; width: 104px; aspect-ratio: 1 / 1; }
	body.tmmb .tm-tc-trang .tin-nhan { display: none; }
	body.tmmb .tm-tc-trang .tin-than { padding: 10px 12px; min-width: 0; }
	body.tmmb .tm-tc-trang .the-tin h3 {
		font-size: 14px; line-height: 1.35; margin: 0 0 5px; -webkit-line-clamp: 3;
	}
	/* Tóm tắt và nút "Đọc tiếp" là thứ đẩy thẻ cao lên mà không thêm thông tin —
	   bấm vào cả thẻ là đọc được rồi. */
	body.tmmb .tm-tc-trang .the-tin p,
	body.tmmb .tm-tc-trang .tin-xem { display: none; }
	body.tmmb .tm-tc-trang .tin-ngay { margin: auto 0 0; font-size: 11.5px; }

	/* =========================================================================
	   6. GIẢM CHUYỂN ĐỘNG
	   ========================================================================= */
	@media (prefers-reduced-motion: reduce) {
		.tmmb-tren, .tmmb-tim { transition: none; }
	}
}
