/* ===========================================================================
   Giải pháp mới — main.css
   Tông đỏ + vàng (mệnh Hỏa), giao diện kiểu Shopee, tối ưu nhẹ.
   =========================================================================== */

:root {
	/* 2 màu thương hiệu: ĐỎ tươi/sáng (không pha cam) + VÀNG tươi (mệnh Hỏa) */
	/* Đỏ dùng cho chữ/nút: #e30613 (tương phản 4,88:1 trên nền trắng — #f5222d cũ chỉ 4,08:1, dưới chuẩn 4,5:1). */
	--c-primary: #e30613;
	--c-primary-2: #e30613;
	--c-primary-dark: #c8101a;
	--c-accent: #ffd100;
	--c-accent-2: #ffe14d;
	--c-price: #e30613;
	--c-text: #2b2b2b;
	--c-muted: #7a7a7a;
	--c-border: #ececec;
	--c-bg: #f5f5f5;
	--c-white: #fff;
	--radius: 8px;
	--radius-sm: 4px;
	--container: 1240px;
	--header-grad: linear-gradient(90deg, #f5222d 0%, #e30613 100%); /* dải header giữ màu như cũ */
	--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);
	--shadow: 0 2px 12px rgba(0, 0, 0, .1);
	--font: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Reset / base ---------- */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--font);
	font-size: 14px;
	line-height: 1.5;
	color: var(--c-text);
	background: var(--c-bg);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--c-primary); }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4 { margin: 0 0 .5em; line-height: 1.25; }
