/* Tải Temp Product UI 1.0.0 */
body.single-product {
	--tt-green:#168447;
	--tt-green-2:#20A65A;
	--tt-green-dark:#0F6F39;
	--tt-dark:#173B32;
	--tt-text:#202925;
	--tt-muted:#6E7973;
	--tt-border:#E1E8E4;
	--tt-soft:#F2F9F4;
	--tt-shadow:0 8px 28px rgba(23,59,50,.07);
}

body.single-product .product-main {
	padding-top:24px;
	padding-bottom:24px;
	background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
}

body.single-product .product-main > .row,
body.single-product .product-main .row.content-row {
	max-width:1280px !important;
	margin-left:auto !important;
	margin-right:auto !important;
	align-items:flex-start !important;
}

@media (min-width:850px) {
	body.single-product .product-gallery {
		flex-basis:55% !important;
		max-width:55% !important;
	}
	body.single-product .product-info {
		flex-basis:45% !important;
		max-width:45% !important;
		padding-left:36px !important;
	}
}

/* Gallery */
body.single-product .product-gallery .product-images,
body.single-product .woocommerce-product-gallery {
	border:1px solid var(--tt-border);
	border-radius:14px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 4px 18px rgba(23,59,50,.04);
}

body.single-product .product-gallery .product-thumbnails {
	margin-top:10px;
}

body.single-product .product-gallery .product-thumbnails a,
body.single-product .product-gallery .product-thumbnails .col {
	border-radius:8px;
	overflow:hidden;
}

body.single-product .product-gallery .product-thumbnails a {
	border:1px solid #DFE7E2;
	background:#fff;
}

body.single-product .product-gallery .product-thumbnails .is-nav-selected a,
body.single-product .product-gallery .product-thumbnails a:hover {
	border-color:var(--tt-green);
}

/* Product info */
body.single-product .product-info .breadcrumbs {
	margin-bottom:12px;
	color:#8A948F;
	font-size:11px;
	font-weight:600;
}

body.single-product .product-info .product-title {
	margin:0 0 12px !important;
	color:var(--tt-text);
	font-size:30px !important;
	line-height:1.23 !important;
	font-weight:800 !important;
	letter-spacing:-.45px;
	text-transform:none !important;
}

.tt-product-proof {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px;
	margin:0 0 16px;
	color:#58645E;
	font-size:12px;
	line-height:1.4;
}

.tt-stars {
	position:relative;
	display:inline-block;
	width:74px;
	height:16px;
	line-height:16px;
	letter-spacing:1px;
	font-size:14px;
	white-space:nowrap;
}

.tt-stars-back,
.tt-stars-front {
	position:absolute;
	top:0;
	left:0;
	overflow:hidden;
	white-space:nowrap;
}

