/* ==========================================================================
   Dumpling Squishy — giao diện theo mockup
   ========================================================================== */

:root {
	--fs-color-primary: #f26b21 !important;
	--primary-color: #f26b21 !important;
	--fs-color-primary-hover: #d85912 !important;
	--ds-orange: #f26b21;
	--ds-orange-dark: #d9550f;
	--ds-orange-soft: #fff2e8;
	--ds-cream: #fffaf5;
	--ds-ink: #2b2723;
	--ds-muted: #6e6862;
	--ds-line: #f1e7dc;
	--ds-yellow: #ffd84d;
	--ds-pill: #ffeeb8;
	--ds-radius: 16px;
	--ds-radius-lg: 22px;
	--ds-page-width: 1300px;
}

/* Saved checkout address */
.ds-saved-address-card {
	margin-bottom: 18px !important;
	border: 1px solid #f2c9b5 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fffaf7 !important;
}

.ds-saved-address-row {
	display: grid !important;
	grid-template-columns: 92px minmax(0, 1fr) auto !important;
	gap: 12px !important;
	align-items: start !important;
	padding: 16px !important;
}

.ds-saved-address-label {
	color: #7a726d !important;
	font-size: 14px !important;
}

.ds-saved-address-copy {
	display: flex !important;
	min-width: 0 !important;
	flex-direction: column !important;
	gap: 3px !important;
	color: #211b2d !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}

.ds-saved-address-copy strong {
	font-weight: 700 !important;
}

.ds-saved-address-copy small {
	width: fit-content !important;
	margin-top: 3px !important;
	padding: 2px 7px !important;
	border-radius: 999px !important;
	background: #6d527c !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
}

.ds-address-edit-btn,
.ds-address-different-btn,
.ds-address-cancel-btn,
.ds-address-save-btn {
	min-height: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #ff641e !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-transform: none !important;
}

.ds-address-edit-btn {
	padding: 0 !important;
}

.ds-address-different-btn {
	display: block !important;
	width: 100% !important;
	padding: 13px 16px !important;
	border-top: 1px solid #f2c9b5 !important;
	text-align: left !important;
}

.ds-address-book-list {
	display: grid !important;
	gap: 8px !important;
	padding: 0 14px 14px !important;
}

.ds-address-book-item {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	column-gap: 10px !important;
	row-gap: 0 !important;
	align-content: center !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 12px !important;
	border: 1px solid #eadfd8 !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #211b2d !important;
	text-align: left !important;
	text-transform: none !important;
}

.ds-address-book-item strong,
.ds-address-book-item span {
	display: block !important;
	grid-column: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.35 !important;
}

.ds-address-book-item strong + span {
	margin-top: 2px !important;
}

.ds-address-book-item small {
	display: inline-flex !important;
	grid-column: 2 !important;
	grid-row: 1 / span 2 !important;
	align-self: center !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 64px !important;
	height: 22px !important;
	min-height: 22px !important;
	padding: 0 12px !important;
	border-radius: 999px !important;
	background: #ff641e !important;
	color: #fff !important;
	font-size: 11px !important;
	line-height: 1 !important;
}

.ds-address-book-item.is-selected {
	border-color: #ff641e !important;
	background: #fff5ef !important;
}

.ds-address-cancel-btn {
	padding: 11px 14px !important;
}

.ds-address-editor-actions {
	display: flex !important;
	gap: 10px !important;
	align-items: center !important;
	margin-top: 12px !important;
}

.ds-address-save-btn {
	min-height: 44px !important;
	padding: 10px 20px !important;
	border: 1px solid #ff641e !important;
	border-radius: 10px !important;
	background: #ff641e !important;
	color: #fff !important;
}

.ds-address-save-btn:hover {
	background: #fff !important;
	color: #ff641e !important;
}

.ds-address-save-btn:disabled {
	opacity: .65 !important;
}

.ds-address-save-message {
	min-height: 20px !important;
	margin-top: 8px !important;
	font-size: 13px !important;
}

.ds-address-save-message.is-success {
	color: #198754 !important;
}

.ds-address-save-message.is-error {
	color: #c62828 !important;
}

.ds-address-editor[hidden] {
	display: none !important;
}

@media (max-width: 549px) {
	.ds-saved-address-row {
		grid-template-columns: 58px minmax(0, 1fr) auto !important;
		gap: 9px !important;
		padding: 14px 12px !important;
	}
}

/* Native WooCommerce payment gateways */
.ds-payment-section #payment {
	background: transparent !important;
	border: 0 !important;
}

.ds-payment-section #payment .wc_payment_methods {
	margin: 0 0 24px !important;
	padding: 0 !important;
	list-style: none !important;
	border: 1px solid #e2dedb !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
}

.ds-payment-section #payment .wc_payment_method {
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid #e2dedb !important;
	background: #fff !important;
}

.ds-payment-section #payment .wc_payment_method:last-child {
	border-bottom: 0 !important;
}

.ds-payment-section #payment .wc_payment_method > input[type="radio"] {
	margin: 0 12px 0 18px !important;
	vertical-align: middle !important;
}

.ds-payment-section #payment .wc_payment_method > label {
	display: inline-flex !important;
	width: calc(100% - 58px) !important;
	min-height: 60px !important;
	margin: 0 !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	font-weight: 700 !important;
	color: #211b2d !important;
	vertical-align: middle !important;
}

.ds-payment-section #payment .wc_payment_method > label img {
	width: auto !important;
	max-width: 150px !important;
	height: auto !important;
	max-height: 28px !important;
	margin-left: auto !important;
	object-fit: contain !important;
}

.ds-payment-section #payment .payment_box {
	margin: 0 !important;
	padding: 18px !important;
	border-top: 1px solid #eee7e2 !important;
	background: #fff8f3 !important;
	color: #5e574f !important;
}

.ds-payment-section #payment .payment_box::before {
	display: none !important;
}

.ds-payment-section #payment .place-order {
	margin: 0 !important;
	padding: 0 !important;
}

.ds-payment-section #payment #place_order {
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	border: 1px solid #ff641e !important;
	border-radius: 12px !important;
	background: #ff641e !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	box-shadow: 0 8px 18px rgba(255, 100, 30, .18) !important;
}

.ds-payment-section #payment #place_order:hover {
	background: #fff !important;
	color: #ff641e !important;
}

body,
.nav > li > a,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6 {
	font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body {
	color: var(--ds-ink);
	background: #fff;
	letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6 { color: var(--ds-ink); font-weight: 800; }

/* Bề ngang nội dung theo mockup */
.container,
.row:not(.row-collapse):not(.row-small):not(.row-large) { max-width: var(--ds-page-width); }
.ds-usp-bar.row { max-width: var(--ds-page-width); }

.ds-icon { width: 1em; height: 1em; display: block; }

/* Ngăn phần tử nổi (huy hiệu tròn) bị cắt trong cột */
.ds-relative { position: relative; }

/* ==========================================================================
   Header
   ========================================================================== */

#top-bar {
	background: #fdf5e9;
	border-bottom: 0;
	font-size: 14px;
	min-height: 46px;
}

#top-bar .flex-row { min-height: 36px !important; }

#top-bar .nav > li > a,
#top-bar .html,
.ds-topbar-item {
	color: var(--ds-ink);
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	font-size: 12px !important;
	line-height: 1.3 !important;
}

#top-bar .nav > li { margin: 0; }
#top-bar .nav-divided > li + li > a { border-left: 0; }

.ds-topbar-item { display: inline-flex; align-items: center; gap: 6px; }
.ds-topbar-truck { width: 16px !important; height: 16px !important; color: var(--ds-ink); flex-shrink: 0 !important; }

.ds-topbar-item--locale { margin-right: 16px; }
.ds-topbar-item--lang { gap: 4px; }
.ds-topbar-chevron { width: 12px; height: 12px; }
.ds-topbar-sep { color: #c9c1b8; margin: 0 4px; }

@media (max-width: 550px) {
	#top-bar .nav > li > a,
	#top-bar .html,
	.ds-topbar-item {
		font-size: 11px !important;
	}
}

#masthead {
	border-bottom: 1px solid var(--ds-line);
	background: #fff;
}

.header-main {
	min-height: 94px !important;
	height: 94px !important;
}

/* Logo ảnh (theme_mod `site_logo`) — chiều cao do `header_height` quyết định */
#logo,
#logo a,
.ds-logo {
	text-transform: none !important;
	letter-spacing: 0 !important;
}

#logo {
	height: 94px !important;
	max-height: 94px !important;
	align-self: center !important;
	overflow: hidden !important;
}

#logo > a {
	display: flex !important;
	height: 100% !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

#logo img {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-height: 84px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
}

.ds-header-logo {
	gap: 9px;
	min-width: 162px;
	color: var(--ds-ink);
}

.ds-header-logo__mark {
	width: 48px;
	height: 36px;
}

