.ux-single-product{
	--ux-primary:#c18a65;
	--ux-primary-dark:#a97452;
	--ux-text:#5c4636;
	--ux-muted:#8a7463;
	--ux-bg:#fdf8f4;
	padding:60px 0;
}

.ux-single-product__top{
	display:grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap:32px;
	max-width: 1620px;
	align-items:start;
	margin: 0 auto;
}
.ux-custom-related{
	max-width: 1620px;
	margin: 0 auto;
}
.ux-sp-gallery,
.ux-sp-summary-card,
.ux-sp-content-card{
	background:#fff;
	border-radius:28px;
	max-width: 1620px;
    margin: 30px auto;
	box-shadow:0 18px 42px rgba(193,138,101,.10);
	border:1px solid rgba(193,138,101,.08);
}
.ux-sp-gallery, .ux-sp-summary-card {
	margin-top: 0 !important;
}
.ux-sp-gallery{
	display:grid;
	grid-template-columns: 96px 1fr;
	gap:18px;
	padding:20px;
}

.ux-sp-gallery__thumbs{
	display:flex;
	flex-direction:column;
	gap:12px;
}

.ux-sp-gallery__thumb{
	border:1px solid rgba(193,138,101,.18);
	background:#fff;
	border-radius:16px;
	padding:6px;
	margin: 0 !important;
	cursor:pointer;
	transition:.25s ease;
}

.ux-sp-gallery__thumb.is-active,
.ux-sp-gallery__thumb:hover{
	border-color:var(--ux-primary);
	box-shadow:0 8px 20px rgba(193,138,101,.14);
	transform:translateY(-2px);
}

.ux-sp-gallery__thumb img{
	width:100%;
	height:auto;
	object-fit:cover;
	border-radius:12px;
	display:block;
}

