/**
 * Luxivai responsive correction layer.
 *
 * Loaded last so every theme and WooCommerce view uses predictable mobile
 * widths, stacking and touch targets.
 */

html,
body {
	max-width: 100%;
}

body {
	overflow-x: clip;
}

iframe,
video,
embed,
object,
table {
	max-width: 100%;
}

button,
[type="button"],
[type="submit"],
select {
	min-height: 44px;
}

@media (max-width: 900px) {
	/* Header */
	.luxivai-header__container {
		width: calc(100% - 32px);
		gap: 12px;
	}
	.luxivai-header__brand {
		min-width: 0;
	}
	.luxivai-header__brand-link {
		font-size: clamp(22px, 7vw, 32px);
		white-space: nowrap;
	}
	.luxivai-header__actions {
		gap: 5px;
	}
	.luxivai-header__icon-button,
	.luxivai-mobile-toggle {
		flex: 0 0 38px;
		width: 38px;
		height: 38px;
	}
	body.luxivai-filters-open {
		overflow: hidden;
	}

	/* Homepage */
	.luxivai-home-hero,
	.luxivai-benefits {
		width: calc(100% - 32px);
	}
	.luxivai-home-hero {
		padding: 16px 0;
	}
	.luxivai-home-hero__main h1,
	.luxivai-home-hero__main h2 {
		font-size: clamp(38px, 10vw, 60px);
	}
	.luxivai-home-section {
		padding-right: 0;
		padding-left: 0;
	}
	.luxivai-home-section .luxivai-container {
		width: calc(100% - 32px);
	}

	/* Shop and filters */
	body.post-type-archive-product .luxivai-shop-archive > .luxivai-container,
	body.tax-product_cat .luxivai-shop-archive > .luxivai-container {
		width: calc(100% - 32px);
	}
	.luxivai-shop-sidebar {
		z-index: 1002 !important;
		width: min(88vw, 360px) !important;
		max-width: 360px;
		overflow-y: auto;
	}
	.luxivai-filter-overlay {
		z-index: 1001 !important;
	}
	.luxivai-shop-toolbar {
		display: flex !important;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px !important;
	}
	.luxivai-filter-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}
	.luxivai-shop-toolbar__result {
		flex: 1 1 220px;
		order: -1;
	}
	.luxivai-shop-toolbar__ordering {
		flex: 1 1 180px;
	}
	.luxivai-shop-toolbar__ordering select {
		width: 100%;
		min-width: 0;
	}
	.luxivai-shop-per-page select {
		min-width: 72px;
	}
	.luxivai-shop-view {
		margin-left: auto;
	}
	.woocommerce .luxivai-shop-products ul.products,
	.single-product .related.products ul.products,
	.single-product .up-sells.products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 18px !important;
	}

	/* Product */
	body.single-product .luxivai-product-detail {
		grid-template-columns: 1fr !important;
	}
	body.single-product .luxivai-product-detail__summary {
		padding-top: 20px;
	}
	body.single-product .woocommerce-tabs {
		margin-top: 42px !important;
	}
	body.single-product .woocommerce-tabs ul.tabs {
		display: flex !important;
		width: 100%;
		overflow-x: auto !important;
		scrollbar-width: thin;
	}
	body.single-product .woocommerce-tabs ul.tabs li {
		flex: 0 0 auto;
	}

	/* Cart and checkout */
	.woocommerce-cart .luxivai-cart-steps,
	body.woocommerce-checkout .luxivai-cart-steps {
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		white-space: nowrap;
		scrollbar-width: thin;
	}
	body.woocommerce-cart .luxivai-cart-grid,
	body.woocommerce-checkout .luxivai-checkout-grid {
		grid-template-columns: 1fr !important;
		width: calc(100% - 32px) !important;
		max-width: none !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	body.woocommerce-cart .cart-collaterals {
		min-width: 0 !important;
	}
	body.woocommerce-checkout form.checkout,
	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
	}
	body.woocommerce-checkout form.checkout {
		display: block !important;
	}
	body.woocommerce-checkout #order_review {
		margin-top: 28px;
	}

	/* Account */
	body.woocommerce-account .entry-content > .woocommerce {
		width: calc(100% - 32px);
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation,
	body.woocommerce-account .woocommerce-MyAccount-content {
		float: none !important;
		width: 100% !important;
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 30px;
		padding-right: 0;
	}
}