/* Mascot + wordmark chỉ còn dùng ở footer */
.ds-logo {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

.ds-logo__mark { width: 54px; height: 40px; flex: 0 0 auto; }

.ds-logo__text {
	display: flex;
	flex-direction: column;
	line-height: 1;
	font-weight: 900;
	font-size: 22px;
	color: var(--ds-ink);
	letter-spacing: -0.4px;
	gap: 2px;
}

.ds-header-logo__text {
	font-size: 21px;
	line-height: .96;
}

/* Menu chính căn giữa phần còn lại của header */
.header-main .header-nav-main.nav-left {
	justify-content: center;
	width: 100%;
	flex-wrap: nowrap;
}

.header-nav-main > li { white-space: nowrap; }

.header-nav-main > li > a {
	font-size: 15px;
	font-weight: 700;
	color: var(--ds-ink);
	text-transform: none;
	letter-spacing: 0;
	padding: 0 19px;
}

.header-nav-main > li > a:hover { color: var(--ds-orange); }

/* Mục đang xem — trang gốc cũng đánh dấu mục hiện tại */
.header-nav-main > li.current-menu-item > a,
.header-nav-main > li.current-menu-ancestor > a { color: var(--ds-orange); }

/* Mũi tên của mục có menu con */
.header-nav-main > li > a > .icon-angle-down { font-size: 15px; margin-left: 5px; opacity: .9; }

/* --- Icon tìm kiếm / tài khoản / giỏ: thay icon font bằng nét vẽ mảnh ---
   Áp cho cả hàng icon desktop (.header-nav) lẫn hàng icon mobile (.mobile-nav). */

/* Khoảng cách 3 icon bên phải */
.header-nav.nav-right > li,
.mobile-nav.nav-right > li { margin: 0 !important; }
.header-nav.nav-right > li > a,
.mobile-nav.nav-right > li > a { padding: 0 11px !important; }
.header-nav.nav-right > li:last-child > a,
.mobile-nav.nav-right > li:last-child > a { padding-right: 0 !important; }

/* Dùng background-image (không dùng mask) để chạy trên mọi trình duyệt */
.header-nav i.icon-search,
.header-nav i.icon-user,
.mobile-nav i.icon-search,
.mobile-nav i.icon-user {
	display: inline-block;
	width: 23px;
	height: 23px;
	font-size: 0;
	line-height: 0;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.header-nav i.icon-search:before,
.header-nav i.icon-user:before,
.mobile-nav i.icon-search:before,
.mobile-nav i.icon-user:before { display: none; }

.header-nav i.icon-search,
.mobile-nav i.icon-search {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2723' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M16.5 16.5 20.7 20.7'/%3E%3C/svg%3E");
}

.header-nav i.icon-user,
.mobile-nav i.icon-user {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2723' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 20.5a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E");
}

/* Giỏ hàng: túi nét mảnh + số đếm tròn cam ở góc phải trên */
.header-nav .cart-icon,
.mobile-nav .cart-icon {
	position: relative;
	display: inline-block;
	width: 25px;
	height: 25px;
	border: 0 !important;
	border-radius: 0 !important;
	overflow: visible;
	opacity: 1;
	vertical-align: middle;
	background: none !important;
}

.header-nav .cart-icon:before,
.mobile-nav .cart-icon:before {
	content: '';
	position: absolute;
	inset: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2723' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.3 10.2a2 2 0 0 0 2 1.6h7.9a2 2 0 0 0 2-1.6L21 7H6'/%3E%3Ccircle cx='10' cy='20' r='1.25'/%3E%3Ccircle cx='18' cy='20' r='1.25'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: none;
}

.header-nav .cart-icon:after,
.mobile-nav .cart-icon:after { display: none !important; }

/* Flatsome vẽ thân giỏ bằng `strong` và quai bằng `strong::before` — bỏ cả hai,
   chỉ giữ lại con số làm badge tròn. */
.header-nav .cart-icon strong:before,
.header-nav .cart-icon strong:after,
.mobile-nav .cart-icon strong:before,
.mobile-nav .cart-icon strong:after { display: none !important; }

.header-nav .cart-icon strong,
.mobile-nav .cart-icon strong,
.cart-icon:hover strong,
.current-dropdown .cart-icon strong,
.header-nav .cart-icon:hover strong,
.mobile-nav .cart-icon:hover strong,
a:hover .cart-icon strong,
.cart-icon strong {
	position: absolute !important;
	top: -6px !important;
	right: -10px !important;
	min-width: 19px !important;
	height: 19px !important;
	width: auto !important;
	padding: 0 4px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #f26b21 !important;
	background-color: #f26b21 !important;
	border: 1.5px solid #ffffff !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}

/* ==========================================================================
   Hero
   ========================================================================== */

/* Keep the native UX Builder background image/color/overlay fully editable. */
.ds-hero {
	padding-bottom: 150px !important;
}

.ds-trustbar-section {
	margin-top: -100px !important;
}

.ds-hero > .section-bg,
.ds-hero > .section-bg-wrap,
.ds-hero > .section-bg-wrap > .section-bg {
	display: block !important;
	opacity: 1;
	visibility: visible !important;
}

.ds-hero .row,
.ds-trustbar-section .row {
	max-width: 1300px !important;
	width: 100% !important;
}

.ds-hero .section-content,
.ds-trustbar-section .section-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.ds-hero .row > .col:first-child,
.ds-hero .row > .col.first,
.ds-trustbar-section .row > .col:first-child,
.ds-trustbar-section .row > .col.first {
	padding-left: 0 !important;
}

.ds-hero .row > .col:last-child,
.ds-hero .row > .col.last,
.ds-trustbar-section .row > .col:last-child,
.ds-trustbar-section .row > .col.last {
	padding-right: 0 !important;
}

.ds-hero h1 {
	font-size: clamp(32px, 3.4vw, 47px);
	font-weight: 900;
	line-height: 1.14;
	letter-spacing: -1px;
	margin: 0 0 20px;
	text-wrap: balance;
}

.ds-hero h1 .ds-accent { color: var(--ds-orange); display: block; }

.ds-hero p.ds-lede {
	font-size: 15px;
	line-height: 1.75;
	color: var(--ds-muted);
	margin: 0 0 26px;
	max-width: 27em;
}

.ds-hero__media { position: relative; }
.ds-hero__media img,
.ds-home-hero-image {
	border-radius: var(--ds-radius-lg);
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	box-shadow: none;
}

/* Nhãn tròn nhỏ */
.ds-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--ds-pill);
	color: #7a5a12;
	font-size: 12.5px;
	font-weight: 800;
	padding: 7px 15px;
	border-radius: 999px;
	line-height: 1;
}

.ds-pill .ds-icon { width: 14px; height: 14px; fill: #e8a917; stroke: #e8a917; }

/* Thanh tin cậy */
.ds-trustbar {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13.5px;
	color: var(--ds-muted);
	font-weight: 600;
	flex-wrap: wrap;
}

.ds-trustbar strong { color: var(--ds-ink); font-weight: 800; font-size: 14.5px; }

.ds-stars { display: inline-flex; gap: 2px; }
.ds-stars svg { width: 17px; height: 17px; fill: #dcd6cf; }
.ds-stars svg.is-on { fill: #22b573; }

/* Huy hiệu tròn nổi trên ảnh */
.ds-badge-round {
	position: absolute;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	background: var(--ds-yellow);
	border-radius: 50%;
	color: var(--ds-ink);
	text-align: center;
	box-shadow: 0 8px 22px rgba(217, 150, 20, .28);
	padding: 8px;
}

.ds-badge-round__top { width: 20px; height: 20px; }
.ds-badge-round strong { font-size: 20px; font-weight: 900; line-height: 1; }
.ds-badge-round em {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-style: normal;
	font-size: 10.5px;
	font-weight: 700;
}
.ds-badge-round__mini { width: 11px; height: 11px; }

/* ==========================================================================
   Nút
   ========================================================================== */

.ds-hero .button,
.ds-btn-primary.button,
.ds-btn-outline.button {
	border-radius: 999px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
	font-size: 14.5px;
	min-height: 46px;
	line-height: 46px;
	padding: 0 26px;
	margin-bottom: 0;
	box-shadow: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0 !important;
	vertical-align: middle;
}

.ds-hero .button + .button,
.ds-btn-primary.button + .ds-btn-outline.button {
	margin-left: 14px;
}

.ds-btn-primary.button {
	background: var(--ds-orange);
	border-color: var(--ds-orange);
	color: #fff;
	box-shadow: 0 8px 18px rgba(242, 107, 33, .18);
}

.ds-btn-primary.button:hover { background: var(--ds-orange-dark); border-color: var(--ds-orange-dark); }

.ds-btn-outline.button {
	background: #fff;
	border: 1.5px solid #f6d3ba;
	color: var(--ds-orange);
}

.ds-btn-outline.button:hover { border-color: var(--ds-orange); background: var(--ds-orange-soft); }

.ds-btn-primary.button i,
.ds-btn-outline.button i {
	font-size: 14px;
	margin-left: 8px;
	line-height: 1;
}

/* ==========================================================================
   Thanh cam kết
   ========================================================================== */

.ds-usp-bar {
	background: #fff;
	border: 1px solid var(--ds-line);
	border-radius: var(--ds-radius-lg);
	box-shadow: 0 10px 30px rgba(43, 39, 35, .05);
	padding: 22px 10px;
	margin: 0 auto;
}

.ds-usp-bar .col { border-left: 1px solid var(--ds-line); }
.ds-usp-bar .col:first-child { border-left: 0; }

.ds-usp { display: flex; align-items: flex-start; gap: 14px; }

.ds-usp__icon { color: var(--ds-orange); flex: 0 0 auto; width: 38px; height: 38px; }
.ds-usp__icon .ds-icon,
.ds-usp__icon svg { width: 38px !important; height: 38px !important; }

.ds-usp__body h5 {
	font-size: 15px;
	font-weight: 800;
	margin: 0 0 3px;
	line-height: 1.3;
}

.ds-usp__body p {
	font-size: 13px;
	line-height: 1.55;
	color: var(--ds-muted);
	margin: 0;
	font-weight: 600;
}

/* ==========================================================================
   Số liệu TikTok
   ========================================================================== */

.ds-stats-title {
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 800;
	text-align: center;
	letter-spacing: -0.5px;
	margin: 0 0 30px 0 !important;
}

/* Standard 40px vertical padding for homepage sections */
.home .section:not(.ds-hero):not(.ds-trustbar-section) {
	padding-top: 40px !important;
	padding-bottom: 40px !important;
}

/* Remove extra col top/bottom padding and margins causing excessive gaps */
.home .section .col,
.home .section .col-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.ds-stat { display: flex; align-items: flex-start; gap: 14px; }

.ds-stat__icon { color: var(--ds-orange); flex: 0 0 auto; width: 42px; height: 42px; }
.ds-stat__icon .ds-icon,
.ds-stat__icon svg { width: 42px !important; height: 42px !important; }

.ds-stat__body strong {
	display: block;
	font-size: 26px;
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: -0.5px;
}

.ds-stat__body p {
	font-size: 13px;
	line-height: 1.6;
	color: var(--ds-muted);
	margin: 4px 0 0;
	font-weight: 600;
	max-width: 15em;
}

/* ==========================================================================
   Khối "1.2% Chance"
   ========================================================================== */

.ds-legendary__media img {
	border-radius: var(--ds-radius-lg);
	aspect-ratio: 1.12 / 1;
	object-fit: cover;
	width: 100%;
}

/* Dự phòng: element đặt thẳng trong section vẫn giữ bề ngang nội dung */
.section-content > .ds-section-head,
.section-content > .ds-newsletter,
.section-content > .ds-variants {
	max-width: var(--ds-page-width);
	margin-left: auto;
	margin-right: auto;
}

/* 4:3 Aspect Ratio for Legendary Section Image */
.ds-legendary__media img,
.ds-legendary .ux_slider img,
.ds-legendary img,
.ds-legendary .flickity-viewport {
	aspect-ratio: 4 / 3 !important;
	object-fit: cover !important;
	width: 100% !important;
	border-radius: 20px !important;
}

/* Homepage Buttons - 12px Border Radius (Rounded Rectangles) */
.home .button,
.home .ds-btn-primary,
.home .ds-btn-outline,
.ds-btn-primary.button,
.ds-btn-outline.button,
.ds-hero .button,
.ds-legendary .button,
.ds-collect .button,
.ds-newsletter .button,
.ds-section-head .button {
	border-radius: 12px !important;
}

.ds-legendary h2 {
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.6px;
	margin: 0 0 18px;
}

.ds-legendary p {
	font-size: 14px;
	line-height: 1.8;
	color: var(--ds-muted);
	font-weight: 600;
	margin: 0 0 16px;
}

/* Chấm điều hướng của slider ảnh */
.ds-legendary .slider-wrapper,
.ds-legendary .ux_slider {
	margin-bottom: 0 !important;
}

.ds-legendary .flickity-page-dots:not(.ds-legendary__pagination) {
	position: absolute !important;
	bottom: -28px !important;
	left: 0 !important;
	text-align: left !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ds-legendary .flickity-page-dots.ds-legendary__pagination {
	position: static !important;
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	text-align: left !important;
	padding: 0 !important;
	margin: 18px 0 0 !important;
}

.ds-legendary .flickity-page-dots .dot {
	width: 6px !important;
	height: 6px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	border-radius: 99px !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: #e7e3df !important;
	opacity: 1 !important;
	margin: 0 7px 0 0 !important;
	transform: none !important;
	transition: width 0.2s ease, background-color 0.2s ease !important;
}

.ds-legendary .flickity-page-dots .dot.is-selected {
	background: var(--ds-orange) !important;
	width: 18px !important;
	height: 6px !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* ==========================================================================
   Lưới mẫu sưu tầm
   ========================================================================== */

.ds-collect h2 {
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.6px;
	margin: 0 0 16px;
}

.ds-collect p {
	font-size: 14px;
	line-height: 1.8;
	color: var(--ds-muted);
	font-weight: 600;
	margin: 0 0 24px;
}

/* View All Variants: preserve contrast against Flatsome's outline hover state. */
.home .ds-collect .ds-btn-outline.button {
	background: #fff !important;
	border-color: var(--ds-orange) !important;
	color: var(--ds-orange) !important;
}

.home .ds-collect .ds-btn-outline.button:hover,
.home .ds-collect .ds-btn-outline.button:focus-visible {
	background: var(--ds-orange) !important;
	border-color: var(--ds-orange) !important;
	color: #fff !important;
}

.ds-variants {
	display: grid;
	grid-template-columns: repeat(var(--ds-variants-cols, 4), minmax(0, 1fr));
	gap: var(--ds-variants-gap, 10px);
	background: var(--ds-cream);
	border: 1px solid var(--ds-line);
	border-radius: var(--ds-radius-lg);
	padding: 14px;
}

.ds-variant {
	margin: 0;
	background: #fff;
	border: 1px solid var(--ds-line);
	border-radius: var(--ds-radius);
	padding: 10px 8px 12px;
	text-align: center;
	transition: transform .18s ease, box-shadow .18s ease;
}

.ds-variant:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(43, 39, 35, .08); }

.ds-variant > a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.ds-variant img {
	width: 100%;
	max-width: 92px;
	margin: 0 auto 8px;
	border-radius: 12px;
	display: block;
}

.ds-variant figcaption {
	font-size: 11.5px;
	font-weight: 700;
	color: var(--ds-muted);
	line-height: 1.3;
}

/* ==========================================================================
   Tiêu đề khối + lưới sản phẩm
   ========================================================================== */

.ds-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
}

.ds-section-head h2 {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: clamp(21px, 2.2vw, 27px);
	font-weight: 800;
	letter-spacing: -0.5px;
	margin: 0;
}

.ds-section-head h2 .ds-icon {
	width: 25px;
	height: 25px;
	color: var(--ds-orange);
	stroke-width: 2;
}

.ds-section-head__link {
	flex: 0 0 auto;
	border: 1.5px solid #f6d3ba;
	color: var(--ds-orange);
	background: #fff;
	border-radius: 8px;
	padding: 8px 21px;
	font-size: 13px;
	font-weight: 800;
}

.ds-section-head__link:hover,
.ds-section-head__link:focus-visible {
	border-color: var(--ds-orange) !important;
	background: var(--ds-orange) !important;
	color: #ffffff !important;
}

/* Card sản phẩm */
.ds-products.row {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.ds-products.row > .product-small.col {
	width: 100% !important;
	max-width: none !important;
	flex: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.ds-products .product-small .box-image {
	border-radius: var(--ds-radius);
	overflow: hidden;
	background: var(--ds-cream);
}

.ds-products .product-small .box-text { padding: 12px 2px 0; text-align: left; }

.ds-products .product-title a {
	font-size: 14.5px;
	font-weight: 800;
	color: var(--ds-ink);
	line-height: 1.4;
}

.ds-products .product-title a:hover { color: var(--ds-orange); }

.ds-products .star-rating {
	float: none;
	display: inline-block;
	width: calc(5.06em + 5px);
	margin: 7px 0 5px;
	font-size: 13px;
	vertical-align: middle;
}
.ds-products .star-rating span:before,
.ds-products .star-rating:before {
	color: #ffb800;
	letter-spacing: 1px;
}

.ds-products .ds-review-count {
	font-size: 12px;
	color: var(--ds-muted);
	font-weight: 600;
	margin-left: 6px;
	opacity: 1;
	vertical-align: middle;
}

/* Giá sale đứng trước, giá gốc gạch ngang theo sau */
.ds-products .price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	font-size: 16px;
	font-weight: 900;
	color: var(--ds-orange);
}

.ds-products .price ins { order: 1; text-decoration: none; color: var(--ds-orange); }
.ds-products .price > .amount { order: 1; }
.ds-products .price del { order: 2; color: #a49c94; font-weight: 600; font-size: 13.5px; opacity: 1; }
.ds-products .price del .amount { color: #a49c94; }

/* Nhãn giảm giá — nổi trong ảnh, góc phải trên */
.ds-products .badge-container {
	position: absolute;
	top: 12px;
	right: 12px;
	left: auto;
	margin: 0;
	z-index: 2;
	width: auto;
	height: auto;
	transform: none;
}

.ds-products .badge,
.ds-products .badge.badge-circle {
	width: auto;
	height: auto;
	margin: 0;
}

.ds-products .badge-inner {
	background: var(--ds-orange);
	color: #fff;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .3px;
	padding: 5px 12px;
	line-height: 1.2;
	white-space: nowrap;
	min-height: 0;
	border: 0;
}

/* Bỏ tên danh mục phía trên tiêu đề sản phẩm */
.ds-products .product-small .category,
.ds-products .product-small .product-cat { display: none; }

/* Product Card Add to Cart Button (Compact & Sleek Size) */
.product-small .add_to_cart_button,
.product-small .button,
.product-small a.button,
.product-small .box-text a.button,
.add_to_cart_button,
a.add_to_cart_button,
.box-text a.button.add_to_cart_button {
	height: 38px !important;
	min-height: 38px !important;
	max-height: 38px !important;
	line-height: 38px !important;
	padding: 0 16px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
	background: #ff6a1a !important;
	border-color: #ff6a1a !important;
	color: #ffffff !important;
	margin-top: 10px !important;
	margin-bottom: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.product-small .add_to_cart_button:hover,
a.add_to_cart_button:hover {
	background: #e5590d !important;
	border-color: #e5590d !important;
	color: #ffffff !important;
}

/* WooCommerce injects a secondary "View cart" link after an AJAX add. The
   mini-cart already provides that navigation, so keep product grids clean. */
.products .product-small .added_to_cart,
.shop-container .product-small .added_to_cart,
.ds-products .added_to_cart.wc-forward {
	display: none !important;
}

@media (max-width: 768px) {
	.product-small .add_to_cart_button,
	.product-small .button,
	.product-small a.button,
	.add_to_cart_button,
	a.add_to_cart_button {
		height: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		line-height: 36px !important;
		padding: 0 12px !important;
		font-size: 12.5px !important;
		font-weight: 700 !important;
	}
}

/* Final single-product mobile containment: one centered 16px gutter only. */
@media (max-width: 849px) {
	html body.single-product #content,
	html body.single-product .product-main {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}

	html body.single-product .product-main > .row {
		display: block !important;
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		margin-left: 16px !important;
		margin-right: 0 !important;
	}

	html body.single-product .product-main > .row > .col,
	html body.single-product .product-gallery,
	html body.single-product .product-info,
	html body.single-product .product-summary {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	html body.single-product .ds-tiered-card {
		width: 100% !important;
		max-width: 100% !important;
		padding: 20px 12px !important;
		box-sizing: border-box !important;
	}

	html body.single-product .ds-tier-inner {
		padding-left: 12px !important;
		padding-right: 12px !important;
		gap: 10px !important;
	}

	html body.single-product .ds-tier-prices {
		min-width: 102px !important;
	}
}

/* Single product: Flatsome nests both mobile columns inside `.product-main > .row`. */
@media (max-width: 849px) {
	.single-product .product-main {
		width: 100% !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.single-product .product-main > .row {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.single-product .product-main > .row > .col,
	.single-product .product-gallery,
	.single-product .product-info,
	.single-product .product-summary {
		display: block !important;
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
	}

	.single-product .ds-tiered-card,
	.single-product .ds-tiered-options-list,
	.single-product .ds-tier-item {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.single-product .ds-tier-body {
		min-width: 0 !important;
	}

	.single-product .ds-tier-title-wrap {
		min-width: 0 !important;
	}

	.single-product .ds-tier-prices {
		min-width: 112px !important;
		flex: 0 0 auto !important;
	}
}

/* ==========================================================================
   Trang danh mục (/collections/…)
   ========================================================================== */

.ds-collection { padding: 0 0 64px; }

/* Flatsome bọc sẵn `.shop-container` có padding riêng — bỏ đi */
body.woocommerce-shop .shop-container,
body.tax-product_cat .shop-container {
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
}

.ds-collection > .container {
	width: 100%;
	max-width: var(--ds-page-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
	padding-left: 15px;
	padding-right: 15px;
}

/* --- Đường dẫn phân cấp --- */

.ds-crumbs { padding: 16px 0 4px; }

.ds-crumbs__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.ds-crumbs__item { display: inline-flex; align-items: center; }

.ds-crumbs__item:not(:last-child):after {
	content: '';
	display: inline-block;
	width: 1px;
	height: 13px;
	margin: 0 10px;
	background: #d9d0c6;
	transform: rotate(15deg);
}

.ds-crumbs__link {
	font-size: 13px;
	font-weight: 700;
	color: var(--ds-muted);
}

.ds-crumbs__link:hover { color: var(--ds-orange); }
.ds-crumbs__link[aria-current="page"] { color: var(--ds-ink); }

/* --- Tiêu đề + mô tả --- */

.ds-collection__hero { padding: 22px 0 30px; }

.ds-collection__title {
	font-size: clamp(28px, 3.2vw, 42px);
	font-weight: 900;
	letter-spacing: -1px;
	line-height: 1.15;
	margin: 0;
}

.ds-collection__desc {
	max-width: 44em;
	margin-top: 14px;
}

.ds-collection__desc p {
	font-size: 15px;
	line-height: 1.75;
	font-weight: 600;
	color: var(--ds-muted);
	margin: 0;
}

/* --- Thanh công cụ: lọc | sắp xếp + số lượng --- */

.ds-collection__toolbar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	border-top: 1px solid var(--ds-line);
	border-bottom: 1px solid var(--ds-line);
	padding: 12px 0;
	margin-bottom: 30px;
}

.ds-collection__tools {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-left: auto;
	padding-top: 3px;
}

.ds-collection__count,
.woocommerce-result-count {
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #666666 !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

/* Ô sắp xếp của WooCommerce theo mockup — Căn lề dòng chữ chuẩn (baseline) */
.woocommerce-ordering,
.ds-collection__tools .woocommerce-ordering {
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
}

.woocommerce-ordering:before,
.ds-collection__tools .woocommerce-ordering:before {
	content: 'Sort by:';
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #666666 !important;
	white-space: nowrap !important;
	line-height: 1 !important;
	display: inline-block !important;
}

form.woocommerce-ordering select.orderby,
.woocommerce-ordering select.orderby,
.ds-collection__tools select.orderby,
select[name="orderby"] {
	height: 28px !important;
	line-height: 28px !important;
	margin: 0 !important;
	padding: 0 22px 0 4px !important;
	border: 1px solid transparent !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 2px center !important;
	background-size: 13px 13px !important;
	box-shadow: none !important;
	outline: none !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #2b2723 !important;
	max-width: none !important;
	width: auto !important;
	cursor: pointer !important;
	vertical-align: middle !important;
	margin-top: -2px !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

form.woocommerce-ordering select.orderby:hover,
form.woocommerce-ordering select.orderby:focus,
form.woocommerce-ordering select.orderby:active,
.woocommerce-ordering select.orderby:hover,
.woocommerce-ordering select.orderby:focus,
.woocommerce-ordering select.orderby:active,
.ds-collection__tools select.orderby:hover,
.ds-collection__tools select.orderby:focus,
.ds-collection__tools select.orderby:active,
select[name="orderby"]:hover,
select[name="orderby"]:focus,
select[name="orderby"]:active {
	border-color: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	background-color: transparent !important;
}

/* ==========================================================================
   Bộ lọc (Filter Button Hover Underline & Slide-in Off-Canvas Drawer)
   ========================================================================== */

.ds-c-icon { width: 20px; height: 20px; display: block; flex: 0 0 auto; }

/* 1. Nút Filter Trigger trong thanh công cụ */
.ds-filter-trigger {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--ds-orange, #f26b21) !important; /* Tông màu cam chuẩn thương hiệu */
	cursor: pointer !important;
	box-shadow: none !important;
}

.ds-filter-trigger .ds-c-icon {
	color: var(--ds-orange, #f26b21) !important;
}

.ds-filter-trigger__text {
	position: relative;
	transition: color 0.2s ease;
}

/* Hover sẽ có gạch chân chuẩn theo yêu cầu */
.ds-filter-trigger:hover .ds-filter-trigger__text {
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
	text-decoration-thickness: 1.5px !important;
}

/* 2. Container Khung Off-Canvas Drawer (Trượt từ bên PHẢI qua) */
.ds-filter-drawer {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999999 !important;
	visibility: hidden;
	transition: visibility 0.3s ease;
}

.ds-filter-drawer.is-open {
	visibility: visible !important;
}

.ds-filter-drawer__backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(43, 39, 35, 0.4) !important;
	opacity: 0;
	transition: opacity 0.3s ease;
	backdrop-filter: blur(2px);
}

.ds-filter-drawer.is-open .ds-filter-drawer__backdrop {
	opacity: 1 !important;
}

.ds-filter-drawer__panel {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	max-width: 380px !important;
	background: #ffffff !important;
	box-shadow: -6px 0 24px rgba(0, 0, 0, 0.12) !important;
	display: flex !important;
	flex-direction: column !important;
	transform: translateX(100%) !important;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
	z-index: 2 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ds-filter-drawer.is-open .ds-filter-drawer__panel {
	transform: translateX(0) !important;
}

/* Header của Drawer */
.ds-filter-drawer__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 20px 24px !important;
	border-bottom: 1px solid #f1e7dc !important;
	position: relative !important;
}

.ds-filter-drawer__title-wrap {
	text-align: center !important;
	flex: 1 1 auto !important;
}

.ds-filter-drawer__title {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	margin: 0 !important;
	line-height: 1.2 !important;
}

.ds-filter-drawer__count {
	font-size: 12.5px !important;
	color: #888888 !important;
	display: block !important;
	margin-top: 3px !important;
}

.ds-filter-drawer__close {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #2b2723 !important;
	cursor: pointer !important;
	opacity: 0.7 !important;
	transition: opacity 0.2s ease, color 0.2s ease !important;
	position: absolute !important;
	right: 20px !important;
	top: 20px !important;
}

.ds-filter-drawer__close:hover {
	opacity: 1 !important;
	color: var(--ds-orange, #f26b21) !important;
}

/* Body của Drawer & Multi-view Navigation */
.ds-filter-drawer__body {
	flex: 1 1 auto !important;
	overflow-y: auto !important;
	padding: 20px 24px !important;
	position: relative !important;
}

.ds-filter-view {
	display: none;
}

.ds-filter-view.is-active {
	display: block !important;
	animation: dsFadeIn 0.25s ease;
}

@keyframes dsFadeIn {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* List Menu ở View 1 (Main View) */
.ds-filter-menu {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ds-filter-menu li {
	margin-bottom: 12px !important;
}

.ds-filter-menu__item {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 12px 0 !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid #f8f2ec !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #2b2723 !important;
	cursor: pointer !important;
	text-align: left !important;
	transition: color 0.2s ease !important;
}

.ds-filter-menu__item:hover {
	color: var(--ds-orange, #f26b21) !important;
}

.ds-filter-menu__item .ds-arrow {
	width: 18px !important;
	height: 18px !important;
	stroke: #aaaaaa !important;
	transition: stroke 0.2s ease !important;
}

.ds-filter-menu__item:hover .ds-arrow {
	stroke: var(--ds-orange, #f26b21) !important;
}

/* Nút quay lại ở Sub-views (View 2 & 3) — Căn lề icon và chữ chuẩn hàng ngang */
.ds-filter-back {
	background: transparent !important;
	border: none !important;
	padding: 0 0 16px 0 !important;
	margin: 0 0 16px 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #2b2723 !important;
	cursor: pointer !important;
	border-bottom: 1px solid #f1e7dc !important;
	width: 100% !important;
	line-height: 1 !important;
}

.ds-filter-back svg {
	flex: 0 0 auto !important;
	display: block !important;
	margin: 0 !important;
}

.ds-filter-back span {
	line-height: 1 !important;
	display: inline-block !important;
}

.ds-filter-back:hover {
	color: var(--ds-orange, #f26b21) !important;
}

.ds-filter-content {
	padding-top: 4px !important;
}

/* Checkbox Availability & Hover gạch chân */
.ds-facet__check {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 0 14px 0 !important;
	cursor: pointer !important;
	user-select: none !important;
}

.ds-facet__check.is-disabled {
	opacity: 0.45 !important;
	cursor: default !important;
}

.ds-facet__check input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	accent-color: var(--ds-orange, #f26b21) !important;
	flex: 0 0 auto !important;
	cursor: pointer !important;
	vertical-align: middle !important;
	position: relative !important;
	top: -1px !important;
}

.ds-facet__check span {
	font-size: 14.5px !important;
	font-weight: 500 !important;
	color: #2b2723 !important;
	line-height: 1.3 !important;
	display: inline-block !important;
	transition: color 0.2s ease !important;
}

/* Hover vào ô Checkbox và các mục danh mục sẽ gạch chân chữ */
.ds-facet__check:not(.is-disabled):hover span,
.ds-filter-menu__item:hover span,
.ds-filter-back:hover span {
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	text-decoration-thickness: 1.5px !important;
	color: var(--ds-orange, #f26b21) !important;
}

.ds-filter-note {
	font-size: 13.5px !important;
	color: #666666 !important;
	margin-bottom: 20px !important;
}

/* Input giá From / To dạng Pill — Căn lề tiền tệ $ và ẩn nút mũi tên số */
.ds-facet__range {
	display: flex !important;
	gap: 12px !important;
}

.ds-facet__field {
	flex: 1 1 0 !important;
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
}

.ds-field-prefix {
	position: absolute !important;
	left: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-size: 14px !important;
	color: #888888 !important;
	font-weight: 600 !important;
	z-index: 2 !important;
	pointer-events: none !important;
	line-height: 1 !important;
}

.ds-facet__field input[type="number"] {
	width: 100% !important;
	height: 44px !important;
	line-height: 44px !important;
	padding: 0 12px 0 28px !important;
	border: 1px solid #e2d8cd !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	font-size: 14px !important;
	color: #2b2723 !important;
	outline: none !important;
	margin: 0 !important;
	-moz-appearance: textfield !important;
}

/* Ẩn hoàn toàn mũi tên tăng giảm số mặc định của trình duyệt */
.ds-facet__field input[type="number"]::-webkit-outer-spin-button,
.ds-facet__field input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

.ds-facet__field input[type="number"]:focus {
	border-color: var(--ds-orange, #f26b21) !important;
}

/* Footer Chứa nút Remove all & Apply */
.ds-filter-drawer__footer {
	padding: 18px 24px !important;
	border-top: 1px solid #f1e7dc !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	background: #ffffff !important;
}

.ds-filter-drawer__clear {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--ds-orange, #f26b21) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	cursor: pointer !important;
}

.ds-filter-drawer__clear:hover {
	color: var(--ds-orange-dark, #d9550f) !important;
}

.ds-filter-drawer__apply {
	background: var(--ds-orange, #f26b21) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 12px 36px !important;
	font-size: 14.5px !important;
	font-weight: 800 !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition: background 0.2s ease !important;
}

.ds-filter-drawer__apply:hover {
	background: var(--ds-orange-dark, #d9550f) !important;
}

/* --- Lưới sản phẩm --- */

.ds-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--ds-grid-cols, 4), minmax(0, 1fr));
	gap: 38px 26px;
}

.ds-card { margin: 0; display: flex; flex-direction: column; }

.ds-card__media {
	position: relative;
	display: block;
	border-radius: var(--ds-radius);
	overflow: hidden;
	background: var(--ds-cream);
	aspect-ratio: 1 / 1;
}

.ds-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity .35s ease, transform .5s ease;
}

.ds-card__img--alt { opacity: 0; }

.ds-card:hover .ds-card__img--alt { opacity: 1; }
.ds-card:hover .ds-card__img { transform: scale(1.04); }

.ds-card__badge {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	background: var(--ds-orange);
	color: #fff;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .3px;
	padding: 5px 12px;
	line-height: 1.2;
	white-space: nowrap;
}

.ds-card__badge--sold { top: auto; bottom: 12px; background: var(--ds-ink); }

.ds-card__title { margin: 14px 0 0; }

.ds-card__title a {
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	color: var(--ds-ink);
}

.ds-card__title a:hover { color: var(--ds-orange); }

.ds-card__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 8px;
	font-size: 16px;
	font-weight: 900;
	color: var(--ds-ink);
}

.ds-card__price del {
	color: #a49c94;
	font-weight: 600;
	font-size: 14px;
	opacity: 1;
	text-decoration: line-through;
}

.ds-card__price del .amount { color: #a49c94; }
.ds-card__price ins { text-decoration: none; color: var(--ds-orange); }
.ds-card__price ins .amount { color: var(--ds-orange); }

.ds-card__cta {
	width: 100%;
	margin-top: auto;
	padding-top: 14px;
}

.ds-grid .ds-card__cta .ds-card__button.button {
	display: flex !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 12px !important;
	background: var(--ds-orange);
	border-color: var(--ds-orange);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	text-transform: none;
	letter-spacing: 0;
	min-height: 46px;
	line-height: 46px;
	padding: 0 18px;
	box-shadow: none;
}

.ds-card__button.button:hover { background: var(--ds-orange-dark); border-color: var(--ds-orange-dark); }
.ds-card__button.button.loading:after { border-color: #fff; }

.ds-card__button.added { display: none; }

.ds-card__cta .added_to_cart {
	display: none !important;
	width: 100%;
	margin: 0;
	text-align: center;
	border: 1.5px solid #f6d3ba;
	border-radius: 999px;
	color: var(--ds-orange);
	font-size: 14px;
	font-weight: 800;
	min-height: 46px;
	line-height: 43px;
	padding: 0 18px;
}

.ds-collection__empty {
	font-size: 15px;
	font-weight: 600;
	color: var(--ds-muted);
	padding: 30px 0;
}

/* Phân trang */
.ds-collection .woocommerce-pagination { margin-top: 44px; text-align: center; }
.ds-collection .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	gap: 8px;
	width: auto;
	height: auto;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}
.ds-collection .woocommerce-pagination li { border: 0; }

.ds-collection .woocommerce-pagination li > .page-numbers {
	min-width: 38px;
	height: 38px;
	line-height: 36px;
	padding: 0 12px;
	border: 1px solid var(--ds-line);
	border-radius: 999px;
	font-size: 13.5px;
	font-weight: 800;
	color: var(--ds-ink);
	background: #fff;
}

.ds-collection .woocommerce-pagination li > .page-numbers.current,
.ds-collection .woocommerce-pagination li > .page-numbers:hover {
	background: var(--ds-orange);
	border-color: var(--ds-orange);
	color: #fff;
}

/* ==========================================================================
   Đăng ký nhận tin
   ========================================================================== */

.ds-newsletter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: nowrap;
	background: var(--ds-orange-soft);
	border: 1px solid #fadfc8;
	border-radius: 12px;
	padding: 14px 24px !important;
	height: 88px !important;
	min-height: 88px !important;
	max-height: 88px !important;
	box-sizing: border-box;
	align-self: flex-start !important;
}

.ds-newsletter__intro { display: flex; align-items: center; gap: 16px; }

.ds-newsletter__icon { color: var(--ds-orange); flex: 0 0 auto; }
.ds-newsletter__icon .ds-icon { width: 30px; height: 30px; }

.ds-newsletter h4 { font-size: 17px; font-weight: 800; margin: 0 0 3px; }
.ds-newsletter p { font-size: 13px; color: var(--ds-muted); font-weight: 600; margin: 0; }

.ds-newsletter__form {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0;
	flex: 0 1 52% !important;
	max-width: 650px;
	width: 52%;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ds-newsletter__form input[type="email"] {
	flex: 1 1 auto;
	width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	margin: 0 !important;
	border-radius: 10px !important;
	border: 1px solid #f3ddc7 !important;
	background: #ffffff !important;
	padding: 0 158px 0 20px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	aspect-ratio: auto !important;
}

.ds-newsletter__form input::placeholder { color: #b3aaa2; }

.ds-newsletter__form button {
	position: absolute !important;
	top: 3px;
	right: 3px;
	z-index: 2;
	flex: 0 0 142px !important;
	width: 142px !important;
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	border-radius: 8px !important;
	margin: 0 !important;
	background: var(--ds-orange) !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	padding: 0 22px !important;
	border: 0 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}

.ds-newsletter__form button:hover { background: var(--ds-orange-dark) !important; }

/* ==========================================================================
   Footer
   ========================================================================== */

.ds-footer {
	background: #fff;
	border-top: 1px solid var(--ds-line);
	padding: 52px 0 26px;
	color: var(--ds-ink);
}

.ds-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr 1.3fr;
	gap: 34px;
}

.ds-logo--footer { margin-bottom: 14px; }

.ds-footer__tagline {
	font-size: 13px;
	line-height: 1.75;
	color: var(--ds-muted);
	font-weight: 600;
	margin: 0 0 18px;
}

.ds-footer__social { display: flex; gap: 16px; }
.ds-footer__social a { color: var(--ds-ink); }
.ds-footer__social a:hover { color: var(--ds-orange); }
.ds-footer__social svg { width: 20px; height: 20px; }

.ds-footer__col h4 {
	font-size: 14.5px;
	font-weight: 800;
	margin: 0 0 14px;
}

.ds-footer__col ul { list-style: none; margin: 0; padding: 0; }
.ds-footer__col li { margin-bottom: 9px; }

.ds-footer__col a {
	font-size: 13px;
	color: var(--ds-muted);
	font-weight: 600;
}

.ds-footer__col a:hover { color: var(--ds-orange); }

.ds-footer__col address {
	font-style: normal;
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--ds-muted);
	font-weight: 600;
	margin-top: 12px;
}

.ds-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	border-top: 1px solid var(--ds-line);
	margin-top: 38px;
	padding-top: 20px;
}

.ds-footer__bottom p { font-size: 12.5px; color: var(--ds-muted); font-weight: 600; margin: 0; }
.ds-footer__pay .payment-icons { margin: 0; }
.ds-footer__pay .payment-icon { width: 38px; margin: 0 0 0 6px; }

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 849px) {
	.ds-usp-bar .col { border-left: 0; }
	.ds-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
	.ds-badge-round { transform: scale(.8); }
	.ds-newsletter {
		flex-direction: column !important;
		align-items: flex-start !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		padding: 20px 16px !important;
	}
	.ds-newsletter__form {
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		flex: 0 1 auto !important;
	}
	.ds-section-head { flex-wrap: wrap; }

	.ds-collection { padding-bottom: 40px; }
	.ds-collection__hero { padding: 16px 0 22px; }
	.ds-grid { --ds-grid-cols: 3; gap: 28px 18px; }
	.ds-collection__tools { gap: 14px; }
}

@media (max-width: 549px) {
	.ds-hero h1 { font-size: 34px; }
	.ds-variants { --ds-variants-cols: 3 !important; }
	.ds-footer__grid { grid-template-columns: 1fr; }
	.ds-newsletter__form { flex-direction: column; gap: 8px; }
	.ds-newsletter__form input[type="email"] { padding-right: 20px !important; }
	.ds-newsletter__form button {
		position: static !important;
		width: 100% !important;
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
		flex-basis: 44px !important;
	}

	.ds-collection__title { font-size: 30px; }
	.ds-grid { --ds-grid-cols: 2; gap: 24px 14px; }
	.ds-collection__toolbar { flex-direction: column; align-items: stretch; gap: 12px; }
	.ds-collection__tools { margin-left: 0; justify-content: space-between; width: 100%; }
	.ds-collection__tools .woocommerce-ordering { flex: 1 1 auto; }
	.ds-collection__tools select.orderby { width: 100%; }
	.ds-facets__toggle { width: 100%; justify-content: center; }
	.ds-facets__panel { position: static; width: 100%; margin-top: 10px; box-shadow: none; }
	.ds-card__title a { font-size: 14px; }
	.ds-card__button.button { font-size: 13px; padding: 0 10px; }
}

/* ==========================================================================
   Search Lightbox / Overlay Bar theo mockup (Top full-width search input)
   ========================================================================== */

/* Ẩn hoàn toàn khi có class mfp-hide */
#search-lightbox.mfp-hide {
	display: none !important;
}

/* 1. Backdrop overlay - làm mờ / tối toàn bộ nội dung phía dưới */
.mfp-bg {
	background: rgba(43, 39, 35, 0.45) !important;
	opacity: 1 !important;
	backdrop-filter: blur(2px);
}

/* 2. Container của popup đặt ở sát mép trên màn hình */
.mfp-wrap.mfp-auto-cursor {
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.mfp-container {
	padding: 0 !important;
	height: auto !important;
}

.mfp-content {
	vertical-align: top !important;
	width: 100% !important;
	margin: 0 !important;
	position: relative !important;
}

/* 3. Khung trắng full-width của thanh tìm kiếm ở trên cùng */
#search-lightbox {
	background: #ffffff !important;
	padding: 24px 20px !important;
	margin: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08) !important;
	position: relative !important;
}

.ds-search-container {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	max-width: 650px !important;
	margin: 0 auto !important;
	width: 100% !important;
}

.ds-search-container .searchform-wrapper {
	flex: 1 1 auto !important;
	max-width: 580px !important;
	margin: 0 !important;
	position: relative !important;
}

#search-lightbox form.searchform {
	position: relative !important;
	margin: 0 !important;
}

#search-lightbox .flex-row {
	display: flex !important;
	align-items: center !important;
	position: relative !important;
	margin: 0 !important;
}

#search-lightbox .flex-col.flex-grow {
	flex: 1 1 auto !important;
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Ô nhập liệu dạng bo tròn pill */
#search-lightbox input[type="search"].search-field {
	height: 48px !important;
	line-height: 48px !important;
	border: 1.5px solid var(--ds-ink, #2b2723) !important;
	border-radius: 999px !important;
	padding: 0 52px 0 24px !important;
	font-size: 15px !important;
	color: var(--ds-ink, #2b2723) !important;
	background: #ffffff !important;
	box-shadow: none !important;
	outline: none !important;
	width: 100% !important;
}

#search-lightbox input[type="search"].search-field::placeholder {
	color: #999999 !important;
	font-weight: 500 !important;
}

/* Nút Submit / Icon kính lúp ở bên trong góc phải ô search */
#search-lightbox .flex-col:not(.flex-grow) {
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 2 !important;
	margin: 0 !important;
	padding: 0 !important;
}

#search-lightbox button.ux-search-submit {
	background: transparent !important;
	border: none !important;
	color: var(--ds-ink, #2b2723) !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 32px !important;
	height: 32px !important;
	min-height: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
}

#search-lightbox button.ux-search-submit i.icon-search {
	font-size: 18px !important;
	color: var(--ds-ink, #2b2723) !important;
}

/* 4. Nút đóng (X) nằm bên phải ô tìm kiếm */
body .mfp-wrap .mfp-content .ds-search-close,
body #search-lightbox .ds-search-close,
.ds-search-close {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	transform: none !important;
	margin-left: 16px !important;
	flex: 0 0 auto !important;
	width: 34px !important;
	height: 34px !important;
	min-height: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: none !important;
	color: #999999 !important;
	opacity: 0.85 !important;
	cursor: pointer !important;
	padding: 0 !important;
	box-shadow: none !important;
	transition: color 0.15s ease, opacity 0.15s ease !important;
}

body .mfp-wrap .mfp-content .ds-search-close svg,
body #search-lightbox .ds-search-close svg,
.ds-search-close svg {
	width: 22px !important;
	height: 22px !important;
	stroke: currentColor !important;
	fill: none !important;
	transition: stroke 0.15s ease !important;
}

/* KHI HOVER / FOCUS / ACTIVE -> ÉP CHUẨN MÀU CAM #f26b21 */
body .mfp-wrap .mfp-content .ds-search-close:hover,
body .mfp-wrap .mfp-content .ds-search-close:focus,
body .mfp-wrap .mfp-content .ds-search-close:active,
body #search-lightbox .ds-search-close:hover,
body #search-lightbox .ds-search-close:focus,
body #search-lightbox .ds-search-close:active,
.ds-search-close:hover,
.ds-search-close:focus,
.ds-search-close:active {
	color: #f26b21 !important;
	opacity: 1 !important;
}

body .mfp-wrap .mfp-content .ds-search-close:hover svg,
body .mfp-wrap .mfp-content .ds-search-close:focus svg,
body .mfp-wrap .mfp-content .ds-search-close:active svg,
body #search-lightbox .ds-search-close:hover svg,
body #search-lightbox .ds-search-close:focus svg,
body #search-lightbox .ds-search-close:active svg,
.ds-search-close:hover svg,
.ds-search-close:focus svg,
.ds-search-close:active svg,
body .mfp-wrap .mfp-content .ds-search-close:hover path,
body .mfp-wrap .mfp-content button.mfp-close:hover path,
body #search-lightbox .ds-search-close:hover path,
body .mfp-close:hover path,
.ds-search-close:hover path {
	stroke: #f26b21 !important;
	color: #f26b21 !important;
}

/* ==========================================================================
   Giỏ hàng Off-Canvas Sidebar chuẩn 100% theo mockup (Your Bun Bag)
   ========================================================================== */

/* Fullscreen overlay wrapper */
html body div.mfp-wrap.off-canvas-right,
html body div.mfp-wrap.off-canvas,
html body div.mfp-wrap.off-canvas-cart,
html body div.mfp-wrap.ds-cart-drawer-wrap,
html body div.mfp-wrap:has(#cart-popup) {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	z-index: 999999 !important;
	pointer-events: none !important;
}

html body div.mfp-wrap.off-canvas-right .mfp-container,
html body div.mfp-wrap.off-canvas .mfp-container,
html body div.mfp-wrap.off-canvas-cart .mfp-container,
html body div.mfp-wrap.ds-cart-drawer-wrap .mfp-container,
html body div.mfp-wrap:has(#cart-popup) .mfp-container {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	pointer-events: none !important;
}

/* Khóa duy nhất khung .mfp-content (Trắng) ở cạnh PHẢI rộng 420px */
html body div.mfp-wrap.off-canvas-right .mfp-content,
html body div.mfp-wrap.off-canvas .mfp-content,
html body div.mfp-wrap.off-canvas-cart .mfp-content,
html body div.mfp-wrap.ds-cart-drawer-wrap .mfp-content,
html body div.mfp-wrap:has(#cart-popup) .mfp-content,
html body .mfp-content.off-canvas-cart {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: auto !important;
	width: 420px !important;
	max-width: 90vw !important;
	height: 100vh !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
	box-shadow: -8px 0 30px rgba(0, 0, 0, 0.2) !important;
	pointer-events: auto !important;
	float: right !important;
}

/* Khi có class mfp-hide -> Luôn ẨN khung giỏ hàng */
#cart-popup.mfp-hide,
html body #cart-popup.mfp-hide,
html body .mfp-hide#cart-popup {
	display: none !important;
}

/* Chỉ khi giỏ hàng được bật mở trong mfp-wrap */
html body div.mfp-wrap #cart-popup,
html body .off-canvas-cart #cart-popup {
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100vh !important;
	max-height: 100vh !important;
	max-width: 100% !important;
	background: #ffffff !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: 0 !important;
}

.cart-popup-inner,
.widget_shopping_cart,
.widget_shopping_cart_content {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	height: 100% !important;
	max-height: 100% !important;
	overflow: hidden !important;
	padding: 0 !important;
}

/* Khối thân cuộn tự nhiên: Chứa thanh Freeship + Cart Items + You'll also like */
.ds-cart-scroll-body {
	flex: 1 1 auto !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 0 !important;
}

/* Nút X đóng giỏ hàng góc trên phải: Nền TRẮNG dạng hình tròn, Icon X màu ĐEN */
html body div.mfp-wrap button.mfp-close,
html body div.mfp-wrap.off-canvas-right button.mfp-close,
html body #cart-popup button.mfp-close,
html body button.mfp-close,
html body .mfp-close {
	position: absolute !important;
	top: 5px !important;
	right: 10px !important;
	left: auto !important;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	line-height: 28px !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #000000 !important;
	border-radius: 50% !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	font-family: inherit !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 1 !important;
	z-index: 9999999 !important;
	border: none !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18) !important;
	padding: 0 !important;
	margin: 0 !important;
	transition: transform 0.15s ease, background 0.15s ease !important;
}

html body div.mfp-wrap button.mfp-close::before,
html body div.mfp-wrap button.mfp-close::after,
html body button.mfp-close::before,
html body button.mfp-close::after,
html body .mfp-close::before,
html body .mfp-close::after {
	display: none !important;
	background: transparent !important;
	background-color: transparent !important;
}

/* Trị triệt để background / fill màu xanh trên mọi phần tử con bên trong nút close */
html body button.mfp-close *,
html body .mfp-close * {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

html body button.mfp-close svg,
html body .mfp-close svg {
	width: 14px !important;
	height: 14px !important;
	stroke: #000000 !important;
	fill: none !important;
	background: transparent !important;
	background-color: transparent !important;
}

html body button.mfp-close svg line,
html body .mfp-close svg line,
html body button.mfp-close svg path,
html body .mfp-close svg path {
	stroke: #000000 !important;
	fill: none !important;
}

html body button.mfp-close svg circle,
html body .mfp-close svg circle,
html body button.mfp-close svg rect,
html body .mfp-close svg rect {
	display: none !important;
	fill: transparent !important;
	stroke: transparent !important;
}

html body div.mfp-wrap button.mfp-close:hover,
html body div.mfp-wrap button.mfp-close:focus,
html body div.mfp-wrap button.mfp-close:active,
html body #cart-popup button.mfp-close:hover,
html body button.mfp-close:hover,
html body .mfp-close:hover {
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #000000 !important;
	transform: scale(1.08) !important;
	opacity: 1 !important;
}

.cart-popup-inner {
	padding: 0 !important;
}

/* Ẩn tiêu đề Cart cũ của Flatsome */
html body .cart-popup-title {
	display: none !important;
}

/* 2. Thanh thông báo ưu đãi ở trên cùng */
.ds-cart-announcement {
	flex: 0 0 auto !important;
	background: #f26b21 !important;
	color: #ffffff !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	text-align: center !important;
	padding: 10px 42px 10px 16px !important;
	letter-spacing: 0.2px !important;
}

/* 3. Header Giỏ hàng: Icon Dumpling + Title */
.ds-cart-header {
	flex: 0 0 auto !important;
	padding: 18px 20px 12px !important;
	border-bottom: 1px solid #f2e7dc !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.ds-cart-title {
	font-size: 19px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.ds-cart-title__icon {
	font-size: 22px !important;
}

/* 4. Thanh tiến trình Freeship chuẩn theo mockup 2 */
.ds-cart-shipping {
	flex: 0 0 auto !important;
	padding: 16px 20px 36px !important;
	background: #fff8f5 !important;
	border-bottom: 1px solid #f2e7dc !important;
}

.ds-cart-shipping__text {
	font-size: 13.5px !important;
	color: #444444 !important;
	text-align: center !important;
	margin-bottom: 14px !important;
}

.ds-cart-shipping__text strong {
	color: #2b2723 !important;
	font-weight: 700 !important;
}

.ds-cart-shipping__bar-wrap {
	position: relative !important;
	padding-right: 32px !important;
	margin: 0 !important;
}

.ds-cart-shipping__track {
	height: 6px !important;
	background: #ffe8dc !important;
	border-radius: 999px !important;
	position: relative !important;
	overflow: hidden !important;
	width: 100% !important;
}

.ds-cart-shipping__bar {
	height: 100% !important;
	background: #f26b21 !important;
	background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3) 6px, transparent 6px, transparent 12px) !important;
	border-radius: 999px !important;
	transition: width 0.3s ease !important;
}

.ds-cart-shipping__goal {
	position: absolute !important;
	right: 0 !important;
	top: -10px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.ds-cart-shipping__truck-circle,
.ds-cart-shipping__icon {
	width: 26px !important;
	height: 26px !important;
	border-radius: 50% !important;
	border: 1.5px solid #f26b21 !important;
	background: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 5px rgba(242, 107, 33, 0.15) !important;
	font-size: 13px !important;
	line-height: 1 !important;
	margin: 0 !important;
}

.ds-cart-shipping__amount {
	position: absolute !important;
	top: 27px !important;
	right: -2px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #888888 !important;
	white-space: nowrap !important;
}

/* 5. Danh sách sản phẩm trong giỏ hàng (Hiển thị tự nhiên không giới hạn chiều cao) */
.ds-cart-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 16px 20px !important;
	max-height: none !important;
	overflow: visible !important;
}

.ds-cart-item {
	display: flex !important;
	gap: 14px !important;
	padding-bottom: 16px !important;
	margin-bottom: 16px !important;
	border-bottom: 1px solid #f4eae1 !important;
	align-items: center !important;
}

.ds-cart-item:last-child {
	border-bottom: none !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.ds-cart-item__thumb img {
	width: 72px !important;
	height: 72px !important;
	object-fit: cover !important;
	border-radius: 12px !important;
	border: 1px solid #f0e6dc !important;
}

.ds-cart-item__details {
	flex: 1 1 auto !important;
}

.ds-cart-item__title a {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #2b2723 !important;
	text-decoration: none !important;
}

.ds-cart-item__title a:hover {
	color: #f26b21 !important;
}

.ds-cart-item__price-unit {
	font-size: 13.5px !important;
	color: #777777 !important;
	margin-top: 2px !important;
}

.ds-cart-item__actions {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	margin-top: 10px !important;
	gap: 12px !important;
}

/* Stepper tăng giảm số lượng dạng hộp bo góc nhẹ có đường vạch chia ngăn */
.ds-qty-stepper {
	display: inline-flex !important;
	align-items: center !important;
	border: 1px solid #e2d8cd !important;
	border-radius: 8px !important;
	padding: 0 !important;
	background: #ffffff !important;
	overflow: hidden !important;
	height: 32px !important;
	gap: 0 !important;
}

.ds-qty-btn {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	width: 32px !important;
	height: 32px !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: #444444 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	transition: background 0.15s ease, color 0.15s ease !important;
}

.ds-qty-minus {
	border-right: 1px solid #e2d8cd !important;
}

.ds-qty-plus {
	border-left: 1px solid #e2d8cd !important;
}

.ds-qty-btn:hover {
	background: #f8efe6 !important;
	color: #f26b21 !important;
}

.ds-qty-val {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #2b2723 !important;
	width: 36px !important;
	height: 32px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	text-align: center !important;
	margin: 0 !important;
}

/* Nút xoá rác 🗑 Không viền tròn, Hover chuyển ĐỎ #e03e3e */
ul.product_list_widget li.ds-cart-item,
.ds-cart-item {
	padding-right: 0 !important;
}

ul.product_list_widget li a.ds-cart-item__remove,
ul.product_list_widget li a.remove.remove_from_cart_button,
.ds-cart-item .ds-cart-item__remove,
.ds-cart-item a.remove {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #888888 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	width: auto !important;
	height: auto !important;
	padding: 4px !important;
	transition: color 0.15s ease !important;
	text-decoration: none !important;
}

.ds-cart-item a.remove:hover,
.ds-cart-item .ds-cart-item__remove:hover,
ul.product_list_widget li a.remove:hover {
	color: #e03e3e !important;
	stroke: #e03e3e !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
}

.ds-cart-item a.remove svg,
.ds-cart-item .ds-cart-item__remove svg,
ul.product_list_widget li a.remove svg {
	width: 17px !important;
	height: 17px !important;
	display: block !important;
	stroke: currentColor !important;
}

/* Giá tổng dòng đẩy sang góc PHẢI */
.ds-cart-item__total {
	margin-left: auto !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	text-align: right !important;
}

/* 6. Gợi ý sản phẩm "You'll also like" (Nằm tự nhiên ngay dưới danh sách sản phẩm) */
.ds-cart-cross-sells {
	flex: 0 0 auto !important;
	padding: 18px 20px !important;
	background: #faf5f0 !important;
	border-top: 1px solid #f2e7dc !important;
	border-bottom: 1px solid #f2e7dc !important;
	margin-top: 10px !important;
}

.ds-cart-cross-sells__title {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	text-align: center !important;
	margin: 0 0 12px 0 !important;
}

.ds-cart-cross-sells__list {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.ds-cross-card {
	position: relative !important;
	background: #ffffff !important;
	border: 1px solid #efe4d8 !important;
	border-radius: 14px !important;
	padding: 10px 12px !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	cursor: pointer !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.ds-cross-card:hover {
	border-color: #f26b21 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

.ds-cross-card__main-link {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: 1 !important;
}

.ds-cross-card__thumb img {
	width: 50px !important;
	height: 50px !important;
	object-fit: cover !important;
	border-radius: 8px !important;
}

.ds-cross-card__info {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.ds-cross-card__title {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #2b2723 !important;
	margin: 0 0 2px 0 !important;
	line-height: 1.25 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

.ds-cross-card__price {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #666666 !important;
}

.ds-cross-card__action {
	flex: 0 0 auto !important;
	position: relative !important;
	z-index: 2 !important;
}

.ds-cross-card__btn {
	background: #f26b21 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 0 14px !important;
	height: 34px !important;
	line-height: 34px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	transition: background 0.2s ease !important;
}

.ds-cross-card__btn:hover {
	background: #d85912 !important;
	color: #ffffff !important;
}

/* Mini-cart recommendations: keep the thumbnail square and match the compact
   product-card layout used by the reference storefront. */
.ds-cross-card {
	display: grid !important;
	grid-template-columns: 66px minmax(0, 1fr) 104px !important;
	grid-template-rows: auto auto !important;
	align-items: center !important;
	column-gap: 10px !important;
	row-gap: 6px !important;
	min-height: 96px !important;
	padding: 12px !important;
}

.ds-cross-card__thumb {
	position: relative !important;
	z-index: 2 !important;
	grid-column: 1 !important;
	grid-row: 1 / 3 !important;
	width: 66px !important;
	height: 66px !important;
	min-width: 66px !important;
	overflow: hidden !important;
	border-radius: 12px !important;
}

.ds-cross-card__thumb a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.ds-cross-card__thumb img,
.ds-cart-cross-sells .ds-cross-card__thumb img {
	display: block !important;
	width: 66px !important;
	height: 66px !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	border-radius: 12px !important;
}

.ds-cross-card__info {
	display: contents !important;
}

.ds-cross-card__title {
	position: relative !important;
	z-index: 2 !important;
	grid-column: 2 / 4 !important;
	grid-row: 1 !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	-webkit-line-clamp: 2 !important;
}

.ds-cross-card__price {
	position: relative !important;
	z-index: 2 !important;
	grid-column: 2 !important;
	grid-row: 2 !important;
	display: block !important;
	width: 100% !important;
	align-self: center !important;
	justify-self: stretch !important;
	text-align: center !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
}

.ds-cross-card__action {
	grid-column: 3 !important;
	grid-row: 2 !important;
	align-self: center !important;
	justify-self: center !important;
	width: 104px !important;
}

.ds-cross-card__btn {
	width: 104px !important;
	min-width: 104px !important;
	height: 40px !important;
	min-height: 40px !important;
	padding: 0 10px !important;
	line-height: 40px !important;
	white-space: nowrap !important;
	text-align: center !important;
	overflow: hidden !important;
	margin: 0 !important;
}

@media (max-width: 549px) {
	.ds-cross-card {
		grid-template-columns: 40px minmax(0, 1fr) 96px !important;
	}

	.ds-cross-card__thumb,
	.ds-cross-card__thumb img,
	.ds-cart-cross-sells .ds-cross-card__thumb img {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
	}

	.ds-cross-card__action,
	.ds-cross-card__btn {
		width: 96px !important;
		min-width: 96px !important;
	}
}

/* 7. Footer Giỏ hàng & Nút Complete My Order (Tông CAM Brand #f26b21, Chữ TRẮNG 100%) */
.ds-cart-footer {
	flex: 0 0 auto !important;
	position: relative !important;
	z-index: 10 !important;
	padding: 18px 20px !important;
	background: #ffffff !important;
	border-top: 1px solid #f2e7dc !important;
	box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.05) !important;
}

.ds-cart-footer__total-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	margin-bottom: 14px !important;
}

.ds-cart-footer__checkout-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 50px !important;
	background: #f26b21 !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 15.5px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(242, 107, 33, 0.35) !important;
	transition: transform 0.15s ease, background 0.2s ease !important;
}

.ds-cart-footer__checkout-btn:hover {
	background: #d85912 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

/* Ép toàn bộ chữ và con số giá tiền trong nút Complete My Order thành màu TRẮNG */
.ds-cart-footer__checkout-btn *,
.ds-cart-footer__checkout-btn span,
.ds-cart-footer__checkout-btn bdi,
.ds-cart-footer__checkout-btn .amount,
.ds-cart-footer__checkout-btn .woocommerce-Price-amount,
.ds-cart-footer__checkout-btn .woocommerce-Price-currencySymbol {
	color: #ffffff !important;
}

.ds-cart-footer__payments {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	margin-top: 14px !important;
	flex-wrap: wrap !important;
}

.ds-pay-badge {
	font-size: 10.5px !important;
	font-weight: 800 !important;
	padding: 3px 8px !important;
	border-radius: 4px !important;
	border: 1px solid #e0d5c8 !important;
	color: #555555 !important;
	background: #fcf8f5 !important;
	user-select: none !important;
}

.ds-pay-visa { color: #1a1f71 !important; }
.ds-pay-mc { color: #eb001b !important; }
.ds-pay-apple { color: #000000 !important; }
.ds-pay-shop { color: #5a31f4 !important; }
.ds-pay-gpay { color: #4285f4 !important; }
.ds-pay-paypal { color: #003087 !important; }

/* Giỏ hàng trống */
.ds-cart-empty {
	padding: 48px 20px !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

.ds-cart-empty__icon {
	font-size: 44px !important;
	margin-bottom: 12px !important;
}

.ds-cart-empty__msg {
	font-size: 14.5px !important;
	color: #666666 !important;
	margin-bottom: 22px !important;
	font-weight: 500 !important;
}

.ds-cart-empty__btn,
a.button.ds-cart-empty__btn,
a.ds-cart-empty__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	max-width: max-content !important;
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	line-height: 40px !important;
	padding: 0 24px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	border-radius: 999px !important;
	background: #ff6a1a !important;
	border: none !important;
	color: #ffffff !important;
	margin: 0 auto !important;
	box-shadow: 0 4px 12px rgba(255, 106, 26, 0.25) !important;
	transition: background 0.15s ease, transform 0.15s ease !important;
}

.ds-cart-empty__btn:hover,
a.button.ds-cart-empty__btn:hover {
	background: #e5590d !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

/* Full empty-cart state. */
.woocommerce-cart .woocommerce:has(.ds-empty-cart-page) {
	max-width: 1300px !important;
	margin: 0 auto !important;
	padding: 34px 24px 70px !important;
}

.ds-empty-cart-page {
	position: relative !important;
	overflow: hidden !important;
	max-width: 780px !important;
	min-height: 400px !important;
	margin: 0 auto !important;
	padding: 42px 44px 38px !important;
	border: 1px solid #ffd4bd !important;
	border-radius: 28px !important;
	background:
		radial-gradient(circle at 8% 12%, rgba(255, 196, 164, .32) 0 70px, transparent 71px),
		radial-gradient(circle at 94% 88%, rgba(255, 225, 175, .36) 0 92px, transparent 93px),
		#fffaf6 !important;
	text-align: center !important;
	box-shadow: 0 18px 48px rgba(82, 43, 25, .08) !important;
}

.ds-empty-cart-page__art {
	width: 126px !important;
	height: 126px !important;
	margin: 0 auto 8px !important;
}

.ds-empty-cart-page__art svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	fill: #2b231f !important;
}

.ds-empty-cart-page__bag {
	fill: #ff6a1a !important;
}

.ds-empty-cart-page__handle,
.ds-empty-cart-page__smile,
.ds-empty-cart-page__spark {
	fill: none !important;
	stroke: #2b231f !important;
	stroke-width: 6 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.ds-empty-cart-page__spark {
	stroke: #ff9f1c !important;
	stroke-width: 5 !important;
}

.ds-empty-cart-page__bun {
	fill: #fff4e8 !important;
}

.ds-empty-cart-page__eyebrow {
	margin: 0 0 5px !important;
	color: #ff6a1a !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
}

.ds-empty-cart-page h1 {
	margin: 0 0 10px !important;
	color: #251d19 !important;
	font-size: clamp(28px, 3.1vw, 40px) !important;
	font-weight: 900 !important;
	line-height: 1.12 !important;
	letter-spacing: -.5px !important;
}

.ds-empty-cart-page__copy {
	max-width: 480px !important;
	margin: 0 auto 24px !important;
	color: #6f5b50 !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
}

.ds-empty-cart-page .ds-empty-cart-page__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	min-width: 220px !important;
	height: 52px !important;
	margin: 0 auto !important;
	padding: 0 26px !important;
	border: 1px solid #ff6a1a !important;
	border-radius: 12px !important;
	background: #ff6a1a !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: 0 10px 24px rgba(255, 106, 26, .24) !important;
	transition: transform .2s ease, background .2s ease, color .2s ease !important;
}

.ds-empty-cart-page .ds-empty-cart-page__button svg {
	width: 18px !important;
	height: 18px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
	transition: transform .2s ease !important;
}

.ds-empty-cart-page .ds-empty-cart-page__button:hover {
	background: #fff !important;
	color: #ff6a1a !important;
	transform: translateY(-2px) !important;
}

.ds-empty-cart-page .ds-empty-cart-page__button:hover svg {
	transform: translateX(3px) !important;
}

.ds-empty-cart-page__perks {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	margin-top: 22px !important;
	color: #8b7569 !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
}

.ds-empty-cart-page__perks i {
	width: 4px !important;
	height: 4px !important;
	border-radius: 50% !important;
	background: #ff9f67 !important;
}

@media (max-width: 549px) {
	.woocommerce-cart .woocommerce:has(.ds-empty-cart-page) {
		padding: 20px 14px 40px !important;
	}

	.ds-empty-cart-page {
		min-height: 0 !important;
		padding: 30px 18px 28px !important;
		border-radius: 20px !important;
	}

	.ds-empty-cart-page__art {
		width: 104px !important;
		height: 104px !important;
	}

	.ds-empty-cart-page h1 {
		font-size: 28px !important;
	}

	.ds-empty-cart-page__copy {
		font-size: 14.5px !important;
	}

	.ds-empty-cart-page__perks {
		align-items: flex-start !important;
		gap: 7px !important;
		font-size: 11.5px !important;
	}
}

/* ==========================================================================
   Khối Video Reels Sản Phẩm (TikTok / Shorts Style)
   ========================================================================== */
.ds-video-reels-section {
	background: linear-gradient(135deg, #d3a7dc 0%, #c495ce 100%) !important;
	padding: 40px 20px 50px !important;
	margin: 30px 0 !important;
	border-radius: 24px !important;
	color: #ffffff !important;
	text-align: center !important;
}

.ds-video-reels-header {
	max-width: 700px !important;
	margin: 0 auto 30px !important;
}

.ds-video-reels-title {
	font-size: clamp(24px, 3vw, 32px) !important;
	font-weight: 900 !important;
	color: #ffffff !important;
	margin: 0 0 8px 0 !important;
	letter-spacing: -0.5px !important;
}

.ds-video-reels-subtitle {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.9) !important;
	margin: 0 !important;
}

.ds-video-reels-carousel {
	overflow-x: auto !important;
	padding-bottom: 10px !important;
}

.ds-reels-track {
	display: flex !important;
	justify-content: center !important;
	gap: 16px !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
}

@media (max-width: 850px) {
	.ds-reels-track {
		justify-content: flex-start !important;
		padding: 0 10px !important;
	}
}

.ds-reel-card {
	flex: 0 0 230px !important;
	height: 370px !important;
	border-radius: 20px !important;
	overflow: hidden !important;
	position: relative !important;
	background: #000000 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
	cursor: pointer !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.ds-reel-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
}

.ds-reel-media {
	width: 100% !important;
	height: 100% !important;
	position: relative !important;
}

.ds-reel-media video,
.ds-reel-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.ds-reel-overlay {
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 50%) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	padding: 16px !important;
}

.ds-reel-caption {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
	text-align: left !important;
	margin-top: auto !important;
	margin-bottom: 20px !important;
}

.ds-reel-play-btn {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 46px !important;
	height: 46px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.35) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.8) !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: background 0.2s ease, transform 0.2s ease !important;
}

.ds-reel-card:hover .ds-reel-play-btn {
	background: rgba(255, 255, 255, 0.55) !important;
	transform: translate(-50%, -50%) scale(1.1) !important;
}

/* ==========================================================================
   Trang Chi Tiết Sản Phẩm (Single Product Page - Dumpling Squishy Style)
   ========================================================================== */

/* 0. Ẩn Breadcrumb đường dẫn trang */
.single-product .is-breadcrumbs,
.single-product nav.woocommerce-breadcrumb,
.single-product .breadcrumbs {
	display: none !important;
}

/* Wrapper detail phải full-width để các section phía dưới tự căn đúng. */
.single-product .product-container {
	width: 100%;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

/* Chỉ giới hạn và căn giữa hai cột sản phẩm chính. */
.single-product .product-main > .row {
	width: 100%;
	max-width: var(--ds-page-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 849px) {
	.single-product #content,
	.single-product .product-main,
	.single-product #content > .row {
		padding-left: 16px !important;
		padding-right: 16px !important;
		box-sizing: border-box !important;
		width: 100% !important;
	}

	.single-product .product-main > .col {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	.ds-tiered-card {
		padding: 20px 16px !important;
		border-radius: 20px !important;
	}
}

@media (min-width: 850px) {
	.single-product .product-main {
		display: flex !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}

	.single-product .product-main > .row {
		display: flex !important;
		gap: 0 !important;
	}
	
	/* Cột bên trái: Gallery ảnh sản phẩm */
	.single-product .product-main > .col:first-child,
	.single-product .product-gallery {
		flex: 0 0 55% !important;
		max-width: 55% !important;
		width: 55% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
		position: sticky !important;
		z-index: 10 !important;
		top: 100px !important;
		align-self: flex-start !important;
	}

	/* Cột bên phải: Summary Card chọn gói ưu đãi */
	.single-product .product-main > .col:last-child,
	.single-product .product-info,
	.single-product .product-summary {
		flex: 0 0 45% !important;
		max-width: 45% !important;
		width: 45% !important;
		padding-top: 0 !important;
		padding-left: 50px !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
		position: relative !important;
		z-index: 1 !important;
	}
}

/* Đảm bảo các khung con bên trong gallery mở rộng đủ 100% */
.single-product .woocommerce-product-gallery,
.single-product .product-images,
.single-product .product-gallery-slider,
.single-product .product-gallery-slider .flickity-viewport,
.single-product .product-gallery-slider img,
.single-product .woocommerce-product-gallery__image img {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	border-radius: 20px !important;
}

.single-product .product-gallery {
	overflow: visible !important;
}

.single-product .product-thumbnails img,
.single-product .product-thumbnails a,
.single-product .product-thumbnails .col {
	border-radius: 12px !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

/* Hide gallery slider & thumbnail navigation arrows (< and >) */
.product-gallery .flickity-prev-next-button,
.product-gallery-slider .flickity-prev-next-button,
.woocommerce-product-gallery .flickity-prev-next-button,
.single-product .product-gallery .flickity-button,
.single-product .next-prev-thumbs,
.product-gallery .owl-nav,
.product-thumbnails .owl-nav {
	display: none !important;
}

/* Thumbnail carousel: giữ hai mũi tên và đặt đúng hai mép. */
.single-product .product-thumbnails {
	position: relative !important;
	overflow: visible !important;
}

.single-product .product-thumbnails > .col,
.single-product .product-thumbnails .flickity-slider > .col {
	flex: 0 0 25% !important;
	width: 25% !important;
	max-width: 25% !important;
}

.single-product .product-thumbnails .flickity-prev-next-button,
.single-product .product-thumbnails .flickity-button {
	display: flex !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	top: 50% !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	transform: translateY(-50%) !important;
	z-index: 99 !important;
	cursor: pointer !important;
}

.single-product .product-thumbnails .flickity-prev-next-button svg,
.single-product .product-thumbnails .flickity-button svg {
	pointer-events: none !important;
}

.single-product .product-thumbnails .flickity-prev-next-button.previous {
	left: -16px !important;
	right: auto !important;
}

.single-product .product-thumbnails .flickity-prev-next-button.next {
	right: -16px !important;
	left: auto !important;
}

/* Single Product Page - Clean 1-Pill Sale Badge */
.single-product .badge-container {
	position: absolute !important;
	top: 16px !important;
	left: 16px !important;
	right: auto !important;
	bottom: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 20 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	width: auto !important;
	height: auto !important;
}

.single-product .badge-container *,
.single-product .badge,
.single-product .callout,
.single-product .onsale,
.single-product .callout-circle {
	position: static !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

.single-product .badge-container .badge-inner,
.single-product .badge-container .onsale {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	padding: 3px 10px !important;
	height: 22px !important;
	line-height: 1 !important;
	border-radius: 999px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
	border: 1px solid #ffffff !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
}

/* 2. Khung thông tin bên phải (Loại bỏ bọc viền thừa) */
.single-product .product-info,
.single-product .product-summary {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

/* Tiêu đề sản phẩm */
.single-product h1.product-title,
.single-product .product-info .product-title {
	font-size: 26px !important;
	font-weight: 900 !important;
	color: #2b2723 !important;
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
	border: none !important;
}

.single-product h1.product-title:after,
.single-product .is-divider {
	display: none !important;
}

/* Giá sản phẩm */
.single-product .product-info .price,
.single-product .price-wrapper .price {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	margin: 0 0 16px 0 !important;
}

.single-product .product-info .price span.amount {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
}

/* Dòng ShopPay notice */
.ds-shoppay-notice {
	font-size: 12px !important;
	color: #666666 !important;
	margin: 0 0 20px 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	flex-wrap: wrap !important;
}

.ds-shoppay-badge {
	background: #5a31f4 !important;
	color: #ffffff !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	padding: 2px 6px !important;
	border-radius: 4px !important;
}

/* Standard Single Product Cart Form & Guarantee Box (2 Rows Layout) */
.ds-standard-cart-wrapper form.cart,
.single-product form.cart {
	margin-top: 18px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
}

/* Quantity Stepper Container & Plus/Minus Buttons (Row 1 - Perfectly Rounded Pill) */
.single-product .quantity,
.ds-standard-cart-wrapper .quantity {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	background: #fdfaf7 !important;
	border: 1.5px solid #ebdcd0 !important;
	border-radius: 999px !important;
	padding: 4px 6px !important;
	height: 48px !important;
	width: 140px !important;
	min-width: 140px !important;
	max-width: 140px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	position: relative !important;
}

.single-product .quantity input.minus,
.single-product .quantity input.plus,
.single-product .quantity button.minus,
.single-product .quantity button.plus,
.single-product .quantity .button.minus,
.single-product .quantity .button.plus,
.single-product .quantity a.minus,
.single-product .quantity a.plus {
	width: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #2b2723 !important;
	border: 1px solid #e0d5c9 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08) !important;
	transition: all 0.15s ease !important;
	line-height: 1 !important;
	text-decoration: none !important;
	overflow: hidden !important;
}

.single-product .quantity input.minus:hover,
.single-product .quantity input.plus:hover,
.single-product .quantity button.minus:hover,
.single-product .quantity button.plus:hover,
.single-product .quantity .button.minus:hover,
	background: #ff6a1a !important;
	background-color: #ff6a1a !important;
	color: #ffffff !important;
	border-color: #ff6a1a !important;
}

.single-product .quantity input,
.single-product .quantity input.qty,
.single-product .quantity input.input-text,
.single-product .quantity input[type="number"],
.single-product .quantity input[type="text"],
.ds-standard-cart-wrapper .quantity input,
.ds-standard-cart-wrapper .quantity input.qty,
.ds-standard-cart-wrapper .quantity input.input-text,
.ds-standard-cart-wrapper .quantity input[type="number"],
.ds-standard-cart-wrapper .quantity input[type="text"],
form.cart .quantity input,
form.cart .quantity input.qty,
form.cart .quantity input.input-text {
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	background: transparent !important;
	background-color: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 36px !important;
	text-align: center !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	-webkit-appearance: none !important;
	-moz-appearance: textfield !important;
}

.single-product .quantity input:focus,
.single-product .quantity input.qty:focus,
.single-product .quantity input.input-text:focus,
.single-product .quantity input[type="number"]:focus,
.ds-standard-cart-wrapper .quantity input:focus,
form.cart .quantity input:focus {
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	background: transparent !important;
	background-color: transparent !important;
}

.single-product .quantity input::-webkit-outer-spin-button,
.single-product .quantity input::-webkit-inner-spin-button,
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* Single Add to Cart Submit Button (Nút TRÊN: Màu Trắng Viền Cam) */
.single-product .single_add_to_cart_button,
.single_add_to_cart_button {
	width: 100% !important;
	min-width: 100% !important;
	height: 52px !important;
	line-height: 49px !important;
	padding: 0 24px !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #ff6a1a !important;
	border: 1.5px solid #ff6a1a !important;
	border-radius: 999px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	text-transform: none !important;
	letter-spacing: 0.3px !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(255, 106, 26, 0.12) !important;
	transition: all 0.2s ease !important;
	margin: 0 !important;
	text-align: center !important;
}

.single-product .single_add_to_cart_button:hover {
	background: #fff8f5 !important;
	background-color: #fff8f5 !important;
	border-color: #e65609 !important;
	color: #e65609 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(255, 106, 26, 0.2) !important;
}

.ds-card-price-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 16px 0 20px 0 !important;
}

.ds-card-reg-price {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #888888 !important;
	text-decoration: line-through !important;
}

.ds-card-price {
	font-size: 28px !important;
	font-weight: 900 !important;
	color: #1d232a !important;
}

.ds-card-save-badge {
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	padding: 4px 12px !important;
	border-radius: 999px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	box-shadow: 0 4px 12px rgba(255, 106, 26, 0.3) !important;
}

/* Visual Color & Style Swatch Picker */
.ds-color-swatch-picker {
	margin: 18px 0 16px 0 !important;
	padding: 16px !important;
	background: #fdfaf7 !important;
	border: 1.5px solid #f0e6dc !important;
	border-radius: 16px !important;
}

.ds-swatch-header {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-bottom: 12px !important;
	font-size: 13px !important;
}

.ds-swatch-title {
	font-weight: 800 !important;
	color: #2b2723 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.ds-selected-swatch-name {
	font-weight: 800 !important;
	color: #ff6a1a !important;
}

.ds-swatches-grid {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	max-height: 220px !important;
	overflow-y: auto !important;
	padding-right: 4px !important;
}

/* Custom sleek scrollbar for swatch grid */
.ds-swatches-grid::-webkit-scrollbar {
	width: 5px !important;
}

.ds-swatches-grid::-webkit-scrollbar-track {
	background: #f8f1eb !important;
	border-radius: 10px !important;
}

.ds-swatches-grid::-webkit-scrollbar-thumb {
	background: #ff6a1a !important;
	border-radius: 10px !important;
}

.ds-swatches-grid::-webkit-scrollbar-thumb:hover {
	background: #e65609 !important;
}

.ds-swatch-pill {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 6px 14px !important;
	background: #ffffff !important;
	border: 1.5px solid #e0d5c9 !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #2b2723 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	outline: none !important;
}

.ds-swatch-pill:hover {
	border-color: #ff6a1a !important;
	transform: translateY(-1px) !important;
}

.ds-swatch-pill.active {
	border-color: #ff6a1a !important;
	background: #fff8f5 !important;
	color: #ff6a1a !important;
	box-shadow: 0 4px 12px rgba(255, 106, 26, 0.2) !important;
}

.ds-swatch-circle {
	width: 16px !important;
	height: 16px !important;
	border-radius: 50% !important;
	display: inline-block !important;
	flex-shrink: 0 !important;
}

.ds-swatch-pill.is-rare {
	background: linear-gradient(135deg, #fff9db, #ffffff) !important;
	border-color: #ffd43b !important;
}

.ds-swatch-pill.is-rare.active {
	border-color: #f59f00 !important;
	background: #fff3bf !important;
	color: #d9480f !important;
}

/* Hide default Flatsome image sale badge on single product page */
.single-product .product-gallery .badge-container,
.single-product .product-images .badge-container,
.single-product .badge-sale,
.single-product .callout.badge {
	display: none !important;
}

/* Buy Now Button & Swatch Validation Styles */
.ds-buy-now-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 52px !important;
	margin-top: 12px !important;
	border-radius: 999px !important;
	background: #ff6a1a !important;
	background-color: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	border: none !important;
	cursor: pointer !important;
	box-shadow: 0 8px 24px rgba(255, 106, 26, 0.35) !important;
	transition: all 0.2s ease !important;
}

.ds-buy-now-btn:hover {
	background: #e65609 !important;
	background-color: #e65609 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 10px 28px rgba(230, 86, 9, 0.45) !important;
}

/* Aggressive Quantity Input Square Box & Border Removal */
.single-product .quantity input.qty,
.single-product .quantity input[type="number"],
.single-product form.cart .quantity input,
.quantity input.qty,
.quantity input[type="number"],
div.quantity input[type="number"],
.quantity .qty {
	border: 0 !important;
	border-style: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	outline: none !important;
	background: transparent !important;
	background-color: transparent !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	color: #2b2b2b !important;
	text-align: center !important;
	width: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ds-swatch-error-msg {
	color: #e03131 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	margin-top: 10px !important;
	padding: 8px 12px !important;
	background: #fff5f5 !important;
	border: 1px solid #ffc9c9 !important;
	border-radius: 8px !important;
}

.ds-shake-error {
	animation: dsShake 0.4s ease-in-out !important;
}

@keyframes dsShake {
	0%, 100% { transform: translateX(0); }
	20%, 60% { transform: translateX(-6px); }
	40%, 80% { transform: translateX(6px); }
}

.ds-card-price del {
	color: #999999 !important;
	font-size: 16px !important;
	text-decoration: line-through !important;
	font-weight: 600 !important;
	margin-right: 6px !important;
}

.ds-card-price ins,
.ds-card-price span.amount {
	color: #2b2723 !important;
	font-size: 28px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

.ds-card-guarantees {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin-top: 24px !important;
	padding-top: 18px !important;
	border-top: 1px dashed #f0e2d8 !important;
}

.ds-guarantee-item {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	color: #666666 !important;
	letter-spacing: 0.5px !important;
}

.ds-guarantee-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Thao tác chọn biến thể (Ẩn menu dropdown thô mặc định của WooCommerce) */
.single-product table.variations {
	display: none !important;
}

.single-product table.variations td.label {
	padding: 0 0 6px 0 !important;
	display: block !important;
}

.single-product table.variations td.label label {
	font-size: 13px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.single-product table.variations td.value {
	display: block !important;
	padding: 0 !important;
}

.single-product table.variations select {
	width: 100% !important;
	border-radius: 999px !important;
	border: 1.5px solid #ffcad4 !important;
	padding: 10px 18px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #2b2723 !important;
	background-color: #fff9fa !important;
	cursor: pointer !important;
	outline: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.single-product table.variations select:focus,
.single-product table.variations select:hover {
	border-color: #ff8fab !important;
	box-shadow: 0 2px 8px rgba(255, 143, 171, 0.2) !important;
}

.single-product .reset_variations {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #ff8fab !important;
	text-decoration: underline !important;
	margin-left: 8px !important;
}

/* Ẩn bớt khối Tab Mô Tả chuẩn WooCommerce không dùng đến */
.single-product .product-tabs,
.single-product .woocommerce-tabs,
.single-product .tab-panels {
	display: none !important;
}

/* ==========================================================================
   Các Section giới thiệu sản phẩm đầy đủ (Feature Stories, FAQ, Reviews)
   ========================================================================== */

/* Video Reels Banner - Full Width Purple Section */
.ds-video-reels-section {
	width: 100vw !important;
	position: relative !important;
	left: 50% !important;
	right: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	background: #ba8fd8 !important;
	padding: 0 0 60px 0 !important;
	overflow: hidden !important;
}

.ds-video-wave-top {
	width: 100% !important;
	display: block !important;
	line-height: 0 !important;
	margin-bottom: 20px !important;
}

.ds-video-wave-top svg {
	width: 100% !important;
	height: 40px !important;
	display: block !important;
}

.ds-video-reels-header {
	text-align: center !important;
	padding: 0 20px 24px 20px !important;
	max-width: 800px !important;
	margin: 0 auto !important;
}

.ds-video-reels-title {
	font-size: clamp(24px, 3.5vw, 36px) !important;
	font-weight: 900 !important;
	color: #ffffff !important;
	margin: 0 0 8px 0 !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.ds-video-reels-subtitle {
	font-size: 14px !important;
	color: rgba(255, 255, 255, 0.95) !important;
	margin: 0 !important;
	font-weight: 600 !important;
}

/* Video Reels Track & Vertical 9:16 Cards */
.ds-video-reels-carousel {
	width: 100% !important;
	max-width: 1600px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	position: relative !important;
	overflow: hidden !important;
}

.ds-video-reels-carousel::before,
.ds-video-reels-carousel::after {
	display: none !important;
}

.ds-video-reels-carousel::before {
	left: 0;
	background: linear-gradient(90deg, rgba(186,143,216,.96) 0%, rgba(186,143,216,.72) 42%, rgba(186,143,216,.28) 72%, transparent 100%);
}

.ds-video-reels-carousel::after {
	right: 0;
	background: linear-gradient(270deg, rgba(186,143,216,.96) 0%, rgba(186,143,216,.72) 42%, rgba(186,143,216,.28) 72%, transparent 100%);
}

.ds-reels-track {
	display: flex !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	gap: 18px !important;
	justify-content: flex-start !important;
	overflow-x: auto !important;
	scroll-snap-type: x mandatory !important;
	scroll-behavior: smooth !important;
	overscroll-behavior-inline: contain !important;
	cursor: grab !important;
	user-select: none !important;
	touch-action: pan-y !important;
	will-change: scroll-position !important;
	scrollbar-width: none !important;
	padding: 4px 6px 14px !important;
}

.ds-reels-track.is-dragging {
	cursor: grabbing !important;
	scroll-behavior: auto !important;
	scroll-snap-type: none !important;
}

.ds-reels-track img,
.ds-reels-track video {
	-webkit-user-drag: none !important;
	user-select: none !important;
}

.ds-reels-track::-webkit-scrollbar {
	display: none !important;
}

.ds-reel-card {
	flex: 1 1 calc((100% - 72px) / 5) !important;
	min-width: 240px !important;
	max-width: 300px !important;
	height: auto !important;
	aspect-ratio: 9 / 16 !important;
	scroll-snap-align: start !important;
	border-radius: 24px !important;
	overflow: hidden !important;
	position: relative !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18) !important;
	cursor: pointer !important;
	background: #000000 !important;
	transition: transform 0.3s ease !important;
}

@media (min-width: 1280px) {
	.ds-reels-track {
		justify-content: center !important;
	}
}

.ds-reel-card:hover {
	transform: translateY(-4px) !important;
}

.ds-reel-card:first-child,
.ds-reel-card:last-child {
	opacity: 0.38 !important;
}

.ds-reel-card:first-child:hover,
.ds-reel-card:last-child:hover {
	opacity: 0.55 !important;
}

.ds-reel-media {
	width: 100% !important;
	height: 100% !important;
	position: relative !important;
}

.ds-reel-media video,
.ds-reel-media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.ds-reel-overlay {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 55%) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	padding: 18px !important;
}

.ds-reel-caption {
	color: #ffffff !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

.ds-reel-play-btn {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 62px !important;
	height: 62px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #ff6a1a !important;
	fill: #ff6a1a !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25), 0 0 0 4px rgba(255, 255, 255, 0.35) !important;
	transition: all 0.25s ease !important;
	border: none !important;
}

.ds-reel-play-btn svg {
	width: 26px !important;
	height: 26px !important;
	color: #ff6a1a !important;
	fill: #ff6a1a !important;
	margin-left: 3px !important;
}

.ds-reel-card:hover .ds-reel-play-btn {
	transform: translate(-50%, -50%) scale(1.1) !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	fill: #ffffff !important;
	box-shadow: 0 10px 28px rgba(255, 106, 26, 0.4), 0 0 0 6px rgba(255, 255, 255, 0.45) !important;
}

.ds-reel-card:hover .ds-reel-play-btn svg {
	color: #ffffff !important;
	fill: #ffffff !important;
}

/* Single product: full-viewport section with a wave at the top. */
.single-product .ds-video-reels-section,
.product-footer .ds-video-reels-section {
	width: 100vw !important;
	position: relative !important;
	left: 50% !important;
	right: auto !important;
	margin: 60px 0 50px -50vw !important;
	border-radius: 0 !important;
	padding: 0 0 70px !important;
	box-shadow: none !important;
}

.single-product .ds-video-wave-top,
.product-footer .ds-video-wave-top {
	display: block !important;
}

.ds-video-nav {
	position: absolute !important;
	top: 50% !important;
	z-index: 5 !important;
	display: grid !important;
	place-items: center !important;
	width: 34px !important;
	min-width: 34px !important;
	max-width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #7b2cbf !important;
	font-size: 0 !important;
	line-height: 0 !important;
	box-shadow: 0 5px 16px rgba(72, 30, 99, 0.2) !important;
	transform: translateY(-50%) !important;
	cursor: pointer !important;
}

.ds-video-nav svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
	pointer-events: none !important;
}

.ds-video-nav--prev { left: 0 !important; }
.ds-video-nav--next { right: 0 !important; }
.ds-video-nav:hover { background: #fff7ee !important; color: #ff6a1a !important; }

@media (max-width: 768px) {
	.ds-video-reels-section {
		width: 100vw !important;
		position: relative !important;
		left: 50% !important;
		right: auto !important;
		margin-left: -50vw !important;
		margin-right: 0 !important;
		border-radius: 0 !important;
		padding: 0 0 40px !important;
		margin-top: 24px !important;
		margin-bottom: 24px !important;
	}

	.ds-video-wave-top {
		display: block !important;
	}

	.ds-video-reels-header {
		padding: 0 24px 20px 24px !important;
	}

	.ds-video-reels-title {
		font-size: 24px !important;
		padding: 0 10px !important;
	}

	.ds-video-reels-subtitle {
		font-size: 13px !important;
		padding: 0 10px !important;
	}

	.ds-video-reels-carousel {
		padding: 0 16px !important;
		margin: 0 auto !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.ds-reels-track {
		display: flex !important;
		justify-content: flex-start !important;
		align-items: stretch !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		gap: 14px !important;
		padding: 0 8px 16px 8px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.ds-reel-card {
		flex: 0 0 195px !important;
		max-width: 195px !important;
		height: 350px !important;
		scroll-snap-align: start !important;
		border-radius: 18px !important;
	}

	.ds-story-section {
		padding: 40px 24px !important;
	}
}

/* Source-matched shoppable-video carousel (Swiper). */
.ds-video-reels-carousel {
	max-width: 1380px !important;
	overflow: visible !important;
	padding: 0 40px 50px !important;
}

.ds-reels-swiper {
	overflow: visible !important;
	opacity: 0;
	transition: opacity .2s ease-out .2s;
}

.ds-reels-swiper.swiper-initialized { opacity: 1; }

.ds-reels-swiper .swiper-wrapper {
	align-items: stretch;
}

.ds-reels-swiper .ds-reel-slide {
	display: flex;
	height: auto;
	opacity: .25;
	transform: scale(.9);
	transition: opacity .2s ease-out, transform .2s ease-out;
}

.ds-reels-swiper .ds-reel-slide.swiper-slide-fully-visible {
	opacity: 1;
	transform: scale(1);
}

.ds-reels-swiper .ds-reel-card,
.ds-reels-swiper .ds-reel-card:first-child,
.ds-reels-swiper .ds-reel-card:last-child {
	flex: none !important;
	width: calc(100% - 20px) !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	aspect-ratio: 9 / 16 !important;
	margin: 10px !important;
	margin-bottom: 25px !important;
	border: 1px solid rgba(255,255,255,.92) !important;
	border-radius: 16px !important;
	opacity: 1 !important;
	transform: none !important;
	box-shadow: 0 8px 20px rgba(72,30,99,.14) !important;
}

.ds-reels-swiper .ds-reel-card:hover { transform: none !important; }

.swiper-is-changing .ds-reel-media video { pointer-events: none; }

.ds-reel-card[data-is-playing="true"] .ds-reel-play-btn {
	opacity: 0 !important;
	visibility: hidden !important;
}

.ds-reels-swiper .ds-video-nav {
	top: 50% !important;
	width: 32px !important;
	min-width: 32px !important;
	height: 32px !important;
	min-height: 32px !important;
	margin-top: -25px !important;
	background: #fff !important;
	color: #7b2cbf !important;
	box-shadow: 0 5px 16px rgba(72,30,99,.2) !important;
}

.ds-reels-swiper .swiper-button-prev { left: -4px !important; }
.ds-reels-swiper .swiper-button-next { right: -4px !important; }
.ds-reels-swiper .ds-video-nav::after { font-size: 16px !important; font-weight: 700; }
.ds-reels-swiper .ds-video-nav.swiper-button-disabled { display: none !important; }

.ds-video-pagination {
	bottom: 15px !important;
	--swiper-theme-color: #fff;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	height: 10px !important;
}

.ds-video-pagination .swiper-pagination-bullet {
	display: block !important;
	width: 8px !important;
	min-width: 8px !important;
	max-width: 8px !important;
	height: 8px !important;
	min-height: 8px !important;
	max-height: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	opacity: .35 !important;
	box-shadow: none !important;
	transform: none !important;
}

.ds-video-pagination .swiper-pagination-bullet-active {
	opacity: 1 !important;
}

.ds-video-scrollbar {
	bottom: 0 !important;
	left: 3rem !important;
	width: calc(100% - 6rem) !important;
	height: 4px !important;
	background: rgba(82,43,103,.2) !important;
}

.ds-video-scrollbar .swiper-scrollbar-drag { background: rgba(82,43,103,.78) !important; }

@media (max-width: 749px) {
	.ds-video-reels-carousel { padding: 0 24px 46px !important; }
	.ds-reels-swiper .ds-video-nav { display: none !important; }
	.ds-reels-swiper .ds-reel-card { margin: 8px !important; margin-bottom: 20px !important; }
	.ds-video-scrollbar { left: 15vw !important; width: 70vw !important; }
}

/* Story Sections */
.single-product .product-footer > .container {
	width: min(1300px, 100%) !important;
	max-width: 1300px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.ds-story-section {
	width: 100% !important;
	padding: 0 0 60px !important;
	max-width: 1300px !important;
	margin: 0 auto !important;
}

.ds-story-section--last {
	padding-bottom: 0 !important;
}

.ds-story-row {
	display: flex !important;
	align-items: flex-start !important;
	gap: 48px !important;
}

.ds-story-row.ds-story-reverse {
	flex-direction: row-reverse !important;
}

@media (max-width: 768px) {
	.single-product .product-footer > .container {
		width: 100% !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.ds-story-row {
		flex-direction: column-reverse !important;
		gap: 24px !important;
	}
	.ds-story-row.ds-story-reverse {
		flex-direction: column-reverse !important;
	}
}

.ds-story-col {
	flex: 1 !important;
}

.ds-story-text {
	padding-top: 60px !important;
}

/* WooCommerce catalogue landing pages. */
.ds-catalog-page {
	width: min(1300px, calc(100% - 40px));
	margin: 0 auto;
	padding: 64px 0 80px;
}

.ds-catalog-page__header {
	max-width: 680px;
	margin: 0 auto 42px;
	text-align: center;
}

.ds-catalog-page__header h1 {
	margin: 0 0 10px;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.12;
	font-weight: 900;
}

.ds-catalog-page__header p {
	margin: 0;
	color: var(--ds-muted);
	font-size: 16px;
}

@media (max-width: 549px) {
	.ds-catalog-page {
		width: calc(100% - 30px);
		padding: 42px 0 60px;
	}
}

.ds-story-heading {
	font-size: clamp(22px, 2.5vw, 32px) !important;
	font-weight: 900 !important;
	color: #2b2723 !important;
	margin: 0 0 16px 0 !important;
	line-height: 1.25 !important;
}

.ds-story-desc {
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: #555555 !important;
	margin: 0 !important;
}

.ds-story-img {
	width: 100% !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block !important;
}

/* Secret Collector Guide Section */
.ds-secret-section {
	width: 100vw !important;
	max-width: none !important;
	position: relative !important;
	left: 50% !important;
	margin-left: -50vw !important;
	margin-right: 0 !important;
	background: #f3e8ff !important;
	padding: 60px 20px !important;
	margin-top: 30px !important;
	margin-bottom: 30px !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
}

.ds-secret-card {
	width: 100% !important;
	max-width: 1300px !important;
	margin: 0 auto !important;
}

.ds-secret-row {
	display: flex !important;
	align-items: center !important;
	gap: 50px !important;
}

@media (max-width: 850px) {
	.ds-secret-row {
		flex-direction: column !important;
	}
}

.ds-secret-media {
	flex: 1 !important;
}

.ds-secret-img {
	width: 100% !important;
	border-radius: 24px !important;
	display: block !important;
	box-shadow: 0 10px 30px rgba(123, 44, 191, 0.15) !important;
}

.ds-secret-content {
	flex: 1 !important;
}

.ds-secret-tag {
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 1.5px !important;
	color: #7b2cbf !important;
	text-transform: uppercase !important;
	display: block !important;
	margin-bottom: 8px !important;
}

.ds-secret-heading {
	font-size: clamp(24px, 3vw, 38px) !important;
	font-weight: 900 !important;
	color: #241b2f !important;
	margin: 0 0 24px 0 !important;
	line-height: 1.2 !important;
}

.ds-secret-point {
	display: flex !important;
	gap: 16px !important;
	margin-bottom: 20px !important;
	align-items: flex-start !important;
}

.ds-secret-media-wrapper {
	position: relative !important;
	width: 100% !important;
}

.ds-secret-badge-card {
	position: absolute !important;
	bottom: -15px !important;
	right: -15px !important;
	background: #ffffff !important;
	padding: 16px 24px !important;
	border-radius: 18px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 2 !important;
}

.ds-secret-badge-num {
	font-size: 32px !important;
	font-weight: 900 !important;
	color: #241b2f !important;
	line-height: 1 !important;
}

.ds-secret-badge-txt {
	font-size: 11.5px !important;
	color: #777777 !important;
	font-weight: 700 !important;
	margin-top: 4px !important;
}

.ds-secret-desc {
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: #555555 !important;
	margin: 0 0 14px 0 !important;
}

.ds-secret-icon-circle {
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	box-shadow: 0 4px 12px rgba(255, 106, 26, 0.3) !important;
}

.ds-secret-num {
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-weight: 900 !important;
	font-size: 16px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.ds-secret-point strong {
	font-size: 16px !important;
	color: #241b2f !important;
	display: block !important;
	margin-bottom: 4px !important;
}

.ds-secret-point p {
	font-size: 14px !important;
	color: #555555 !important;
	margin: 0 !important;
}

.ds-secret-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 14.5px !important;
	font-weight: 800 !important;
	padding: 14px 30px !important;
	border-radius: 999px !important;
	margin-top: 16px !important;
	text-decoration: none !important;
	box-shadow: 0 6px 20px rgba(255, 106, 26, 0.35) !important;
	transition: all 0.2s ease !important;
}

.ds-secret-btn:hover {
	background: #e65609 !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(255, 106, 26, 0.45) !important;
}

.ds-secret-note {
	margin: 26px 0 0 !important;
	font-size: 13.5px !important;
	font-style: italic !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	color: #cf98e8 !important;
}

.ds-faq-section {
	width: 100vw !important;
	max-width: none !important;
	position: relative !important;
	left: 50% !important;
	margin: 0 0 0 -50vw !important;
	padding: 48px 20px 56px !important;
	box-sizing: border-box !important;
	background: #ff6a1a !important;
}

@media (max-width: 768px) {
	.ds-faq-section {
		padding: 36px 20px 42px !important;
	}
}

.ds-faq-header {
	text-align: center !important;
	margin-bottom: 36px !important;
}

.ds-faq-header h2 {
	font-size: clamp(24px, 3vw, 38px) !important;
	font-weight: 900 !important;
	color: #ffffff !important;
	margin: 0 !important;
}

.ds-faq-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	width: 100% !important;
	max-width: 720px !important;
	margin: 0 auto !important;
}

.ds-faq-item {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.ds-faq-item:hover {
	border-color: rgba(255, 255, 255, .34) !important;
	box-shadow: none !important;
}

.ds-faq-item[open] {
	border-color: rgba(255, 255, 255, .34) !important;
	background: transparent !important;
	box-shadow: none !important;
}

.ds-faq-question {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 51px !important;
	padding: 12px 26px 12px 30px !important;
	position: relative !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	cursor: pointer !important;
	outline: none !important;
	user-select: none !important;
	list-style: none !important;
}

.ds-faq-question::-webkit-details-marker { display: none !important; }

.ds-faq-question::before {
	content: '?' !important;
	position: absolute !important;
	left: 0 !important;
	top: 50% !important;
	width: 17px !important;
	height: 17px !important;
	border: 1.5px solid currentColor !important;
	border-radius: 50% !important;
	transform: translateY(-50%) !important;
	display: grid !important;
	place-items: center !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.ds-faq-question::after {
	content: '' !important;
	position: absolute !important;
	right: 3px !important;
	top: 50% !important;
	width: 6px !important;
	height: 6px !important;
	border-right: 1px solid currentColor !important;
	border-bottom: 1px solid currentColor !important;
	transform: translateY(-65%) rotate(45deg) !important;
	transition: transform .2s ease !important;
}

.ds-faq-item[open] .ds-faq-question::after {
	transform: translateY(-30%) rotate(225deg) !important;
}

.ds-faq-question:hover {
	color: #fff4ec !important;
}

.ds-faq-answer {
	margin: 0 !important;
	padding: 0 26px 16px 30px !important;
	border-top: 0 !important;
}

.ds-faq-answer p {
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, .88) !important;
	margin: 0 !important;
}

/* Related Products Customizations & Orange View All Button */
.related-products-wrapper,
.related.products,
.related-products,
.product-section-title-related {
	margin-top: 50px !important;
	padding-top: 20px !important;
}

.related-products-wrapper h3,
.related.products h2,
.related.products h3,
.related-products h3,
.product-section-title-related,
.related-products-wrapper .section-title {
	font-size: 26px !important;
	font-weight: 900 !important;
	color: #2b2723 !important;
	text-transform: none !important;
	letter-spacing: -0.3px !important;
	margin-bottom: 24px !important;
	text-align: left !important;
	border-bottom: none !important;
}

.related-products-wrapper h3 span,
.related.products h2 span,
.related.products h3 span,
.product-section-title-related span,
.related-products-wrapper .section-title span {
	border-bottom: none !important;
	color: #2b2723 !important;
	font-weight: 900 !important;
	text-transform: none !important;
}

/* Hide Category, Star Rating & Review Count numbers in Related Products */
.related-products .product-cat,
.related.products .product-cat,
.related-products-wrapper .product-cat,
.related-products .category,
.related.products .category,
.related-products-wrapper .category,
.related-products .star-rating,
.related.products .star-rating,
.related-products-wrapper .star-rating,
.related-products .star-rating--inline,
.related.products .star-rating--inline,
.related-products-wrapper .star-rating--inline,
.related-products .review-count,
.related.products .review-count,
.related-products-wrapper .review-count,
.related-products .ds-review-count,
.related.products .ds-review-count,
.related-products-wrapper .ds-review-count,
.related.products .product-option,
.related-products .product-option,
.related.products .box-text .rating-count,
.related-products .box-text .rating-count,
.related-products-wrapper .rating-count,
.related.products .box-text .count,
.related-products .box-text .count,
.related-products-wrapper .count,
.related.products [class*="rating"],
.related-products [class*="rating"],
.related-products-wrapper [class*="rating"] {
	display: none !important;
}

/* Card Images & Hover Effect */
.related.products .box-image,
.related-products .box-image,
.related-products-wrapper .box-image {
	border-radius: 20px !important;
	overflow: hidden !important;
	box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.related.products .product-small:hover .box-image,
.related-products .product-small:hover .box-image {
	transform: translateY(-4px) !important;
	box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}

.related.products .box-image img,
.related-products .box-image img {
	border-radius: 20px !important;
	object-fit: cover !important;
}

/* Save Badge (Top-Right Pill) */
.related.products .badge-container,
.related-products .badge-container,
.related-products-wrapper .badge-container {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	left: auto !important;
	z-index: 5 !important;
}

.related.products .badge-inner,
.related-products .badge-inner,
.related-products-wrapper .badge-inner,
.related-products .callout,
.related-products .badge {
	background: rgba(255, 255, 255, 0.95) !important;
	color: #2b2723 !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	border-radius: 999px !important;
	padding: 4px 10px !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
	border: 1px solid rgba(0,0,0,0.05) !important;
}

.related-products .badge-container > *:nth-child(n+2),
.related.products .badge-container > *:nth-child(n+2) {
	display: none !important;
}

/* Product Titles & Prices */
.related.products .box-text,
.related-products .box-text,
.related-products-wrapper .box-text {
	padding: 12px 4px 0 4px !important;
	text-align: left !important;
}

/* Product Titles: Pure Solid Black (#111111) */
.related.products .product-title,
.related-products .product-title,
.related-products-wrapper .product-title,
.related.products .name,
.related-products .name,
.related.products .name a,
.related-products .name a,
.related.products .product-title a,
.related-products .product-title a,
.related.products .woocommerce-LoopProduct-link,
.related-products .woocommerce-LoopProduct-link,
.related-products-wrapper .woocommerce-LoopProduct-link {
	font-size: 15.5px !important;
	font-weight: 800 !important;
	color: #111111 !important;
	line-height: 1.35 !important;
	margin-bottom: 6px !important;
	text-decoration: none !important;
}

/* Prices: Lighter Soft Tone (#666666 for active price, #a59cb5 for regular strike price) */
.related.products .price,
.related-products .price,
.related-products-wrapper .price,
.related.products .price-wrapper,
.related-products .price-wrapper,
.related-products-wrapper .price-wrapper {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #666666 !important;
}

.related.products .price del,
.related-products .price del,
.related-products-wrapper .price del,
.related.products .price del .amount,
.related-products .price del .amount,
.related-products-wrapper .price del .amount,
.related.products .price del bdi,
.related-products .price del bdi {
	color: #a59cb5 !important;
	font-weight: 500 !important;
	margin-right: 6px !important;
	opacity: 0.75 !important;
	text-decoration: line-through !important;
}

.related.products .price ins,
.related-products .price ins,
.related-products-wrapper .price ins,
.related.products .price .amount,
.related-products .price .amount,
.related-products-wrapper .price .amount,
.related.products .price ins .amount,
.related-products .price ins .amount,
.related.products .price bdi,
.related-products .price bdi,
.related-products-wrapper .price bdi,
.related.products .woocommerce-Price-amount,
.related-products .woocommerce-Price-amount,
.related-products-wrapper .woocommerce-Price-amount {
	color: #666666 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

/* Orange View All Button */
.ds-related-view-all-wrap {
	text-align: center !important;
	margin-top: 40px !important;
	margin-bottom: 50px !important;
	width: 100% !important;
	clear: both !important;
}

.ds-related-view-all-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	padding: 13px 44px !important;
	border-radius: 999px !important;
	text-decoration: none !important;
	box-shadow: 0 6px 20px rgba(255, 106, 26, 0.35) !important;
	transition: all 0.2s ease !important;
}

.ds-related-view-all-btn:hover {
	background: #e65609 !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(255, 106, 26, 0.45) !important;
}

body.single-product .product-footer .ds-related-view-all-wrap > a.ds-related-view-all-btn,
body.single-product .product-footer .ds-related-view-all-wrap > a.ds-related-view-all-btn:visited {
	background: #ff6a1a !important;
	background-color: #ff6a1a !important;
	border-color: #ff6a1a !important;
	color: #ffffff !important;
}

body.single-product .product-footer .ds-related-view-all-wrap > a.ds-related-view-all-btn:hover,
body.single-product .product-footer .ds-related-view-all-wrap > a.ds-related-view-all-btn:focus {
	background: #e65609 !important;
	background-color: #e65609 !important;
	border-color: #e65609 !important;
	color: #ffffff !important;
}

/* Reviews Banner Section */
.ds-reviews-banner-section {
	background: linear-gradient(135deg, #fff8f5 0%, #ffe8db 100%) !important;
	padding: 60px 20px !important;
	margin: 30px 0 !important;
	border-radius: 28px !important;
}

.ds-reviews-banner-header {
	text-align: center !important;
	max-width: 600px !important;
	margin: 0 auto 40px !important;
}

.ds-reviews-banner-header h2 {
	font-size: clamp(24px, 3vw, 34px) !important;
	font-weight: 900 !important;
	color: #2b2723 !important;
	margin-bottom: 8px !important;
}

.ds-reviews-stars {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 4px !important;
}

.ds-reviews-stars span {
	color: #ffb800 !important;
	font-size: 20px !important;
}

.ds-reviews-stars strong {
	font-size: 13px !important;
	color: #666666 !important;
}

.ds-reviews-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
	gap: 20px !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
}

.ds-review-card {
	background: #ffffff !important;
	border-radius: 20px !important;
	padding: 24px !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

.ds-review-card__stars {
	color: #ffb800 !important;
	font-size: 16px !important;
	margin-bottom: 12px !important;
}

.ds-review-card__text {
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: #333333 !important;
	margin-bottom: 20px !important;
	font-style: italic !important;
}

.ds-review-card__author {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.ds-review-card__author strong {
	font-size: 14px !important;
	color: #2b2723 !important;
}

.ds-review-card__verified {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #2ecc71 !important;
	background: #e8f8f0 !important;
	padding: 3px 8px !important;
	border-radius: 999px !important;
}

/* ==========================================================================
   Thẻ chọn gói ưu đãi Tiered Options (Orange Theme - Dumpling Squishy)
   ========================================================================== */

.ds-tiered-card {
	background: #ffffff !important;
	border: 1.5px solid #ff6a1a !important;
	border-radius: 28px !important;
	padding: 28px !important;
	box-shadow: 0 8px 30px rgba(255, 106, 26, 0.08) !important;
}

.ds-card-rating {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 6px !important;
	font-size: 13px !important;
	line-height: 15px !important;
	color: #666666 !important;
	margin-bottom: 8px !important;
}

a.ds-card-rating-link {
	text-decoration: none !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	width: fit-content !important;
}

a.ds-card-rating-link:hover {
	opacity: 0.88 !important;
}

a.ds-card-rating-link strong {
	color: #666666 !important;
	transition: color 0.2s ease !important;
}

a.ds-card-rating-link:hover strong {
	color: #ff6a1a !important;
	text-decoration: underline !important;
}

.ds-card-stars {
	--short-star-color: #ff6a1a;
	display: inline-flex !important;
	align-items: center !important;
	gap: 1px !important;
	line-height: 0 !important;
	transform: translateY(-2px);
}

.ds-card-stars .star-short {
	display: block !important;
	width: 15px !important;
	height: 15px !important;
	flex: 0 0 15px !important;
}

.ds-card-rating strong {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 15px !important;
	line-height: 15px !important;
}

.ds-card-title {
	font-size: 32px !important;
	font-weight: 900 !important;
	color: #241b2f !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.25 !important;
	border: none !important;
}

.ds-card-tagline {
	display: flex !important;
	align-items: flex-start !important;
	gap: 7px !important;
	font-size: 13.5px !important;
	color: #555555 !important;
	margin: 0 0 16px 0 !important;
	line-height: 1.5 !important;
}

.ds-card-tagline-icon {
	width: 18px !important;
	height: 18px !important;
	flex: 0 0 18px !important;
	fill: #ffd84d !important;
	stroke: #241b2f !important;
	stroke-width: 1.5 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.ds-card-price-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-bottom: 12px !important;
}

.ds-card-reg-price {
	font-size: 20px !important;
	text-decoration: line-through !important;
	color: #7b2cbf !important;
	font-weight: 700 !important;
}

.ds-card-price {
	font-size: 24px !important;
	font-weight: 900 !important;
	color: #241b2f !important;
}

.ds-card-save-badge {
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	text-transform: uppercase !important;
}

.ds-card-shoppay {
	font-size: 12px !important;
	color: #666666 !important;
	margin-bottom: 16px !important;
}

.ds-pay-shop-tag {
	background: #5a31f4 !important;
	color: #fff !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	padding: 2px 6px !important;
	border-radius: 4px !important;
}

/* Thanh Tiến độ Còn hàng */
.ds-stock-bar-wrapper {
	margin-bottom: 24px !important;
	padding-bottom: 16px !important;
	border-bottom: 2px solid #fff0e6 !important;
}

.ds-stock-text {
	font-size: 12.5px !important;
	font-weight: 800 !important;
	color: #ff6a1a !important;
	margin-bottom: 6px !important;
}

.ds-stock-bar {
	width: 100% !important;
	height: 6px !important;
	background: #ffe3d1 !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}

.ds-stock-fill {
	height: 100% !important;
	background: #ff6a1a !important;
	border-radius: 999px !important;
}

/* Danh sách Thẻ Tier Option Swatches */
.ds-tiered-options-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	margin-bottom: 20px !important;
}

.ds-tier-item {
	position: relative !important;
	z-index: 1 !important;
	border: 1.5px solid #ffcca3 !important;
	border-radius: 16px !important;
	background: #ffffff !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	overflow: visible !important;
}

.ds-tier-item:has(.ds-tier-badge) {
	z-index: 2 !important;
}

.ds-tier-item:hover {
	border-color: #ff6a1a !important;
	box-shadow: 0 4px 14px rgba(255, 106, 26, 0.12) !important;
}

.ds-tier-item.ds-tier-active {
	border-color: #ff6a1a !important;
	background: #fffafd !important;
	box-shadow: 0 4px 16px rgba(255, 106, 26, 0.15) !important;
}

.ds-tier-badge {
	position: absolute !important;
	top: -8px !important;
	right: -8px !important;
	background: #7b2cbf !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	padding: 4px 10px !important;
	border-radius: 4px !important;
	transform: rotate(5deg) !important;
	transform-origin: center !important;
	box-shadow: 0 3px 8px rgba(123, 44, 191, 0.2) !important;
	z-index: 2 !important;
}

.ds-tier-inner {
	display: flex !important;
	align-items: center !important;
	padding: 14px 16px !important;
	gap: 14px !important;
}

.ds-tier-radio {
	width: 20px !important;
	height: 20px !important;
	border-radius: 50% !important;
	border: 2px solid #ccc !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	transition: border-color 0.2s ease !important;
}

.ds-tier-active .ds-tier-radio {
	border-color: #ff6a1a !important;
}

.ds-radio-dot {
	width: 10px !important;
	height: 10px !important;
	border-radius: 50% !important;
	background: transparent !important;
	transition: background 0.2s ease !important;
}

.ds-tier-active .ds-radio-dot {
	background: #ff6a1a !important;
}

.ds-tier-body {
	flex: 1 !important;
}

.ds-tier-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
}

.ds-tier-title-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
}

.ds-tier-title {
	font-size: 15px !important;
	font-weight: 800 !important;
	color: #241b2f !important;
}

.ds-tier-save {
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	padding: 2px 6px !important;
	border-radius: 4px !important;
}

.ds-tier-prices {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	align-self: center !important;
	min-width: 128px !important;
	gap: 6px !important;
}

/* Tag nằm ở góc trên; hạ cụm giá xuống giữa ô để không chồng nhau. */
.ds-tier-badge + .ds-tier-inner .ds-tier-prices {
	transform: translateY(10px) !important;
}

.ds-tier-del {
	font-size: 13px !important;
	text-decoration: line-through !important;
	color: #7b2cbf !important;
}

.ds-tier-final {
	font-size: 16px !important;
	font-weight: 900 !important;
	color: #241b2f !important;
}

.ds-tier-unit {
	font-size: 12px !important;
	color: #777777 !important;
	margin-top: 2px !important;
}

.ds-tier-bottom-banner {
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	padding: 6px 16px !important;
	text-align: left !important;
	border-radius: 0 0 14px 14px !important;
}

/* Nút Add to Cart Cam */
.ds-orange-btn,
.single-product button.ds-orange-btn {
	width: 100% !important;
	min-width: 100% !important;
	height: 52px !important;
	line-height: 52px !important;
	background: #ff6a1a !important;
	background-color: #ff6a1a !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	letter-spacing: 0.5px !important;
	cursor: pointer !important;
	box-shadow: 0 6px 20px rgba(255, 106, 26, 0.35) !important;
	transition: all 0.2s ease !important;
	text-transform: capitalize !important;
}

.ds-orange-btn:hover {
	background: #e65609 !important;
	background-color: #e65609 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 8px 24px rgba(255, 106, 26, 0.45) !important;
}

/* Customer Quote Box */
.ds-quote-box {
	background: #fcf4fe !important;
	border-radius: 16px !important;
	padding: 16px 20px !important;
	margin-top: 20px !important;
	border: 1px solid #f3e0fa !important;
}

.ds-quote-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 6px !important;
}

.ds-quote-header strong {
	font-size: 14px !important;
	color: #241b2f !important;
}

.ds-quote-arrows {
	display: flex !important;
	gap: 6px !important;
	align-items: center !important;
}

html body .ds-quote-arrows button,
html body .single-product .ds-quote-arrows button,
.ds-quote-arrows button {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	max-width: 32px !important;
	max-height: 32px !important;
	aspect-ratio: 1 / 1 !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
	background: #ffffff !important;
	border: 1.5px solid #dcd0ea !important;
	color: #241b2f !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: all 0.2s ease !important;
}

html body .ds-quote-arrows button:hover,
html body .single-product .ds-quote-arrows button:hover,
.ds-quote-arrows button:hover {
	background: #ff6a1a !important;
	color: #ffffff !important;
	border-color: #ff6a1a !important;
}

.ds-quote-text {
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #555555 !important;
	margin: 0 !important;
	font-style: italic !important;
}

/* Value Props Grid */
.ds-props-grid {
	background: #d3a7dc !important;
	border-radius: 16px !important;
	padding: 16px 12px !important;
	margin-top: 20px !important;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 8px !important;
	text-align: center !important;
}

.ds-prop-item {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 4px !important;
}

.ds-prop-icon {
	font-size: 20px !important;
}

.ds-prop-item strong {
	font-size: 9.5px !important;
	font-weight: 900 !important;
	color: #ffffff !important;
	line-height: 1.2 !important;
	letter-spacing: 0.3px !important;
}

.ds-rarity-accordion {
	margin-top: 16px !important;
	font-size: 13px !important;
	color: #444 !important;
}

.ds-rarity-accordion summary {
	font-weight: 700 !important;
	cursor: pointer !important;
}

/* Detailed Customer Reviews Section (Matching Reference Image) */
.ds-customer-reviews-section {
	width: 100% !important;
	padding: 70px 0 !important;
	max-width: 1300px !important;
	margin: 50px auto 0 !important;
}

@media (max-width: 768px) {
	.ds-customer-reviews-section {
		width: 100% !important;
		padding: 40px 0 !important;
		margin: 30px auto 0 !important;
	}
}

.ds-reviews-header {
	text-align: center !important;
	margin-bottom: 48px !important;
}

.ds-reviews-header h2 {
	font-size: clamp(28px, 3vw, 40px) !important;
	font-weight: 900 !important;
	color: #2b2723 !important;
	margin-bottom: 16px !important;
}

.ds-reviews-score-box {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 10px !important;
}

.ds-reviews-big-score {
	font-size: 40px !important;
	font-weight: 900 !important;
	color: #2b2723 !important;
	line-height: 1 !important;
}

.ds-reviews-stars-row {
	display: inline-flex !important;
	align-items: center !important;
	gap: 2px !important;
}

.ds-reviews-stars-row .star,
.ds-review-card-stars .star {
	display: block !important;
	width: 22px !important;
	height: 22px !important;
	flex: 0 0 22px !important;
}

.ds-reviews-stars-row .star.full,
.ds-review-card-stars .star.full {
	fill: #ff6a1a !important;
}

.ds-reviews-stars-row .star.empty,
.ds-review-card-stars .star.empty {
	fill: none !important;
	stroke: #ff6a1a !important;
	stroke-width: 1.8px !important;
}

.star-short {
	display: inline-block !important;
	vertical-align: middle !important;
}

.star-short.full {
	fill: #ff6a1a !important;
}

.star-short.empty {
	fill: none !important;
	stroke: #ff6a1a !important;
	stroke-width: 1.8px !important;
}

.ds-reviews-total-count {
	font-size: 15px !important;
	color: #888888 !important;
	font-weight: 600 !important;
}

.ds-reviews-list-container {
	display: flex !important;
	flex-direction: column !important;
	gap: 28px !important;
	width: 100% !important;
}

.ds-review-detail-card {
	background: #ffffff !important;
	border: 1.5px solid #ffe3d1 !important;
	border-radius: 16px !important;
	padding: 30px 32px !important;
	box-shadow: 0 4px 16px rgba(255, 106, 26, 0.06) !important;
	transition: all 0.2s ease !important;
}

.ds-review-detail-card:hover {
	border-color: #ffcca3 !important;
	box-shadow: 0 6px 24px rgba(255, 106, 26, 0.12) !important;
}

.ds-review-author-name {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	margin: 0 0 6px 0 !important;
}

.ds-review-card-stars {
	display: flex !important;
	align-items: center !important;
	gap: 2px !important;
	width: max-content !important;
	margin-bottom: 8px !important;
}

.ds-review-verified-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 14px !important;
	color: #ff6a1a !important;
	font-weight: 700 !important;
	margin-bottom: 14px !important;
}

.ds-verified-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	border-radius: 50% !important;
	font-size: 10px !important;
}

.ds-review-headline {
	font-size: 18px !important;
	font-weight: 900 !important;
	color: #2b2723 !important;
	text-transform: uppercase !important;
	margin: 0 0 8px 0 !important;
	letter-spacing: 0.2px !important;
}

.ds-review-body {
	font-size: 15.5px !important;
	line-height: 1.6 !important;
	color: #555555 !important;
	margin: 0 0 16px 0 !important;
}

.ds-review-photo-wrapper {
	width: auto !important;
	height: auto !important;
	border: none !important;
	background: transparent !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-top: 14px !important;
}

.ds-review-photo-item {
	display: block !important;
	width: 140px !important;
	height: 140px !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	border: 1px solid #ffe3d1 !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
	transition: transform 0.2s ease, border-color 0.2s ease !important;
}

.ds-review-photo-item:hover {
	transform: scale(1.03) !important;
	border-color: #ff6a1a !important;
}

.ds-review-photo, .ds-review-photo-item img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

/* Floating Sticky Add To Cart Bar */
.ds-sticky-add-to-cart-bar {
	position: fixed !important;
	bottom: 20px !important;
	left: 50% !important;
	transform: translate(-50%, 80px) !important;
	width: calc(100% - 32px) !important;
	max-width: 620px !important;
	height: 54px !important;
	background: #ffffff !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	border-radius: 999px !important;
	padding: 0 8px 0 8px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14) !important;
	z-index: 99999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-sizing: border-box !important;
}

/* Round Scroll To Top Floating Button Above Sticky Bar */
.ds-scroll-top-btn {
	position: absolute !important;
	top: -28px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #2b2723 !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	z-index: 10 !important;
	transition: all 0.2s ease !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ds-scroll-top-btn:hover {
	background: #ffffff !important;
	color: #ff6a1a !important;
	transform: translateX(-50%) scale(1.1) !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

.ds-sticky-add-to-cart-bar.ds-sticky-visible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translate(-50%, 0) !important;
}

.ds-sticky-left {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
	flex: 1 !important;
	height: 100% !important;
}

.ds-sticky-thumb {
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	flex-shrink: 0 !important;
	border: 1px solid #eee !important;
}

.ds-sticky-title {
	font-size: 13px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.ds-sticky-right {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-shrink: 0 !important;
	height: 100% !important;
}

.ds-sticky-prices {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13.5px !important;
}

.ds-sticky-reg-price {
	color: #999999 !important;
	text-decoration: line-through !important;
	font-weight: 500 !important;
}

.ds-sticky-price {
	color: #2b2723 !important;
	font-weight: 800 !important;
}

.ds-sticky-btn {
	background: #000000 !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	height: 38px !important;
	line-height: 38px !important;
	padding: 0 20px !important;
	border-radius: 999px !important;
	border: none !important;
	cursor: pointer !important;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2) !important;
	transition: all 0.2s ease !important;
	white-space: nowrap !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

.ds-sticky-btn:hover {
	background: #ff6a1a !important;
	color: #ffffff !important;
	transform: scale(1.02) !important;
}

/* Custom Shopify-Style Checkout Page */
body.ds-shopify-checkout-page #header,
body.ds-shopify-checkout-page #footer,
body.ds-shopify-checkout-page .top-divider,
body.ds-shopify-checkout-page .page-title {
	display: none !important;
}

body.ds-shopify-checkout-page {
	background: #ffffff !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	color: #2b2723 !important;
}

.ds-shopify-checkout-header {
	background: #ffffff !important;
	border-bottom: 1px solid #f0f0f0 !important;
	padding: 16px 30px !important;
}

.ds-checkout-header-inner {
	max-width: 1100px !important;
	margin: 0 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.ds-checkout-logo img {
	max-height: 48px !important;
	width: auto !important;
}

.ds-checkout-header-cart .ds-cart-icon-btn {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	text-decoration: none !important;
}

.ds-cart-count-badge {
	position: absolute !important;
	top: -6px !important;
	right: -8px !important;
	background: #2b2723 !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	min-width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ds-shopify-checkout-wrap {
	max-width: 1100px !important;
	margin: 0 auto !important;
	min-height: calc(100vh - 80px) !important;
}

.ds-checkout-form {
	display: flex !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
}

/* Left Column - 56% Width */
.ds-checkout-left-col {
	width: 56% !important;
	padding: 40px 40px 60px 0 !important;
	box-sizing: border-box !important;
}

/* Right Column - 44% Width */
.ds-checkout-right-col {
	width: 44% !important;
	background: #f5f5f5 !important;
	border-left: 1px solid #e6e6e6 !important;
	padding: 40px 40px 60px 40px !important;
	box-sizing: border-box !important;
	min-height: 100vh !important;
	position: relative !important;
}

/* Responsive Tablet/Mobile */
@media (max-width: 850px) {
	.ds-checkout-left-col,
	.ds-checkout-right-col {
		width: 100% !important;
		padding: 24px !important;
	}
	.ds-checkout-right-col {
		order: -1 !important;
		border-left: none !important;
		border-bottom: 1px solid #e6e6e6 !important;
		min-height: auto !important;
	}
}

@media (max-width: 549px) {
	.ds-checkout-left-col,
	.ds-checkout-right-col {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}

/* Express Checkout */
.ds-express-checkout-box {
	margin-bottom: 30px !important;
	text-align: center !important;
}

.ds-express-title {
	display: block !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #666666 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	margin-bottom: 12px !important;
}

.ds-express-buttons {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 10px !important;
}

.ds-express-btn {
	height: 44px !important;
	border-radius: 6px !important;
	border: none !important;
	cursor: pointer !important;
	font-weight: 800 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 15px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}

.ds-express-btn.ds-shop-pay {
	background: #5a31f4 !important;
	color: #ffffff !important;
}

.ds-express-btn .ds-btn-sub {
	color: #ffffff !important;
	font-style: normal !important;
	margin-left: 2px !important;
}

.ds-express-btn.ds-paypal {
	background: #ffc439 !important;
	color: #003087 !important;
	font-style: italic !important;
}

.ds-express-btn.ds-gpay {
	background: #000000 !important;
	color: #ffffff !important;
}

.ds-express-divider {
	position: relative !important;
	margin: 24px 0 !important;
	text-align: center !important;
}

.ds-express-divider::before {
	content: '' !important;
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	width: 100% !important;
	height: 1px !important;
	background: #e0e0e0 !important;
}

.ds-express-divider span {
	position: relative !important;
	background: #ffffff !important;
	padding: 0 14px !important;
	color: #777777 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

/* Hide top WooCommerce raw error notice block on Shopify custom checkout */
.ds-shopify-checkout-page .woocommerce-NoticeGroup,
.ds-shopify-checkout-page .woocommerce-error,
.ds-shopify-checkout-page ul.woocommerce-error,
.ds-shopify-checkout-page .woocommerce-notice,
.woocommerce-NoticeGroup-checkout,
.woocommerce-NoticeGroup,
.woocommerce-error {
	display: none !important;
}

/* Red Error Border on Input Fields */
.ds-checkout-left-col input.ds-input-error,
.ds-checkout-left-col input[type="text"].ds-input-error,
.ds-checkout-left-col input[type="email"].ds-input-error,
.ds-checkout-left-col input[type="tel"].ds-input-error,
.ds-checkout-left-col select.ds-input-error,
.ds-checkout-left-col .select2-selection.ds-input-error,
.ds-checkout-form input.ds-input-error,
input.ds-input-error,
select.ds-input-error {
	border: 1.5px solid #d32f2f !important;
	border-color: #d32f2f !important;
	box-shadow: 0 0 0 1px #d32f2f !important;
	outline: none !important;
	background-color: #ffffff !important;
}

.ds-field-error-msg {
	color: #d32f2f !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	margin-top: 4px !important;
	margin-bottom: 4px !important;
	display: block !important;
	line-height: 1.3 !important;
}

/* Sections & Fields */
.ds-checkout-section {
	margin-bottom: 28px !important;
}

.ds-section-heading {
	font-size: 18.5px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	margin: 0 0 14px 0 !important;
}

.ds-section-sub {
	font-size: 13px !important;
	color: #777777 !important;
	margin: -10px 0 16px 0 !important;
}

.ds-section-user-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 0 10px 0 !important;
}

.ds-user-avatar {
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	border-radius: 50% !important;
	background: #e0e0e0 !important;
	color: #555555 !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

.ds-user-email-text {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: #2b2723 !important;
	flex: 1 !important;
	margin: 0 !important;
}

.ds-user-menu-wrapper {
	position: relative !important;
	display: inline-block !important;
}

.ds-more-options-btn {
	background: none !important;
	border: none !important;
	font-size: 18px !important;
	color: #666666 !important;
	cursor: pointer !important;
	padding: 4px 8px !important;
	border-radius: 6px !important;
	transition: background 0.15s ease !important;
	line-height: 1 !important;
}

.ds-more-options-btn:hover {
	background: rgba(0,0,0,0.06) !important;
	color: #2b2723 !important;
}

.ds-user-dropdown-menu {
	position: absolute !important;
	top: calc(100% + 10px) !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	right: auto !important;
	background: #ffffff !important;
	border: 1.5px solid #ffeedd !important;
	border-radius: 14px !important;
	box-shadow: 0 6px 20px rgba(255, 106, 26, 0.15) !important;
	padding: 8px 18px !important;
	min-width: 110px !important;
	z-index: 99999 !important;
	text-align: center !important;
}

/* Centered Top Notch Arrow */
.ds-user-dropdown-menu::before {
	content: '' !important;
	position: absolute !important;
	top: -7px !important;
	left: 50% !important;
	margin-left: -6px !important;
	right: auto !important;
	width: 11px !important;
	height: 11px !important;
	background: #ffffff !important;
	border-top: 1.5px solid #ffeedd !important;
	border-left: 1.5px solid #ffeedd !important;
	transform: rotate(45deg) !important;
}

.ds-logout-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 2px 4px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #ff6a1a !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
	white-space: nowrap !important;
}

.ds-logout-link:hover {
	color: #e65c00 !important;
}

.ds-logout-link svg {
	stroke: #ff6a1a !important;
	transition: stroke 0.15s ease !important;
}

.ds-logout-link:hover svg {
	stroke: #e65c00 !important;
}

.ds-checkbox-row {
	margin-top: 12px !important;
}

.ds-checkbox-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 13.5px !important;
	color: #444444 !important;
	cursor: pointer !important;
	line-height: 1.4 !important;
}

.ds-checkbox-label input[type="checkbox"],
.ds-checkout-form input[type="checkbox"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	border: 1.5px solid #d0d0d0 !important;
	border-radius: 5px !important;
	background-color: #ffffff !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
	cursor: pointer !important;
	outline: none !important;
	transition: all 0.15s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	align-self: center !important;
}

.ds-checkbox-label input[type="checkbox"]:checked,
.ds-checkout-form input[type="checkbox"]:checked {
	background-color: #ff6a1a !important;
	border-color: #ff6a1a !important;
}

.ds-checkbox-label input[type="checkbox"]:checked::after,
.ds-checkout-form input[type="checkbox"]:checked::after {
	content: '' !important;
	display: block !important;
	width: 4px !important;
	height: 8px !important;
	border: solid #ffffff !important;
	border-width: 0 2px 2px 0 !important;
	transform: rotate(45deg) translate(-0.5px, -0.5px) !important;
}

/* Inputs & Form Rows */
.ds-fields-group .form-row {
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
}

.ds-form-row-two {
	display: flex !important;
	gap: 12px !important;
	margin-bottom: 10px !important;
}

.ds-form-row-two .form-row,
.ds-form-row-two .form-row-first,
.ds-form-row-two .form-row-last {
	flex: 1 !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ds-checkout-left-col input[type="text"],
.ds-checkout-left-col input[type="email"],
.ds-checkout-left-col input[type="tel"],
.ds-checkout-left-col input[type="number"],
.ds-checkout-left-col select,
#billing_country,
select.country_to_state,
select.country_select,
.ds-checkout-left-col .form-row input,
.ds-checkout-left-col .form-row select {
	margin: 0 !important;
	width: 100% !important;
	height: 44px !important;
	border: 1px solid #d9d9d9 !important;
	border-radius: 8px !important;
	padding: 0 12px !important;
	font-size: 14px !important;
	color: #2b2723 !important;
	background-color: #ffffff !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease !important;
	box-sizing: border-box !important;
}

.ds-checkout-left-col select,
#billing_country,
select.country_to_state,
select.country_select,
.ds-checkout-left-col .select2-container--default .select2-selection--single {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	border-radius: 8px !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 14px !important;
	padding-right: 36px !important;
}

/* Select2 WooCommerce Country Container Styling */
.ds-checkout-left-col .select2-container,
.ds-checkout-left-col .select2-container--default {
	width: 100% !important;
	display: block !important;
}

.ds-checkout-left-col .select2-container--default .select2-selection--single,
.ds-checkout-left-col span.select2-selection--single,
.ds-checkout-left-col .select2-selection {
	height: 44px !important;
	border: 1px solid #d9d9d9 !important;
	border-radius: 8px !important;
	background-color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	box-shadow: none !important;
	outline: none !important;
	padding: 0 12px !important;
	position: relative !important;
	box-sizing: border-box !important;
}

.ds-checkout-left-col .select2-container--default .select2-selection--single .select2-selection__rendered,
.ds-checkout-left-col .select2-selection__rendered {
	line-height: 42px !important;
	color: #2b2723 !important;
	font-size: 14px !important;
	padding-left: 0 !important;
	padding-right: 24px !important;
}

/* Hide Select2 default triangle arrow completely */
.ds-checkout-left-col .select2-container--default .select2-selection--single .select2-selection__arrow,
.ds-checkout-left-col .select2-selection__arrow,
.ds-checkout-left-col .select2-selection__arrow b {
	display: none !important;
}

.ds-checkout-left-col .select2-container--default.select2-container--open .select2-selection--single,
.ds-checkout-left-col .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: #ff6a1a !important;
	border-radius: 8px !important;
}

.ds-checkout-left-col input:focus,
.ds-checkout-left-col select:focus,
#billing_country:focus {
	border-color: #ff6a1a !important;
	outline: none !important;
}

/* Shipping Card - Orange Theme */
.ds-shipping-card {
	background: #fff8f5 !important;
	border: 1.5px solid #ffcca3 !important;
	border-radius: 8px !important;
	padding: 16px 20px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	font-size: 14px !important;
}

.ds-shipping-name {
	font-weight: 700 !important;
	color: #2b2723 !important;
}

.ds-shipping-price {
	font-weight: 800 !important;
	color: #ff6a1a !important;
}

/* Payment Radio Accordion */
.ds-payment-options-box {
	border: 1px solid #d9d9d9 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
}

.ds-payment-option {
	border-bottom: 1px solid #d9d9d9 !important;
	background: #ffffff !important;
}

.ds-payment-option:last-child {
	border-bottom: none !important;
}

.ds-payment-option-header {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	padding: 16px 20px !important;
	cursor: pointer !important;
	gap: 12px !important;
	margin: 0 !important;
	min-height: 54px !important;
	box-sizing: border-box !important;
}

.ds-payment-option-header input[type="radio"],
.ds-checkout-form input[type="radio"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	border: 1.5px solid #d0d0d0 !important;
	border-radius: 50% !important;
	background-color: #ffffff !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
	outline: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.15s ease !important;
	flex-shrink: 0 !important;
	box-shadow: none !important;
}

.ds-payment-option-header input[type="radio"]:checked,
.ds-checkout-form input[type="radio"]:checked {
	border-color: #ff6a1a !important;
	background-color: #ffffff !important;
}

.ds-payment-option-header input[type="radio"]:checked::after,
.ds-checkout-form input[type="radio"]:checked::after {
	content: '' !important;
	display: block !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background-color: #ff6a1a !important;
}

.ds-payment-title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #2b2723 !important;
	flex: 1 !important;
	line-height: 1 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
}

.ds-cc-icons {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 0 !important;
}

.ds-cc-svg {
	width: 34px !important;
	height: 22px !important;
	border-radius: 4px !important;
	display: inline-block !important;
}

.ds-cc-icon.disc {
	background: #f0f0f0 !important;
	border: 1px solid #e0e0e0 !important;
	border-radius: 4px !important;
	padding: 2px 6px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	color: #555555 !important;
	height: 22px !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
}

.ds-payment-cc-form {
	background: #fcfcfc !important;
	border-top: 1px solid #e5e5e5 !important;
	padding: 16px 20px !important;
}

.ds-payment-cc-form .form-row {
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
}

.ds-payment-cc-form .ds-form-row-two {
	margin: 0 0 10px 0 !important;
	display: flex !important;
	gap: 12px !important;
	align-items: flex-start !important;
}

.ds-payment-cc-form .ds-form-row-two .form-row {
	margin: 0 !important;
	padding: 0 !important;
	flex: 1 !important;
}

.ds-payment-cc-form input {
	margin: 0 !important;
}

.ds-payment-cc-form .ds-checkbox-row {
	margin-top: 12px !important;
}

.ds-input-with-lock,
.ds-input-with-help {
	position: relative !important;
}

.ds-lock-icon {
	position: absolute !important;
	right: 14px !important;
	top: 22px !important;
	transform: translateY(-50%) !important;
	stroke: #888888 !important;
	pointer-events: none !important;
}

/* Security Code CVV Tooltip */
.ds-cvv-tooltip-wrap {
	position: absolute !important;
	right: 14px !important;
	top: 22px !important;
	transform: translateY(-50%) !important;
	display: inline-flex !important;
	align-items: center !important;
	cursor: pointer !important;
}

.ds-cvv-tooltip {
	position: absolute !important;
	bottom: calc(100% + 8px) !important;
	right: -10px !important;
	background: #111111 !important;
	color: #ffffff !important;
	font-size: 11.5px !important;
	line-height: 1.4 !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	width: 220px !important;
	box-shadow: 0 4px 16px rgba(0,0,0,0.2) !important;
	display: none !important;
	z-index: 99999 !important;
	text-align: left !important;
	font-weight: 500 !important;
}

.ds-cvv-tooltip::after {
	content: '' !important;
	position: absolute !important;
	bottom: -5px !important;
	right: 18px !important;
	width: 10px !important;
	height: 10px !important;
	background: #111111 !important;
	transform: rotate(45deg) !important;
}

.ds-cvv-tooltip-wrap:hover .ds-cvv-tooltip {
	display: block !important;
}

/* Complete Order Button - Orange Theme */
.ds-checkout-submit-wrap {
	margin-top: 30px !important;
}

.ds-save-info-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 16px !important;
	font-size: 13.5px !important;
}

.ds-not-now-link {
	color: #666666 !important;
	text-decoration: underline !important;
}

.ds-complete-order-btn {
	background: #ff6a1a !important;
	color: #ffffff !important;
	width: 100% !important;
	height: 54px !important;
	border-radius: 8px !important;
	border: none !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	cursor: pointer !important;
	box-shadow: 0 4px 16px rgba(255, 106, 26, 0.3) !important;
	transition: all 0.2s ease !important;
	margin: 0 !important;
}

.ds-complete-order-btn:hover {
	background: #e65c00 !important;
	box-shadow: 0 6px 20px rgba(230, 92, 0, 0.4) !important;
	transform: translateY(-1px) !important;
}

.ds-checkout-left-footer {
	display: flex !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
	margin-top: 40px !important;
	padding-top: 20px !important;
	border-top: 1px solid #f0f0f0 !important;
}

.ds-checkout-left-footer a {
	font-size: 12px !important;
	color: #666666 !important;
	text-decoration: underline !important;
}

/* Right Column Order Summary */
.ds-summary-inner {
	max-width: 440px !important;
	position: sticky !important;
	top: 24px !important;
	align-self: flex-start !important;
}

.ds-summary-products-list {
	margin-bottom: 24px !important;
}

.ds-summary-products-scroll {
	max-height: 320px !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	padding: 8px 10px 0 0 !important;
	overscroll-behavior: contain !important;
	scrollbar-width: thin !important;
	scrollbar-color: #c9bdb5 transparent !important;
}

.ds-summary-products-scroll::-webkit-scrollbar {
	width: 6px !important;
}

.ds-summary-products-scroll::-webkit-scrollbar-thumb {
	border-radius: 999px !important;
	background: #c9bdb5 !important;
}

@media (max-width: 850px) {
	.ds-summary-inner {
		position: static !important;
		top: auto !important;
		max-width: none !important;
	}
}

.ds-summary-product-item {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin-bottom: 16px !important;
}

.ds-summary-item-thumb {
	position: relative !important;
	z-index: 2 !important;
	width: 64px !important;
	height: 64px !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	border: 1px solid #e0e0e0 !important;
	flex-shrink: 0 !important;
	overflow: visible !important;
}

.ds-summary-item-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
}

.ds-item-qty-badge {
	position: absolute !important;
	z-index: 10 !important;
	top: -7px !important;
	right: -7px !important;
	background: #2b2723 !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	width: 20px !important;
	height: 20px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 20px !important;
	text-align: center !important;
	box-sizing: border-box !important;
	pointer-events: none !important;
}

.ds-summary-item-info {
	position: relative !important;
	z-index: 1 !important;
	flex: 1 !important;
	min-width: 0 !important;
}

.ds-summary-item-title {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #2b2723 !important;
	margin: 0 0 4px 0 !important;
	line-height: 1.3 !important;
}

.ds-summary-item-badge {
	font-size: 11px !important;
	color: #777777 !important;
	font-weight: 600 !important;
}

.ds-summary-item-price {
	text-align: right !important;
	font-size: 14px !important;
	flex-shrink: 0 !important;
}

.ds-summary-reg {
	display: block !important;
	font-size: 12px !important;
	color: #999999 !important;
	text-decoration: line-through !important;
}

.ds-summary-act {
	font-weight: 700 !important;
	color: #2b2723 !important;
}

.ds-scroll-more-badge {
	text-align: center !important;
	margin-top: 8px !important;
}

.ds-scroll-more-badge span,
.ds-scroll-more-badge {
	display: inline-block !important;
	background: rgba(0,0,0,0.06) !important;
	color: #555555 !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	padding: 4px 12px !important;
	border-radius: 999px !important;
}

/* Coupon Form - Orange Theme */
.ds-summary-coupon-row {
	display: flex !important;
	gap: 10px !important;
	margin-bottom: 28px !important;
}

.ds-coupon-input {
	flex: 1 !important;
	height: 44px !important;
	background: #ffffff !important;
	border: 1px solid #d9d9d9 !important;
	border-radius: 8px !important;
	padding: 0 14px !important;
	font-size: 14px !important;
	box-sizing: border-box !important;
}

.ds-coupon-apply-btn {
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	padding: 0 22px !important;
	border-radius: 8px !important;
	border: none !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.ds-coupon-apply-btn:hover {
	background: #e65c00 !important;
}

/* Summary Totals */
.ds-summary-totals {
	border-top: 1px solid #e0e0e0 !important;
	padding-top: 20px !important;
}

.ds-total-line {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 10px !important;
	font-size: 14px !important;
	color: #555555 !important;
}

.ds-total-value {
	font-weight: 600 !important;
	color: #2b2723 !important;
}

.ds-free-text {
	font-weight: 800 !important;
	color: #ff6a1a !important;
}

.ds-grand-total-line {
	margin-top: 16px !important;
	padding-top: 16px !important;
	border-top: 1px solid #e0e0e0 !important;
	font-size: 16px !important;
	color: #2b2723 !important;
}

.ds-grand-label {
	font-size: 18px !important;
	font-weight: 800 !important;
}

.ds-grand-value-wrap {
	display: flex !important;
	align-items: baseline !important;
	gap: 6px !important;
}

.ds-currency-code {
	font-size: 12px !important;
	color: #777777 !important;
	font-weight: 600 !important;
}

.ds-grand-amount {
	font-size: 22px !important;
	font-weight: 900 !important;
	color: #2b2723 !important;
}

.ds-summary-savings-banner {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-top: 16px !important;
	background: #fff8f5 !important;
	border: 1px solid #ffcca3 !important;
	border-radius: 6px !important;
	padding: 10px 14px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	color: #ff6a1a !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
	box-shadow: 0 2px 6px rgba(255, 106, 26, 0.06) !important;
}

.ds-summary-savings-banner .ds-savings-icon {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	flex: 0 0 18px !important;
}

/* Checkout Error & Success Validation Styles */
.ds-input-error {
	border: 1.5px solid #e53935 !important;
	background: #fff8f8 !important;
	box-shadow: 0 0 0 1px #e53935 !important;
}

.ds-input-success {
	border: 1.5px solid #4caf50 !important;
	background: #f8fff8 !important;
}

.ds-field-error-msg {
	color: #e53935 !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	margin-top: 4px !important;
}

.ds-coupon-msg {
	font-size: 13px !important;
	font-weight: 600 !important;
	margin-top: 6px !important;
	padding: 4px 0 !important;
}

.ds-coupon-msg.error {
	color: #e53935 !important;
}

.ds-coupon-msg.success {
	color: #2e7d32 !important;
}

/* PayPal Accordion Panel */
.ds-payment-paypal-form {
	background: #fcfcfc !important;
	border-top: 1px solid #e5e5e5 !important;
	padding: 24px 20px !important;
	text-align: center !important;
}

.ds-paypal-redirect-box {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 12px !important;
	max-width: 400px !important;
	margin: 0 auto !important;
}

.ds-paypal-redirect-box p {
	font-size: 13.5px !important;
	color: #555555 !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

/* Shopify Style Thank You / Order Confirmation Page */
.ds-thankyou-wrapper {
	max-width: 1000px !important;
	margin: 30px auto 60px auto !important;
	padding: 0 20px !important;
	font-family: 'Nunito', sans-serif !important;
}

.ds-thankyou-hero {
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;
	background: #f4fbf5 !important;
	border: 1.5px solid #d0ebd5 !important;
	border-radius: 14px !important;
	padding: 24px 28px !important;
	margin-bottom: 28px !important;
}

.ds-hero-badge {
	width: 52px !important;
	height: 52px !important;
	min-width: 52px !important;
	border-radius: 50% !important;
	background: #e2f5e5 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ds-order-num-badge {
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: #666666 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.ds-thankyou-title {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	margin: 2px 0 4px 0 !important;
	line-height: 1.2 !important;
}

.ds-thankyou-sub {
	font-size: 14px !important;
	color: #555555 !important;
	margin: 0 !important;
}

.ds-thankyou-grid {
	display: flex !important;
	gap: 28px !important;
}

.ds-thankyou-left {
	flex: 1.2 !important;
}

.ds-thankyou-right {
	flex: 1 !important;
}

.ds-thankyou-card {
	background: #ffffff !important;
	border: 1px solid #e5e5e5 !important;
	border-radius: 14px !important;
	padding: 24px 28px !important;
	margin-bottom: 24px !important;
	box-shadow: 0 4px 16px rgba(0,0,0,0.03) !important;
}

.ds-thankyou-card .ds-card-title {
	font-size: 17px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	margin: 0 0 18px 0 !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

.ds-thankyou-items {
	margin-bottom: 20px !important;
}

.ds-thankyou-item {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid #f5f5f5 !important;
}

.ds-thankyou-item:last-child {
	border-bottom: none !important;
}

.ds-item-thumb-wrap {
	position: relative !important;
	width: 54px !important;
	height: 54px !important;
	border-radius: 8px !important;
	border: 1px solid #e0e0e0 !important;
	overflow: visible !important;
	background: #fafafa !important;
	flex-shrink: 0 !important;
}

.ds-item-thumb-wrap img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 7px !important;
}

.ds-item-qty {
	position: absolute !important;
	top: -6px !important;
	right: -6px !important;
	background: #777777 !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ds-item-details {
	flex: 1 !important;
}

.ds-item-name {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #2b2723 !important;
	margin: 0 !important;
}

.ds-item-price {
	font-size: 14.5px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
}

.ds-thankyou-totals {
	border-top: 1px solid #f0f0f0 !important;
	padding-top: 16px !important;
}

.ds-total-row {
	display: flex !important;
	justify-content: space-between !important;
	font-size: 14px !important;
	color: #666666 !important;
	margin-bottom: 8px !important;
}

.ds-row-savings {
	color: #ff6a1a !important;
	font-weight: 700 !important;
}

.ds-total-final {
	font-size: 17px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	border-top: 1.5px solid #eaeaea !important;
	padding-top: 12px !important;
	margin-top: 12px !important;
	margin-bottom: 0 !important;
}

.ds-price-large {
	color: #ff6a1a !important;
}

.ds-thankyou-actions {
	margin-top: 24px !important;
}

.ds-btn-orange {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	padding: 14px 28px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	box-shadow: 0 4px 16px rgba(255, 106, 26, 0.25) !important;
	transition: all 0.2s ease !important;
}

.ds-btn-orange:hover {
	background: #e65c00 !important;
	color: #ffffff !important;
}

.ds-info-block {
	margin-bottom: 20px !important;
}

.ds-info-block:last-child {
	margin-bottom: 0 !important;
}

.ds-info-block h4 {
	font-size: 13px !important;
	font-weight: 800 !important;
	color: #2b2723 !important;
	margin: 0 0 6px 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.ds-info-block p,
.ds-info-block address {
	font-size: 14px !important;
	color: #555555 !important;
	margin: 0 !important;
	line-height: 1.5 !important;
	font-style: normal !important;
}

.ds-info-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 16px !important;
	border-top: 1px solid #f0f0f0 !important;
	padding-top: 16px !important;
	margin-top: 16px !important;
}

@media (max-width: 768px) {
	.ds-thankyou-hero {
		flex-direction: column !important;
		text-align: center !important;
	}
	.ds-thankyou-grid {
		flex-direction: column !important;
	}
}

/* Hide Flatsome default My Account page title, header, and old navigation sidebar */
.woocommerce-account .page-title,
.woocommerce-account .my-account-header,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .account-user,
.woocommerce-account .page-header,
.woocommerce-account header.entry-header {
	display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
}

/* Center My Account page container horizontally */
.woocommerce-account #main,
.woocommerce-account #content,
.woocommerce-account #main .container,
.woocommerce-account .page-inner,
.woocommerce-account .woocommerce {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	float: none !important;
}

.ds-myaccount-page {
	font-family: 'Nunito', sans-serif !important;
	background: #ffffff !important;
	min-height: 80vh !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.ds-myaccount-header {
	width: 100% !important;
	border-bottom: 1px solid #eeeeee !important;
	padding: 16px 0 !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
}

.ds-myaccount-header-inner {
	max-width: 900px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	box-sizing: border-box !important;
}

.ds-account-logo img {
	max-height: 42px !important;
	width: auto !important;
}

/* Shopify Account Navigation Bar (Top Horizontal Tabs) */
.ds-myaccount-container {
	max-width: 860px !important;
	width: 100% !important;
	margin: 30px auto 80px auto !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
}

.ds-myaccount-nav-top {
	display: flex !important;
	align-items: center !important;
	gap: 32px !important;
	border-bottom: 1px solid #e8e8e8 !important;
	padding-bottom: 8px !important;
	margin-bottom: 32px !important;
}

.ds-nav-tab {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: #999999 !important;
	text-decoration: none !important;
	padding: 4px 0 !important;
	position: relative !important;
	transition: color 0.15s ease !important;
}

.ds-nav-tab.active {
	color: #111111 !important;
}

.ds-nav-tab.active::after {
	content: '' !important;
	position: absolute !important;
	bottom: -9px !important;
	left: 0 !important;
	right: 0 !important;
	height: 2.5px !important;
	background: #111111 !important;
	border-radius: 2px !important;
}

.ds-nav-tab:hover {
	color: #111111 !important;
}

.ds-myaccount-content {
	width: 100% !important;
	max-width: 100% !important;
}

.ds-profile-section {
	margin-bottom: 28px !important;
}

.ds-section-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 10px !important;
}

.ds-section-header h3 {
	font-size: 15px !important;
	font-weight: 800 !important;
	color: #222222 !important;
	margin: 0 !important;
}

.ds-pill-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #f4f4f4 !important;
	border: 1px solid #e2e2e2 !important;
	border-radius: 20px !important;
	padding: 4px 14px !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: #333333 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
}

.ds-pill-btn:hover {
	background: #eaeaea !important;
	color: #111111 !important;
}

.ds-info-card {
	background: #fafafa !important;
	border: 1px solid #ececec !important;
	border-radius: 14px !important;
	padding: 16px 20px !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	font-size: 14px !important;
}

.ds-card-label {
	color: #888888 !important;
	font-weight: 500 !important;
}

.ds-card-value {
	color: #222222 !important;
	font-weight: 600 !important;
}

.ds-address-card {
	justify-content: flex-start !important;
	gap: 12px !important;
	color: #888888 !important;
}

.ds-toggle-card {
	padding: 14px 20px !important;
}

.ds-toggle-left {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: #333333 !important;
	font-weight: 600 !important;
}

/* iOS / Shopify Toggle Switch */
.ds-switch {
	position: relative !important;
	display: inline-block !important;
	width: 44px !important;
	height: 24px !important;
	margin: 0 !important;
}

.ds-switch input {
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
}

.ds-slider {
	position: absolute !important;
	cursor: pointer !important;
	top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
	background-color: #ccc !important;
	transition: .2s !important;
	border-radius: 24px !important;
}

.ds-slider:before {
	position: absolute !important;
	content: "" !important;
	height: 18px !important;
	width: 18px !important;
	left: 3px !important;
	bottom: 3px !important;
	background-color: white !important;
	transition: .2s !important;
	border-radius: 50% !important;
}

input:checked + .ds-slider {
	background-color: #555555 !important;
}

input:checked + .ds-slider:before {
	transform: translateX(20px) !important;
}

.ds-profile-actions {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 14px !important;
	width: 100% !important;
	margin-top: 32px !important;
}

.ds-signout-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 48px !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 999px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #e53e3e !important;
	text-decoration: none !important;
	background: #ffffff !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
}

.ds-signout-btn:hover {
	background: #fff5f5 !important;
	border-color: #feb2b2 !important;
	color: #c53030 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(229, 62, 62, 0.15) !important;
}

.ds-signout-all-link {
	font-size: 13.5px !important;
	color: #777777 !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	text-align: center !important;
	transition: color 0.15s ease !important;
}

.ds-signout-all-link:hover {
	text-decoration: underline !important;
	color: #e53e3e !important;
}

/* Orders List Styling */
.ds-tab-heading {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #222222 !important;
	margin: 0 0 20px 0 !important;
}

.ds-order-card {
	background: #ffffff !important;
	border: 1px solid #e6e6e6 !important;
	border-radius: 12px !important;
	padding: 18px 20px !important;
	margin-bottom: 16px !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
}

.ds-order-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 12px !important;
	padding-bottom: 10px !important;
	border-bottom: 1px solid #f2f2f2 !important;
}

.ds-order-id {
	font-size: 15px !important;
	font-weight: 800 !important;
	color: #222222 !important;
	margin-right: 12px !important;
}

.ds-order-date {
	font-size: 13px !important;
	color: #777777 !important;
}

.ds-order-status {
	font-size: 12px !important;
	font-weight: 700 !important;
	padding: 4px 10px !important;
	border-radius: 12px !important;
	background: #eef7ee !important;
	color: #2e7d32 !important;
}

.ds-order-body {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 20px !important;
	margin-top: 14px !important;
}

.ds-order-total-info {
	font-size: 14px !important;
	color: #555555 !important;
	display: flex !important;
	gap: 16px !important;
}

.ds-btn-view-order {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	z-index: 3 !important;
	pointer-events: auto !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	padding: 6px 14px !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

.ds-btn-view-order:hover {
	background: #e65c00 !important;
	color: #ffffff !important;
}

/* Edit Profile Popup Modal */
.ds-modal-overlay {
	position: fixed !important;
	top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
	background: rgba(0, 0, 0, 0.45) !important;
	backdrop-filter: blur(4px) !important;
	z-index: 999999 !important;
	display: none;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
}

.ds-modal-card {
	background: #ffffff !important;
	border-radius: 18px !important;
	width: 100% !important;
	max-width: 520px !important;
	padding: 28px 32px !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.16) !important;
	box-sizing: border-box !important;
	position: relative !important;
	animation: dsModalSlideIn 0.2s ease-out !important;
}

@keyframes dsModalSlideIn {
	from { opacity: 0; transform: translateY(12px) scale(0.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.ds-modal-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 22px !important;
}

.ds-modal-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #111111 !important;
	margin: 0 !important;
}

.ds-modal-close {
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	max-width: 32px !important;
	max-height: 32px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	box-shadow: none !important;
	transition: background 0.15s ease !important;
}

.ds-modal-close:hover {
	background: #f4f4f4 !important;
}

.ds-modal-close svg {
	width: 16px !important;
	height: 16px !important;
	stroke: #666666 !important;
	pointer-events: none !important;
	display: block !important;
}

.ds-modal-row-two {
	display: flex !important;
	gap: 14px !important;
	margin-bottom: 16px !important;
}

.ds-modal-row-two .ds-modal-field {
	flex: 1 !important;
}

.ds-modal-field {
	margin-bottom: 16px !important;
	position: relative !important;
}

.ds-modal-field input[type="text"],
.ds-modal-field input[type="email"] {
	width: 100% !important;
	height: 48px !important;
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 12px !important;
	padding: 12px 16px !important;
	font-size: 14.5px !important;
	color: #222222 !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	outline: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.ds-modal-field input[type="text"]:focus,
.ds-modal-field input[type="email"]:focus,
.ds-select-field-wrap select:focus {
	border-color: #ff6a1a !important;
	box-shadow: 0 0 0 3px rgba(255, 106, 26, 0.18) !important;
}

.ds-email-field-wrap {
	margin-bottom: 8px !important;
}

.ds-field-label-top {
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: #777777 !important;
	position: absolute !important;
	top: 6px !important;
	left: 16px !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

.ds-email-field-wrap input[type="email"] {
	padding-top: 18px !important;
	height: 52px !important;
}

.ds-field-sub {
	display: block !important;
	font-size: 12px !important;
	color: #888888 !important;
	margin-top: 6px !important;
}

.ds-modal-msg {
	font-size: 13px !important;
	font-weight: 600 !important;
	margin-top: 10px !important;
	padding: 8px 12px !important;
	border-radius: 6px !important;
}

.ds-modal-msg.error {
	background: #ffebee !important;
	color: #d32f2f !important;
}

.ds-modal-msg.success {
	background: #eef7ee !important;
	color: #2e7d32 !important;
}

.ds-modal-footer {
	display: flex !important;
	justify-content: flex-end !important;
	align-items: center !important;
	gap: 16px !important;
	margin-top: 24px !important;
}

.ds-btn-cancel {
	background: transparent !important;
	border: none !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #ff6a1a !important;
	cursor: pointer !important;
	text-decoration: underline !important;
	padding: 6px 10px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.ds-btn-save {
	background: #f5f5f5 !important;
	border: 1px solid #e2e2e2 !important;
	border-radius: 8px !important;
	padding: 7px 18px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #333333 !important;
	cursor: pointer !important;
	height: auto !important;
	min-height: auto !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	transition: all 0.2s ease !important;
}

.ds-btn-save:hover {
	background: #ff6a1a !important;
	border-color: #ff6a1a !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(255, 106, 26, 0.25) !important;
}

.ds-modal-row-three {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
	gap: 12px !important;
	margin-bottom: 16px !important;
}

.ds-select-field-wrap::after {
	display: none !important;
}

.ds-select-field-wrap select,
.ds-modal-card select {
	width: 100% !important;
	height: 52px !important;
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 12px !important;
	padding: 18px 32px 4px 16px !important;
	font-size: 14px !important;
	color: #222222 !important;
	background-color: #ffffff !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23555555' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 10px 6px !important;
	cursor: pointer !important;
	outline: none !important;
}

.ds-modal-checkbox-row {
	margin-top: 18px !important;
	margin-bottom: 8px !important;
}

.ds-modal-checkbox-row .ds-checkbox-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 14px !important;
	color: #333333 !important;
	cursor: pointer !important;
	font-weight: 500 !important;
}

.ds-modal-checkbox-row input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	accent-color: #ff6a1a !important;
	cursor: pointer !important;
}

/* Order Items Preview Thumbnails */
.ds-order-items-preview {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 14px 20px !important;
	border-top: 1px solid #f0f0f0 !important;
	background: #fafafa !important;
	overflow-x: auto !important;
}

.ds-order-thumb-wrap {
	position: relative !important;
	width: 56px !important;
	height: 56px !important;
	min-width: 56px !important;
	min-height: 56px !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	border: 1px solid #e5e5e5 !important;
	background: #ffffff !important;
	flex-shrink: 0 !important;
}

.ds-order-thumb-wrap img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.ds-thumb-badge {
	position: absolute !important;
	top: -2px !important;
	right: -2px !important;
	background: #e65c00 !important;
	color: #ffffff !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	padding: 1px 5px !important;
	border-radius: 10px !important;
	box-shadow: 0 2px 4px rgba(0,0,0,0.15) !important;
	line-height: 1.2 !important;
}

.ds-order-thumb-more {
	width: 44px !important;
	height: 44px !important;
	border-radius: 10px !important;
	background: #eee !important;
	color: #555 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

/* Mobile & Tablet Responsive Adjustments for My Account Page */
@media (max-width: 768px) {
	.ds-myaccount-container {
		padding: 16px 14px !important;
		margin: 10px auto !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}

	.ds-myaccount-nav-top {
		gap: 20px !important;
		margin-bottom: 24px !important;
	}

	.ds-nav-tab {
		font-size: 19px !important;
	}

	.ds-order-card {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 14px 14px !important;
		margin-bottom: 14px !important;
	}

	.ds-order-header {
		flex-wrap: wrap !important;
		gap: 8px !important;
	}

	.ds-order-body {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 12px !important;
	}

	.ds-order-total-info {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 100% !important;
	}

	.ds-btn-view-order {
		width: 100% !important;
		text-align: center !important;
		margin-top: 4px !important;
		display: block !important;
		box-sizing: border-box !important;
		padding: 10px 16px !important;
	}

	.ds-info-card {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 6px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.ds-address-card {
		flex-direction: row !important;
		align-items: center !important;
	}

	.ds-card-value {
		word-break: break-all !important;
	}

	/* Shopify Mobile Bottom Sheet Drawer Modal */
	.ds-modal-overlay {
		padding: 0 !important;
		align-items: flex-end !important;
	}

	.ds-modal-card {
		width: 100% !important;
		max-width: 100% !important;
		border-radius: 20px 20px 0 0 !important;
		padding: 24px 20px 32px 20px !important;
		margin: 0 !important;
		max-height: 88vh !important;
		overflow-y: auto !important;
		box-sizing: border-box !important;
		animation: dsModalSlideUp 0.25s ease-out !important;
	}

	@keyframes dsModalSlideUp {
		from { transform: translateY(100%); }
		to { transform: translateY(0); }
	}

	.ds-modal-row-two {
		display: flex !important;
		flex-direction: row !important;
		gap: 10px !important;
	}

	.ds-modal-row-three {
		display: grid !important;
		grid-template-columns: 1fr 1fr 1fr !important;
		gap: 8px !important;
	}

	.ds-modal-row-three input,
	.ds-modal-row-three select {
		font-size: 13px !important;
		padding-left: 10px !important;
		padding-right: 22px !important;
	}
}

/* Button Spacing on Mobile (Prevent Overlapping/Touching Buttons) */
@media (max-width: 768px) {
	a.button,
	button.button,
	.button {
		margin-bottom: 12px !important;
	}

	a.button:last-child,
	button.button:last-child,
	.button:last-child {
		margin-bottom: 0 !important;
	}

	.button-group,
	.buttons {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		align-items: flex-start !important;
	}

	.button-group .button,
	.buttons .button {
		margin-right: 0 !important;
		margin-bottom: 0 !important;
	}

	/* 1. USP Card Section: Spacious Mobile Layout with Margins & Bigger Icons */
	.ds-usp-bar,
	.ds-usp-grid,
	.ds-features-grid {
		display: flex !important;
		flex-direction: column !important;
		gap: 18px !important;
		padding: 22px 20px !important;
		margin-left: 16px !important;
		margin-right: 16px !important;
		margin-top: 20px !important;
		margin-bottom: 28px !important;
		width: calc(100% - 32px) !important;
		box-sizing: border-box !important;
		border-radius: 20px !important;
	}

	.ds-usp-bar .col,
	.ds-usp-grid .col,
	.ds-features-grid .col {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.ds-usp {
		display: flex !important;
		align-items: flex-start !important;
		gap: 16px !important;
		width: 100% !important;
	}

	.ds-usp__icon {
		flex: 0 0 36px !important;
		width: 36px !important;
		height: 36px !important;
	}

	.ds-usp__icon .ds-icon,
	.ds-usp__icon svg {
		width: 36px !important;
		height: 36px !important;
	}

	.ds-usp__body h5 {
		font-size: 15px !important;
		font-weight: 800 !important;
		line-height: 1.35 !important;
		margin-bottom: 6px !important;
		color: #111111 !important;
	}

	.ds-usp__body p {
		font-size: 13.5px !important;
		line-height: 1.55 !important;
		color: #555555 !important;
		max-width: 100% !important;
	}

	/* Section Title Spacing on Mobile */
	.ds-stats-title,
	.ds-collect h2,
	.ds-legendary h2 {
		margin-top: 24px !important;
		margin-bottom: 24px !important;
	}

	/* Mobile Section Header (Title & View All on Same Row Centered) */
	.ds-section-head {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;
		gap: 10px !important;
		margin-top: 20px !important;
		margin-bottom: 18px !important;
		width: 100% !important;
	}

	.ds-section-head h2 {
		font-size: 18px !important;
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		margin: 0 !important;
		white-space: nowrap !important;
		flex: 1 1 auto !important;
	}

	.ds-section-head h2 svg,
	.ds-section-head h2 .ds-icon {
		width: 22px !important;
		height: 22px !important;
	}

	.ds-section-head__link {
		padding: 5px 13px !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		border-radius: 7px !important;
		border: 1px solid #fcdbca !important;
		background: #ffffff !important;
		color: var(--ds-orange) !important;
		white-space: nowrap !important;
		flex: 0 0 auto !important;
		text-decoration: none !important;
	}

	.ds-products.row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 12px;
	}

	/* 2. TikTok Stats Section: Clean Grid with Top Icons & Spacious Text */
	.ds-stats-grid,
	.ds-stat-grid {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 26px 16px !important;
		padding: 20px 10px !important;
	}

	.ds-stats-grid .col,
	.ds-stat-grid .col {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.ds-stat {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 6px !important;
		width: 100% !important;
	}

	.ds-stat__icon {
		margin-bottom: 2px !important;
	}

	.ds-stat__icon .ds-icon,
	.ds-stat__icon svg {
		width: 30px !important;
		height: 30px !important;
	}

	.ds-stat__body {
		width: 100% !important;
	}

	.ds-stat__body strong {
		font-size: 26px !important;
		font-weight: 900 !important;
		line-height: 1.2 !important;
		color: #111111 !important;
		display: block !important;
	}

	.ds-stat__body p {
		font-size: 13px !important;
		line-height: 1.5 !important;
		color: #666666 !important;
		margin-top: 4px !important;
		max-width: 100% !important;
	}
}

.header-logo-dark {
	display: none !important;
}

/* Mobile Header Side Padding & Perfect Logo Centering */
@media (max-width: 768px) {
	#header .header-main,
	.header-main .flex-row,
	#header-grid,
	.mobile-header-wrapper {
		padding-left: 18px !important;
		padding-right: 18px !important;
		box-sizing: border-box !important;
		position: relative !important;
	}

	#header .header-main .flex-row {
		height: 100% !important;
		align-items: center !important;
	}

	.mobile-nav.nav-right > .header-search {
		display: none !important;
	}

	#logo,
	.header-main #logo,
	div#logo.flex-col.logo {
		position: absolute !important;
		left: 50% !important;
		top: calc(50% - 3px) !important;
		transform: translate(-50%, -50%) !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		max-width: max-content !important;
		z-index: 10 !important;
		height: 64px !important;
		max-height: 64px !important;
	}

	#logo a,
	#logo img {
		margin: 0 auto !important;
		display: block !important;
		max-height: 58px !important;
	}

	/* Flatsome changes the sticky header height; center against that real box. */
	#header .header-wrapper.stuck #logo,
	#header .stuck #logo,
	.stuck .header-main #logo {
		top: 0 !important;
		bottom: 0 !important;
		margin: auto 0 !important;
		transform: translateX(-50%) !important;
	}

	/* Restore a clean mobile gutter; desktop intentionally uses edge columns. */
	.ds-hero .section-content {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.ds-hero .row {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.ds-hero .row > .col,
	.ds-hero .row > .col:first-child,
	.ds-hero .row > .col.last {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.ds-hero .ds-btn-primary.button,
	.ds-hero .ds-btn-outline.button {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 260px !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.ds-hero .button + .button,
	.ds-hero .ds-btn-primary.button + .ds-btn-outline.button {
		margin-left: auto !important;
	}

	.ds-trustbar-section .section-content {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.ds-trustbar-section .row,
	.ds-trustbar-section .ds-usp-bar {
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.ds-legendary .flickity-page-dots.ds-legendary__pagination {
		justify-content: flex-start !important;
		margin: 14px 0 0 !important;
	}
}

/* ==========================================================================
   SHOPIFY-STYLE MOBILE NAVIGATION MENU DRAWER (100% MATCH TARGET)
   ========================================================================== */

/* Align Mobile Drawer Overlay to 100% LEFT Edge */
.main-menu-overlay .mfp-content,
.mfp-wrap.off-canvas .mfp-content,
.mfp-wrap.off-canvas-left .mfp-content {
	left: 0 !important;
	right: auto !important;
	margin-left: 0 !important;
	position: fixed !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 86% !important;
	max-width: 320px !important;
	height: 100% !important;
}

/* Hide Mobile Drawer when closed / outside popup wrap */
#main-menu.mfp-hide,
.mfp-hide#main-menu,
body > #main-menu,
#wrapper > #main-menu {
	display: none !important;
}

.mfp-wrap #main-menu,
.mfp-wrap.off-canvas #main-menu,
.mfp-wrap.off-canvas-left #main-menu,
.mfp-wrap.main-menu-overlay #main-menu {
	background: #ffffff !important;
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 100vh !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	box-shadow: 4px 0 20px rgba(0, 0, 0, 0.12) !important;
}

/* Hide default Magnific Popup close button */
#main-menu button.mfp-close,
.mfp-wrap.off-canvas button.mfp-close {
	display: none !important;
}

/* Custom Mobile Drawer Header */
.ds-mobile-drawer-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 14px 18px !important;
	border-bottom: 1px solid #f2edf2 !important;
	background: #ffffff !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ds-drawer-close-btn {
	background: transparent !important;
	border: none !important;
	padding: 6px !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ds-drawer-logo img {
	max-height: 38px !important;
	width: auto !important;
	display: block !important;
}

.ds-drawer-header-actions {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.ds-drawer-action-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	color: #333333 !important;
	text-decoration: none !important;
}

.ds-drawer-cart-count {
	position: absolute !important;
	top: -6px !important;
	right: -8px !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	width: 17px !important;
	height: 17px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Drawer Menu Items List */
#main-menu .sidebar-menu {
	flex: 1 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow-y: auto !important;
}

#main-menu .nav-sidebar {
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

#main-menu .nav-sidebar > li {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

#main-menu .nav-sidebar > li > a {
	display: flex !important;
	align-items: center !important;
	padding: 16px 24px !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: #333333 !important;
	text-transform: none !important; /* Converts UPPERCASE to Normal Case */
	letter-spacing: 0 !important;
	border: none !important;
	background: transparent !important;
	transition: background 0.15s ease !important;
}

/* First/Active Menu Item (e.g. Home) Highlighted */
#main-menu .nav-sidebar > li:first-child > a,
#main-menu .nav-sidebar > li.current-menu-item > a,
#main-menu .nav-sidebar > li.active > a {
	background: #f7f2f5 !important;
	color: #111111 !important;
	font-weight: 600 !important;
}

#main-menu .nav-sidebar > li > a:hover {
	background: #faf6f8 !important;
}

/* Hide Search Box, Newsletter, Socials & Currency/Language Units */
#main-menu .searchform-wrapper,
#main-menu .sidebar-menu-search,
#main-menu .social-icons,
#main-menu .header-newsletter-item,
#main-menu .html-newsletter,
#main-menu .header-account-title,
#main-menu .account-item,
#main-menu .html,
#main-menu .html-1,
#main-menu .html-2,
#main-menu .html-3,
#main-menu li.html,
#main-menu .currency-switcher,
#main-menu .wcml-dropdown {
	display: none !important;
}

/* Custom Mobile Drawer Footer (Account Link) */
.ds-mobile-drawer-footer {
	margin-top: auto !important;
	background: #f8f4f6 !important;
	padding: 18px 24px !important;
	border-top: 1px solid #f0ecf0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ds-mobile-drawer-footer a {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #222222 !important;
	text-decoration: none !important;
}

/* ========================================================================== */
/* Footer */
/* ========================================================================== */

.ds-footer-wrapper {
	background: #fff !important;
	padding: 44px 0 28px !important;
	color: var(--ds-ink) !important;
	font-family: inherit !important;
	width: 100% !important;
	border-top: 1px solid var(--ds-line);
}

.ds-footer-wrapper a {
	color: var(--ds-ink) !important;
}

.ds-footer-wrapper a:hover {
	color: var(--ds-orange) !important;
}

.ds-footer-container {
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 0 32px !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

.ds-footer-grid {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	gap: 40px !important;
	margin-bottom: 50px !important;
	width: 100% !important;
}

.ds-footer-col {
	flex: 1 !important;
	min-width: 0 !important;
}

.ds-footer-col.ds-footer-contact-col {
	flex: 1.3 !important;
}

.ds-footer-heading {
	font-size: 19px !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 20px 0 !important;
	letter-spacing: -0.3px !important;
}

.ds-footer-menu {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ds-footer-menu li {
	margin-bottom: 12px !important;
}

.ds-footer-menu li a {
	font-size: 14.5px !important;
	color: rgba(255, 255, 255, 0.88) !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	transition: color 0.15s ease !important;
}

.ds-footer-menu li a.is-active {
	text-decoration: underline !important;
	color: #ffffff !important;
}

.ds-footer-menu li a:hover {
	color: #ffffff !important;
	text-decoration: underline !important;
}

/* Follow on Shop Button */
.ds-footer-follow-shop {
	margin-top: 28px !important;
}

.ds-follow-shop-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: #5a31f4 !important; /* Purple Shop Pay Pill */
	color: #ffffff !important;
	padding: 10px 20px !important;
	border-radius: 999px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	transition: transform 0.15s ease !important;
}

.ds-follow-shop-btn:hover {
	transform: translateY(-2px) !important;
	color: #ffffff !important;
}

.ds-footer-contact-info p {
	font-size: 14.5px !important;
	color: rgba(255, 255, 255, 0.88) !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.6 !important;
}

.ds-footer-contact-info a {
	color: #ffffff !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
}

.ds-footer-company {
	margin-top: 20px !important;
	font-size: 14px !important;
	color: rgba(255, 255, 255, 0.88) !important;
	line-height: 1.6 !important;
}

.ds-footer-company strong {
	color: #ffffff !important;
	font-weight: 800 !important;
	display: block !important;
	margin-bottom: 6px !important;
}

.ds-footer-company address {
	font-style: normal !important;
	color: rgba(255, 255, 255, 0.8) !important;
}

/* Footer Bottom Bar - 3 Equal Column Grid for Dead-Center Middle Button */
.ds-footer-bottom-bar {
	display: grid !important;
	grid-template-columns: 1fr auto 1fr !important;
	align-items: flex-end !important;
	padding-top: 30px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
	gap: 20px !important;
	width: 100% !important;
}

.ds-footer-selects {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	justify-self: start !important;
}

.ds-footer-select-group {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.ds-footer-select-group label {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.75) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	margin: 0 !important;
}

.ds-footer-select {
	background: rgba(255, 255, 255, 0.18) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	color: #ffffff !important;
	padding: 8px 30px 8px 14px !important;
	border-radius: 20px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	outline: none !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
}

.ds-footer-select option {
	background: #333333 !important;
	color: #ffffff !important;
}

/* Scroll To Top White Button Dead-Center */
.ds-footer-scroll-top {
	justify-self: center !important;
}

.ds-footer-scroll-top button {
	width: 52px !important;
	height: 52px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	border: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
	transition: transform 0.2s ease !important;
}

.ds-footer-scroll-top button svg {
	width: 32px !important;
	height: 32px !important;
	stroke: #111111 !important;
	stroke-width: 3.5px !important;
	display: block !important;
}

.ds-footer-scroll-top button:hover {
	transform: scale(1.1) !important;
}

/* ===== FOOTER SELECTS (Equal Sizing - 2 nút đều nhau 175px) ===== */
.ds-footer-selects {
	display: flex !important;
	align-items: flex-end !important;
	gap: 12px !important;
}

.ds-footer-select-group {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.ds-footer-selects .woo-multi-currency,
.ds-footer-selects .woo-multi-currency.wmc-shortcode,
.ds-footer-selects .wmc-currency,
.ds-footer-selects .gtranslate_wrapper {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	display: inline-block !important;
}

.ds-footer-selects select.wmc-nav,
.ds-footer-selects .wmc-currency select,
.ds-footer-selects .gtranslate_wrapper select,
.ds-footer-selects select.gt_selector {
	background-color: rgba(255, 255, 255, 0.18) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	color: #ffffff !important;
	padding: 8px 36px 8px 16px !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	outline: none !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 175px !important;
	min-width: 175px !important;
	max-width: 175px !important;
	box-shadow: none !important;
	height: 38px !important;
	box-sizing: border-box !important;
}

.ds-footer-selects select.wmc-nav option,
.ds-footer-selects .wmc-currency select option,
.ds-footer-selects .gtranslate_wrapper select option,
.ds-footer-selects select.gt_selector option {
	background: #333333 !important;
	color: #ffffff !important;
}

/* ===== TOPBAR HEADER SELECTS (Clean Pill Select Buttons) ===== */
.ds-topbar-selects {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.ds-topbar-selects .woo-multi-currency,
.ds-topbar-selects .woo-multi-currency.wmc-shortcode,
.ds-topbar-selects .wmc-currency,
.ds-topbar-selects .gtranslate_wrapper {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.ds-topbar-selects select.wmc-nav,
.ds-topbar-selects .wmc-currency select,
.ds-topbar-selects .gtranslate_wrapper select,
.ds-topbar-selects select.gt_selector {
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%232d2a26' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 6px center !important;
	border: 0 !important;
	color: var(--ds-ink, #2d2a26) !important;
	padding: 2px 22px 2px 8px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	outline: none !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	box-shadow: none !important;
	height: 24px !important;
	box-sizing: border-box !important;
	field-sizing: content;
	width: auto !important;
	min-width: 68px !important;
	max-width: 150px !important;
}

.ds-topbar-selects select.wmc-nav option,
.ds-topbar-selects .wmc-currency select option,
.ds-topbar-selects .gtranslate_wrapper select option,
.ds-topbar-selects select.gt_selector option {
	background: #ffffff !important;
	color: #2d2a26 !important;
}

.ds-footer-payments-list {
	justify-self: end !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.list-payment-footer {
	display: flex !important;
	flex-wrap: wrap !important;
	padding-left: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	gap: 6px !important;
	justify-content: flex-end !important;
}

.list-payment__item {
	display: inline-flex !important;
	align-items: center !important;
}

.list-payment__item svg {
	width: 38px !important;
	height: 24px !important;
	border-radius: 3px !important;
	display: block !important;
}

/* Mobile Responsive & Accordion */
.ds-footer-toggle {
	display: none !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

@media (max-width: 768px) {
	.ds-footer-container {
		padding: 0 20px !important;
	}

	.ds-footer-grid {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		margin-bottom: 30px !important;
		width: 100% !important;
	}

	.ds-footer-col {
		width: 100% !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.ds-footer-heading {
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		cursor: pointer !important;
		padding: 16px 0 !important;
		margin: 0 !important;
		font-size: 17px !important;
		user-select: none !important;
		box-sizing: border-box !important;
	}

	.ds-footer-toggle {
		display: inline-block !important;
		margin-left: auto !important;
		font-size: 22px !important;
		font-weight: 400 !important;
	}

	.ds-footer-col-content {
		display: none;
		width: 100% !important;
		padding: 0 0 16px 0 !important;
	}

	.ds-footer-col.is-open .ds-footer-col-content {
		display: block !important;
	}

	.ds-footer-bottom-bar {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
		gap: 24px !important;
	}

	.ds-footer-selects {
		flex-direction: column !important;
		width: 100% !important;
		align-items: center !important;
		justify-self: center !important;
	}

	.ds-footer-select {
		width: 220px !important;
	}

	.ds-footer-payments-list {
		justify-self: center !important;
		justify-content: center !important;
	}

	.list-payment-footer {
		justify-content: center !important;
	}
}

/* ===== SEARCH AUTOCOMPLETE POPUP FIX (DARK READABLE TEXT) ===== */
.autocomplete-suggestions {
	background: #ffffff !important;
	border: 1px solid rgba(0, 0, 0, 0.12) !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18) !important;
	border-radius: 8px !important;
	padding: 6px 0 !important;
	z-index: 999999 !important;
	overflow: hidden !important;
	color: #222222 !important;
}

.autocomplete-suggestion {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 10px 16px !important;
	color: #222222 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	background: #ffffff !important;
	border-bottom: 1px solid #f2f2f2 !important;
	transition: background-color 0.15s ease !important;
	text-align: left !important;
}

.autocomplete-suggestion:last-child {
	border-bottom: none !important;
}

.autocomplete-suggestion:hover,
.autocomplete-suggestion.autocomplete-selected {
	background-color: #f7f7f7 !important;
	color: #ff6a1a !important;
}

.autocomplete-suggestion img,
.autocomplete-suggestion .search-img {
	width: 44px !important;
	height: 44px !important;
	object-fit: cover !important;
	border-radius: 6px !important;
	flex-shrink: 0 !important;
}

.autocomplete-suggestion,
.autocomplete-suggestion span,
.autocomplete-suggestion div,
.autocomplete-suggestion a,
.autocomplete-no-suggestion {
	color: #222222 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.autocomplete-suggestion strong {
	color: #ff6a1a !important;
	font-weight: 700 !important;
}

.autocomplete-suggestion .price,
.autocomplete-suggestion .amount,
.autocomplete-suggestion .woocommerce-Price-amount {
	color: #666666 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

.autocomplete-no-suggestion {
	padding: 12px 16px !important;
	color: #666666 !important;
	font-size: 14px !important;
}

/* ==========================================================================
   MODERN SHOPIFY-STYLE LOGIN / REGISTER PAGE (#ff6a1a - 100% MATCH REFERENCE)
   ========================================================================== */

.ds-account-page-wrapper {
	max-width: 960px !important;
	margin: 50px auto 80px !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
}

.ds-account-logo {
	text-align: center !important;
	margin-bottom: 28px !important;
}

.ds-account-logo img {
	max-height: 54px !important;
	width: auto !important;
	display: inline-block !important;
}

.ds-account-single-card {
	max-width: 440px !important;
	margin: 0 auto !important;
}

.ds-account-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)) !important;
	gap: 32px !important;
	max-width: 900px !important;
	margin: 0 auto !important;
}

.ds-account-card {
	background: #ffffff !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.06) !important;
	border-radius: 16px !important;
	padding: 36px 32px !important;
	box-sizing: border-box !important;
}

.ds-account-card-header {
	margin-bottom: 24px !important;
	text-align: left !important;
}

.ds-account-title {
	font-size: 26px !important;
	font-weight: 800 !important;
	color: #222222 !important;
	margin: 0 0 6px 0 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.3px !important;
}

.ds-account-subtitle {
	font-size: 14px !important;
	color: #777777 !important;
	margin: 0 !important;
	font-weight: 400 !important;
}

.ds-account-card label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #333333 !important;
	margin-bottom: 6px !important;
	display: block !important;
}

.ds-account-card .ds-input,
.ds-account-card input[type="text"],
.ds-account-card input[type="email"],
.ds-account-card input[type="password"] {
	width: 100% !important;
	height: 48px !important;
	border-radius: 10px !important;
	border: 1px solid #e2e8f0 !important;
	background-color: #fafafa !important;
	padding: 0 16px !important;
	font-size: 14px !important;
	color: #222222 !important;
	box-sizing: border-box !important;
	outline: none !important;
	transition: all 0.2s ease !important;
	box-shadow: none !important;
}

.ds-account-card input:focus {
	background-color: #ffffff !important;
	border-color: #ff6a1a !important;
	box-shadow: 0 0 0 3px rgba(255, 106, 26, 0.15) !important;
}

.ds-login-options {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin: 16px 0 24px 0 !important;
	font-size: 13px !important;
}

.ds-rememberme {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	cursor: pointer !important;
	margin: 0 !important;
	font-weight: 500 !important;
	color: #444444 !important;
	line-height: 1 !important;
}

.ds-rememberme input[type="checkbox"] {
	accent-color: #ff6a1a !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
	vertical-align: middle !important;
	position: relative !important;
	top: -1px !important;
}

.ds-rememberme span {
	font-size: 13px !important;
	line-height: 1 !important;
	display: inline-block !important;
}

.ds-lost-password a {
	color: #ff6a1a !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: color 0.15s ease !important;
}

.ds-lost-password a:hover {
	color: #e8590c !important;
	text-decoration: underline !important;
}

.ds-toggle-form-footer {
	text-align: center !important;
	margin-top: 22px !important;
	padding-top: 18px !important;
	border-top: 1px solid #f0f0f0 !important;
	font-size: 14px !important;
	color: #666666 !important;
}

.ds-toggle-form-footer p {
	margin: 0 !important;
}

.ds-toggle-form-btn {
	color: #ff6a1a !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	margin-left: 4px !important;
	transition: color 0.15s ease !important;
}

.ds-toggle-form-btn:hover {
	color: #e8590c !important;
	text-decoration: underline !important;
}

.ds-submit-row {
	margin-top: 24px !important;
	margin-bottom: 0 !important;
}

.ds-btn-primary {
	width: 100% !important;
	height: 48px !important;
	border-radius: 999px !important;
	background: #ff6a1a !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	border: none !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 4px 14px rgba(255, 106, 26, 0.25) !important;
	transition: all 0.2s ease !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.ds-btn-primary:hover {
	background: #e8590c !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(255, 106, 26, 0.35) !important;
}

.ds-register-note {
	font-size: 13px !important;
	color: #666666 !important;
	line-height: 1.4 !important;
	margin: 12px 0 !important;
}

@media (max-width: 600px) {
	.ds-account-page-wrapper {
		margin: 30px auto 50px !important;
	}
	.ds-account-card {
		padding: 28px 20px !important;
		border-radius: 12px !important;
	}
	.ds-account-title {
		font-size: 22px !important;
	}
}

/* Orange site footer */
.ds-footer-wrapper,
.ds-footer-wrapper * {
	text-shadow: none !important;
}

.ds-footer-wrapper {
	background: #ff6a1a !important;
	color: #ffffff !important;
	border-top: 1px solid #ff6a1a !important;
}

.ds-footer-heading,
.ds-footer-company strong,
.ds-footer-contact-info a {
	color: #ffffff !important;
}

.ds-footer-menu li a,
.ds-footer-contact-info p,
.ds-footer-company,
.ds-footer-company address {
	color: rgba(255, 255, 255, .88) !important;
}

.ds-footer-menu li a.is-active,
.ds-footer-menu li a:hover,
.ds-footer-contact-info a:hover {
	color: #ffffff !important;
}

.ds-footer-bottom-bar {
	border-top-color: rgba(255, 255, 255, .28) !important;
}

.ds-footer-select-group label {
	color: rgba(255, 255, 255, .82) !important;
}

.ds-footer-select,
.ds-footer-selects select.wmc-nav,
.ds-footer-selects .wmc-currency select,
.ds-footer-selects .gtranslate_wrapper select,
.ds-footer-selects select.gt_selector {
	background-color: #ffffff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232b2723' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	border-color: #f3ddc7 !important;
	color: var(--ds-ink) !important;
}

.ds-footer-select option,
.ds-footer-selects select.wmc-nav option,
.ds-footer-selects .wmc-currency select option,
.ds-footer-selects .gtranslate_wrapper select option,
.ds-footer-selects select.gt_selector option {
	background: #ffffff !important;
	color: var(--ds-ink) !important;
}

.ds-footer-scroll-top button {
	border: 1px solid var(--ds-line) !important;
	box-shadow: 0 8px 20px rgba(43, 39, 35, .09) !important;
}

/* Hero buttons and trust rating match the reference crop */
.ds-hero .ds-btn-primary.button,
.ds-hero .ds-btn-outline.button {
	height: 49px !important;
	min-height: 49px !important;
	line-height: 49px !important;
	border-radius: 12px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	padding: 0 26px !important;
	box-shadow: none !important;
	transform: none !important;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

.ds-hero .ds-btn-primary.button {
	min-width: 234px !important;
	background: #ff6718 !important;
	border: 1.5px solid #ff6718 !important;
	border-color: #ff6718 !important;
	color: #ffffff !important;
}

.ds-hero .ds-btn-outline.button {
	min-width: 181px !important;
	background: #ffffff !important;
	border: 1.5px solid #e6a06f !important;
	color: #f26b21 !important;
}

.ds-hero .ds-btn-primary.button:hover,
.ds-hero .ds-btn-primary.button:focus {
	background: #ffffff !important;
	border: 1.5px solid #f26b21 !important;
	border-color: #f26b21 !important;
	color: #f26b21 !important;
	box-shadow: none !important;
}

.ds-hero .ds-btn-outline.button:hover,
.ds-hero .ds-btn-outline.button:focus {
	background: #ff6718 !important;
	border-color: #ff6718 !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

.ds-hero .button + .button,
.ds-hero .ds-btn-primary.button + .ds-btn-outline.button {
	margin-left: 24px !important;
}

.ds-btn-primary.button .ds-button-arrow {
	display: block;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-left: 8px;
	color: inherit;
}

.ds-hero .ds-btn-outline.button i {
	display: none !important;
}

/* Homepage CTA buttons swap filled/outline styles on interaction. */
.home .ds-btn-primary.button {
	border: 1.5px solid var(--ds-orange) !important;
}

.home .ds-btn-primary.button:hover,
.home .ds-btn-primary.button:focus-visible {
	background: #ffffff !important;
	border: 1.5px solid var(--ds-orange) !important;
	color: var(--ds-orange) !important;
	box-shadow: none !important;
}

.home .ds-btn-outline.button:hover,
.home .ds-btn-outline.button:focus-visible {
	background: var(--ds-orange) !important;
	border-color: var(--ds-orange) !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

.ds-hero .ds-trustbar {
	gap: 10px !important;
	margin-top: 2px !important;
	font-size: 15px !important;
	color: #2b2723 !important;
}

.ds-hero .ds-trustbar strong {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #111111 !important;
}

.ds-hero .ds-stars {
	gap: 2px !important;
}

.ds-hero .ds-stars svg {
	width: 18px !important;
	height: 18px !important;
	padding: 2px !important;
	background: #00b67a !important;
	fill: #ffffff !important;
	color: #ffffff !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
}

/* USP strip sits as its own taller band below the hero */
@media (min-width: 850px) {
	.ds-usp-bar {
		min-height: 126px !important;
		padding-top: 34px !important;
		padding-bottom: 34px !important;
		display: flex !important;
		align-items: center !important;
	}

	.ds-usp-bar > .col,
	.ds-usp-bar .col-inner,
	.ds-usp {
		display: flex !important;
		align-items: center !important;
	}
}

/* Final mobile CTA alignment (kept after the desktop reference rules). */
@media (max-width: 768px) {
	.home .section:not(.ds-hero):not(.ds-trustbar-section) {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.home .ds-collect .ds-btn-outline.button {
		margin-bottom: 24px !important;
	}

	#header #logo > a {
		display: flex !important;
		height: 100% !important;
		align-items: center !important;
		justify-content: center !important;
	}

	#header #logo img.header_logo,
	#header #logo img.header-logo {
		display: block !important;
		width: auto !important;
		height: 58px !important;
		max-height: 58px !important;
		margin: 0 auto !important;
		object-fit: contain !important;
	}

	.ds-hero .ds-btn-primary.button,
	.ds-hero .ds-btn-outline.button {
		width: 260px !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.ds-hero .button + .button,
	.ds-hero .ds-btn-primary.button + .ds-btn-outline.button {
		margin-left: auto !important;
	}
}

	/* Full-width product gallery inside the centered mobile container. */
@media (max-width: 849px) {
	.ds-story-text {
		padding-top: 30px !important;
	}

	html body.single-product .product-gallery {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 28px !important;
		box-sizing: border-box !important;
	}

	html body.single-product .product-thumbnails .flickity-prev-next-button.previous,
	html body.single-product .product-thumbnails .flickity-button.previous {
		left: 8px !important;
		right: auto !important;
	}

	html body.single-product .product-thumbnails .flickity-prev-next-button.next,
	html body.single-product .product-thumbnails .flickity-button.next {
		right: 8px !important;
		left: auto !important;
	}

	html body.single-product .ds-tier-prices {
		flex-direction: column !important;
		align-items: flex-end !important;
		justify-content: center !important;
		gap: 1px !important;
	}

/* Load More Reviews Button */
.ds-load-more-reviews-wrap {
	text-align: center !important;
	margin-top: 28px !important;
	margin-bottom: 12px !important;
}

.ds-load-more-reviews-btn {
	background: #ffffff !important;
	color: #ff6a1a !important;
	border: 2px solid #ff6a1a !important;
	border-radius: 50px !important;
	padding: 12px 32px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 4px 14px rgba(255, 106, 26, 0.12) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	outline: none !important;
}

.ds-load-more-reviews-btn:hover {
	background: #ff6a1a !important;
	color: #ffffff !important;
	transform: translateY(-2px) scale(1.02) !important;
	box-shadow: 0 6px 20px rgba(255, 106, 26, 0.25) !important;
}

.ds-load-more-reviews-btn:active {
	transform: translateY(0) scale(0.98) !important;
}

.ds-load-more-badge {
	opacity: 0.85;
	font-weight: 600;
	font-size: 14px;
}

	html body.single-product .product-main {
		padding-bottom: 20px !important;
	}

	html body.single-product .product-main > .row > .product-summary,
	html body.single-product .product-main > .row > .product-info {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}

	html body.single-product .product-footer,
	html body.single-product .product-footer > .container {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	html body.single-product .ds-video-reels-section {
		margin-top: 0 !important;
	}
}