.ux-sp-gallery__main{
	background:linear-gradient(180deg,#fff,#fdf8f4);
	border-radius:22px;
	padding:18px;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:560px;
}

.ux-sp-gallery__main img{
	max-width:100%;
	max-height:520px;
	object-fit:contain;
	display:block;
	transition:.35s ease;
}

.ux-sp-summary-card{
	padding:24px;
	position:sticky;
	top:20px;
}

.ux-sp-breadcrumb{
	margin-bottom:14px;
	font-size:13px;
	color:var(--ux-muted);
}

.ux-sp-title{
	margin:0 0 14px;
	font-size:34px;
	line-height:1.25;
	font-weight:800;
	color:var(--ux-text);
}

.ux-sp-short-desc{
	color:var(--ux-muted);
	font-size:15px;
	line-height:1.75;
	margin-bottom:18px;
}

.ux-sp-price{
	margin-bottom:14px;
}

.ux-sp-price .price{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
}

.ux-sp-price ins,
.ux-sp-price .amount{
	font-size:30px;
	font-weight:800;
	color:var(--ux-primary);
	text-decoration:none;
}

.ux-sp-price del .amount{
	font-size:16px;
	color:#b9b9b9;
	font-weight:500;
}

.ux-sp-stock{
	display:inline-flex;
	height:34px;
	padding:0 14px;
	align-items:center;
	border-radius:999px;
	font-size:13px;
	font-weight:700;
	margin-bottom:18px;
}

.ux-sp-stock.in-stock{
	background:rgba(35,166,97,.10);
	color:#23a661;
}

.ux-sp-stock.out-stock{
	background:rgba(211,47,47,.10);
	color:#d32f2f;
}

.ux-sp-cart-box{
	padding:18px;
	width: max-content;
	border-radius:22px;
	background:linear-gradient(180deg,#fffaf7,#fdf8f4);
	border:1px solid rgba(193,138,101,.12);
	margin-bottom:18px;
}

/* Simple product */
.ux-sp-cart-box form.cart{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	align-items:center;
	margin:0;
}

/* Quantity */
.ux-sp-cart-box .quantity{
	display:flex;
	align-items:center;
	border:1px solid rgba(193,138,101,.22);
	border-radius:999px;
	overflow:hidden;
	height:50px;
	background:#fff;
}

.ux-sp-cart-box .quantity input.qty{
	width:72px;
	height:50px;
	border:0;
	text-align:center;
	font-weight:700;
	color:var(--ux-text);
	background:transparent;
}

/* Buttons */
.ux-sp-cart-box .single_add_to_cart_button,
.ux-sp-cart-box button.single_add_to_cart_button{
	height:52px;
	padding:0 26px;
	border:0;
	border-radius:999px !important;
	background:linear-gradient(90deg,var(--ux-primary),#d9a88a) !important;
	color:#fff !important;
	font-size:15px;
	font-weight:800;
	box-shadow:0 14px 30px rgba(193,138,101,.20);
	transition:.25s ease;
}

.ux-sp-cart-box .single_add_to_cart_button:hover{
	transform:translateY(-2px);
	background:linear-gradient(90deg,var(--ux-primary-dark),var(--ux-primary)) !important;
}

/* Variable product */
.ux-sp-cart-box table.variations{
	margin:0 0 16px;
	border:0;
	width:100%;
}

.ux-sp-cart-box table.variations td,
.ux-sp-cart-box table.variations th{
	border:0;
	padding:8px 0;
	vertical-align:middle;
}

.ux-sp-cart-box table.variations label{
	font-size:14px;
	font-weight:700;
	color:var(--ux-text);
}

.ux-sp-cart-box table.variations select{
	width:100%;
	height:48px;
	border:1px solid rgba(193,138,101,.22);
	border-radius:14px;
	padding:0 14px;
	background:#fff;
	color:var(--ux-text);
	outline:none;
}

.ux-sp-cart-box .reset_variations{
	font-size:13px;
	color:var(--ux-primary-dark);
}

.ux-sp-meta{
	display:grid;
	gap:8px;
	font-size:14px;
	line-height:1.6;
	color:var(--ux-text);
	margin-bottom:18px;
}

.ux-sp-promo{
	border-radius:22px;
	background:#fffaf7;
	border:1px dashed rgba(193,138,101,.32);
	padding:18px;
}

.ux-sp-promo__title{
	font-size:18px;
	font-weight:800;
	color:var(--ux-primary);
	margin-bottom:10px;
}

.ux-sp-promo__content{
	font-size:14px;
	line-height:1.75;
	color:var(--ux-text);
}

.ux-sp-content-card{
	padding:28px;
}

.ux-sp-content-title{
	margin:0 0 18px;
	font-size:26px;
	font-weight:800;
	color:var(--ux-primary);
}

.ux-sp-content-body{
	font-size:15px;
	line-height:1.85;
	color:var(--ux-text);
}

.ux-sp-content-body h1,
.ux-sp-content-body h2,
.ux-sp-content-body h3,
.ux-sp-content-body h4{
	color:var(--ux-text);
}

.ux-related-wrap{
	margin-top:36px;
}

.ux-related-wrap .related > h2{
	text-align:center;
	font-size:28px;
	font-weight:800;
	color:var(--ux-primary);
	margin-bottom:20px;
}

@media (max-width: 991px){
	.ux-single-product__top{
		grid-template-columns:1fr;
	}

	.ux-sp-summary-card{
		position:static;
	}

	.ux-sp-gallery{
		grid-template-columns:1fr;
		padding: 10px;
	}

	.ux-sp-gallery__thumbs{
		order:2;
		flex-direction:row;
		overflow:auto;
	}

	.ux-sp-gallery__thumb{
		flex:0 0 84px;
	}

	.ux-sp-gallery__main{
		min-height:420px;
	}
}

@media (max-width: 767px){
	.ux-single-product{
		padding:40px 0;
	}

	.ux-sp-title{
		font-size:26px;
	}

	.ux-sp-price ins,
	.ux-sp-price .amount{
		font-size:24px;
	}

	.ux-sp-content-card,
	.ux-sp-summary-card,
	.ux-sp-gallery{
		border-radius:10px;
		margin-bottom: 0;
	}

	.ux-sp-gallery__main{
		min-height:320px;
		padding: 0;
        border-radius: 10px;
	}
	.ux-sp-gallery__main img {
		border-radius: 10px;
	}
	.ux-sp-cart-box form.cart{
		flex-direction:column;
		align-items:stretch;
	}

	.ux-sp-cart-box .quantity{
		width:100%;
		justify-content:center;
	}
}
.ux-sp-cart-box .ux-quantity__button {
	height: 50px;
	width: 50px;
	border: unset !important;
	background-color: var(--fs-color-secondary);
}
/* Ẩn dropdown mặc định nhưng vẫn giữ để Woo xử lý */
.ux-sp-cart-box table.variations{
	display: none !important;
}

/* Radio variations */
.ux-variation-radios-wrap{
	display: grid;
	gap: 18px;
	margin-bottom: 18px;
}

.ux-variation-group{
	display: grid;
	gap: 10px;
}

.ux-variation-group__label{
	font-size: 15px;
	font-weight: 800;
	color: var(--ux-text);
}

.ux-variation-group__options{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ux-variation-radio{
	position: relative;
	display: inline-flex;
	cursor: pointer;
}

.ux-variation-radio input{
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ux-variation-radio span{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1px solid rgba(193,138,101,.22);
	background: #fff;
	color: var(--ux-text);
	font-size: 14px;
	font-weight: 700;
	transition: .25s ease;
	box-shadow: 0 6px 18px rgba(193,138,101,.06);
}

.ux-variation-radio:hover span{
	border-color: var(--ux-primary);
	transform: translateY(-1px);
}

.ux-variation-radio input:checked + span{
	background: linear-gradient(90deg, var(--ux-primary), #d9a88a);
	color: #fff;
	border-color: var(--ux-primary);
	box-shadow: 0 10px 22px rgba(193,138,101,.18);
}

/* Khung cart box chuẩn hơn theo style site */
.ux-sp-cart-box{
	padding: 22px;
	border-radius: 24px;
	background: linear-gradient(180deg, #fffaf7, #fdf8f4);
	border: 1px solid rgba(193,138,101,.12);
	margin-bottom: 18px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

/* Form add to cart */
.ux-sp-cart-box form.cart{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin: 0;
}

/* quantity */
.ux-sp-cart-box .quantity{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(193,138,101,.22);
	border-radius: 999px;
	overflow: hidden;
	height: 52px;
	background: #fff;
	min-width: 120px;
	box-shadow: 0 8px 20px rgba(193,138,101,.06);
}

.ux-sp-cart-box .quantity input.qty{
	width: 78px;
	height: 52px;
	border: 0;
	text-align: center;
	font-weight: 800;
	font-size: 15px;
	color: var(--ux-text);
	background: transparent;
}

/* nút mua */
.ux-sp-cart-box .single_add_to_cart_button,
.ux-sp-cart-box button.single_add_to_cart_button{
	height: 54px;
	padding: 0 30px;
	border: 0;
	border-radius: 999px !important;
	background: linear-gradient(90deg, var(--ux-primary), #d9a88a) !important;
	color: #fff !important;
	font-size: 15px;
	font-weight: 800;
	box-shadow: 0 14px 30px rgba(193,138,101,.20);
	transition: .25s ease;
}

.ux-sp-cart-box .single_add_to_cart_button:hover{
	transform: translateY(-2px);
	background: linear-gradient(90deg, var(--ux-primary-dark), var(--ux-primary)) !important;
}

/* giá biến thể Woo update */
.ux-sp-cart-box .single_variation_wrap{
	width: 100%;
}

.ux-sp-cart-box .woocommerce-variation{
	margin-bottom: 14px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid rgba(193,138,101,.12);
	border-radius: 18px;
}

.ux-sp-cart-box .woocommerce-variation-price .price{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.ux-sp-cart-box .woocommerce-variation-price ins,
.ux-sp-cart-box .woocommerce-variation-price .amount{
	font-size: 24px;
	font-weight: 800;
	color: var(--ux-primary);
	text-decoration: none;
}

.ux-sp-cart-box .woocommerce-variation-price del .amount{
	font-size: 15px;
	color: #b9b9b9;
	font-weight: 500;
}

.ux-sp-cart-box .woocommerce-variation-availability{
	margin-top: 6px;
	font-size: 14px;
	color: var(--ux-muted);
}

/* reset link */
.ux-sp-cart-box .reset_variations{
	display: inline-flex !important;
	margin-top: 4px;
	font-size: 13px;
	font-weight: 700;
	color: var(--ux-primary-dark);
	text-decoration: none;
}

/* mobile */
@media (max-width: 767px){
	.ux-variation-group__options{
		gap: 8px;
	}

	.ux-variation-radio span{
		min-width: 64px;
		height: 40px;
		padding: 0 14px;
		font-size: 13px;
	}

	.ux-sp-cart-box{
		padding: 18px;
	}

	.ux-sp-cart-box form.cart{
		flex-direction: column;
		align-items: stretch;
	}

	.ux-sp-cart-box .quantity{
		width: max-content;
	}
}
.ux-sp-content-card ul {
	padding-left: 30px;
}

.ux-related-slider-wrap{
	max-width: 1620px;
    margin: 40px auto 0;
}

.ux-related-head{
	text-align: center;
	margin-bottom: 20px;
}

.ux-related-head h2{
	font-size: 28px;
	font-weight: 800;
	color: #c18a65;
}

/* slider */
.ux-related-slider{
	position: relative;
	padding: 10px 4px;
}

/* arrows */
.ux-related-prev,
.ux-related-next{
	position: absolute;
	top: 45%;
	width: 44px;
	height: 44px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 10px 25px rgba(193,138,101,.2);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	transition: .25s;
}

.ux-related-prev:hover,
.ux-related-next:hover{
	background: #c18a65;
	color: #fff;
}

.ux-related-prev{
    left: 10px;
}

.ux-related-next{
	right: 10px;
}

/* icon arrow */
.ux-related-prev::after,
.ux-related-next::after{
	font-size: 14px;
	font-weight: bold;
}

.ux-related-prev::after{
	content: "‹";
}

.ux-related-next::after{
	content: "›";
}