@media (max-width: 700px) {
	/* Homepage */
	.luxivai-home-hero__sidebar {
		grid-template-columns: 1fr;
	}
	.luxivai-home-hero__main,
	.luxivai-home-hero__side {
		grid-template-columns: 1fr;
	}
	.luxivai-home-hero__content,
	.luxivai-home-hero__side-content {
		padding: 28px 22px;
	}
	.luxivai-home-hero__image,
	.luxivai-home-hero__side > img {
		min-height: 240px;
	}
	.luxivai-home-hero__side > img {
		height: 240px;
	}
	.luxivai-section-heading h2 {
		font-size: clamp(34px, 11vw, 48px);
	}

	/* Shop */
	.luxivai-shop-breadcrumb,
	.luxivai-shop-toolbar__result {
		font-size: 16px !important;
	}
	.luxivai-shop-toolbar__result {
		flex-basis: 100%;
	}
	.luxivai-filter-toggle {
		flex: 1 1 90px;
	}
	.luxivai-shop-toolbar__ordering {
		flex: 1 1 calc(100% - 110px);
	}
	.luxivai-shop-per-page,
	.luxivai-shop-view {
		flex: 0 0 auto;
	}
	.woocommerce .luxivai-shop-products ul.products,
	.single-product .related.products ul.products,
	.single-product .up-sells.products ul.products,
	body.woocommerce-cart .cross-sells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 16px !important;
	}
	.woocommerce ul.products li.product .luxivai-grid-wishlist {
		top: 8px !important;
		left: 8px !important;
		width: 36px !important;
		height: 36px !important;
	}
	.luxivai-shop-products.is-list-view ul.products li.product {
		grid-template-columns: 120px minmax(0, 1fr) !important;
		gap: 16px !important;
		min-height: 160px;
	}
	.luxivai-shop-products.is-list-view .luxivai-loop-product-image,
	.luxivai-shop-products.is-list-view ul.products li.product img {
		width: 120px !important;
		height: 160px !important;
	}
	.luxivai-shop-products.is-list-view ul.products li.product .woocommerce-loop-product__title {
		font-size: 17px !important;
	}
	.luxivai-shop-products.is-list-view .luxivai-loop-product-excerpt {
		display: none !important;
	}

	/* Product */
	body.single-product .woocommerce-breadcrumb {
		overflow-wrap: anywhere;
		line-height: 1.65 !important;
	}
	body.single-product .luxivai-product-detail .product_title {
		font-size: clamp(30px, 9vw, 40px);
	}
	body.single-product .luxivai-product-detail__purchase {
		grid-template-columns: 1fr !important;
	}
	body.single-product .luxivai-product-detail__purchase > .luxivai-buy-now {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}
	body.single-product .luxivai-product-gallery__thumb,
	body.single-product .flex-control-thumbs li {
		flex-basis: 92px !important;
		width: 92px !important;
		height: 92px !important;
	}

	/* Cart */
	body.woocommerce-cart .woocommerce-cart-form {
		padding: 18px 0 !important;
	}
	body.woocommerce-cart .shop_table.cart thead {
		display: none !important;
	}
	body.woocommerce-cart .shop_table.cart,
	body.woocommerce-cart .shop_table.cart tbody {
		display: block !important;
		width: 100%;
	}
	body.woocommerce-cart .shop_table.cart tr.cart_item {
		position: relative;
		display: grid !important;
		grid-template-columns: 84px minmax(0, 1fr);
		grid-template-areas:
			"thumbnail name"
			"price quantity"
			"subtotal subtotal";
		gap: 10px 16px;
		padding: 22px 0;
	}
	body.woocommerce-cart .shop_table.cart tr.cart_item td {
		display: block !important;
		width: auto !important;
		padding: 0 !important;
	}
	body.woocommerce-cart .shop_table.cart td.product-remove {
		position: absolute;
		z-index: 2;
		top: 8px;
		right: 0;
	}
	body.woocommerce-cart .shop_table.cart td.product-thumbnail {
		grid-area: thumbnail;
	}
	body.woocommerce-cart .shop_table.cart td.product-thumbnail img {
		width: 84px !important;
		height: 100px !important;
		object-fit: contain;
	}
	body.woocommerce-cart .shop_table.cart td.product-name {
		grid-area: name;
		padding-right: 30px !important;
	}
	body.woocommerce-cart .shop_table.cart td.product-price {
		grid-area: price;
		align-self: center;
		text-align: left !important;
	}
	body.woocommerce-cart .shop_table.cart td.product-quantity {
		grid-area: quantity;
		justify-self: end;
	}
	body.woocommerce-cart .shop_table.cart td.product-subtotal {
		grid-area: subtotal;
		text-align: right !important;
	}
	body.woocommerce-cart .shop_table.cart td.actions {
		display: block !important;
		padding-top: 24px !important;
	}
	body.woocommerce-cart .shop_table.cart td.actions .coupon {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		float: none !important;
		width: 100%;
	}
	body.woocommerce-cart .shop_table.cart td.actions .coupon .input-text {
		width: 100% !important;
		min-width: 0;
	}
	body.woocommerce-cart .cart_totals {
		padding: 24px 18px !important;
	}
	body.woocommerce-cart .cross-sells {
		width: calc(100% - 32px) !important;
		padding-top: 24px !important;
	}

	/* Checkout */
	body.woocommerce-checkout .form-row-first,
	body.woocommerce-checkout .form-row-last,
	body.woocommerce-checkout .col2-set .col-1,
	body.woocommerce-checkout .col2-set .col-2 {
		float: none !important;
		width: 100% !important;
	}
	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout .woocommerce-billing-fields,
	body.woocommerce-checkout .woocommerce-shipping-fields,
	body.woocommerce-checkout .woocommerce-additional-fields,
	body.woocommerce-checkout #order_review {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	body.woocommerce-checkout #customer_details > .col-1,
	body.woocommerce-checkout #customer_details > .col-2 {
		padding: 22px 16px !important;
	}
	body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
	body.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
	body.woocommerce-checkout #customer_details .woocommerce-additional-fields {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
	}
	body.woocommerce-checkout form.checkout .form-row {
		margin: 0 0 20px !important;
	}
	body.woocommerce-checkout form.checkout .form-row:last-child {
		margin-bottom: 0 !important;
	}
	body.woocommerce-checkout form.checkout .form-row label {
		display: block;
		margin: 0 0 8px !important;
		line-height: 1.4;
	}
	body.woocommerce-checkout form.checkout .form-row .woocommerce-input-wrapper {
		display: block;
		width: 100%;
	}
	body.woocommerce-checkout form.checkout .form-row input.input-text,
	body.woocommerce-checkout form.checkout .form-row textarea,
	body.woocommerce-checkout form.checkout .form-row select,
	body.woocommerce-checkout form.checkout .select2-container,
	body.woocommerce-checkout form.checkout .select2-selection {
		width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box;
	}
	body.woocommerce-checkout #order_review {
		padding: 20px 16px !important;
	}
	body.woocommerce-checkout .shop_table {
		table-layout: fixed;
	}
	body.woocommerce-checkout .shop_table th,
	body.woocommerce-checkout .shop_table td {
		padding-right: 8px !important;
		padding-left: 8px !important;
		overflow-wrap: anywhere;
	}

	/* Account and footer */
	.luxivai-account-cards {
		grid-template-columns: 1fr !important;
	}
	body.woocommerce-account #customer_login {
		grid-template-columns: 1fr !important;
	}
	.luxivia-newsletter {
		padding: 48px 16px 54px;
	}
	.luxivia-newsletter h2 {
		font-size: clamp(30px, 9vw, 42px);
	}
	.luxivia-footer__main {
		width: calc(100% - 32px);
	}
}