.tt-stars-back { color:#DDE3E0; }
.tt-stars-front { color:#F3B51B; }

.tt-product-proof strong {
	color:#334039;
	font-size:12px;
}

.tt-proof-sep { color:#BCC4C0; }

.tt-sold-pill,
.tt-new-pill {
	display:inline-flex;
	align-items:center;
	min-height:25px;
	padding:4px 9px;
	color:#12713C;
	background:#EAF7EE;
	border:1px solid #CBE6D4;
	border-radius:999px;
	font-size:10.5px;
	font-weight:800;
}

.tt-product-benefits {
	margin:0 0 18px !important;
	padding:0 !important;
	list-style:none !important;
}

.tt-product-benefits li {
	margin:0 0 9px;
	display:flex;
	align-items:flex-start;
	gap:9px;
	color:#37423C;
	font-size:13px;
	line-height:1.5;
}

.tt-benefit-check {
	width:20px;
	height:20px;
	flex:0 0 20px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-top:1px;
	color:#fff;
	background:var(--tt-green);
	border-radius:50%;
	font-size:11px;
	font-weight:900;
}

.tt-price-row {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
	margin:6px 0 17px;
	padding:14px 0 0;
	border-top:1px solid #EDF1EF;
}

.tt-price-html .price,
.tt-price-html {
	margin:0 !important;
	display:flex;
	align-items:baseline;
	flex-wrap:wrap;
	gap:8px;
}

body.single-product .tt-price-html del,
body.single-product .tt-price-html del .amount {
	color:#E0524D !important;
	font-size:14px !important;
	font-weight:600 !important;
	opacity:1 !important;
}

body.single-product .tt-price-html ins {
	text-decoration:none !important;
}

body.single-product .tt-price-html ins .amount,
body.single-product .tt-price-html > .amount,
body.single-product .tt-price-html .price > .amount {
	color:var(--tt-green-dark) !important;
	font-size:28px !important;
	font-weight:900 !important;
}

.tt-discount-pill {
	display:inline-flex;
	align-items:center;
	min-height:27px;
	padding:5px 9px;
	color:#fff;
	background:var(--tt-green);
	border-radius:999px;
	font-size:11px;
	font-weight:800;
}

/* Cart */
body.single-product .product-info form.cart {
	margin:0 0 10px !important;
	display:flex !important;
	align-items:stretch;
	flex-wrap:wrap;
	gap:9px;
}

body.single-product .product-info form.cart .quantity {
	margin:0 !important;
	flex:0 0 auto;
}

body.single-product .product-info form.cart .quantity input {
	min-height:46px !important;
}

body.single-product .product-info form.cart .single_add_to_cart_button,
body.single-product .product-info form.cart .tt-buy-now-button {
	min-height:46px !important;
	margin:0 !important;
	padding:10px 16px !important;
	border-radius:8px !important;
	box-shadow:none !important;
	font-size:12px !important;
	line-height:1.1 !important;
	font-weight:800 !important;
	letter-spacing:.1px;
	text-transform:uppercase !important;
}

body.single-product .product-info form.cart .single_add_to_cart_button {
	flex:1 1 160px;
	color:#fff !important;
	background:var(--tt-green) !important;
}

body.single-product .product-info form.cart .tt-buy-now-button {
	flex:1 1 130px;
	color:#fff !important;
	background:var(--tt-dark) !important;
}

body.single-product .product-info form.cart .single_add_to_cart_button:hover {
	background:#11733D !important;
}

body.single-product .product-info form.cart .tt-buy-now-button:hover {
	background:#0E4E3C !important;
}

/* Variable products keep variations full width */
body.single-product .product-info form.variations_form .variations,
body.single-product .product-info form.variations_form .single_variation_wrap {
	flex:0 0 100%;
	width:100%;
}

body.single-product .product-info form.variations_form .woocommerce-variation-add-to-cart {
	display:flex !important;
	flex-wrap:wrap;
	gap:9px;
	align-items:stretch;
}

.tt-buy-guide {
	width:100%;
	min-height:42px;
	margin:4px 0 14px;
	padding:9px 14px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	color:var(--tt-green-dark) !important;
	background:#fff;
	border:1px solid #BFD9C7;
	border-radius:8px;
	font-size:11px;
	font-weight:800;
	text-decoration:none !important;
}

.tt-buy-guide span {
	width:20px;
	height:20px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	background:var(--tt-green);
	border-radius:50%;
	font-size:11px;
}

.tt-buy-guide:hover {
	color:#0C6032 !important;
	background:#F4FBF6;
	border-color:#94CBA7;
}

.tt-trust-strip {
	margin:12px 0 0;
	padding:13px 10px;
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:5px;
	background:#F8FBF9;
	border:1px solid #E4EBE7;
	border-radius:10px;
}

.tt-trust-item {
	min-width:0;
	display:flex;
	align-items:center;
	gap:7px;
	padding:2px 5px;
	color:#44514A;
}

.tt-trust-icon {
	width:28px;
	height:28px;
	flex:0 0 28px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:var(--tt-green);
	background:#EAF7EE;
	border-radius:50%;
	font-size:12px;
	font-weight:900;
}

.tt-trust-item strong,
.tt-trust-item small {
	display:block;
}

.tt-trust-item strong {
	color:#334039;
	font-size:9.5px;
	line-height:1.25;
}

.tt-trust-item small {
	margin-top:2px;
	color:#87908B;
	font-size:8px;
	line-height:1.25;
}

/* Lower layout */
.tt-product-lower {
	width:100%;
	max-width:1280px;
	margin:26px auto 42px;
	padding:0 15px;
	display:grid;
	grid-template-columns:minmax(0,1fr) 300px;
	gap:26px;
	align-items:start;
	box-sizing:border-box;
}

.tt-product-lower-main {
	min-width:0;
}

.tt-product-tabs-nav {
	margin:0 0 16px;
	display:flex;
	align-items:center;
	gap:24px;
	border-bottom:1px solid #E7ECE9;
}

.tt-tab-button {
	position:relative;
	margin:0 !important;
	padding:12px 0 13px !important;
	color:#7D8782 !important;
	background:transparent !important;
	border:0 !important;
	box-shadow:none !important;
	font-size:12px !important;
	line-height:1.2 !important;
	font-weight:800 !important;
	text-transform:uppercase !important;
	cursor:pointer;
}

.tt-tab-button::after {
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:2px;
	background:transparent;
	border-radius:999px;
}

.tt-tab-button.is-active {
	color:var(--tt-green) !important;
}

.tt-tab-button.is-active::after {
	background:var(--tt-green);
}

.tt-product-panels {
	min-width:0;
}

.tt-tab-panel {
	padding:6px 0 0;
}

.tt-tab-panel[hidden] {
	display:none !important;
}

.tt-description-content {
	color:#3F4944;
	font-size:14px;
	line-height:1.75;
}

.tt-description-content h1,
.tt-description-content h2,
.tt-description-content h3,
.tt-description-content h4 {
	color:var(--tt-dark);
	font-weight:800;
}

.tt-description-content img {
	height:auto;
	max-width:100%;
	border-radius:10px;
}

.tt-video-heading {
	margin:0 0 14px;
	display:flex;
	align-items:center;
	gap:11px;
}

.tt-video-icon {
	width:38px;
	height:38px;
	flex:0 0 38px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	background:var(--tt-green);
	border-radius:10px;
	font-size:14px;
}

.tt-video-heading h2 {
	margin:0 0 3px !important;
	color:var(--tt-dark);
	font-size:20px !important;
	font-weight:800;
}

.tt-video-heading p {
	margin:0;
	color:var(--tt-muted);
	font-size:12px;
}

.tt-video-frame {
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	overflow:hidden;
	background:#101615;
	border:1px solid #DDE5E1;
	border-radius:12px;
	box-shadow:0 5px 18px rgba(23,59,50,.06);
}

.tt-video-frame iframe,
.tt-video-frame video {
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	max-width:none !important;
	border:0 !important;
}

/* Sidebar */
.tt-product-sidebar {
	min-width:0;
}

.tt-summary-card,
.tt-related-box {
	background:#fff;
	border:1px solid var(--tt-border);
	border-radius:12px;
	box-shadow:0 5px 20px rgba(23,59,50,.045);
}

.tt-summary-card {
	padding:17px;
}

.tt-summary-card h3,
.tt-related-heading h3 {
	margin:0 !important;
	color:var(--tt-dark);
	font-size:12px !important;
	line-height:1.3;
	font-weight:800 !important;
	text-transform:uppercase;
}

.tt-summary-card dl {
	margin:13px 0 0;
}

.tt-summary-card dl > div {
	padding:9px 0;
	display:grid;
	grid-template-columns:78px 1fr;
	gap:9px;
	border-bottom:1px solid #EDF1EF;
}

.tt-summary-card dl > div:last-child {
	border-bottom:0;
}

.tt-summary-card dt,
.tt-summary-card dd {
	margin:0;
	font-size:10px;
	line-height:1.45;
}

.tt-summary-card dt {
	color:#89928D;
	font-weight:600;
}

.tt-summary-card dd {
	color:#344039;
	font-weight:700;
}

.tt-summary-note {
	margin-top:11px;
	padding:9px 10px;
	color:#56635D;
	background:#F7FAF8;
	border-radius:8px;
	font-size:10px;
	line-height:1.5;
}

.tt-support-commitment {
	margin-top:13px;
	padding:11px;
	display:flex;
	gap:9px;
	color:#466053;
	background:#EEF9F1;
	border:1px solid #CAE6D2;
	border-radius:9px;
}

.tt-support-commitment > span {
	width:25px;
	height:25px;
	flex:0 0 25px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	background:var(--tt-green);
	border-radius:50%;
	font-size:12px;
	font-weight:900;
}

.tt-support-commitment strong {
	display:block;
	margin-bottom:2px;
	color:var(--tt-green-dark);
	font-size:10px;
}

.tt-support-commitment p {
	margin:0;
	color:#617067;
	font-size:9px;
	line-height:1.45;
}

.tt-related-box {
	margin-top:14px;
	padding:15px;
}

.tt-related-heading {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:9px;
}

.tt-related-heading a {
	color:var(--tt-green) !important;
	font-size:9px;
	font-weight:700;
	text-decoration:none !important;
	white-space:nowrap;
}

.tt-related-item {
	padding:9px 0;
	display:grid;
	grid-template-columns:68px minmax(0,1fr);
	gap:10px;
	align-items:center;
	color:inherit !important;
	border-bottom:1px solid #EDF1EF;
	text-decoration:none !important;
}

.tt-related-item:last-child {
	border-bottom:0;
}

.tt-related-thumb {
	width:68px;
	height:49px;
	overflow:hidden;
	background:#F2F5F3;
	border:1px solid #E2E8E5;
	border-radius:7px;
}

.tt-related-thumb img {
	width:100%;
	height:100%;
	object-fit:cover;
}

.tt-related-info {
	min-width:0;
}

.tt-related-info strong {
	overflow:hidden;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	color:#334039;
	font-size:9.5px;
	line-height:1.35;
	font-weight:700;
}

.tt-related-price {
	display:block;
	margin-top:4px;
}

.tt-related-price .amount {
	color:var(--tt-green-dark) !important;
	font-size:10px !important;
	font-weight:800 !important;
}

.tt-related-price del .amount {
	color:#A5ADA9 !important;
	font-size:8px !important;
}

/* Tablet */
@media (max-width:1024px) {
	.tt-trust-strip {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.tt-product-lower {
		grid-template-columns:minmax(0,1fr) 270px;
		gap:18px;
	}
}

/* Mobile + tablet portrait */
@media (max-width:849px) {
	body.single-product .product-gallery,
	body.single-product .product-info {
		flex-basis:100% !important;
		max-width:100% !important;
		padding-left:15px !important;
		padding-right:15px !important;
	}

	body.single-product .product-info {
		padding-top:20px !important;
	}

	body.single-product .product-info .product-title {
		font-size:24px !important;
	}

	.tt-buy-guide {
		display:none !important;
	}

	.tt-product-lower {
		grid-template-columns:1fr;
		gap:20px;
		padding-left:15px;
		padding-right:15px;
	}

	.tt-product-sidebar {
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:12px;
	}

	.tt-related-box {
		margin-top:0;
	}
}

/* Mobile */
@media (max-width:549px) {
	body.single-product .product-main {
		padding-top:12px;
	}

	body.single-product .product-info .breadcrumbs {
		font-size:9px;
	}

	body.single-product .product-info .product-title {
		font-size:20px !important;
		line-height:1.28 !important;
	}

	.tt-product-proof {
		gap:5px;
		font-size:10.5px;
	}

	.tt-stars {
		width:66px;
		font-size:12.5px;
	}

	.tt-product-benefits li {
		margin-bottom:7px;
		font-size:11.5px;
	}

	body.single-product .tt-price-html ins .amount,
	body.single-product .tt-price-html > .amount,
	body.single-product .tt-price-html .price > .amount {
		font-size:23px !important;
	}

	body.single-product .product-info form.cart .quantity {
		flex:0 0 100%;
	}

	body.single-product .product-info form.cart .quantity .buttons_added {
		width:100%;
	}

	body.single-product .product-info form.cart .single_add_to_cart_button,
	body.single-product .product-info form.cart .tt-buy-now-button {
		flex:1 1 calc(50% - 5px);
		min-height:44px !important;
		padding:9px 8px !important;
		font-size:10.5px !important;
	}

	.tt-trust-strip {
		margin-top:10px;
		padding:9px 7px;
		grid-template-columns:1fr 1fr;
		gap:7px;
	}

	.tt-trust-item {
		padding:3px 2px;
	}

	.tt-trust-icon {
		width:25px;
		height:25px;
		flex-basis:25px;
	}

	.tt-trust-item strong {
		font-size:8.5px;
	}
	.tt-trust-item small {
		font-size:7.5px;
	}

	.tt-product-lower {
		margin-top:18px;
		margin-bottom:28px;
		padding-left:12px;
		padding-right:12px;
	}

	.tt-product-tabs-nav {
		gap:18px;
		overflow-x:auto;
	}

	.tt-tab-button {
		flex:0 0 auto;
		font-size:10.5px !important;
	}

	.tt-description-content {
		font-size:12.5px;
		line-height:1.7;
	}

	.tt-product-sidebar {
		grid-template-columns:1fr;
	}

	.tt-video-heading h2 {
		font-size:17px !important;
	}
}

/* ===== Tải Temp Product UI v1.1 refinements ===== */
body.single-product .product-info .product-title {
	font-size: 35px !important;
	line-height: 1.2 !important;
	margin-bottom: 14px !important;
}

.tt-product-proof {
	font-size: 14px;
	gap: 9px;
	margin-bottom: 18px;
}

.tt-product-proof strong,
.tt-product-proof span {
	font-size: 14px;
}

.tt-sold-pill,
.tt-new-pill {
	font-size: 11.5px;
	padding: 5px 10px;
}

.tt-product-benefits li {
	font-size: 14px;
	line-height: 1.6;
}

.tt-benefit-check {
	width: 22px;
	height: 22px;
	flex-basis: 22px;
	font-size: 12px;
}

.tt-top-video-cta {
	margin: 0 0 18px;
	padding: 12px 14px;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #fff !important;
	background: linear-gradient(135deg, var(--tt-green-dark) 0%, var(--tt-green-2) 100%);
	border-radius: 12px;
	box-shadow: 0 10px 26px rgba(22, 132, 71, .18);
	text-decoration: none !important;
	position: relative;
	overflow: hidden;
}

.tt-top-video-cta::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
	transform: translateX(-120%);
	animation: ttShine 2.8s linear infinite;
}

.tt-top-video-cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 30px rgba(22, 132, 71, .24);
}

.tt-top-video-icon {
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	border-radius: 50%;
	background: rgba(255,255,255,.16);
	backdrop-filter: blur(4px);
	box-shadow: 0 0 0 0 rgba(255,255,255,.4);
	animation: ttPulse 1.8s infinite;
}

.tt-top-video-text {
	display: block;
	position: relative;
	z-index: 1;
}

.tt-top-video-text strong,
.tt-top-video-text small {
	display: block;
	color: #fff;
}

.tt-top-video-text strong {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .2px;
}

.tt-top-video-text small {
	margin-top: 2px;
	font-size: 11px;
	line-height: 1.45;
	opacity: .92;
}

.tt-price-row {
	margin-top: 8px;
}

body.single-product .tt-price-html del,
body.single-product .tt-price-html del .amount {
	font-size: 16px !important;
}

body.single-product .tt-price-html ins .amount,
body.single-product .tt-price-html > .amount,
body.single-product .tt-price-html .price > .amount {
	font-size: 36px !important;
}

.tt-discount-pill {
	font-size: 12px;
	padding: 6px 11px;
}

body.single-product .product-info form.cart .single_add_to_cart_button,
body.single-product .product-info form.cart .tt-buy-now-button {
	font-size: 13px !important;
	min-height: 48px !important;
}

.tt-buy-guide {
	font-size: 12px;
}

.tt-trust-strip {
	padding: 14px 12px;
}

.tt-trust-item strong {
	font-size: 10.5px;
}

.tt-trust-item small {
	font-size: 9px;
}

.tt-product-lower {
	grid-template-columns: minmax(0,1fr) 360px;
	gap: 30px;
}

.tt-tab-button {
	font-size: 13px !important;
}

.tt-tab-button-video {
	padding-left: 14px !important;
	padding-right: 14px !important;
	border-radius: 999px !important;
	background: #ECFBF2 !important;
	border: 1px solid #CBE8D3 !important;
	color: var(--tt-green-dark) !important;
	animation: ttSoftPulse 1.8s ease-in-out infinite;
}

.tt-tab-button-video.is-active {
	background: linear-gradient(135deg, #178C4B 0%, #23AE60 100%) !important;
	color: #fff !important;
	border-color: transparent !important;
}

.tt-tab-button-video.is-active::after {
	display: none;
}

.tt-description-shell.is-collapsible {
	position: relative;
}

.tt-description-collapsible {
	position: relative;
	transition: max-height .35s ease;
}

.tt-description-collapsible.is-collapsed {
	max-height: 620px;
	overflow: hidden;
}

.tt-description-collapsible.is-collapsed::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 110px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 84%);
}

.tt-description-toggle {
	margin-top: 14px !important;
	padding: 10px 18px !important;
	color: var(--tt-green-dark) !important;
	background: #F5FBF7 !important;
	border: 1px solid #CBE5D4 !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

.tt-description-toggle:hover {
	background: #EBF7EF !important;
}

.tt-video-heading {
	margin-bottom: 16px;
	padding: 16px 18px;
	background: linear-gradient(180deg, #F5FCF7 0%, #FFFFFF 100%);
	border: 1px solid #DAEDE1;
	border-radius: 14px;
}

.tt-video-icon {
	width: 48px;
	height: 48px;
	flex-basis: 48px;
	font-size: 18px;
	animation: ttPulse 1.8s infinite;
}

.tt-video-heading h2 {
	font-size: 28px !important;
}

.tt-video-heading p {
	font-size: 13px;
}

.tt-video-frame {
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(23,59,50,.08);
}

.tt-summary-card {
	padding: 21px;
}

.tt-summary-card h3,
.tt-related-heading h3 {
	font-size: 20px !important;
}

.tt-summary-card dl > div {
	grid-template-columns: 110px 1fr;
	padding: 12px 0;
}

.tt-summary-card dt,
.tt-summary-card dd {
	font-size: 14px;
	line-height: 1.55;
}

.tt-summary-card dd {
	font-weight: 800;
}

.tt-summary-note {
	font-size: 13px;
	padding: 12px 13px;
}

.tt-support-commitment {
	padding: 14px;
	gap: 11px;
}

.tt-support-commitment strong {
	font-size: 13px;
}

.tt-support-commitment p {
	font-size: 12px;
}

.tt-related-box {
	padding: 18px;
}

.tt-related-heading a {
	font-size: 12px;
}

.tt-related-item {
	grid-template-columns: 84px minmax(0,1fr);
	gap: 12px;
	padding: 11px 0;
}

.tt-related-thumb {
	width: 84px;
	height: 62px;
}

.tt-related-info strong {
	font-size: 13px;
}

.tt-related-price .amount {
	font-size: 16px !important;
}

.tt-related-price del .amount {
	font-size: 11px !important;
}

@keyframes ttPulse {
	0% { box-shadow: 0 0 0 0 rgba(255,255,255,.45); }
	70% { box-shadow: 0 0 0 14px rgba(255,255,255,0); }
	100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

@keyframes ttSoftPulse {
	0%, 100% { transform: translateY(0); box-shadow: 0 0 0 0 rgba(22,132,71,0); }
	50% { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(22,132,71,.12); }
}

@keyframes ttShine {
	0% { transform: translateX(-120%); }
	55%, 100% { transform: translateX(120%); }
}

@media (max-width: 1024px) {
	.tt-product-lower {
		grid-template-columns: minmax(0,1fr) 320px;
	}
	.tt-summary-card h3,
	.tt-related-heading h3 {
		font-size: 17px !important;
	}
	.tt-summary-card dt,
	.tt-summary-card dd {
		font-size: 13px;
	}
}

@media (max-width: 849px) {
	body.single-product .product-info .product-title {
		font-size: 28px !important;
	}
	.tt-top-video-cta {
		margin-bottom: 14px;
	}
	.tt-product-proof,
	.tt-product-proof strong,
	.tt-product-proof span {
		font-size: 12px;
	}
	.tt-product-benefits li {
		font-size: 13px;
	}
	.tt-product-lower {
		grid-template-columns: 1fr;
	}
	.tt-product-sidebar {
		grid-template-columns: 1fr 1fr;
	}
	.tt-video-heading h2 {
		font-size: 22px !important;
	}
}

@media (max-width: 549px) {
	body.single-product .product-info .product-title {
		font-size: 22px !important;
	}
	.tt-top-video-cta {
		padding: 11px 12px;
	}
	.tt-top-video-text strong {
		font-size: 12px;
	}
	.tt-top-video-text small {
		font-size: 10px;
	}
	body.single-product .tt-price-html ins .amount,
	body.single-product .tt-price-html > .amount,
	body.single-product .tt-price-html .price > .amount {
		font-size: 28px !important;
	}
	.tt-tab-button,
	.tt-tab-button-video {
		font-size: 11px !important;
	}
	.tt-description-collapsible.is-collapsed {
		max-height: 520px;
	}
	.tt-summary-card {
		padding: 16px;
	}
	.tt-summary-card h3,
	.tt-related-heading h3 {
		font-size: 16px !important;
	}
	.tt-summary-card dl > div {
		grid-template-columns: 90px 1fr;
	}
	.tt-summary-card dt,
	.tt-summary-card dd {
		font-size: 12px;
	}
	.tt-related-item {
		grid-template-columns: 74px minmax(0,1fr);
	}
	.tt-related-thumb {
		width: 74px;
		height: 54px;
	}
	.tt-related-info strong {
		font-size: 12px;
	}
}

/* =========================================================
   TẢI TEMP PRODUCT UI V1.2 - FINAL OVERRIDES
   - Chỉ giữ nút MUA NGAY full-width đang có sẵn trên site
   - Video HDSD có fallback link + nổi bật hơn
   - Mô tả thu gọn mạnh hơn
   - Tóm tắt / sản phẩm liên quan to, không cắt chữ
   - Trust cards 2 cột để chữ không bị bó
========================================================= */

/* Nút MUA NGAY #2: JS tự gắn class này vào nút hiện có */
body.single-product .product-info .tt-existing-buy-now {
	width: 100% !important;
	min-height: 50px !important;
	margin: 8px 0 10px !important;
	padding: 12px 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #fff !important;
	background: #173B32 !important;
	border: 0 !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	font-size: 13px !important;
	line-height: 1.1 !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

body.single-product .product-info .tt-existing-buy-now:hover {
	background: #0E4E3C !important;
	color: #fff !important;
}

body.single-product .product-info .tt-existing-buy-now.is-loading {
	opacity: .72;
	pointer-events: none;
}

/* Hero text rõ hơn */
body.single-product .product-info .product-title {
	font-size: 34px !important;
	line-height: 1.22 !important;
}

.tt-product-proof,
.tt-product-proof strong,
.tt-product-proof > span:not(.tt-stars) {
	font-size: 14px !important;
}

.tt-product-benefits li {
	font-size: 15px !important;
	line-height: 1.55 !important;
}

/* Trust strip: 2 x 2 thay vì 4 cột chật */
.tt-trust-strip {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 9px !important;
	padding: 11px !important;
}

.tt-trust-item {
	min-height: 58px !important;
	padding: 8px 10px !important;
	gap: 10px !important;
	background: #fff !important;
	border: 1px solid #E7EEE9 !important;
	border-radius: 9px !important;
}

.tt-trust-icon {
	width: 32px !important;
	height: 32px !important;
	flex-basis: 32px !important;
	font-size: 13px !important;
}

.tt-trust-item strong {
	font-size: 12px !important;
	line-height: 1.35 !important;
	white-space: normal !important;
}

.tt-trust-item small {
	font-size: 10.5px !important;
	line-height: 1.35 !important;
	white-space: normal !important;
}

/* Tab là link thật nên vẫn hoạt động khi JS bị defer */
.tt-tab-button {
	text-decoration: none !important;
}

.tt-tab-button-video {
	font-size: 13px !important;
	font-weight: 900 !important;
}

/* Mô tả chỉ hiện đoạn đầu ngắn */
.tt-description-collapsible.is-collapsed {
	max-height: 300px !important;
	overflow: hidden !important;
}

.tt-description-collapsible.is-collapsed::after {
	height: 120px !important;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 88%) !important;
}

.tt-description-toggle {
	min-width: 132px !important;
	font-size: 13px !important;
}

/* Lower layout: sidebar rộng hơn */
.tt-product-lower {
	grid-template-columns: minmax(0, 1fr) 430px !important;
	gap: 34px !important;
}

/* Tóm tắt sản phẩm */
.tt-summary-card {
	padding: 26px !important;
	border-radius: 16px !important;
}

.tt-summary-card h3 {
	font-size: 19px !important;
	line-height: 1.3 !important;
	margin-bottom: 15px !important;
}

.tt-summary-card dl > div {
	grid-template-columns: 118px minmax(0, 1fr) !important;
	gap: 14px !important;
	padding: 14px 0 !important;
	align-items: start !important;
}

.tt-summary-card dt {
	font-size: 13px !important;
	line-height: 1.5 !important;
	font-weight: 700 !important;
	white-space: normal !important;
}

.tt-summary-card dd {
	min-width: 0 !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
	font-weight: 700 !important;
	white-space: normal !important;
	overflow: visible !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
	text-transform: none !important;
}

.tt-summary-note {
	font-size: 13px !important;
	line-height: 1.55 !important;
}

.tt-support-commitment {
	padding: 16px !important;
}

.tt-support-commitment strong {
	font-size: 14px !important;
}

.tt-support-commitment p {
	font-size: 12.5px !important;
	line-height: 1.5 !important;
}

/* Related products: ảnh gần gấp đôi + tên không clamp */
.tt-related-box {
	padding: 22px !important;
	border-radius: 16px !important;
}

.tt-related-heading {
	margin-bottom: 12px !important;
}

.tt-related-heading h3 {
	font-size: 18px !important;
}

.tt-related-heading a {
	font-size: 12px !important;
}

.tt-related-item {
	grid-template-columns: 150px minmax(0, 1fr) !important;
	gap: 15px !important;
	padding: 14px 0 !important;
	align-items: start !important;
}

.tt-related-thumb {
	width: 150px !important;
	height: 105px !important;
	border-radius: 9px !important;
}

.tt-related-info strong {
	display: block !important;
	overflow: visible !important;
	-webkit-line-clamp: unset !important;
	-webkit-box-orient: initial !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	font-weight: 700 !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

.tt-related-price {
	margin-top: 7px !important;
}

.tt-related-price .amount {
	font-size: 16px !important;
}

.tt-related-price del .amount {
	font-size: 12px !important;
}

/* Video */
.tt-top-video-cta {
	border: 1px solid rgba(255,255,255,.12) !important;
}

.tt-video-heading h2 {
	font-size: 25px !important;
}

.tt-video-frame {
	aspect-ratio: 16 / 9 !important;
}

@media (max-width: 1180px) {
	.tt-product-lower {
		grid-template-columns: minmax(0, 1fr) 380px !important;
		gap: 24px !important;
	}

	.tt-related-item {
		grid-template-columns: 125px minmax(0, 1fr) !important;
	}

	.tt-related-thumb {
		width: 125px !important;
		height: 88px !important;
	}
}

@media (max-width: 849px) {
	.tt-product-lower {
		grid-template-columns: 1fr !important;
	}

	.tt-product-sidebar {
		grid-template-columns: 1fr !important;
	}

	.tt-description-collapsible.is-collapsed {
		max-height: 260px !important;
	}

	.tt-summary-card,
	.tt-related-box {
		max-width: 100% !important;
	}
}

@media (max-width: 549px) {
	body.single-product .product-info .product-title {
		font-size: 22px !important;
	}

	.tt-product-benefits li {
		font-size: 13px !important;
	}

	.tt-trust-strip {
		grid-template-columns: 1fr !important;
	}

	.tt-trust-item {
		min-height: 54px !important;
	}

	.tt-description-collapsible.is-collapsed {
		max-height: 230px !important;
	}

	.tt-summary-card {
		padding: 18px !important;
	}

	.tt-summary-card dl > div {
		grid-template-columns: 92px minmax(0,1fr) !important;
		gap: 10px !important;
	}

	.tt-summary-card dt {
		font-size: 11.5px !important;
	}

	.tt-summary-card dd {
		font-size: 13px !important;
	}

	.tt-related-item {
		grid-template-columns: 110px minmax(0,1fr) !important;
		gap: 12px !important;
	}

	.tt-related-thumb {
		width: 110px !important;
		height: 78px !important;
	}

	.tt-related-info strong {
		font-size: 12.5px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tt-top-video-cta::after,
	.tt-top-video-icon,
	.tt-tab-button-video {
		animation: none !important;
	}
}


/* =========================================================
   TẢI TEMP PRODUCT UI V1.5 - MOBILE BUY UX
   - Hướng dẫn mua nằm cạnh khu mua chính, không còn popup nổi
   - Thanh mua nhanh chỉ xuất hiện sau khi đã cuộn qua khu mua chính
   - Giỏ hàng = icon, Mua ngay = icon + chữ trên cùng một hàng
========================================================= */

.tt-hide-legacy-guide-popup {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.tt-mobile-sticky-buybar {
	display: none;
}

@media (max-width: 849px) {
	/* V1.0 từng ẩn nút này trên mobile. V1.5 hiển thị lại ngay dưới khu mua. */
	body.single-product .product-info .tt-buy-guide,
	body.single-product .tt-buy-guide {
		display: flex !important;
		position: static !important;
		width: 100% !important;
		min-height: 44px !important;
		margin: 8px 0 12px !important;
		padding: 10px 14px !important;
		z-index: auto !important;
		box-shadow: none !important;
	}

	body.single-product {
		padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
	}

	.tt-mobile-sticky-buybar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9998;
		display: flex;
		align-items: center;
		gap: 9px;
		padding: 9px max(12px, env(safe-area-inset-left, 0px)) calc(9px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
		background: rgba(255,255,255,.97);
		border-top: 1px solid #DDE8E1;
		box-shadow: 0 -8px 26px rgba(23,59,50,.12);
		transform: translateY(115%);
		opacity: 0;
		pointer-events: none;
		transition: transform .22s ease, opacity .18s ease;
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}

	.tt-mobile-sticky-buybar.is-visible {
		transform: translateY(0);
		opacity: 1;
		pointer-events: auto;
	}

	.tt-mobile-sticky-cart,
	.tt-mobile-sticky-buy {
		margin: 0 !important;
		min-height: 50px !important;
		border-radius: 11px !important;
		box-shadow: none !important;
		font-weight: 800 !important;
		cursor: pointer;
	}

	.tt-mobile-sticky-cart {
		width: 54px;
		min-width: 54px !important;
		flex: 0 0 54px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0 !important;
		color: #168447 !important;
		background: #EEF9F2 !important;
		border: 1px solid #BFDCC9 !important;
	}

	.tt-mobile-sticky-buy {
		flex: 1 1 auto;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 10px 18px !important;
		color: #fff !important;
		background: #173B32 !important;
		border: 1px solid #173B32 !important;
		font-size: 13px !important;
		letter-spacing: .15px;
		text-transform: uppercase !important;
	}

	.tt-mobile-sticky-cart svg,
	.tt-mobile-sticky-buy svg {
		width: 21px;
		height: 21px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.9;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.tt-mobile-sticky-buy svg {
		width: 18px;
		height: 18px;
		fill: currentColor;
		stroke: none;
	}

	.tt-mobile-sticky-cart:active,
	.tt-mobile-sticky-buy:active {
		transform: translateY(1px);
	}

	.tt-mobile-sticky-buybar.is-loading .tt-mobile-sticky-buy,
	.tt-mobile-sticky-cart.is-loading {
		opacity: .65;
		pointer-events: none;
	}
}

@media (max-width: 549px) {
	body.single-product .product-info .tt-buy-guide,
	body.single-product .tt-buy-guide {
		font-size: 11.5px !important;
	}

	.tt-mobile-sticky-buybar {
		gap: 8px;
		padding-top: 8px;
	}

	.tt-mobile-sticky-cart,
	.tt-mobile-sticky-buy {
		min-height: 48px !important;
	}

	.tt-mobile-sticky-cart {
		width: 50px;
		min-width: 50px !important;
		flex-basis: 50px;
	}

	.tt-mobile-sticky-buy {
		font-size: 12px !important;
	}
}


/* =========================================================
   TẢI TEMP PRODUCT UI V1.6 - BUY NOW ANTI-FLASH
   Nút MUA NGAY có sẵn trên site được giữ ẩn trong vài mili-giây
   cho tới khi plugin gắn class/style/xử lý hoàn chỉnh.
========================================================= */
body.single-product .product-info .tt-buy-now-preparing {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: none !important;
}

body.single-product .product-info .tt-existing-buy-now {
	visibility: visible !important;
	opacity: 1 !important;
}


/* =========================================================
   V1.7 - YOUTUBE THUMBNAIL NÉT, KHÔNG LOAD IFRAME TRƯỚC
========================================================= */
.tt-video-frame .tt-youtube-player,
.tt-video-frame .tt-youtube-cover {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
}

.tt-video-frame .tt-youtube-player {
	background:#0E1412;
}

.tt-video-frame .tt-youtube-cover {
	margin:0 !important;
	padding:0 !important;
	display:block !important;
	overflow:hidden;
	background:#0E1412 !important;
	border:0 !important;
	border-radius:0 !important;
	box-shadow:none !important;
	cursor:pointer;
}

.tt-video-frame .tt-youtube-thumbnail {
	position:absolute;
	inset:0;
	width:100% !important;
	height:100% !important;
	max-width:none !important;
	object-fit:cover !important;
	object-position:center center;
	transform:scale(1.002);
}

.tt-video-frame .tt-youtube-shade {
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(0,0,0,.03) 45%,rgba(0,0,0,.36) 100%);
	pointer-events:none;
}

.tt-video-frame .tt-youtube-play {
	position:absolute;
	left:50%;
	top:50%;
	width:74px;
	height:52px;
	transform:translate(-50%,-50%);
	display:flex;
	align-items:center;
	justify-content:center;
	padding-left:4px;
	color:#fff;
	background:#FF0033;
	border-radius:15px;
	box-shadow:0 8px 26px rgba(0,0,0,.28);
	font-size:23px;
	line-height:1;
	transition:transform .18s ease, box-shadow .18s ease;
}

.tt-video-frame .tt-youtube-cover:hover .tt-youtube-play {
	transform:translate(-50%,-50%) scale(1.06);
	box-shadow:0 12px 32px rgba(0,0,0,.34);
}

.tt-video-frame .tt-youtube-label {
	position:absolute;
	left:16px;
	bottom:14px;
	padding:6px 10px;
	color:#fff;
	background:rgba(0,0,0,.58);
	border:1px solid rgba(255,255,255,.14);
	border-radius:999px;
	font-size:12px;
	line-height:1.2;
	font-weight:700;
	backdrop-filter:blur(5px);
}

.tt-video-frame .tt-youtube-player.is-playing iframe {
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	border:0 !important;
}

@media (max-width:549px) {
	.tt-video-frame .tt-youtube-play {
		width:60px;
		height:43px;
		border-radius:12px;
		font-size:19px;
	}
	.tt-video-frame .tt-youtube-label {
		left:10px;
		bottom:9px;
		padding:5px 8px;
		font-size:10px;
	}
}