button { font-family: inherit; cursor: pointer; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link { position: absolute; left: -9999px; }

.sago-container {
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 16px;
}

/* ---------- Buttons ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 10px 22px; border: 1px solid transparent; border-radius: var(--radius-sm);
	font-weight: 600; transition: .15s; line-height: 1;
}
.btn-primary { background: var(--c-primary); color: #fff; }
.btn-primary:hover { background: var(--c-primary-dark); color: #fff; }
.btn-accent { background: var(--c-accent); color: #3a2a00; }
.btn-accent:hover { background: var(--c-accent-2); }
.btn-outline { background: #fff; border-color: var(--c-primary); color: var(--c-primary); }
.btn-outline:hover { background: var(--c-primary); color: #fff; }

/* ===========================================================================
   HEADER
   =========================================================================== */
.topbar {
	background: var(--c-primary-dark);
	color: #ffe9e9;
	font-size: 12.5px;
}
.topbar__inner { display: flex; align-items: center; justify-content: space-between; min-height: 34px; }
.topbar__left { display: flex; align-items: center; gap: 8px; }
.topbar__right { display: flex; align-items: center; gap: 14px; }
.topbar__right a { color: #fff; }
.topbar__right a:hover { color: var(--c-accent-2); }
.topbar__sep { width: 1px; height: 14px; background: rgba(255, 255, 255, .35); }

.header-main { background: var(--header-grad); color: #fff; border-bottom: 3px solid var(--c-accent); }
.header-main__inner {
	display: flex; align-items: center; gap: 28px; padding: 14px 16px;
}
.site-branding img, .footer-logo { max-height: 52px; width: auto; background: #fff; border-radius: 6px; padding: 4px 8px; }
.logo-text { font-size: 24px; font-weight: 800; color: #fff; letter-spacing: .5px; }

.sago-search {
	flex: 1; position: relative; display: flex;
	background: #fff; border-radius: 4px; overflow: visible;
	border: 2px solid var(--c-accent);
}
.sago-search__input {
	flex: 1; border: 0; outline: 0; padding: 11px 14px; font-size: 14px; border-radius: 4px 0 0 4px;
}
.sago-search__btn {
	border: 0; background: var(--c-primary); color: #fff; padding: 0 22px; font-size: 16px; border-radius: 0 2px 2px 0;
}
.sago-search__btn:hover { background: var(--c-primary-dark); }
.sago-search__suggest {
	position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 60;
	background: #fff; color: var(--c-text); border-radius: 6px; box-shadow: var(--shadow);
	max-height: 420px; overflow: auto;
}
.sago-search__suggest a {
	display: flex; gap: 10px; align-items: center; padding: 8px 12px; border-bottom: 1px solid var(--c-border);
}
.sago-search__suggest a:hover { background: #fff6f6; }
.sago-search__suggest img { width: 40px; height: 40px; object-fit: cover; border-radius: 4px; }
.sago-search__suggest .s-price { color: var(--c-price); font-weight: 700; margin-left: auto; }

.header-actions { display: flex; align-items: center; gap: 22px; }
.header-actions__item { display: flex; flex-direction: column; align-items: center; color: #fff; font-size: 12px; position: relative; }
.header-actions__item i { font-size: 20px; margin-bottom: 2px; }
.header-actions__item:hover { color: var(--c-accent-2); }
.cart-count {
	position: absolute; top: -8px; right: -10px; min-width: 18px; height: 18px; padding: 0 4px;
	background: var(--c-accent); color: #3a2a00; border-radius: 9px; font-size: 11px; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}

/* Thanh menu chính */
.cat-bar { background: #fff; border-bottom: 1px solid var(--c-border); box-shadow: var(--shadow-sm); }
.cat-bar__inner { display: flex; align-items: stretch; gap: 0; min-height: 48px; }

/* Khối mega "Danh mục sản phẩm" */
.cat-mega { position: relative; }
.cat-mega__btn { height: 48px; background: var(--c-primary); color: #fff; border: 0; padding: 0 18px; font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: 10px; cursor: pointer; white-space: nowrap; border-radius: 8px 8px 0 0; }
.cat-mega__btn:hover { background: var(--c-primary-dark); }
.cat-mega:hover .cm-caret { transform: rotate(180deg); }
.cm-caret { transition: transform .15s; }
.cat-mega__panel { position: absolute; top: 100%; left: 0; width: 300px; background: #fff; box-shadow: var(--shadow); border: 1px solid var(--c-border); border-top: 0; border-radius: 0 0 8px 8px; padding: 6px 0; display: none; z-index: 60; list-style: none; margin: 0; }
.cat-mega:hover .cat-mega__panel { display: block; }
.cat-mega__panel li a { display: flex; align-items: center; gap: 12px; padding: 11px 16px; color: var(--c-text); font-size: 14px; }
.cat-mega__panel li a:hover { background: #fff0ef; color: var(--c-primary); }
.cat-mega__panel li a > span { flex: 1; }
.cat-mega__panel li a > i:first-child { width: 20px; text-align: center; color: var(--c-primary); }
.cat-mega__panel li a small { color: var(--c-muted); font-size: 12px; background: #f3f3f3; border-radius: 10px; padding: 0 7px; }
.cat-mega__panel li a .cm-arrow { color: #ccc; font-size: 11px; }
.cat-mega__panel > li { position: relative; }
.cat-mega__panel > li.has-sub:hover > a { background: #fff0ef; color: var(--c-primary); }

/* Panel danh mục CON — ẩn mặc định, hover mục cha mới sổ ra bên phải */
.cat-mega__sub {
	position: absolute; top: 0; left: 100%; min-width: 280px;
	background: #fff; box-shadow: var(--shadow); border: 1px solid var(--c-border);
	border-radius: 0 8px 8px 8px; padding: 6px 0; margin: 0; list-style: none;
	display: none; z-index: 61;
}
.cat-mega__panel > li:hover > .cat-mega__sub { display: block; }
.cat-mega__sub li a { display: flex; align-items: center; gap: 10px; padding: 9px 16px; color: var(--c-text); font-size: 14px; }
.cat-mega__sub li a:hover { background: #fff0ef; color: var(--c-primary); }
.cat-mega__sub li a > span { flex: 1; }
.cat-mega__sub .cm-sub-head a { font-weight: 700; color: var(--c-primary); border-bottom: 1px solid var(--c-border); margin-bottom: 4px; }
.cm-sub2 { list-style: none; margin: 0; padding: 0 0 4px; }
.cm-sub2 li a { padding: 5px 16px 5px 32px; font-size: 13px; color: var(--c-muted); }
.cm-sub2 li a i { font-size: 10px; color: #ccc; }

/* Menu ngang (icon + hover + active) */
.sago-cat-menu { display: flex; align-items: stretch; flex-wrap: wrap; gap: 0; margin: 0; }
.sago-cat-menu > li { position: relative; }
.sago-cat-menu > li > a { display: flex; align-items: center; height: 48px; padding: 0 16px; font-weight: 600; font-size: 14px; }
.sago-cat-menu > li > a:hover,
.sago-cat-menu > li.current-menu-item > a,
.sago-cat-menu > li.current_page_item > a,
.sago-cat-menu > li.current-menu-parent > a { color: var(--c-primary); background: #fff6f5; box-shadow: inset 0 -3px 0 var(--c-primary); }
.sago-mi { color: var(--c-primary); margin-right: 7px; }
.sago-caret { font-size: 11px; margin-left: 5px; opacity: .7; }
.sago-cat-menu ul.sub-menu { position: absolute; top: 100%; left: 0; min-width: 250px; background: #fff; box-shadow: var(--shadow); border-radius: 0 0 8px 8px; padding: 6px 0; display: none; z-index: 55; list-style: none; margin: 0; }
.sago-cat-menu li:hover > ul.sub-menu { display: block; }
.sago-cat-menu ul.sub-menu li a { display: block; padding: 9px 16px; font-size: 13px; }
.sago-cat-menu ul.sub-menu li a:hover { background: #fff0ef; color: var(--c-primary); }

.cat-bar__hot { margin-left: auto; display: flex; align-items: center; gap: 7px; padding: 0 16px; color: var(--c-primary); font-weight: 700; }
.cat-bar__hot i { color: var(--c-accent); }
.cat-bar__hot:hover { color: var(--c-primary-dark); }

/* ===========================================================================
   HOME
   =========================================================================== */
.home-hero {
	background: var(--header-grad); color: #fff; padding: 48px 0;
}
.home-hero h1 { font-size: 34px; margin-bottom: 8px; }
.home-hero p { font-size: 16px; opacity: .95; margin-bottom: 20px; }
.home-hero .btn-primary { background: var(--c-accent); color: #3a2a00; }
.home-hero .btn-primary:hover { background: var(--c-accent-2); }

/* Banner trang chủ (ảnh banner shop) */
.home-banner { padding: 16px 0 4px; }
.home-banner__track { position: relative; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-sm); line-height: 0; }
.home-banner__slide { display: block; }
.home-banner__slide img { display: block; width: 100%; height: auto; }
/* Nhiều banner: xếp chồng + fade tự chạy */
.home-banner.has-multi .home-banner__track { aspect-ratio: 1552 / 671; }
.home-banner.has-multi .home-banner__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease; }
.home-banner.has-multi .home-banner__slide img { width: 100%; height: 100%; object-fit: cover; }
.home-banner.has-multi .home-banner__slide.is-active { opacity: 1; }

.home-section { padding: 26px 0; }
.section-title {
	font-size: 20px; font-weight: 700; margin-bottom: 16px; position: relative; padding-left: 12px;
}
.section-title::before {
	content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: 5px; border-radius: 3px;
	background: linear-gradient(var(--c-primary), var(--c-accent));
}

/* Danh mục nổi bật — kiểu Shopee: icon tròn, lưới có đường kẻ, PC 10 cột */
.cat-grid {
	display: grid; grid-template-columns: repeat(10, 1fr);
	background: #fff; border-radius: var(--radius); overflow: hidden;
	border-top: 1px solid #ededed; border-left: 1px solid #ededed;
}
.cat-grid__item {
	text-align: center; padding: 16px 6px 14px;
	display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
	border-right: 1px solid #ededed; border-bottom: 1px solid #ededed;
	transition: .15s;
}
.cat-grid__item:hover { box-shadow: 0 2px 12px rgba(0, 0, 0, .12); position: relative; z-index: 1; }
.cat-grid__item img {
	width: 72px; height: 72px; border-radius: 50%; object-fit: cover;
	display: block; background: #f7f7f7; margin-bottom: 8px;
}
.cat-grid__item span {
	font-size: 13px; font-weight: 400; line-height: 1.35; color: #333;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* ===========================================================================
   PRODUCT GRID + CARD (kiểu Shopee)
   =========================================================================== */
.product-grid,
.woocommerce ul.products,
ul.products {
	display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none;
}
.product-grid li,
.woocommerce ul.products li.product,
ul.products li {
	list-style: none; width: auto; float: none; margin: 0; clear: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; content: none; }

li.product, .product-card {
	background: #fff; border-radius: var(--radius); overflow: hidden; position: relative;
	box-shadow: var(--shadow-sm); transition: .15s; display: flex; flex-direction: column;
}
li.product:hover, .product-card:hover { box-shadow: 0 4px 16px rgba(227, 6, 19, .18); transform: translateY(-2px); z-index: 2; }

li.product a img, .product-card .pc-thumb img {
	width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block;
}
.pc-thumb { position: relative; display: block; }

.pc-badge {
	position: absolute; top: 0; left: 0; background: var(--c-accent); color: #3a2a00;
	font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 0 0 6px 0;
}
.pc-discount {
	position: absolute; top: 0; right: 0; background: var(--c-primary); color: #fff;
	font-size: 11px; font-weight: 700; padding: 3px 6px; text-align: center; border-radius: 0 0 0 6px; line-height: 1.1;
}
.pc-discount small { display: block; font-size: 9px; font-weight: 500; }

li.product .woocommerce-loop-product__title,
.pc-title {
	font-size: 15px; line-height: 1.4; margin: 0 0 4px; padding: 8px 8px 0; font-weight: 400; color: var(--c-text);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: calc( 2.8em + 8px ); max-height: calc( 2.8em + 8px ); /* đúng 2 dòng, không lòi dấu tiếng Việt của dòng 3 */
}

li.product .price, .pc-price { padding: 0 8px; }
li.product .price, .pc-price__now { color: var(--c-price) !important; font-weight: 700; font-size: 16px; }
li.product .price del, .pc-price__old { color: var(--c-muted); font-weight: 400; font-size: 12px; margin-left: 4px; }
li.product .price ins { text-decoration: none; }

.pc-body { display: flex; flex-direction: column; flex: 1; }
.pc-meta { display: flex; align-items: center; gap: 6px; padding: 4px 8px 10px; font-size: 12px; color: #666; margin-top: auto; }
.pc-meta .stars { color: var(--c-accent); }
.pc-meta .sold { margin-left: auto; }
.pc-meta .loc { display: inline-flex; align-items: center; gap: 3px; margin-left: auto; }
.pc-soldout {
	position: absolute; inset: 0; margin: auto; width: 84px; height: 84px; border-radius: 50%;
	background: rgba(0, 0, 0, .55); color: #fff; display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 13px; text-align: center;
}

/* nút add-to-cart trong loop (ẩn, hiện khi hover) */
li.product .button, li.product .added_to_cart {
	display: inline-block; margin: 0 8px 10px; background: #fff; border: 1px solid var(--c-primary);
	color: var(--c-primary); padding: 6px 10px; border-radius: 4px; font-size: 12px; font-weight: 600;
}
li.product .button:hover { background: var(--c-primary); color: #fff; }

/* ===========================================================================
   SINGLE PRODUCT (kiểu Shopee)
   =========================================================================== */
.sago-single { padding: 16px 0 40px; }
.woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb { font-size: 16px; font-weight: 700; color: var(--c-text); margin-bottom: 12px; }
.woocommerce-breadcrumb a, .woocommerce .woocommerce-breadcrumb a { color: var(--c-muted); font-weight: 600; }
.woocommerce-breadcrumb a:hover { color: var(--c-primary); }

.sp-top {
	/* minmax(0,…): không cho ảnh gallery (flexslider gán width cứng) banh cột → tràn ngang mobile */
	display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 30px;
	background: #fff; padding: 20px; border-radius: var(--radius); box-shadow: var(--shadow-sm);
}
.sp-gallery, .sp-summary { min-width: 0; max-width: 100%; }
.sp-gallery { position: relative; }
.sp-gallery .woocommerce-product-gallery { width: 100% !important; margin: 0; max-width: 100%; }
.sp-gallery .flex-viewport { max-width: 100%; overflow: hidden; }
.sp-gallery .woocommerce-product-gallery__image img { max-width: 100%; height: auto; }
.sp-gallery .woocommerce-product-gallery__image img { border-radius: 6px; }
.sp-gallery .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.sp-gallery .flex-control-thumbs li { width: 64px !important; list-style: none; margin: 0; }
.sp-gallery .onsale { position: absolute; top: 8px; left: 8px; background: var(--c-primary); color: #fff; z-index: 5; padding: 3px 10px; border-radius: 4px; font-weight: 700; }

.sp-summary .product_title { font-size: 22px; line-height: 1.3; margin-bottom: 10px; }
.sp-stats { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--c-border); font-size: 13px; color: var(--c-muted); }
.sp-stats .sp-rating { color: var(--c-accent); font-weight: 600; }

/* Sao đánh giá bằng ký tự ★ THUẦN CSS — không phụ thuộc font "star" của WooCommerce
 * (font đó hay bị trình tối ưu CSS của LiteSpeed làm rơi @font-face → sao hiện thành "SSSSS"). */
.star-rating,
.woocommerce .star-rating {
	overflow: hidden; position: relative; height: 1.1em; line-height: 1.1; width: 5.6em;
	font-family: inherit !important; display: inline-block; vertical-align: middle;
}
.star-rating::before,
.woocommerce .star-rating::before {
	content: "★★★★★"; color: #dcdcdc; position: absolute; top: 0; left: 0; letter-spacing: 1px;
}
.star-rating span,
.woocommerce .star-rating span {
	overflow: hidden; position: absolute; top: 0; left: 0; padding-top: 1.5em; height: 0;
}
.star-rating span::before,
.woocommerce .star-rating span::before {
	content: "★★★★★"; color: #FFB400; position: absolute; top: 0; left: 0; letter-spacing: 1px;
}
/* Ô chấm sao trong form đánh giá (p.stars) — cũng bỏ font star */
.woocommerce p.stars a { font-family: inherit !important; text-decoration: none; color: #FFB400; }
.woocommerce p.stars a::before { content: "★" !important; font-family: inherit !important; }
.sp-stats .sp-rating b { color: var(--c-primary); }
.sp-stats .sp-reviews-link { color: var(--c-muted); border-left: 1px solid var(--c-border); padding-left: 14px; }
.sp-stats .sp-sold { border-left: 1px solid var(--c-border); padding-left: 14px; }

.sp-summary p.price,
.sp-summary .price {
	background: #fff7f6; border-radius: 8px; padding: 14px 18px; margin: 14px 0;
	color: var(--c-price) !important; font-size: 28px; font-weight: 800;
}
.sp-summary .price del { color: var(--c-muted); font-size: 18px; font-weight: 400; margin-right: 10px; }
.sp-summary .price ins { text-decoration: none; }

.sp-summary .woocommerce-product-details__short-description { margin: 14px 0; color: #555; font-size: 14px; }

/* Variations + form mua hàng */
.sp-summary .variations { width: 100%; margin-bottom: 14px; }
.sp-summary .variations th { text-align: left; padding: 8px 12px 8px 0; vertical-align: middle; font-weight: 600; width: 120px; }
.sp-summary .variations td { padding: 6px 0; }
.sp-summary .variations select { padding: 9px 12px; border: 1px solid var(--c-border); border-radius: 6px; min-width: 220px; }
.sp-summary .reset_variations { font-size: 13px; margin-left: 8px; display: inline-block; margin-top: 6px; }

/* Biến thể dạng nút/tab (Shopee) */
.sago-variation-hidden { display: none !important; }
.sago-var-options { display: flex; flex-wrap: wrap; gap: 8px; }
/* Dòng phân loại nhỏ phía trên dải ảnh (chỉ hiện trên MOBILE khi đã chọn — kiểu Shopee) */
.sago-thumbpick { display: none; padding: 0 12px; margin: 8px 0 0; font-size: 13px; font-weight: 600; color: var(--c-text); }
/* Trên 4 hàng biến thể: giới hạn chiều cao (JS đặt max-height) + thanh cuộn mảnh */
.sago-var-options.sago-scroll { overflow-y: auto; padding-right: 6px; align-content: flex-start; }
.sago-var-options.sago-scroll::-webkit-scrollbar { width: 6px; }
.sago-var-options.sago-scroll::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
.sago-var-options.sago-scroll::-webkit-scrollbar-thumb:hover { background: var(--c-primary); }
.sago-var-btn {
	border: 1px solid var(--c-border); background: #fff; color: var(--c-text);
	border-radius: 4px; padding: 8px 14px; font-size: 13px; cursor: pointer; line-height: 1.2;
	min-width: 48px; position: relative;
}
.sago-var-btn:hover { border-color: var(--c-primary); color: var(--c-primary); }
.sago-var-btn.selected { border-color: var(--c-primary); color: var(--c-primary); background: #fff0ef; font-weight: 600; }
.sago-var-btn.selected::after {
	content: ""; position: absolute; right: -1px; bottom: -1px; border: 9px solid var(--c-primary);
	border-top-color: transparent; border-left-color: transparent; border-radius: 0 0 4px 0;
}
.sago-var-btn.sago-var-disabled { opacity: .45; cursor: not-allowed; text-decoration: line-through; }
.sago-var-btn.sago-var-disabled:hover { border-color: var(--c-border); color: var(--c-text); }
.sago-var-btn.has-img { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 5px; text-align: left; }
.sago-var-img { width: 34px; height: 34px; object-fit: cover; border-radius: 3px; flex: none; border: 1px solid #eee; }

.sp-summary form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 16px 0; }
.sp-summary form.cart .quantity { display: flex; }
.sp-summary form.cart .quantity input.qty {
	width: 70px; height: 46px; text-align: center; border: 1px solid var(--c-border); border-radius: 6px; font-size: 16px;
}
.sp-summary .single_add_to_cart_button {
	height: 46px; padding: 0 26px; background: #fff0ef !important; color: var(--c-primary) !important;
	border: 1px solid var(--c-primary) !important; border-radius: 6px; font-weight: 700; font-size: 15px;
	display: inline-flex; align-items: center; gap: 8px;
}
.sp-summary .single_add_to_cart_button:hover { background: var(--c-primary) !important; color: #fff !important; }
.sp-summary .single_add_to_cart_button::before { content: "\f07a"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.sp-summary .sago-buynow,
.woocommerce .sp-summary button.sago-buynow {
	height: 46px; padding: 0 32px; background: var(--c-primary) !important; color: #fff !important; border: 0 !important; border-radius: 6px;
	font-weight: 700; font-size: 15px; text-shadow: none;
}
.sp-summary .sago-buynow:hover { background: var(--c-primary-dark) !important; }

/* Nút "Tải xuống CAD" + SKU cùng một hàng */
.sago-buymeta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 14px; }
.sp-summary .product_meta { font-size: 13px; color: var(--c-muted); margin: 0; }
.sp-summary .product_meta .sku_wrapper { display: inline; }
.sp-summary .product_meta .sku { color: var(--c-text); font-weight: 600; }
.sp-trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--c-border); font-size: 13px; color: #555; }
.sp-trust i { color: var(--c-primary); margin-right: 5px; }

/* Số lượng kiểu Shopee: − [ô] + */
.sp-summary form.cart .quantity.sago-qty { align-items: stretch; gap: 0; }
.sago-qty-btn {
	width: 40px; height: 46px; border: 1px solid var(--c-border); background: #fff;
	font-size: 20px; line-height: 1; color: #333; cursor: pointer; padding: 0;
}
.sago-qty-btn:hover { color: var(--c-primary); border-color: var(--c-primary); position: relative; z-index: 1; }
.sago-qty-btn:first-child { border-radius: 6px 0 0 6px; }
.sago-qty-btn:last-child { border-radius: 0 6px 6px 0; }
.sp-summary form.cart .quantity.sago-qty input.qty {
	width: 56px; height: 46px; border-radius: 0; border-left: 0; border-right: 0; margin: 0;
}
.sp-summary form.cart .sago-stock,
.sp-summary .sago-stock { color: #888; font-size: 13px; align-self: center; }

/* Bố cục biến thể: GIÁ riêng 1 dòng; SỐ LƯỢNG + tồn kho 1 dòng; NÚT 1 dòng (kiểu Shopee) */
.sp-summary .single_variation_wrap { width: 100%; }
.sp-summary .single_variation { display: none !important; } /* giá biến thể đã thay lên band giá tổng ở trên (JS); !important đè inline display của WC */
.sp-summary .woocommerce-variation-add-to-cart {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px; width: 100%; margin: 0;
}
.sp-summary form.cart .quantity,
.sp-summary .woocommerce-variation-add-to-cart .quantity { order: 1; }
.sp-summary .sago-stock { order: 2; }
.sp-summary form.cart::after,
.sp-summary .woocommerce-variation-add-to-cart::after { content: ""; flex-basis: 100%; height: 0; order: 3; }
.sp-summary .single_add_to_cart_button { order: 4; }
.sp-summary .sago-buynow { order: 5; }
.sp-summary .single_add_to_cart_button.loading,
.sp-summary .sago-buynow.loading { opacity: .6; cursor: progress; }
/* Nút luôn trông + bấm được (gỡ trạng thái "disabled" của WC; biến thể chưa chọn → JS nhắc) */
.sp-summary .single_add_to_cart_button.disabled,
.sp-summary .single_add_to_cart_button.wc-variation-selection-needed,
.sp-summary .sago-buynow.disabled,
.sp-summary .sago-buynow.wc-variation-selection-needed { opacity: 1; cursor: pointer; pointer-events: auto; }

/* Toast thêm giỏ / báo lỗi (Shopee) */
.sago-toast {
	position: fixed; left: 50%; bottom: 42px; transform: translateX(-50%) translateY(16px);
	background: #2d2d2d; color: #fff; padding: 12px 22px; border-radius: 8px;
	font-size: 14px; font-weight: 600; z-index: 100000; opacity: 0;
	transition: opacity .25s, transform .25s; box-shadow: 0 6px 22px rgba(0,0,0,.28);
	max-width: 90vw; pointer-events: none;
}
.sago-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.sago-toast--err { background: #d4380d; }
.sago-var-options.sago-need { animation: sagoNeed .5s; }
@keyframes sagoNeed { 0%,100%{ transform: translateX(0); } 20%,60%{ transform: translateX(-6px); } 40%,80%{ transform: translateX(6px); } }

/* Chú thích "nhập địa chỉ để tính phí" ở dòng vận chuyển checkout */
.sago-ship-note { color: #b26b00; font-size: 13px; font-style: italic; }

/* ===== Danh mục bài viết (category.php): post ngang + sidebar liên quan ===== */
.cat-archive .page-title { display: flex; align-items: center; gap: 10px; font-size: 24px; }
.cat-archive .page-title i { color: var(--c-primary); }
.cat-archive .page-desc { color: #777; margin-top: 6px; }
.hpost-list { display: grid; gap: 14px; }
.hpost {
	display: flex; gap: 16px; background: #fff; border-radius: var(--radius);
	box-shadow: var(--shadow-sm); overflow: hidden; transition: .15s;
}
.hpost:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.hpost__thumb { flex: 0 0 240px; }
.hpost__thumb img { width: 240px; height: 160px; object-fit: cover; display: block; }
.hpost__noimg {
	width: 240px; height: 160px; display: flex; align-items: center; justify-content: center;
	background: #f4f5f7; color: #c3c8cf; font-size: 40px;
}
.hpost__noimg.sm { width: 64px; height: 64px; font-size: 20px; border-radius: 6px; }
.hpost__body { padding: 14px 16px 14px 0; display: flex; flex-direction: column; min-width: 0; }
.hpost__title { font-size: 17px; margin: 0 0 6px; line-height: 1.4; }
.hpost__title a { color: var(--c-text); }
.hpost__title a:hover { color: var(--c-primary); }
.hpost__meta { font-size: 12.5px; color: #999; margin-bottom: 8px; }
.hpost__meta i { margin-right: 4px; }
.hpost__excerpt { color: #666; font-size: 14px; line-height: 1.55; }
.hpost__more { margin-top: auto; padding-top: 10px; font-size: 13.5px; font-weight: 600; color: var(--c-primary); align-self: flex-start; }
.hpost__more:hover { text-decoration: underline; }

.cat-sidebar .widget { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 16px; margin-bottom: 18px; }
.cat-sidebar .widget-title { font-size: 15px; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 2px solid var(--c-primary); }
.rel-posts { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rel-posts li { display: flex; gap: 10px; align-items: flex-start; }
.rel-posts__thumb img { width: 64px; height: 64px; object-fit: cover; border-radius: 6px; display: block; }
.rel-posts__title { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.4; color: var(--c-text); }
.rel-posts__title:hover { color: var(--c-primary); }
.rel-posts__date { font-size: 12px; color: #999; }
.rel-cats { list-style: none; margin: 0; padding: 0; }
.rel-cats li + li { border-top: 1px dashed #eee; }
.rel-cats a { display: flex; align-items: center; gap: 8px; padding: 8px 0; color: var(--c-text); font-size: 14px; }
.rel-cats a:hover { color: var(--c-primary); }
.rel-cats a span { color: #999; font-size: 12.5px; margin-left: auto; }

@media (max-width: 782px) {
	.hpost { flex-direction: column; }
	.hpost__thumb, .hpost__thumb img, .hpost__noimg { width: 100%; flex-basis: auto; }
	.hpost__thumb img, .hpost__noimg { height: 180px; }
	.hpost__body { padding: 12px 14px; }
}

/* Video sản phẩm (tab Video) — tỉ lệ 16:9 */
.sago-video { position: relative; padding-top: 56.25%; border-radius: 8px; overflow: hidden; background: #000; max-width: 860px; }
.sago-video iframe, .sago-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* 2 video (YouTube + máy chủ): PC cạnh nhau, mobile xếp dọc */
.sago-videos.has-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sago-videos.has-2 .sago-video { max-width: none; }
@media (max-width: 768px) {
	.sago-videos.has-2 { grid-template-columns: 1fr; }
}
/* Thiết kế 3D (ảnh bản vẽ/render hoặc PDF) */
.sago-3d-img { max-width: 100%; height: auto; border-radius: 8px; border: 1px solid #eee; cursor: zoom-in; }
.sago-3d-pdf { width: 100%; max-width: 860px; height: 600px; }
.sago-3d-pdf iframe { width: 100%; height: 100%; border: 1px solid #ddd; border-radius: 8px; }
/* Nút tải tài liệu ở khối mua hàng */
.sago-download { margin: 10px 0 0; }
.sago-download__btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 8px; background: #fff; border: 1px solid var(--c-primary); color: var(--c-primary); font-weight: 600; text-decoration: none; transition: background .15s, color .15s; white-space: nowrap; }
.sago-download__btn:hover { background: var(--c-primary); color: #fff; }

/* Thanh mua cố định ở mobile (Shopee) */
.sago-buybar { display: none; }
@media ( max-width: 768px ) {
	.sago-buybar {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1200;
		background: #fff; border-top: 1px solid var(--c-border); box-shadow: 0 -2px 10px rgba(0,0,0,.1);
	}
	/* 2 nút cân đối 50/50, đủ chữ "Thêm vào giỏ hàng" (kiểu Shopee, không nút chat) */
	.sago-buybar button { flex: 1; height: 52px; border: 0; font-weight: 700; font-size: 14px; cursor: pointer; }
	.sago-buybar__cart {
		background: #fff0ef; color: var(--c-primary);
		display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 6px;
		white-space: nowrap;
	}
	.sago-buybar__cart i { font-size: 16px; }
	.sago-buybar__buy { background: var(--c-primary); color: #fff; }
	body.sago-has-buybar { padding-bottom: 52px; }
	/* Đã có thanh mua cố định dưới màn hình → ẩn 2 nút trùng trong trang
	 * (thanh dưới bấm hộ nút ẩn qua JS nên mọi xử lý giữ nguyên). */
	body.sago-has-buybar .sp-summary .single_add_to_cart_button,
	body.sago-has-buybar .sp-summary .sago-buynow { display: none !important; }
}

/* Bảng chọn phân loại (bottom sheet) khi bấm Thêm giỏ / Mua ngay trên mobile — kiểu Shopee */
.sago-sheet { position: fixed; inset: 0; z-index: 1300; display: none; }
.sago-sheet.open { display: block; }
.sago-sheet__ov { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.sago-sheet__box {
	position: absolute; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 14px 14px 0 0;
	padding: 14px 14px calc(14px + env(safe-area-inset-bottom)); max-height: 78vh; overflow-y: auto;
	animation: sagoSheetUp .22s ease-out;
}
@keyframes sagoSheetUp { from { transform: translateY(40%); opacity: .6; } to { transform: none; opacity: 1; } }
.sago-sheet__close { position: absolute; top: 8px; right: 8px; border: 0; background: none; font-size: 17px; color: #999; padding: 8px; cursor: pointer; }
.sago-sheet__head { display: flex; gap: 12px; align-items: flex-end; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--c-border); }
.sago-sheet__img { width: 88px; height: 88px; object-fit: cover; border-radius: 8px; border: 1px solid var(--c-border); background: #fff; margin-top: -40px; box-shadow: var(--shadow-sm); }
.sago-sheet__price { color: var(--c-price); font-size: 21px; font-weight: 800; }
.sago-sheet__stock { color: var(--c-muted); font-size: 13px; margin-top: 2px; }
.sago-sheet__label { font-weight: 600; margin: 10px 0 8px; font-size: 14px; }
.sago-sheet__opts .sago-var-options { max-height: none !important; overflow: visible; }
.sago-sheet__qtyrow { display: flex; align-items: center; justify-content: space-between; margin: 16px 0 14px; font-weight: 600; }
.sago-sheet__qty { display: inline-flex; border: 1px solid var(--c-border); border-radius: 6px; overflow: hidden; }
.sago-sheet__qty button { width: 38px; height: 38px; border: 0; background: #fafafa; font-size: 17px; cursor: pointer; }
.sago-sheet__qty input { width: 52px; text-align: center; border: 0; border-left: 1px solid var(--c-border); border-right: 1px solid var(--c-border); font-size: 16px; -moz-appearance: textfield; }
.sago-sheet__qty input::-webkit-outer-spin-button, .sago-sheet__qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sago-sheet__go { width: 100%; height: 48px; border: 0; border-radius: 8px; background: var(--c-primary); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.sago-sheet__go:disabled { background: #f0b3b0; cursor: default; }

/* Dòng sản phẩm THIẾU HÀNG trong giỏ: nền đỏ nhạt + ghi chú đỏ dưới tên */
tr.cart_item.sago-oos, .woocommerce-cart-form tr.cart_item.sago-oos { background: #fff2f1; }
tr.cart_item.sago-oos td.product-name a { color: var(--c-primary); }
.sago-oos-note { display: block; color: var(--c-primary); font-weight: 700; font-size: 12.5px; margin-top: 3px; }
.sago-oos-list { margin: 6px 0 6px 18px; list-style: disc; }
.sago-oos-list li { margin: 2px 0; }

/* Bảng danh mục bên trái trang danh mục/cửa hàng (kiểu Misumi) */
.sago-cat-cols { display: flex; gap: 20px; align-items: flex-start; }
.sago-cat-side {
	flex: 0 0 240px; background: #fff; border: 1px solid var(--c-border); border-radius: 8px;
	overflow: hidden; position: sticky; top: 16px;
}
.sago-cat-side__head {
	display: block; padding: 12px 14px; font-weight: 700; font-size: 14px; color: var(--c-text);
	border-bottom: 1px solid var(--c-border); background: #fafafa; text-decoration: none;
}
a.sago-cat-side__head:hover { color: var(--c-primary); }
.sago-cat-side__current { display: block; padding: 10px 14px; background: var(--c-primary); color: #fff; font-weight: 700; font-size: 14px; }
.sago-cat-side__list { list-style: none; margin: 0; padding: 4px 0; }
.sago-cat-side__list li a {
	display: block; padding: 9px 14px; font-size: 13px; color: var(--c-text); border-bottom: 1px solid #f5f5f5;
}
.sago-cat-side__list li:last-child a { border-bottom: 0; }
.sago-cat-side__list li a:hover { color: var(--c-primary); background: #fff7f6; }
.sago-cat-side__list li.active a { color: var(--c-primary); font-weight: 700; background: #fff0ef; }
.sago-cat-main { flex: 1; min-width: 0; }
.sago-cat-main ul.products { grid-template-columns: repeat(5, 1fr); } /* khung hẹp hơn → 5 cột cho cân. */
@media ( max-width: 1024px ) {
	.sago-cat-main ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media ( max-width: 860px ) {
	.sago-cat-side { display: none; } /* mobile ẩn bảng — đã có menu danh mục. */
	.sago-cat-cols { display: block; }
	.sago-cat-main ul.products { grid-template-columns: repeat(2, 1fr); }
}

/* Tabs + related */
.sp-bottom { margin-top: 20px; }
.woocommerce-tabs { background: #fff; padding: 20px; border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.woocommerce-tabs ul.tabs { display: flex; gap: 6px; border-bottom: 2px solid var(--c-border); padding: 0; margin: 0 0 18px; }
.woocommerce-tabs ul.tabs li { list-style: none; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 10px 18px; font-weight: 600; color: var(--c-text); }
.woocommerce-tabs ul.tabs li.active a { color: var(--c-primary); border-bottom: 2px solid var(--c-primary); margin-bottom: -2px; }
.woocommerce-tabs .panel { font-size: 14px; line-height: 1.7; }
.woocommerce-tabs .panel h2 { font-size: 18px; }

/* Khối mô tả sản phẩm (mặc định khi chưa có mô tả) */
.sp-desc .sp-desc-intro { font-size: 15px; margin: 0 0 14px; }
.sp-desc .sp-desc-commit { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.sp-desc .sp-desc-commit li { display: flex; align-items: center; gap: 10px; color: #444; }
.sp-desc .sp-desc-commit i { color: var(--c-primary); width: 18px; text-align: center; }
.sp-desc .sp-desc-note { color: #888; font-style: italic; margin: 0; }

.related.products, .up-sells.products { background: #fff; padding: 20px; border-radius: var(--radius); box-shadow: var(--shadow-sm); margin-top: 20px; }
.related.products > h2, .up-sells.products > h2 { font-size: 18px; margin-bottom: 14px; }

@media (max-width: 860px) {
	.sp-top { grid-template-columns: minmax(0, 1fr); }
	/* ---- Trang sản phẩm mobile kiểu Shopee: ảnh tràn màn hình, giá ngay dưới ảnh ---- */
	.single-product .sago-container { padding-left: 0; padding-right: 0; }
	.single-product .woocommerce-breadcrumb { padding: 0 12px; }
	.single-product .sp-bottom { padding: 0 10px; }
	.sp-top { padding: 0 0 14px; border-radius: 0; box-shadow: none; gap: 12px; }
	.sp-gallery .woocommerce-product-gallery__image img { border-radius: 0; }
	/* Dải ảnh nhỏ: to hơn (80px), cuộn ngang 1 hàng, ảnh đang xem viền đỏ — bấm là chọn phân loại */
	.sp-gallery .flex-control-thumbs { flex-wrap: nowrap; overflow-x: auto; padding: 0 10px; scrollbar-width: none; touch-action: pan-x; -webkit-overflow-scrolling: touch; }
	.sp-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
	.sp-gallery .flex-control-thumbs li { width: 80px !important; flex: 0 0 80px; }
	.sp-gallery .flex-control-thumbs img { border: 2px solid transparent; border-radius: 6px; }
	.sp-gallery .flex-control-thumbs img.flex-active { border-color: var(--c-primary); }
	/* MOBILE + mọi biến thể đều có ảnh riêng: chọn phân loại bằng cách bấm ảnh nhỏ dưới slide,
	 * ẩn khối nút phân loại, thay bằng dòng ghi phân loại đang chọn. (PC giữ nút như cũ.) */
	.variations_form.sago-var-bythumb table.variations { display: none; }
	/* Luôn chiếm chỗ (min-height) để khi chữ hiện ra layout không bị dịch giữa lúc đang chạm */
	.sago-thumbpick { display: block; min-height: 20px; }
	/* Giá nhảy lên NGAY dưới dải ảnh (đổi ảnh/phân loại là thấy giá liền), rồi mới tới tên + đánh giá */
	.sp-summary { display: flex; flex-direction: column; padding: 0 12px; }
	.sp-summary p.price, .sp-summary .price { order: -3; margin: 0 0 10px; padding: 10px 14px; font-size: 26px; }
	.sp-summary .product_title { order: -2; font-size: 17px; margin-bottom: 6px; }
	.sp-stats { order: -1; margin-bottom: 10px; }
	/* Mobile: nhãn thuộc tính (Kích thước/Phân loại) nằm riêng 1 dòng, nút phân loại dàn full
	 * chiều ngang → tự xếp 2-3 nút/hàng tùy độ dài (thay vì 1 cột dọc do cột nhãn chiếm chỗ). */
	.sp-summary .variations,
	.sp-summary .variations tbody,
	.sp-summary .variations tr,
	.sp-summary .variations th,
	.sp-summary .variations td { display: block; width: 100%; }
	.sp-summary .variations th { padding: 0 0 6px; }
	.sp-summary .variations td { padding: 0 0 8px; }
}

/* ===========================================================================
   CART & CHECKOUT
   =========================================================================== */
.woocommerce-cart .woo-wrap, .woocommerce-checkout .woo-wrap, .woocommerce-account .woo-wrap { max-width: var(--container); }

table.shop_table { width: 100%; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-sm); border-collapse: collapse; overflow: hidden; }
table.shop_table th, table.shop_table td { padding: 14px 16px; border-bottom: 1px solid var(--c-border); text-align: left; vertical-align: middle; }
table.shop_table thead th { background: #fafafa; font-size: 13px; text-transform: uppercase; color: var(--c-muted); }
.woocommerce-cart-form .product-thumbnail img { width: 64px; border-radius: 6px; }
.woocommerce-cart-form .product-remove a { color: var(--c-primary); font-weight: 700; }

/* Giỏ hàng: ô số lượng kiểu − [n] + */
.woocommerce-cart-form .quantity.sago-cart-qty { display: inline-flex; align-items: stretch; }
.woocommerce-cart-form .quantity.sago-cart-qty .sago-qty-btn { width: 34px; height: 38px; font-size: 18px; }
/* Trong .quantity của WC có label screen-reader đứng đầu → :first-child không trúng nút − ; bo góc theo nth-of-type */
.woocommerce-cart-form .quantity.sago-cart-qty button.sago-qty-btn:nth-of-type(1) { border-radius: 6px 0 0 6px; }
.woocommerce-cart-form .quantity.sago-cart-qty button.sago-qty-btn:nth-of-type(2) { border-radius: 0 6px 6px 0; }
.woocommerce-cart-form .quantity.sago-cart-qty input.qty {
	width: 48px; height: 38px; margin: 0; padding: 0; text-align: center; font-size: 14px;
	border: 1px solid var(--c-border); border-left: 0; border-right: 0; border-radius: 0;
	-moz-appearance: textfield; appearance: textfield;
}
.woocommerce-cart-form .quantity.sago-cart-qty input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity.sago-cart-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ---- Giỏ hàng MOBILE kiểu Shopee: ảnh to trái, tên rút gọn 2 dòng chữ nhỏ, giá/SL/tạm tính gọn ---- */
@media ( max-width: 768px ) {
	/* Nới chiều ngang + BỎ khung trắng ngoài của template (2 khung lồng nhau thừa 1) —
	 * chỉ giữ khung của bảng giỏ hàng. */
	.woocommerce-cart .sago-container { padding-left: 8px; padding-right: 8px; }
	.woocommerce-cart .page-article, .woocommerce-cart .entry-content { background: transparent; box-shadow: none; border: 0; padding: 0; border-radius: 0; }
	.woocommerce-cart .site-content { overflow-x: hidden; }
	.woocommerce-cart-form table.shop_table thead { display: none; }
	.woocommerce-cart-form table.shop_table,
	.woocommerce-cart-form table.shop_table tbody { display: block; width: 100%; }
	.woocommerce-cart-form table.shop_table tr.cart_item {
		display: grid;
		grid-template-columns: 92px 1fr auto;
		grid-template-areas:
			"thumb name  name"
			"thumb price price"
			"thumb qty   subtotal";
		gap: 2px 10px; align-items: center;
		position: relative; padding: 12px 34px 12px 12px; border-bottom: 1px solid var(--c-border);
	}
	.woocommerce-cart-form tr.cart_item td { display: block; border: 0; padding: 0; width: auto; }
	.woocommerce-cart-form td.product-thumbnail { grid-area: thumb; align-self: start; }
	.woocommerce-cart-form td.product-thumbnail img { width: 92px; height: 92px; object-fit: cover; }
	.woocommerce-cart-form td.product-name {
		grid-area: name; font-size: 13px; line-height: 1.35; align-self: start;
	}
	.woocommerce-cart-form td.product-name a {
		display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	}
	.woocommerce-cart-form td.product-name .variation { margin: 2px 0 0; font-size: 12px; color: var(--c-muted); }
	.woocommerce-cart-form td.product-price { grid-area: price; font-size: 13px; color: var(--c-muted); }
	.woocommerce-cart-form td.product-quantity { grid-area: qty; }
	.woocommerce-cart-form td.product-quantity input.qty { width: 56px; padding: 6px 4px; font-size: 14px; border: 1px solid var(--c-border); border-radius: 6px; text-align: center; }
	/* Có stepper −/+ thì ô gọn lại cho vừa card */
	.woocommerce-cart-form td.product-quantity .quantity.sago-cart-qty input.qty { width: 40px; height: 34px; padding: 0; border-left: 0; border-right: 0; border-radius: 0; }
	.woocommerce-cart-form td.product-quantity .quantity.sago-cart-qty .sago-qty-btn { width: 30px; height: 34px; font-size: 17px; }
	.woocommerce-cart-form td.product-subtotal { grid-area: subtotal; justify-self: end; font-size: 15px; font-weight: 700; color: var(--c-price); }
	.woocommerce-cart-form td.product-remove { position: absolute; top: 10px; right: 8px; }
	.woocommerce-cart-form td.product-remove a { font-size: 22px; line-height: 1; padding: 4px 8px; display: block; }
	/* Hàng mã giảm giá + nút cập nhật: xếp dọc full ngang */
	.woocommerce-cart-form td.actions { display: block; padding: 12px; border: 0; }
	.woocommerce-cart-form td.actions .coupon { display: flex; gap: 8px; margin-bottom: 10px; }
	.woocommerce-cart-form td.actions .coupon input[type="text"] { flex: 1; min-width: 0; }
	.woocommerce-cart-form td.actions > .button { width: 100%; }
}

/* Checkout — sửa số lượng / xóa SP trong bảng "Đơn hàng của bạn" */
.sago-co-edit { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; }
.sago-co-qty { display: inline-flex; align-items: stretch; border: 1px solid var(--c-border); border-radius: 6px; overflow: hidden; }
.sago-co-qty-btn { width: 26px; border: 0; background: #f5f5f5; color: var(--c-text); font-size: 15px; line-height: 1; cursor: pointer; }
.sago-co-qty-btn:hover { background: var(--c-primary); color: #fff; }
.sago-co-qty-input { width: 38px; border: 0; border-left: 1px solid var(--c-border); border-right: 1px solid var(--c-border); text-align: center; font-size: 13px; padding: 4px 0; -moz-appearance: textfield; }
.sago-co-qty-input::-webkit-outer-spin-button, .sago-co-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sago-co-remove { border: 0; background: none; color: #888; font-size: 22px; font-weight: 700; line-height: 1; cursor: pointer; padding: 0 10px; }
.sago-co-remove:hover { color: var(--c-primary); }
.cart_totals { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 18px; margin-top: 18px; }
.cart_totals h2 { font-size: 18px; margin-bottom: 12px; }
.woocommerce .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce .cart-collaterals .cart_totals { width: 420px; max-width: 100%; }

a.checkout-button, .wc-proceed-to-checkout a.button {
	display: block; background: var(--c-primary) !important; color: #fff !important; text-align: center;
	padding: 14px; border-radius: 6px; font-weight: 700; font-size: 16px;
}
a.checkout-button:hover { background: var(--c-primary-dark) !important; }
.woocommerce button.button[name="update_cart"], .woocommerce .actions .button { border-radius: 6px; }

/* Checkout 2 cột: trái = thông tin + ghi chú + VAT, phải = danh sách sản phẩm (to hơn) */
.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); grid-template-rows: auto 1fr; gap: 0 24px; align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
/* Bỏ chia đôi trong "Thông tin thanh toán" — ghi chú đơn hàng + VAT nằm dưới cùng cột 1 */
.woocommerce-checkout form.checkout .col2-set { grid-template-columns: 1fr; gap: 0; }
/* Danh sách sản phẩm chữ to hơn */
.woocommerce-checkout #order_review table.shop_table { font-size: 15px; }
.woocommerce-checkout #order_review table.shop_table td, .woocommerce-checkout #order_review table.shop_table th { padding: 12px 10px; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 10px; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
	background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 20px;
}
.woocommerce-checkout h3 { font-size: 17px; margin-bottom: 14px; }
.woocommerce form .form-row { margin-bottom: 14px; }
.woocommerce form .form-row label { display: block; font-weight: 600; margin-bottom: 5px; font-size: 13px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container,
.woocommerce-checkout select {
	width: 100%; padding: 11px 12px; border: 1px solid var(--c-border); border-radius: 6px; font-size: 14px;
}
/* Ô địa chỉ gõ-tìm (selectWoo/select2) — đồng bộ chiều cao/viền với input */
.woocommerce form .form-row .select2-container { padding: 0 !important; border: 0 !important; }
.select2-container--default .select2-selection--single { height: 42px; border: 1px solid var(--c-border); border-radius: 6px; background: #fff; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 40px; padding-left: 12px; color: var(--c-text); font-size: 14px; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: #999; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px; right: 8px; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single { border-color: var(--c-primary); box-shadow: 0 0 0 2px rgba(245,34,45,.12); }
.select2-dropdown { border-color: var(--c-border); border-radius: 6px; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted { background: var(--c-primary) !important; }
.select2-search--dropdown .select2-search__field { border: 1px solid var(--c-border); border-radius: 6px; padding: 8px; font-size: 16px; }

/* Khối "Phương thức thanh toán" ở checkout */
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { display: none !important; }
.woocommerce-checkout #payment, .woocommerce-checkout #payment .place-order { background: transparent; padding: 0; }
.woocommerce-checkout ul.payment_methods {
	list-style: none; margin: 0 0 4px; padding: 12px 14px;
	border: 1px solid var(--c-border); border-radius: 8px; background: #fafafa;
}
.woocommerce-checkout ul.payment_methods li { margin: 0 0 8px; }
.woocommerce-checkout ul.payment_methods li:last-child { margin-bottom: 0; }
.woocommerce-checkout ul.payment_methods label { font-weight: 600; cursor: pointer; margin-left: 6px; }
.woocommerce-checkout ul.payment_methods input.input-radio { width: 16px; height: 16px; vertical-align: -2px; }
.woocommerce-checkout ul.payment_methods .payment_box { margin: 6px 0 0 24px; font-size: 14px; color: var(--c-muted); }

/* Khối "Xuất hóa đơn VAT" ở checkout */
.sago-vat { margin-top: 6px; }
.sago-vat__toggle { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; cursor: pointer; margin-bottom: 10px; }
.sago-vat__toggle input { width: 18px; height: 18px; }
.sago-vat__fields { border: 1px dashed var(--c-border); border-radius: 8px; padding: 14px 14px 2px; background: #fafafa; }
.sago-vat-admin h3 { margin: 12px 0 4px; }
#place_order, .woocommerce #payment #place_order {
	width: 100%; background: var(--c-primary) !important; color: #fff !important; border: 0; border-radius: 6px;
	padding: 15px; font-size: 17px; font-weight: 700; margin-top: 12px;
}
#place_order:hover { background: var(--c-primary-dark) !important; }
.woocommerce-checkout .woocommerce-info, .woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: 16px; }

@media (max-width: 860px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
	/* Mobile: bỏ khung trắng ngoài của "Đơn hàng của bạn" (2 khung lồng nhau thừa 1 — giữ khung bảng) */
	.woocommerce-checkout #order_review { background: transparent; box-shadow: none; border-radius: 0; padding: 0; }
	/* Bỏ luôn khung trắng entry-content của template bọc ngoài toàn trang checkout + thu lề */
	.woocommerce-checkout .sago-container { padding-left: 8px; padding-right: 8px; }
	.woocommerce-checkout .page-article, .woocommerce-checkout .entry-content { background: transparent; box-shadow: none; border: 0; padding: 0; border-radius: 0; }
	.woocommerce .cart-collaterals .cart_totals { width: 100%; }

	/* iOS Safari tự PHÓNG TO trang khi focus vào control có font < 16px (và không tự thu về).
	 * Mobile: nâng mọi ô nhập/chọn ở checkout + tài khoản lên 16px để không bị zoom. */
	.woocommerce form .form-row input.input-text,
	.woocommerce form .form-row textarea,
	.woocommerce-checkout select,
	.select2-container--default .select2-selection--single .select2-selection__rendered {
		font-size: 16px;
	}
}

/* ===========================================================================
   MY ACCOUNT / LOGIN
   =========================================================================== */
.woocommerce-account .woo-wrap { max-width: 1040px; }
.woocommerce-account .woocommerce > h2,
.woocommerce form.login h2, .woocommerce form.register h2 { font-size: 18px; }
.woocommerce form.login, .woocommerce form.register {
	background: #fff; border: 1px solid var(--c-border); border-radius: 10px; padding: 24px;
	box-shadow: var(--shadow-sm); max-width: 460px;
}
.woocommerce .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.woocommerce form.login .button, .woocommerce form.register .button,
.woocommerce-account .woocommerce-Button.button, .woocommerce-EditAccountForm .button {
	background: var(--c-primary) !important; color: #fff !important; border: 0 !important;
	border-radius: 6px; padding: 12px 28px !important; font-weight: 700; font-size: 15px;
}
.woocommerce form.login .button:hover, .woocommerce form.register .button:hover { background: var(--c-primary-dark) !important; }
.woocommerce form .form-row label.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.woocommerce-LostPassword a { color: var(--c-primary); }

/* Dashboard tài khoản (đã đăng nhập): 2 cột sidebar + nội dung */
.woocommerce-account .entry-content { background: transparent; box-shadow: none; padding: 0; }
/* minmax(0,1fr) + min-width:0: không cho nội dung rộng (thanh tab cuộn ngang…) banh cột
 * ra ngoài màn hình — điện thoại từng bị zoom nhỏ cả trang vì vụ này. */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px minmax( 0, 1fr ); gap: 24px; align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
/* div notices rỗng của WooCommerce span hết hàng để không chiếm ô grid */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; }
.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; }
.woocommerce-MyAccount-navigation { background: #fff; border: 1px solid var(--c-border); border-radius: 10px; overflow: hidden; box-shadow: var(--shadow-sm); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 11px; padding: 13px 18px; color: var(--c-text); border-bottom: 1px solid #f1f1f1; font-weight: 500; }
.woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a { color: var(--c-primary); background: #fff6f5; box-shadow: inset 3px 0 0 var(--c-primary); }
.woocommerce-MyAccount-navigation li a::before { font-family: "Font Awesome 6 Free"; font-weight: 900; width: 18px; text-align: center; color: var(--c-primary); }
.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "\f624"; }
.woocommerce-MyAccount-navigation-link--orders a::before { content: "\f466"; }
.woocommerce-MyAccount-navigation-link--downloads a::before { content: "\f019"; }
.woocommerce-MyAccount-navigation-link--edit-address a::before { content: "\f3c5"; }
.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "\f007"; }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "\f2f5"; }
.woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--c-border); border-radius: 10px; padding: 24px; box-shadow: var(--shadow-sm); min-height: 320px; }
.woocommerce-MyAccount-content table.shop_table { box-shadow: none; border: 1px solid var(--c-border); }
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-Button { background: var(--c-primary) !important; color: #fff !important; border: 0 !important; border-radius: 6px; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--c-primary); }
/* Khối buộc đặt mật khẩu sau khi đặt đơn */
.sago-setpass { border: 2px solid var(--c-primary); border-radius: 10px; padding: 18px 20px; margin: 0 0 22px; background: #fff6f5; }
.sago-setpass h3 { margin: 0 0 6px; color: var(--c-primary); font-size: 17px; }
.sago-setpass h3 i { margin-right: 6px; }
.sago-setpass p { margin: 0 0 14px; color: #555; font-size: 14px; }
.sago-setpass__form p { margin: 0 0 12px; }
.sago-setpass__form label { display: block; font-weight: 600; margin-bottom: 5px; font-size: 14px; }
.sago-setpass__form input { width: 100%; max-width: 360px; padding: 10px 12px; border: 1px solid var(--c-border); border-radius: 6px; }
.sago-setpass__form .button { background: var(--c-primary) !important; color: #fff !important; border: 0 !important; border-radius: 6px; padding: 11px 22px; cursor: pointer; }

/* Hành trình đơn hàng (trong chi tiết đơn) */
.sago-journey { margin-top: 28px; }
.sago-journey > h2 { font-size: 18px; margin-bottom: 14px; }
.sago-journey__track { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; background: #fff6f5; border: 1px solid var(--c-border); border-radius: 8px; padding: 12px 16px; margin-bottom: 18px; }
.sago-journey__track i { color: var(--c-primary); margin-right: 4px; }
.sago-journey__btn { background: var(--c-primary) !important; color: #fff !important; border: 0 !important; border-radius: 6px; padding: 8px 16px; }
.sago-journey__timeline { list-style: none; margin: 0; padding: 0 0 0 6px; }
.sago-journey__timeline li { position: relative; padding: 0 0 22px 26px; border-left: 2px solid var(--c-border); }
.sago-journey__timeline li:last-child { border-left-color: transparent; padding-bottom: 0; }
.sago-journey__timeline .sj-dot { position: absolute; left: -7px; top: 2px; width: 12px; height: 12px; border-radius: 50%; background: var(--c-primary); box-shadow: 0 0 0 3px #fff6f5; }
.sago-journey__timeline .sj-label { font-weight: 600; }
.sago-journey__timeline .sj-desc { color: #666; font-size: 13px; margin-top: 2px; }
.sago-journey__timeline .sj-time { color: #999; font-size: 12px; margin-top: 2px; }
.sago-journey__timeline li.sj-current .sj-dot { background: #f59e0b; box-shadow: 0 0 0 3px #fff7e6; }
.sago-journey__timeline li.sj-current .sj-label { color: #b45309; }
.sago-journey__timeline li.sj-cancelled .sj-dot { background: #999; }
.sago-journey__timeline li.sj-cancelled .sj-label { color: #777; }
.sago-journey__note { color: #888; font-style: italic; font-size: 13px; }

@media (max-width: 768px) { .woocommerce-account .woocommerce { grid-template-columns: minmax( 0, 1fr ); } }

/* Nút hiện/ẩn mật khẩu (eye toggle) */
.woocommerce form .password-input,
.woocommerce-page form .password-input { position: relative; display: block; }
.woocommerce .password-input input.input-text { padding-right: 44px; }
.woocommerce .show-password-input {
	position: absolute; right: 6px; top: 0; bottom: 0; width: 38px;
	display: flex; align-items: center; justify-content: center; cursor: pointer; background: none;
}
.woocommerce .show-password-input::after {
	content: "\f06e"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: #999; font-size: 15px;
}
.woocommerce .show-password-input.display-password::after { content: "\f070"; color: var(--c-primary); }

@media (max-width: 600px) {
	.woocommerce .col2-set { grid-template-columns: 1fr; }
}

/* ===========================================================================
   CONTENT AREAS
   =========================================================================== */
.site-content { min-height: 50vh; }
.content-area { padding: 20px 16px 40px; }
.content-area.with-sidebar { display: grid; grid-template-columns: 1fr 300px; gap: 24px; }
.woo-wrap { padding: 20px 16px 40px; }
.page-header { margin-bottom: 18px; }
.page-title { font-size: 24px; }
.entry-content { background: #fff; padding: 20px; border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.entry-content img { border-radius: 6px; }

.sidebar .widget, .post-card, .single-article {
	background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-sm); margin-bottom: 16px;
}
.sidebar .widget { padding: 16px; }
.widget-title { font-size: 16px; margin-bottom: 10px; }

.post-list { display: grid; gap: 16px; }
.post-card { display: flex; gap: 14px; overflow: hidden; }
.post-card__thumb img { width: 200px; height: 130px; object-fit: cover; }
.post-card__body { padding: 12px 14px; }
.post-card__title { font-size: 17px; }

/* 404 */
.error-404 { padding: 40px 0 64px; }
.error-404__box { background: #fff; border-radius: 16px; box-shadow: var(--shadow); padding: 56px 40px; text-align: center; max-width: 640px; margin: 0 auto; position: relative; overflow: hidden; border-top: 4px solid var(--c-primary); }
.error-404__box::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--header-grad); }
.error-404__code { display: flex; align-items: center; justify-content: center; gap: 4px; line-height: 1; font-weight: 900; font-size: 130px; color: var(--c-primary); }
.error-404__gear { width: 104px; height: 104px; fill: var(--c-accent); filter: drop-shadow(0 3px 5px rgba(0,0,0,.18)); transform-box: fill-box; transform-origin: center; animation: sago-spin 9s linear infinite; }
@keyframes sago-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .error-404__gear { animation: none; } }
.error-404__title { font-size: 28px; margin: 6px 0 0; }
.error-404__desc { color: var(--c-muted); max-width: 460px; margin: 10px auto 26px; font-size: 15px; }
.error-404__search { max-width: 440px; margin: 0 auto 22px; }
.error-404__search .search-form { display: flex; gap: 8px; }
.error-404__search input[type="search"] { flex: 1; padding: 12px 16px; border: 1px solid var(--c-border); border-radius: 8px; font-size: 15px; }
.error-404__search input[type="search"]:focus { outline: 0; border-color: var(--c-primary); }
.error-404__search button { padding: 0 20px; border: 0; border-radius: 8px; background: var(--c-primary); color: #fff; font-size: 16px; }
.error-404__search button:hover { background: var(--c-primary-dark); }
.error-404__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 26px; }
.error-404__actions .btn { padding: 12px 24px; border-radius: 8px; font-weight: 600; }
.error-404__actions .btn-ghost { background: #fff; border: 1px solid var(--c-primary); color: var(--c-primary); }
.error-404__actions .btn-ghost:hover { background: var(--c-primary); color: #fff; }
.error-404__cats { border-top: 1px dashed var(--c-border); padding-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center; }
.error-404__cats-label { color: var(--c-muted); font-size: 13px; margin-right: 4px; }
.error-404__cats a { background: var(--c-bg); border: 1px solid var(--c-border); border-radius: 999px; padding: 6px 14px; font-size: 13px; transition: .15s; }
.error-404__cats a:hover { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
@media (max-width: 600px) {
	.error-404__box { padding: 40px 20px; }
	.error-404__code { font-size: 88px; }
	.error-404__gear { width: 70px; height: 70px; }
	.error-404__title { font-size: 22px; }
}

/* ===========================================================================
   FOOTER
   =========================================================================== */
.site-footer { background: #1f1f1f; color: #cfcfcf; margin-top: 30px; }
.footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 28px; padding: 40px 16px; }
.footer-title { color: #fff; font-size: 15px; margin-bottom: 14px; text-transform: uppercase; letter-spacing: .5px; }
.footer-logo { max-height: 48px; }
/* Logo trắng mặc định: đặt thẳng trên nền đỏ/tối, không cần khung trắng. */
.site-branding img[src*="logo-trang"], .footer-logo[src*="logo-trang"] { background: none; padding: 0; border-radius: 0; }
.footer-slogan { margin: 10px 0 14px; font-size: 13px; }
.footer-contact { font-size: 13px; }
.footer-contact li { margin-bottom: 9px; display: flex; gap: 9px; align-items: flex-start; }
.footer-contact i { color: var(--c-accent); margin-top: 3px; width: 14px; text-align: center; }
.footer-menu li { margin-bottom: 9px; font-size: 13px; }
.footer-top a { color: #cfcfcf; }
.footer-top a:hover { color: var(--c-accent-2); }
/* Danh mục trong footer: dạng dọc (ghi đè style menu ngang) */
.footer-top .sago-cat-menu { display: block; }
.footer-top .sago-cat-menu > li { display: block; }
.footer-top .sago-cat-menu > li > a { display: block; height: auto; padding: 0 0 9px; font-weight: 400; font-size: 13px; background: none; box-shadow: none; }
.footer-top .sago-cat-menu > li > a:hover { background: none; box-shadow: none; color: var(--c-accent-2); }
.footer-top .sago-mi, .footer-top .sago-caret { display: none; }
/* Mạng xã hội */
.footer-social { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.footer-social .soc { width: 38px; height: 38px; border-radius: 50%; background: #333; color: #fff; display: flex; align-items: center; justify-content: center; transition: .15s; }
.footer-social .soc:hover { background: var(--c-primary); color: #fff; transform: translateY(-2px); }
.footer-social .soc.zalo:hover { background: #0068ff; }
.footer-social .soc.fb:hover { background: #1877f2; }
.footer-social .soc.yt:hover { background: #ff0000; }
/* Badge thanh toán / giao hàng */
.footer-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.footer-badges .fb-badge { background: #333; border: 1px solid #444; border-radius: 6px; padding: 6px 10px; font-size: 12px; display: inline-flex; align-items: center; gap: 6px; }
.footer-badges .fb-badge i { color: var(--c-accent); }
.footer-ship { margin-top: 10px; font-size: 12.5px; color: #bdbdbd; }
.footer-ship i { color: var(--c-accent); margin-right: 6px; }
/* Bottom */
.footer-bottom { border-top: 1px solid #333; padding: 14px 0; font-size: 13px; }
.footer-bottom__inner { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.footer-bottom__inner p { margin: 0; }
.footer-bottom__pay { color: #9a9a9a; }
.footer-credit { color: #9a9a9a; }
.footer-credit a { color: var(--c-accent-2); font-weight: 600; }
.footer-credit a:hover { text-decoration: underline; }
@media (max-width: 768px) { .footer-bottom__inner { flex-direction: column; text-align: center; } }

.float-zalo {
	position: fixed; right: 18px; bottom: 18px; z-index: 90; width: 52px; height: 52px; border-radius: 50%;
	background: #0068ff; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24px;
	box-shadow: var(--shadow); animation: sago-pulse 2s infinite;
}
@keyframes sago-pulse { 0% { box-shadow: 0 0 0 0 rgba(0, 104, 255, .5); } 70% { box-shadow: 0 0 0 14px rgba(0, 104, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(0, 104, 255, 0); } }

/* ===========================================================================
   RESPONSIVE
   =========================================================================== */
@media (max-width: 1024px) {
	.product-grid, .woocommerce ul.products, ul.products { grid-template-columns: repeat(4, 1fr); }
	.cat-grid { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 768px) {
	.header-main__inner { flex-wrap: wrap; gap: 12px; }
	.site-branding { order: 1; flex-basis: 100%; display: flex; justify-content: center; }
	.site-branding img, .site-branding .logo-text, .site-branding .custom-logo-link { margin-left: auto; margin-right: auto; }
	.header-actions { order: 2; margin: 0 auto; }
	.sago-search { order: 3; flex-basis: 100%; }
	.cat-bar { display: none; }
	.product-grid, .woocommerce ul.products, ul.products { grid-template-columns: repeat(2, 1fr); }
	.cat-grid { grid-template-columns: repeat(4, 1fr); }
	.content-area.with-sidebar { grid-template-columns: 1fr; }
	.footer-top { grid-template-columns: 1fr 1fr; gap: 20px; }
	.post-card { flex-direction: column; }
	.post-card__thumb img { width: 100%; height: 180px; }
	/* Topbar mobile: chỉ giữ Hotline, căn giữa cho gọn */
	.topbar { font-size: 12px; }
	.topbar__inner { justify-content: center; min-height: 32px; }
	.topbar__left { width: 100%; justify-content: center; }
	.topbar__right { display: none; }
}
@media (max-width: 420px) {
	.cat-grid { grid-template-columns: repeat(4, 1fr); }
	.cat-grid__item { padding: 12px 3px 10px; }
	.cat-grid__item img { width: 56px; height: 56px; }
	.cat-grid__item span { font-size: 11.5px; }
	.footer-top { grid-template-columns: 1fr; }
}

/* ===========================================================================
   BLOCK DANH MỤC TRANG CHỦ + LƯỚI ĐẶC THÙ
   =========================================================================== */
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.section-head .section-title { margin-bottom: 0; }
.section-more { display: inline-flex; align-items: center; gap: 5px; color: var(--c-primary); font-weight: 600; font-size: 14px; white-space: nowrap; }
.section-more:hover { color: var(--c-primary-dark); }

/* Lưới sản phẩm đồng bộ 6 SP/hàng mọi nơi (trang chủ, cửa hàng, danh mục, tìm kiếm)
   — theo .product-grid / ul.products ở trên (6 desktop → 4 @1024px → 2 @768px). */
.product-grid--home { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 1024px) {
	.product-grid--home { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
	.product-grid--home { grid-template-columns: repeat(2, 1fr); }
}

/* Nút "Tải báo giá" ở trang chi tiết đơn — canh phải cùng hàng, nền đỏ */
.sago-order-doc { text-align: right; margin: 10px 0; }
.sago-order-doc__btn,
.woocommerce .sago-order-doc__btn,
.woocommerce-MyAccount-content .sago-order-doc__btn {
	background: var(--c-primary) !important; color: #fff !important; border: 0 !important;
	border-radius: 6px; padding: 10px 18px; font-weight: 700; display: inline-block;
}
.sago-order-doc__btn:hover { background: var(--c-primary-dark) !important; color: #fff !important; }

/* Con mắt hiện/ẩn mật khẩu */
.sago-pass-wrap { position: relative; display: block; }
.sago-pass-wrap input { padding-right: 42px !important; width: 100%; }
.sago-pass-eye {
	position: absolute; top: 50%; right: 6px; transform: translateY(-50%);
	border: 0; background: none; cursor: pointer; font-size: 16px; color: #888; padding: 6px 8px; line-height: 1;
}
.sago-pass-eye:hover { color: var(--c-primary); }

/* Danh sách đơn hàng kiểu Shopee (tài khoản) */
.sago-ord-tabs { display: flex; gap: 4px; flex-wrap: nowrap; overflow-x: auto; border-bottom: 2px solid var(--c-border); margin-bottom: 14px; scrollbar-width: none; }
.sago-ord-tabs::-webkit-scrollbar { display: none; }
/* Tiền tố .woocommerce-MyAccount-content: thắng rule "mọi link trong tài khoản màu đỏ" — trước đây
 * mọi tab đều đỏ nên tab đang chọn không nổi. Tab chọn: đỏ + đậm + gạch 3px + nền (không chỉ dựa màu). */
.woocommerce-MyAccount-content .sago-ord-tabs a {
	display: flex; align-items: center; min-height: 44px; padding: 0 14px; white-space: nowrap;
	font-weight: 600; color: #666; font-size: 14px; border-bottom: 3px solid transparent; margin-bottom: -2px;
	border-radius: 6px 6px 0 0; transition: color .15s, background-color .15s;
}
.woocommerce-MyAccount-content .sago-ord-tabs a:hover { color: var(--c-primary); }
.woocommerce-MyAccount-content .sago-ord-tabs a.active {
	color: var(--c-primary); font-weight: 700; background: #fff1f0; border-bottom-color: var(--c-primary);
}
.sago-ord { background: #fff; border: 1px solid var(--c-border); border-radius: 8px; margin-bottom: 14px; overflow: hidden; }
.sago-ord__head { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-bottom: 1px solid #f5f5f5; }
.sago-ord__id { color: var(--c-muted); font-size: 13px; }
.sago-ord__status { color: var(--c-primary); font-weight: 700; font-size: 13px; text-transform: uppercase; }
.sago-ord__item { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #f8f8f8; }
.sago-ord__thumb img { width: 64px; height: 64px; object-fit: cover; border-radius: 6px; border: 1px solid var(--c-border); display: block; }
.sago-ord__info { flex: 1; min-width: 0; }
.sago-ord__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; color: var(--c-text); }
.sago-ord__var { display: block; color: var(--c-muted); font-size: 12px; margin-top: 2px; }
.sago-ord__qty { display: block; color: var(--c-muted); font-size: 12px; margin-top: 2px; }
.sago-ord__price { color: var(--c-text); font-size: 13px; white-space: nowrap; }
.sago-ord__foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 14px; background: #fffdfa; }
.sago-ord__total { font-size: 14px; }
.sago-ord__total b { color: var(--c-price); font-size: 18px; }
.sago-ord__acts { display: flex; gap: 8px; margin-left: auto; }
.sago-ord__acts .button { border-radius: 6px; }
.sago-ord__acts .sago-ord__view, .sago-ord__acts .sago-ord__pay { background: #fff !important; color: var(--c-text) !important; border: 1px solid var(--c-border) !important; }
.sago-ord-pager { display: flex; gap: 10px; justify-content: center; }
@media ( max-width: 640px ) {
	.sago-ord__foot { flex-direction: column; align-items: flex-end; }
	.sago-ord__acts .button { padding: 8px 12px; font-size: 13px; }
}

/* Trang Tài khoản (dashboard): lời chào + lưới nút */
.sago-dash-hello { font-size: 15px; margin-bottom: 14px; }
.sago-dash-hello a { color: var(--c-primary); }
.sago-dash-grid { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 12px; max-width: 520px; }
.sago-dash-btn {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
	padding: 22px 10px; background: #fff; border: 1px solid var(--c-border); border-radius: 10px;
	font-size: 14px; font-weight: 600; color: var(--c-text); text-align: center;
}
.sago-dash-btn i { font-size: 24px; color: var(--c-primary); }
.sago-dash-btn span { color: var(--c-text); } /* đè màu đỏ của link trong .entry-content */
.sago-dash-btn:hover { border-color: var(--c-primary); }
.sago-dash-btn:hover span { color: var(--c-primary); }
.sago-dash-btn--out i { color: #999; }
.sago-dash-btn--out span { color: #777; }
.sago-dash-btn--out:hover span { color: #555; }
.sago-dash-btn--out:hover { border-color: #999; color: #555; }

/* Nút "Mua lại" ở danh sách đơn hàng (tài khoản) */
.woocommerce-MyAccount-content .button.sago-reorder { background: var(--c-primary) !important; color: #fff !important; }
.woocommerce-MyAccount-content .button.sago-reorder:hover { background: var(--c-primary-dark) !important; }

/* Danh sách địa chỉ đã lưu (tài khoản + checkout) */
.sago-addr-list { margin: 0 0 14px; }
.sago-addr-item {
	display: flex; align-items: flex-start; gap: 10px; background: #fff; border: 1px solid var(--c-border);
	border-radius: 8px; padding: 10px 12px; margin-bottom: 8px; cursor: pointer;
}
.sago-addr-item input[type=radio] { margin-top: 4px; width: 16px; height: 16px; flex: 0 0 16px; }
.sago-addr-item.selected { border-color: var(--c-primary); background: #fff7f6; }
.sago-addr-item b { font-size: 14px; }
.sago-addr-item .sago-addr-line { color: var(--c-muted); font-size: 13px; margin-top: 2px; }
.sago-addr-item .sago-addr-del { margin-left: auto; border: 0; background: none; color: #888; font-size: 18px; cursor: pointer; padding: 0 4px; }
.sago-addr-item .sago-addr-del:hover { color: var(--c-primary); }
.sago-addr-pick h3 { font-size: 16px; margin: 0 0 10px; }
.sago-addr-addform { background: #fafafa; border: 1px dashed var(--c-border); border-radius: 8px; padding: 14px; margin: 10px 0; max-width: 520px; }
.sago-addr-addform .form-row { margin-bottom: 10px; }
.sago-addr-addform label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 4px; }
.sago-addr-addform input, .sago-addr-addform select { width: 100%; padding: 9px 10px; border: 1px solid var(--c-border); border-radius: 6px; }
.sago-addr-addbtn { background: #fff !important; color: var(--c-primary) !important; border: 1px solid var(--c-primary) !important; border-radius: 6px; }

/* Phân trang shop/danh mục — số to, cách nhau, dễ bấm (nhất là mobile) */
.woocommerce nav.woocommerce-pagination { margin: 20px 0 8px; }
.woocommerce nav.woocommerce-pagination ul.page-numbers {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
	border: 0; margin: 0; white-space: normal;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li { border: 0; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span {
	display: flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 10px;
	font-size: 17px; font-weight: 700; line-height: 1;
	border: 1px solid var(--c-border); border-radius: 8px; background: #fff; color: #333;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover {
	border-color: var(--c-primary); color: var(--c-primary); background: #fff;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current {
	background: var(--c-primary); border-color: var(--c-primary); color: #fff;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.dots {
	border: 0; background: none; min-width: 24px; padding: 0; color: #999;
}
/* Mũi tên ←/→: điện thoại hay vẽ 2 ký tự này khác nét nhau → dùng CÙNG 1 ký tự "→"
 * (mũi tên lùi là bản xoay 180°) nên 2 nút đậm và to y hệt nhau trên mọi máy. */
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.next,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev { font-size: 0; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.next::before,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev::before {
	content: "→"; display: block; font-size: 17px; font-weight: 700; line-height: 1;
	-webkit-text-stroke: 1px currentColor;
}
/* Lật GƯƠNG ngang (không xoay 180°): xoay làm độ lệch dọc của ký tự bị lật theo → 2 mũi tên cao thấp khác nhau. */
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev::before { transform: scaleX(-1); }
@media (max-width: 860px) {
	.woocommerce nav.woocommerce-pagination ul.page-numbers { gap: 10px; }
	.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
	.woocommerce nav.woocommerce-pagination ul.page-numbers li span {
		min-width: 46px; height: 46px; font-size: 18px; border-radius: 10px;
	}
	.woocommerce nav.woocommerce-pagination ul.page-numbers li span.dots { min-width: 20px; }
	.woocommerce nav.woocommerce-pagination ul.page-numbers li a.next::before,
	.woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev::before { font-size: 18px; }
}

/* ===========================================================================
   GIỎ HÀNG KIỂU SHOPEE — thẻ có ô tick, ô đổi phân loại, thanh đáy "Tất cả · Tổng · Mua hàng (N)"
   Vùng chạm ≥ 44px, chữ ≥ 12px, khoảng cách 8-16px (mật độ gọn cho mobile).
   =========================================================================== */
.sago-cart__list { background: #fff; border: 1px solid var(--c-border); border-radius: 10px; overflow: hidden; }
.sago-ci {
	display: grid; grid-template-columns: 44px 80px minmax( 0, 1fr ) 40px; gap: 0 10px; align-items: start;
	padding: 12px 4px 12px 0; border-bottom: 1px solid #f2f2f2; transition: background-color .15s;
}
.sago-ci.is-sel { background: #fffaf9; }
.sago-ci.sago-oos { background: #fff2f1; }
.sago-ci__chk { display: flex; align-items: center; justify-content: center; width: 44px; height: 80px; margin: 0; cursor: pointer; }
.sago-ci__cb, .sago-cartbar__allcb { width: 20px; height: 20px; margin: 0; accent-color: var(--c-primary); cursor: pointer; }
.sago-ci__thumb img { display: block; width: 80px; height: 80px; object-fit: cover; border-radius: 6px; border: 1px solid var(--c-border); }
.sago-ci__body { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.sago-ci__name { font-size: 14px; line-height: 1.4; }
.sago-ci__name > a { color: var(--c-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sago-ci__name > a:hover { color: var(--c-primary); }
.sago-ci__var {
	align-self: flex-start; max-width: 100%; display: inline-flex; align-items: center; gap: 8px; min-height: 32px;
	padding: 4px 10px; background: #f5f5f5; border: 1px solid #e8e8e8; border-radius: 6px;
	font-size: 13px; color: #444; text-align: left; cursor: pointer; transition: border-color .15s;
}
.sago-ci__var span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sago-ci__var i { flex: none; font-size: 11px; color: #888; }
.sago-ci__var:hover, .sago-ci__var:focus-visible { border-color: var(--c-primary); }
.sago-ci__var.loading { opacity: .6; pointer-events: none; }
.sago-ci__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sago-ci__price { color: var(--c-price); font-weight: 700; font-size: 15px; }
.sago-ci__price del { color: #999; font-weight: 400; font-size: 12px; }
.sago-ci__rm { display: flex; justify-content: center; }
.woocommerce .sago-ci__rm a.remove {
	display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
	font-size: 22px; font-weight: 700; line-height: 1; color: #999 !important; border-radius: 50%; background: none;
}
.woocommerce .sago-ci__rm a.remove:hover { color: var(--c-primary) !important; background: #fff1f0; }
.sago-cart__actions { display: flex; align-items: center; gap: 8px; padding: 10px 12px; }
.sago-cart__actions .coupon { display: flex; gap: 8px; flex: 1; min-width: 0; }
.sago-cart__actions .coupon input.input-text { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid var(--c-border); border-radius: 6px; font-size: 15px; }
.sago-cart__actions .coupon .button { height: 44px; padding: 0 16px; border-radius: 6px; white-space: nowrap; }
/* Số lượng tự cập nhật bằng −/+ → nút "Cập nhật giỏ hàng" chỉ để wc-cart.js dùng, ẩn khỏi mắt. */
.sago-cart__actions .sago-cart__update { position: absolute !important; width: 1px; height: 1px; padding: 0 !important; border: 0 !important; overflow: hidden; clip: rect( 0 0 0 0 ); }

.sago-cartbar {
	position: sticky; bottom: 0; z-index: 50; display: flex; align-items: center; gap: 12px; margin-top: 12px;
	padding: 8px 8px calc( 8px + env( safe-area-inset-bottom ) ) 12px; background: #fff;
	border: 1px solid var(--c-border); border-radius: 10px; box-shadow: 0 -4px 16px rgba( 0, 0, 0, .06 );
}
.sago-cartbar[hidden] { display: none; }
.sago-cartbar__all { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; font-size: 14px; white-space: nowrap; cursor: pointer; }
.sago-cartbar__sum { margin-left: auto; font-size: 14px; text-align: right; white-space: nowrap; }
.sago-cartbar__total { color: var(--c-price); font-size: 18px; }
.sago-cartbar__buy {
	height: 44px; padding: 0 18px; border: 0; border-radius: 8px; background: var(--c-primary); color: #fff;
	font-size: 15px; font-weight: 700; white-space: nowrap; cursor: pointer; transition: background-color .15s;
}
.sago-cartbar__buy:hover { background: var(--c-primary-dark); }
.sago-cartbar__buy:disabled { background: #f3b4b0; cursor: not-allowed; }
.sago-cartbar__buy.loading { opacity: .7; }
body.sago-has-cartbar .float-zalo { bottom: 88px; } /* nút chat không che nút Mua hàng */

/* Bảng chọn lại phân loại trong giỏ */
.sago-noscroll, .sago-noscroll body { overflow: hidden; }
.sago-sheet--cart .sago-sheet__head { align-items: center; }
.sago-sheet--cart .sago-sheet__img { margin-top: 0; }
.sago-vgrid { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 8px; margin-bottom: 14px; }
.sago-vopt {
	display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 4px 8px 4px 4px; background: #f5f5f5;
	border: 1px solid transparent; border-radius: 6px; font-size: 13px; color: #333; text-align: left; cursor: pointer;
	transition: border-color .15s, color .15s;
}
.sago-vopt img { flex: none; width: 40px; height: 40px; object-fit: cover; border-radius: 4px; background: #fff; }
.sago-vopt span { min-width: 0; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sago-vopt:hover { border-color: #f3b4b0; }
.sago-vopt.is-on { background: #fff; border-color: var(--c-primary); color: var(--c-primary); font-weight: 600; }
.sago-sheet--cart .sago-sheet__go { position: sticky; bottom: 0; }
@media ( min-width: 769px ) {
	.sago-sheet--cart .sago-sheet__box { margin: 0 auto; max-width: 560px; }
	.sago-vgrid { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
}
@media ( prefers-reduced-motion: reduce ) {
	.sago-sheet__box { animation: none; }
	.sago-ci, .sago-ci__var, .sago-vopt, .sago-cartbar__buy, .woocommerce-MyAccount-content .sago-ord-tabs a { transition: none; }
}

/* Giỏ hàng chỉ giữ 1 khung (khung danh sách) — bỏ khung trang bọc ngoài ở mọi kích thước. */
.woocommerce-cart .page-article, .woocommerce-cart .entry-content { background: transparent; box-shadow: none; border: 0; padding: 0; border-radius: 0; }

/* Gọn khoảng trắng trang Giỏ hàng + Tài khoản/Đơn hàng trên mobile */
@media ( max-width: 768px ) {
	.woocommerce-cart .content-area, .woocommerce-account .content-area { padding: 12px 8px 20px; }
	.woocommerce-cart .page-header, .woocommerce-account .page-header { margin-bottom: 10px; }
	.woocommerce-cart .page-title, .woocommerce-account .page-title { font-size: 20px; }
	.sago-ci { grid-template-columns: 40px 72px minmax( 0, 1fr ) 36px; gap: 0 8px; padding: 10px 2px 10px 0; }
	.sago-ci__chk { width: 40px; height: 72px; }
	.sago-ci__thumb img { width: 72px; height: 72px; }
	.woocommerce .sago-ci__rm a.remove { width: 36px; height: 36px; }
	/* Khung trang giỏ có overflow-x:hidden (chống tràn) → sticky không ăn; mobile dùng fixed. */
	.sago-cartbar { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; border-radius: 0; border-left: 0; border-right: 0; border-bottom: 0; gap: 10px; padding-left: 10px; }
	body.sago-has-cartbar { padding-bottom: calc( 62px + env( safe-area-inset-bottom ) ); }
	.woocommerce-cart-form .sago-ci .quantity.sago-cart-qty .sago-qty-btn { width: 30px; height: 32px; font-size: 16px; }
	.woocommerce-cart-form .sago-ci .quantity.sago-cart-qty input.qty { width: 36px; height: 32px; }
	.sago-cartbar__total { font-size: 16px; }
	.sago-cartbar__buy { padding: 0 14px; }
	.woocommerce-MyAccount-content { padding: 12px; min-height: 0; }
	/* Content khai báo grid-column:2 → mobile vẫn ra 2 cột (menu bị bóp 0px thành vạch xám, nội dung lệch phải). */
	.woocommerce-account .woocommerce { gap: 10px; }
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { grid-column: 1; }
	/* Menu tài khoản mobile: 1 hàng nút cuộn ngang thay cho danh sách dọc chiếm chỗ. */
	.woocommerce-MyAccount-navigation { overflow-x: auto; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none; }
	.woocommerce-MyAccount-navigation ul { display: flex; }
	.woocommerce-MyAccount-navigation li a { min-height: 44px; padding: 0 14px; white-space: nowrap; border-bottom: 0; border-right: 1px solid #f1f1f1; font-size: 14px; }
	.woocommerce-MyAccount-navigation li a:hover,
	.woocommerce-MyAccount-navigation li.is-active a { box-shadow: inset 0 -3px 0 var(--c-primary); }
	.sago-ord__item { padding: 8px 10px; }
	.sago-ord__head, .sago-ord__foot { padding: 8px 10px; }
}

/* Món hết hàng trong giỏ: ô tick + nút −/+ khóa, số lượng hiện 0 */
.sago-ci__cb:disabled { cursor: not-allowed; opacity: .45; }
.sago-ci.sago-oos .sago-ci__chk { cursor: not-allowed; }
.woocommerce-cart-form .quantity.sago-cart-qty .sago-qty-btn:disabled { color: #ccc; background: #fafafa; cursor: not-allowed; border-color: var(--c-border); }
.woocommerce-cart-form .quantity.sago-cart-qty input.qty:disabled { color: #999; background: #fafafa; opacity: 1; }


/* ===========================================================================
   BẢN SỬA THEO BÁO CÁO RÀ SOÁT 27/10/2026 (UI/UX Pro Max: vùng chạm ≥ 44px, chữ ≥ 12px,
   tương phản ≥ 4,5:1, nội dung chính trong màn đầu, màu đồng bộ thương hiệu)
   =========================================================================== */

/* P1 — Phân loại (PC): nhãn 1 dòng, nút phân loại thẳng hàng bên dưới (bỏ cột nhãn 120px chừa trống). */
.sp-summary .variations th, .sp-summary .variations td { display: block; width: 100%; }
.sp-summary .variations th { padding: 4px 0 6px; }
/* Link "Xóa" (bỏ chọn phân loại) ẩn bằng visibility nhưng vẫn chiếm 1 hàng trống → đưa lên cạnh nhãn. */
.sp-summary .variations td.value { position: relative; }
.sp-summary .variations .reset_variations { position: absolute; top: -30px; right: 0; margin: 0; }

/* M9 — Ảnh đầu bảng chọn phân loại không bị cắt mép trên. */
.sago-sheet__img { margin-top: 0; }
.sago-sheet__head { align-items: center; }

/* M10/P3 — "Đơn hàng của bạn": thuộc tính SP gọn 1 dòng/thuộc tính; nút −/+ xuống dòng riêng. */
.woocommerce-checkout-review-order-table dl.variation,
.woocommerce-table--order-details dl.variation,
.sago-ci dl.variation {
	display: grid; grid-template-columns: auto 1fr; gap: 0 6px; margin: 4px 0 0; font-size: 13px; color: #666;
}
.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-table--order-details dl.variation dt { font-weight: 400; margin: 0; }
.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-table--order-details dl.variation dd { margin: 0; }
.woocommerce-checkout-review-order-table dl.variation dd p,
.woocommerce-table--order-details dl.variation dd p { margin: 0; }
.sago-co-edit { display: flex; width: max-content; margin-top: 6px; }

/* M3 — Sổ địa chỉ: địa chỉ xuống dòng riêng, không dính SĐT. */
.sago-addr-item .sago-addr-line { display: block; }
.sago-addr-item b i, .sago-addr-pick h3 i, .sago-addr-addbtn i { color: var(--c-primary); margin-right: 4px; }
.sago-addr-item .sago-addr-del { min-width: 44px; min-height: 44px; font-size: 16px; }

/* M11 — Nút con mắt mật khẩu: bỏ viền thô, vùng bấm 44px; không hiện 2 con mắt chồng nhau. */
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
	border: 0 !important; background: transparent !important; box-shadow: none !important; width: 44px; height: 100%; right: 0;
}
.password-input .sago-pass-eye { display: none; }
.sago-pass-eye { min-width: 44px; min-height: 44px; }

/* M12 — Thông báo + hộp mô tả thanh toán theo tông web (thay xanh dương/tím mặc định WooCommerce). */
.woocommerce-info, .woocommerce-message {
	border-top: 0 !important; border-left: 4px solid var(--c-primary); background: #fff6f5; color: var(--c-text); border-radius: 6px;
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--c-primary) !important; }
.woocommerce-message { border-left-color: #16a34a; background: #f0fdf4; }
.woocommerce-message::before { color: #16a34a !important; }
#payment div.payment_box { background: #f5f6f8 !important; color: #444 !important; border-radius: 6px; }
#payment div.payment_box::before { border-bottom-color: #f5f6f8 !important; }

/* M13 — Chi tiết đơn: bỏ nền vàng chói ở số đơn/ngày/trạng thái. */
.woocommerce-MyAccount-content mark, .woocommerce-order mark { background: none; color: var(--c-text); font-weight: 700; }
.woocommerce-MyAccount-content mark.order-status { color: var(--c-primary); }

/* M7 — Ô sắp xếp: cao 44px, đồng bộ ô nhập của web. */
.woocommerce-ordering select.orderby {
	height: 44px; padding: 0 36px 0 12px; border: 1px solid var(--c-border); border-radius: 8px; background-color: #fff;
	font-size: 14px; color: var(--c-text); -webkit-appearance: none; appearance: none; max-width: 100%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 12px center;
}

/* M8 — Vùng chạm ≥ 44px. */
.section-more { min-height: 44px; padding: 0 4px; }
.footer-social .soc { width: 44px; height: 44px; }
.woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 8px; min-height: 44px; }
.woocommerce-form-login__rememberme input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--c-primary); }

/* L9 — Gợi ý cho khách chưa có tài khoản (trang đăng nhập). */
.sago-login-hint { margin: 14px 0 0; padding: 14px 16px; background: #fff6f5; border: 1px dashed #f3b4b0; border-radius: 10px; font-size: 14px; line-height: 1.5; }
.sago-login-hint b { color: var(--c-primary); }
.sago-login-hint__btn { display: inline-flex; align-items: center; min-height: 40px; margin-top: 8px; padding: 0 16px; border-radius: 8px; background: var(--c-primary); color: #fff !important; font-weight: 700; }

/* M6 — Trang "Đặt hàng thành công". */
.sago-ty__hero { background: #fff; border: 1px solid var(--c-border); border-radius: 12px; padding: 24px 20px; text-align: center; margin: 0 0 18px; }
.sago-ty__icon {
	width: 64px; height: 64px; margin: 0 auto 10px; border-radius: 50%; background: #16a34a; color: #fff;
	font-size: 34px; line-height: 64px; font-weight: 700;
}
.sago-ty__hero--fail .sago-ty__icon { background: var(--c-primary); }
.sago-ty__title { font-size: 22px; margin: 0 0 6px; }
.sago-ty__sub { color: #555; margin: 0 0 16px; }
.sago-ty__sum { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 10px; margin: 0 0 16px; text-align: left; }
.sago-ty__sum > div { background: #f7f8fa; border-radius: 8px; padding: 10px 12px; }
.sago-ty__sum dt { font-size: 12px; color: #666; margin: 0; }
.sago-ty__sum dd { margin: 2px 0 0; font-weight: 700; font-size: 15px; word-break: break-word; }
.sago-ty__sum .sago-ty__total { color: var(--c-price); font-size: 18px; }
.sago-ty__note { background: #fff6f5; border-radius: 8px; padding: 10px 12px; font-size: 14px; text-align: left; margin: 0 0 16px; }
.sago-ty__acts { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.sago-ty__btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border-radius: 8px;
	border: 1px solid var(--c-border); background: #fff; color: var(--c-text) !important; font-weight: 700;
}
.sago-ty__btn--main { background: var(--c-primary); border-color: var(--c-primary); color: #fff !important; }
.woocommerce-order-received .woocommerce-order > p:empty { display: none; }

/* P2 — Giỏ hàng trống: rõ ràng + nút mua sắm nổi bật + gợi ý bán chạy. */
.woocommerce-cart .cart-empty.woocommerce-info { text-align: center; padding: 26px 16px !important; font-size: 16px; border-left: 0; }
.woocommerce-cart .cart-empty.woocommerce-info::before { position: static; display: block; font-size: 34px; margin: 0 auto 8px; }
.woocommerce-cart .return-to-shop { text-align: center; margin: 12px 0 24px; }
.woocommerce-cart .return-to-shop .button {
	display: inline-flex; align-items: center; min-height: 46px; padding: 0 28px; border-radius: 8px;
	background: var(--c-primary) !important; color: #fff !important; font-weight: 700;
}
.sago-empty-suggest h2 { font-size: 18px; margin: 8px 0 12px; }
.sago-empty-suggest ~ .return-to-shop { display: none; } /* nút mặc định WC nằm dưới danh sách gợi ý → dùng nút của theme ở trên */

/* T5 — Ghi chú dưới tổng ở thanh "Mua hàng". */
.sago-cartbar__sum small { display: block; font-size: 12px; color: #666; font-weight: 400; }

@media ( max-width: 768px ) {
	/* M1 — Header mobile gọn: logo + Tài khoản/Giỏ cùng 1 hàng, ô tìm kiếm hàng dưới; bỏ dải hotline
	 * (hotline vẫn ở chân trang + nút chat). Cao ~110px thay vì ~220px. */
	.topbar { display: none; }
	.header-main__inner { gap: 8px 12px; padding: 8px 12px 10px; }
	.site-branding { order: 1; flex: 1 1 auto; flex-basis: auto; justify-content: flex-start; min-width: 0; }
	.site-branding img, .site-branding .logo-text, .site-branding .custom-logo-link { margin-left: 0; margin-right: 0; }
	.site-branding img { max-height: 40px; padding: 3px 6px; }
	.header-actions { order: 2; margin: 0 0 0 auto; gap: 4px; }
	.header-actions__item { min-width: 52px; min-height: 44px; justify-content: center; font-size: 12px; max-width: 96px; }
	.header-actions__item span:not(.cart-count) { max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.sago-search { order: 3; flex-basis: 100%; }
	.sago-search__input { height: 44px; font-size: 16px; }
	.sago-search__btn { min-width: 52px; }
	/* Đường dẫn (breadcrumb) 1 dòng, chữ nhỏ — không đẩy ảnh/giá SP xuống. */
	.woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb {
		font-size: 13px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 8px;
	}
	.woocommerce-breadcrumb a { font-weight: 500; }

	/* M2 — Ô mã giảm giá: thông báo lỗi xuống dòng riêng, ô nhập không bị bóp. */
	.sago-cart__actions { flex-wrap: wrap; }
	.sago-cart__actions .coupon { flex-wrap: wrap; flex-basis: 100%; }
	.sago-cart__actions .coupon input.input-text { flex: 1 1 150px; }
	.sago-cart__actions .coupon .coupon-error-notice,
	.sago-cart__actions .coupon .woocommerce-error,
	.sago-cart__actions .coupon p { flex-basis: 100%; order: 5; margin: 2px 0 0; font-size: 13px; color: var(--c-primary); }

	/* M5 — Nút chat nhỏ lại; nâng lên trên thanh mua (trang SP); ẩn khi khách đang gõ ở trang thanh toán. */
	.float-zalo { width: 46px; height: 46px; font-size: 21px; right: 12px; bottom: 14px; }
	body.sago-has-buybar .float-zalo { bottom: 66px; }
	body.woocommerce-checkout:has( input:focus, select:focus, textarea:focus ) .float-zalo,
	body.woocommerce-account:has( input:focus, select:focus, textarea:focus ) .float-zalo { opacity: 0; pointer-events: none; }
	.woocommerce-ordering { width: 100%; }
	.woocommerce-ordering select.orderby { width: 100%; }
	.sago-ty__sum { grid-template-columns: minmax( 0, 1fr ); }
	.sago-ty__btn { flex: 1 1 140px; }
}
@media ( max-width: 768px ) and ( prefers-reduced-motion: reduce ) {
	.float-zalo { animation: none; }
}