@media (max-width: 430px) {
	/* Keep essential mobile header actions visible without crowding. */
	.luxivai-header__actions {
		gap: 2px;
	}
	.luxivai-header__icon-button,
	.luxivai-mobile-toggle {
		flex-basis: 36px;
		width: 36px;
		height: 36px;
	}
	.luxivai-header__icon-button svg {
		width: 23px;
		height: 23px;
	}
	.luxivai-shop-view button {
		width: 44px;
		height: 44px;
	}
	body.single-product .luxivai-product-detail__purchase form.cart {
		grid-template-columns: 104px minmax(0, 1fr) !important;
	}
	body.single-product .luxivai-product-detail__purchase form.cart .single_add_to_cart_button {
		padding: 0 10px !important;
		font-size: 13px !important;
	}
	body.single-product .luxivai-product-detail__purchase form.cart .single_add_to_cart_button::before,
	body.single-product .luxivai-buy-now::before {
		width: 18px;
		height: 18px;
		margin-right: 7px;
	}
	body.woocommerce-cart .luxivai-cart-quantity {
		grid-template-columns: 32px 44px 32px !important;
		width: 110px !important;
	}
	body.woocommerce-cart .luxivai-cart-quantity .luxivai-qty-button {
		width: 32px !important;
	}
	body.woocommerce-cart .luxivai-cart-quantity .quantity,
	body.woocommerce-cart .luxivai-cart-quantity .quantity .qty {
		width: 44px !important;
	}
	body.woocommerce-cart .shop_table.cart td.actions .coupon {
		grid-template-columns: 1fr;
	}
	body.woocommerce-cart .shop_table.cart td.actions .coupon .button {
		width: 100%;
	}
}

@media (max-width: 520px) {
	/* Prevent narrow-screen overflow throughout page templates. */
	.luxivai-container,
	.luxivai-home-hero,
	body.post-type-archive-product .luxivai-shop-archive > .luxivai-container,
	body.tax-product_cat .luxivai-shop-archive > .luxivai-container {
		width: calc(100% - 24px) !important;
		max-width: none !important;
	}

	.luxivai-shop-toolbar {
		gap: 10px !important;
	}

	.luxivai-filter-toggle,
	.luxivai-shop-toolbar__ordering {
		flex: 1 1 calc(50% - 5px) !important;
	}

	.luxivai-shop-per-page,
	.luxivai-shop-view {
		margin-left: 0 !important;
	}

	body.single-product .luxivai-product-detail__summary {
		min-width: 0;
		padding-top: 14px !important;
	}

	body.single-product .luxivai-product-detail__short-description,
	body.single-product .woocommerce-Tabs-panel {
		overflow-wrap: anywhere;
	}

	body.single-product .woocommerce-tabs ul.tabs {
		gap: 0 !important;
	}

	body.single-product .woocommerce-tabs ul.tabs li a {
		padding: 15px 14px !important;
		font-size: 12px !important;
		white-space: nowrap;
	}

	body.woocommerce-cart .shop_table.cart tr.cart_item {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 10px 12px;
	}

	body.woocommerce-cart .shop_table.cart td.product-thumbnail img {
		width: 72px !important;
		height: 88px !important;
	}

	body.woocommerce-checkout .luxivai-checkout-grid,
	body.woocommerce-cart .luxivai-cart-grid {
		width: calc(100% - 24px) !important;
	}

	body.woocommerce-checkout #order_review {
		padding: 18px 12px !important;
	}
}

/* Shop pagination — reference square controls aligned beneath the grid. */
.luxivai-shop-pagination {
	display: flex !important;
	justify-content: flex-end !important;
	width: 100%;
	margin: 72px 0 0 !important;
	padding: 0 !important;
}
.luxivai-shop-pagination .woocommerce-pagination {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	overflow-x: auto;
}
.luxivai-shop-pagination ul.page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 6px !important;
	width: auto !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	list-style: none !important;
}
.luxivai-shop-pagination ul.page-numbers li {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
.luxivai-shop-pagination .page-numbers a,
.luxivai-shop-pagination .page-numbers span {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 42px !important;
	width: 42px;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #777777 !important;
	background: #f4f4f4 !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 42px !important;
	text-align: center !important;
	text-decoration: none !important;
}
.luxivai-shop-pagination .page-numbers .current {
	color: #ffffff !important;
	background: #24272a !important;
	font-weight: 700 !important;
}
.luxivai-shop-pagination .page-numbers a:hover,
.luxivai-shop-pagination .page-numbers a:focus-visible {
	color: #ffffff !important;
	background: #24272a !important;
	outline: 0;
}
.luxivai-shop-pagination .page-numbers .next,
.luxivai-shop-pagination .page-numbers .prev {
	min-width: 34px !important;
	width: 34px !important;
	color: #777777 !important;
	background: transparent !important;
	font-size: 25px !important;
	font-weight: 400 !important;
}
.luxivai-shop-pagination .page-numbers .next:hover,
.luxivai-shop-pagination .page-numbers .next:focus-visible,
.luxivai-shop-pagination .page-numbers .prev:hover,
.luxivai-shop-pagination .page-numbers .prev:focus-visible {
	color: #24272a !important;
	background: transparent !important;
}
.luxivai-shop-pagination .page-numbers .dots {
	background: transparent !important;
}

@media (max-width: 700px) {
	.luxivai-shop-pagination {
		margin-top: 44px !important;
	}
	.luxivai-shop-pagination .page-numbers a,
	.luxivai-shop-pagination .page-numbers span {
		min-width: 40px !important;
		width: 40px;
		height: 40px !important;
		font-size: 16px !important;
		line-height: 40px !important;
	}
}

/*
 * Cart cards on tablets and phones.
 * Keep this final in the responsive bundle so WooCommerce's responsive-table
 * labels cannot reintroduce the duplicated "Product:", "Price:" rows.
 */
@media (max-width: 900px) {
	body.woocommerce-cart .luxivai-cart-grid {
		display: block !important;
	}
	body.woocommerce-cart .luxivai-cart-details,
	body.woocommerce-cart .cart-collaterals {
		width: 100% !important;
		min-width: 0 !important;
	}
	body.woocommerce-cart .luxivai-cart-details__title {
		margin: 0 0 18px !important;
		font-size: clamp(26px, 7vw, 32px) !important;
		line-height: 1.15 !important;
	}
	body.woocommerce-cart .luxivai-cart-details .woocommerce-cart-form {
		padding: 0 !important;
		overflow: hidden;
		border: 1px solid #dddddd !important;
		background: transparent !important;
	}
	body.woocommerce-cart .shop_table.cart,
	body.woocommerce-cart .shop_table.cart tbody {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		border: 0 !important;
	}
	body.woocommerce-cart .shop_table.cart thead {
		display: none !important;
	}
	body.woocommerce-cart .shop_table.cart tr.cart_item {
		position: relative;
		display: grid !important;
		grid-template-columns: 88px minmax(0, 1fr) auto !important;
		grid-template-areas:
			"thumbnail name remove"
			"thumbnail price price"
			"quantity quantity subtotal" !important;
		gap: 8px 16px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 20px 16px !important;
		border: 0 !important;
		border-bottom: 1px solid #e2e2e2 !important;
		background: transparent !important;
		box-sizing: border-box;
	}
	body.woocommerce-cart .shop_table.cart tr.cart_item td {
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		text-align: left !important;
		background: transparent !important;
	}
	body.woocommerce-cart .shop_table.cart tr.cart_item td::before,
	body.woocommerce-cart .shop_table.cart tr.cart_item td::after {
		display: none !important;
		content: none !important;
	}
	body.woocommerce-cart .shop_table.cart td.product-remove {
		position: static !important;
		grid-area: remove;
		align-self: start;
		justify-self: end;
	}
	body.woocommerce-cart .shop_table.cart td.product-remove .remove {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 28px !important;
		height: 28px !important;
		color: #777777 !important;
		background: #ffffff !important;
		border: 1px solid #dddddd !important;
		border-radius: 50% !important;
		font-size: 20px !important;
		line-height: 1 !important;
		text-decoration: none !important;
	}
	body.woocommerce-cart .shop_table.cart td.product-thumbnail {
		grid-area: thumbnail;
		align-self: start;
	}
	body.woocommerce-cart .shop_table.cart td.product-thumbnail a {
		display: block;
	}
	body.woocommerce-cart .shop_table.cart td.product-thumbnail img {
		display: block;
		width: 88px !important;
		height: 102px !important;
		margin: 0 !important;
		object-fit: cover !important;
		background: #f5f5f5;
	}
	body.woocommerce-cart .shop_table.cart td.product-name {
		grid-area: name;
		align-self: start;
		padding: 1px 0 0 !important;
	}
	body.woocommerce-cart .shop_table.cart .luxivai-cart-item-title {
		display: block;
		color: #151515 !important;
		font-size: 16px !important;
		font-weight: 600 !important;
		line-height: 1.4 !important;
		text-decoration: none !important;
		overflow-wrap: anywhere;
	}
	body.woocommerce-cart .shop_table.cart .luxivai-cart-item-desc,
	body.woocommerce-cart .shop_table.cart .variation {
		display: none !important;
	}
	body.woocommerce-cart .shop_table.cart td.product-price {
		grid-area: price;
		align-self: start;
		color: #666666 !important;
		font-size: 15px !important;
		line-height: 1.3 !important;
	}
	body.woocommerce-cart .shop_table.cart td.product-quantity {
		grid-area: quantity;
		align-self: center;
		justify-self: start !important;
	}
	body.woocommerce-cart .shop_table.cart .luxivai-cart-quantity {
		display: grid !important;
		grid-template-columns: 38px 48px 38px !important;
		width: 124px !important;
		height: 46px !important;
		margin-top: 8px !important;
	}
	body.woocommerce-cart .shop_table.cart .luxivai-cart-quantity > * {
		width: 100% !important;
		min-width: 0 !important;
		height: 46px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 0 !important;
	}
	body.woocommerce-cart .shop_table.cart td.product-subtotal {
		grid-area: subtotal;
		align-self: center;
		justify-self: end;
		color: #24272a !important;
		font-size: 17px !important;
		font-weight: 700 !important;
		text-align: right !important;
	}
	body.woocommerce-cart .shop_table.cart td.actions {
		display: block !important;
		width: 100% !important;
		padding: 18px 16px !important;
		border: 0 !important;
		background: transparent !important;
		box-sizing: border-box;
	}
	body.woocommerce-cart .shop_table.cart td.actions .coupon {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		gap: 10px !important;
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
	}
	body.woocommerce-cart .shop_table.cart td.actions .coupon .input-text,
	body.woocommerce-cart .shop_table.cart td.actions .coupon .button {
		float: none !important;
		width: 100% !important;
		height: 50px !important;
		margin: 0 !important;
		border-radius: 0 !important;
		box-sizing: border-box;
	}
	body.woocommerce-cart .shop_table.cart td.actions > button[name="update_cart"] {
		float: none !important;
		width: 100% !important;
		min-height: 50px !important;
		margin: 10px 0 0 !important;
		border-radius: 0 !important;
	}
	body.woocommerce-cart .cart-collaterals {
		margin-top: 28px !important;
	}
	body.woocommerce-cart .cart_totals {
		width: 100% !important;
		padding: 22px 18px !important;
		box-sizing: border-box;
	}
}

@media (max-width: 520px) {
	body.woocommerce-cart .shop_table.cart tr.cart_item {
		grid-template-columns: 76px minmax(0, 1fr) auto !important;
		gap: 8px 12px !important;
		padding: 18px 14px !important;
	}
	body.woocommerce-cart .shop_table.cart td.product-thumbnail img {
		width: 76px !important;
		height: 90px !important;
	}
	body.woocommerce-cart .shop_table.cart .luxivai-cart-item-title {
		font-size: 15px !important;
	}
	body.woocommerce-cart .shop_table.cart td.actions .coupon {
		grid-template-columns: 1fr !important;
	}
}

/*
 * Homepage side promotions retain the desktop split composition on mobile:
 * copy on the left half and the editorial image on the right half.
 */
@media (max-width: 700px) {
	.luxivai-home-hero__sidebar {
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: none !important;
		gap: 12px !important;
	}
	.luxivai-home-hero__side {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		align-items: stretch !important;
		min-height: clamp(210px, 58vw, 270px) !important;
		padding: 0 !important;
	}
	.luxivai-home-hero__side-content {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-width: 0;
		padding: clamp(14px, 4vw, 22px) !important;
	}
	.luxivai-home-hero__side-content .luxivai-home-hero__content-inner {
		max-width: none !important;
	}
	.luxivai-home-hero__side h2 {
		margin-bottom: 16px !important;
		font-size: clamp(23px, 7vw, 34px) !important;
		line-height: 1.02 !important;
		overflow-wrap: anywhere;
	}
	.luxivai-home-hero__side .luxivai-eyebrow {
		margin-bottom: 10px !important;
		font-size: 9px !important;
		line-height: 1.4 !important;
	}
	.luxivai-home-hero__side .luxivai-button {
		min-height: 40px !important;
		padding: 10px 14px !important;
		font-size: 9px !important;
	}
	.luxivai-home-hero__side > img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		object-fit: cover !important;
		object-position: center !important;
	}
}

/* Compact, predictable controls for the mobile shop archive. */
@media (max-width: 700px) {
	body.post-type-archive-product .luxivai-shop-toolbar,
	body.tax-product_cat .luxivai-shop-toolbar {
		display: grid !important;
		grid-template-columns: minmax(104px, .55fr) minmax(0, 1fr) !important;
		grid-template-areas:
			"result result"
			"filter ordering"
			"perpage view" !important;
		align-items: center !important;
		gap: 10px 12px !important;
		margin: 0 0 24px !important;
	}
	body.post-type-archive-product .luxivai-shop-toolbar__result,
	body.tax-product_cat .luxivai-shop-toolbar__result {
		grid-area: result;
		width: auto !important;
		min-width: 0;
		margin: 0 !important;
		font-size: 16px !important;
		line-height: 1.35 !important;
	}
	body.post-type-archive-product .luxivai-shop-toolbar__result .woocommerce-result-count,
	body.tax-product_cat .luxivai-shop-toolbar__result .woocommerce-result-count {
		margin: 0 !important;
	}
	body.post-type-archive-product .luxivai-filter-toggle,
	body.tax-product_cat .luxivai-filter-toggle {
		grid-area: filter;
		width: 100% !important;
		min-height: 48px !important;
		margin: 0 !important;
		padding: 10px 14px !important;
	}
	body.post-type-archive-product .luxivai-shop-toolbar__ordering,
	body.tax-product_cat .luxivai-shop-toolbar__ordering {
		grid-area: ordering;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.post-type-archive-product .luxivai-shop-toolbar__ordering .woocommerce-ordering,
	body.tax-product_cat .luxivai-shop-toolbar__ordering .woocommerce-ordering,
	body.post-type-archive-product .luxivai-shop-toolbar__ordering select,
	body.tax-product_cat .luxivai-shop-toolbar__ordering select {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.post-type-archive-product .luxivai-shop-per-page,
	body.tax-product_cat .luxivai-shop-per-page {
		grid-area: perpage;
		width: 100% !important;
		margin: 0 !important;
	}
	body.post-type-archive-product .luxivai-shop-per-page select,
	body.tax-product_cat .luxivai-shop-per-page select {
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.post-type-archive-product .luxivai-shop-view,
	body.tax-product_cat .luxivai-shop-view {
		grid-area: view;
		justify-self: end;
		margin: 0 !important;
	}
	body.post-type-archive-product .luxivai-shop-view button,
	body.tax-product_cat .luxivai-shop-view button {
		width: 48px !important;
		height: 48px !important;
		margin: 0 !important;
	}

	/* The drawer owns all filter controls at this breakpoint. */
	body.post-type-archive-product .luxivai-shop-sidebar,
	body.tax-product_cat .luxivai-shop-sidebar {
		display: flex !important;
		flex-direction: column !important;
		width: min(92vw, 380px) !important;
		max-width: 380px !important;
		padding: 22px 18px 34px !important;
		box-sizing: border-box;
	}
	body.post-type-archive-product .luxivai-shop-sidebar__heading,
	body.tax-product_cat .luxivai-shop-sidebar__heading {
		display: flex !important;
		order: 1;
		margin-bottom: 20px !important;
	}
	body.post-type-archive-product .luxivai-shop-sidebar__widgets,
	body.tax-product_cat .luxivai-shop-sidebar__widgets {
		order: 2;
	}
	body.post-type-archive-product .luxivai-shop-sidebar .luxivai-filter-group--price,
	body.tax-product_cat .luxivai-shop-sidebar .luxivai-filter-group--price {
		order: 3;
	}
	body.post-type-archive-product .luxivai-shop-sidebar .luxivai-filter-group:not(.luxivai-filter-group--price),
	body.tax-product_cat .luxivai-shop-sidebar .luxivai-filter-group:not(.luxivai-filter-group--price) {
		order: 4;
	}
	body.post-type-archive-product .luxivai-shop-sidebar .luxivai-filter-group,
	body.tax-product_cat .luxivai-shop-sidebar .luxivai-filter-group {
		display: block !important;
		padding: 20px 0 !important;
	}
	body.post-type-archive-product .luxivai-shop-sidebar .luxivai-filter-group summary,
	body.tax-product_cat .luxivai-shop-sidebar .luxivai-filter-group summary {
		font-size: 17px !important;
	}
	body.post-type-archive-product .luxivai-shop-sidebar .luxivai-price-widget,
	body.tax-product_cat .luxivai-shop-sidebar .luxivai-price-widget,
	body.post-type-archive-product .luxivai-shop-sidebar .price_slider_wrapper,
	body.tax-product_cat .luxivai-shop-sidebar .price_slider_wrapper {
		display: block !important;
		width: 100% !important;
		min-height: 98px !important;
		overflow: visible !important;
	}
	body.post-type-archive-product .luxivai-shop-sidebar .price_slider,
	body.tax-product_cat .luxivai-shop-sidebar .price_slider {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	body.post-type-archive-product .luxivai-shop-sidebar .price_slider_amount,
	body.tax-product_cat .luxivai-shop-sidebar .price_slider_amount {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	body.post-type-archive-product .luxivai-shop-sidebar .price_slider_amount .price_label,
	body.tax-product_cat .luxivai-shop-sidebar .price_slider_amount .price_label {
		display: block !important;
	}

	/* Price is promoted out of the drawer by main.js on mobile. */
	.luxivai-mobile-price-filter {
		display: block;
		width: 100%;
		margin: -8px 0 24px;
	}
	.luxivai-mobile-price-filter .luxivai-filter-group--price {
		display: block !important;
		margin: 0 !important;
		padding: 16px !important;
		background: #ffffff;
		border: 1px solid #dedede !important;
	}
	.luxivai-mobile-price-filter .luxivai-filter-group--price summary {
		margin: 0 0 18px !important;
		font-size: 17px !important;
	}
	.luxivai-mobile-price-filter .luxivai-price-widget,
	.luxivai-mobile-price-filter .price_slider_wrapper {
		display: block !important;
		width: 100% !important;
		min-height: 98px !important;
		overflow: visible !important;
	}
	.luxivai-mobile-price-filter .price_slider {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	.luxivai-mobile-price-filter .price_slider_amount {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	.luxivai-mobile-price-filter .price_slider_amount .price_label {
		display: block !important;
	}
}
