/**
 * Mobile layout — prevent overflow, fit all pages to viewport.
 */

html {
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	max-width: 100%;
}

body.lux-golf-theme {
	overflow-x: hidden;
	max-width: 100%;
	width: 100%;
}

.lux-golf-theme *,
.lux-golf-theme *::before,
.lux-golf-theme *::after {
	box-sizing: border-box;
}

.lux-golf-theme img,
.lux-golf-theme video,
.lux-golf-theme iframe,
.lux-golf-theme embed,
.lux-golf-theme object,
.lux-golf-theme svg {
	max-width: 100%;
	height: auto;
}

.lux-golf-theme .lux-main,
.lux-golf-theme .lux-container,
.lux-golf-theme .lux-section,
.lux-golf-theme .woocommerce,
.lux-golf-theme .woocommerce-page {
	max-width: 100%;
}

.lux-golf-theme table {
	max-width: 100%;
}

.lux-golf-theme .entry-content,
.lux-golf-theme .woocommerce-Tabs-panel,
.lux-golf-theme .lux-product-details,
.lux-golf-theme .lux-guide-body,
.lux-golf-theme .lux-page-content {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.lux-golf-theme .entry-content table,
.lux-golf-theme .woocommerce-Tabs-panel table,
.lux-golf-theme .lux-product-details table {
	display: block;
	width: 100% !important;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.lux-golf-theme .entry-content pre,
.lux-golf-theme .woocommerce-Tabs-panel pre {
	overflow-x: auto;
	max-width: 100%;
}

.lux-golf-theme .woocommerce img,
.lux-golf-theme .woocommerce-page img {
	max-width: 100% !important;
	height: auto !important;
}

@media (max-width: 1024px) {
	.lux-container {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.lux-mega-panel {
		display: none !important;
	}

	.lux-hero-pro__grid {
		gap: 1.5rem;
	}

	.lux-hero-pro__card--main {
		margin-right: 0;
	}

	.lux-hero-pro__card--accent {
		position: static;
		width: 100%;
		margin-top: 1rem;
	}

	.lux-hero--pro .lux-hero__title {
		max-width: none;
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}

	.lux-hero-pro__content--glass {
		padding: 1.25rem;
	}

	.lux-hero__content {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.lux-hero-pro__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.lux-hero-pro__actions .lux-btn {
		width: 100%;
		justify-content: center;
	}

	.lux-hero-pro__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lux-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem;
	}

	.lux-shop__layout {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.lux-shop__sidebar {
		position: static;
	}
}

@media (max-width: 900px) {
	.lux-header__promo-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
		padding: 0.5rem 1rem;
		font-size: 0.75rem;
	}

	.lux-header__promo-text {
		line-height: 1.4;
	}

	.lux-header__inner {
		padding: 0.65rem 0.75rem;
		gap: 0.5rem;
	}

	.lux-header__logo-img {
		height: 34px;
		max-width: min(160px, 42vw);
	}

	.lux-category-bar .lux-container {
		padding-left: 0;
		padding-right: 0;
	}

	.lux-category-bar__link {
		padding: 0.6rem 0.75rem;
		font-size: 0.75rem;
	}

	.lux-mobile-nav {
		max-height: calc(100dvh - 100px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 1rem;
	}

	.lux-mobile-nav__menu a,
	.lux-mobile-nav__heading {
		display: block;
		padding: 0.65rem 0;
		min-height: 44px;
	}

	/* Product pages */
	.single-product .lux-main {
		padding: 1rem 0 5.5rem;
	}

	.single-product .lux-container {
		padding: 0 1rem;
	}

	.single-product div.product {
		grid-template-columns: 1fr !important;
		gap: 1.25rem;
		min-width: 0;
	}

	.single-product .summary,
	.single-product .woocommerce-product-gallery {
		min-width: 0;
		max-width: 100%;
	}

	.lux-product-gallery {
		margin-bottom: 1rem;
		max-width: 100%;
	}

	.lux-product-gallery__main {
		margin: 0;
		max-width: 100%;
		border-radius: var(--lux-radius-md);
		overflow: hidden;
	}

	.lux-product-gallery__main img {
		width: 100%;
		height: auto;
		display: block;
	}

	.lux-product-gallery__thumbs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		padding-bottom: 0.35rem;
		max-width: 100%;
	}

	.lux-product-gallery__thumb {
		flex: 0 0 64px;
		width: 64px;
		height: 64px;
		scroll-snap-align: start;
	}

	.lux-product-h1 {
		font-size: clamp(1.2rem, 5.5vw, 1.5rem);
		line-height: 1.25;
	}

	.lux-product-h1__kw {
		font-size: 0.8125rem;
	}

	.lux-product-meta-bar {
		font-size: 0.75rem;
		gap: 0.35rem 0.65rem;
	}

	.lux-product-lead {
		font-size: 0.9rem;
		line-height: 1.5;
	}

	.lux-product-trust-strip {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}

	.woocommerce div.product p.price {
		font-size: 1.25rem;
	}

	.woocommerce div.product form.cart {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
		max-width: 100%;
	}

	.woocommerce div.product form.cart .quantity {
		width: 100%;
	}

	.woocommerce div.product form.cart .quantity .qty {
		width: 100%;
		min-height: 48px;
		font-size: 1rem;
	}

	.woocommerce div.product form.cart .single_add_to_cart_button,
	.woocommerce div.product form.cart button.button {
		width: 100%;
		min-height: 48px;
		font-size: 1rem;
	}

	table.variations,
	table.variations tbody,
	table.variations tr,
	table.variations td,
	table.variations th {
		display: block;
		width: 100%;
	}

	table.variations th.label {
		padding-bottom: 0.35rem;
	}

	table.variations td.value select,
	table.variations select {
		width: 100%;
		min-height: 48px;
		font-size: 1rem;
	}

	.woocommerce-variation-add-to-cart {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
	}

	.lux-product-room-fit {
		padding: 1rem;
		margin: 1rem 0;
	}

	.lux-product-room-fit__form {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	.lux-product-room-fit__form input {
		width: 100%;
		min-height: 44px;
	}

	.lux-product-room-fit__form .lux-btn {
		width: 100%;
		min-height: 44px;
	}

	.lux-sticky-atc__inner {
		padding: 0.65rem 1rem;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.lux-sticky-atc__title {
		display: none;
	}

	.lux-sticky-atc__btn {
		flex: 1 1 100%;
		width: 100%;
		min-height: 48px;
	}

	.lux-quote-fab {
		bottom: 5.25rem;
		right: 0.75rem;
		left: auto;
		padding: 0.65rem 0.9rem;
		font-size: 0.75rem;
		max-width: calc(100% - 1.5rem);
	}

	.lux-ambient-panel {
		display: none;
	}

	.woocommerce-tabs {
		max-width: 100%;
		overflow: hidden;
	}

	.woocommerce-tabs ul.tabs {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 0.25rem;
		margin: 0 0 1rem;
		padding: 0;
	}

	.woocommerce-tabs ul.tabs li {
		flex: 0 0 auto;
	}

	.woocommerce-tabs ul.tabs li a {
		padding: 0.6rem 0.75rem;
		font-size: 0.8125rem;
		white-space: nowrap;
	}

	.woocommerce-Tabs-panel {
		padding: 0;
		max-width: 100%;
	}

	.woocommerce-Tabs-panel .lux-product-h2,
	.woocommerce-Tabs-panel .lux-product-h3 {
		font-size: 1.1rem;
		line-height: 1.3;
	}

	.lux-product-guides,
	.lux-product-keyword-links {
		padding: 1rem;
		margin: 1.25rem 0;
	}

	.lux-product-guides ul,
	.lux-product-keyword-links ul {
		flex-direction: column;
		gap: 0.5rem;
	}

	/* Shop */
	.lux-shop-filters-toggle {
		display: block;
		width: 100%;
		min-height: 44px;
	}

	.lux-shop-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 0.75rem;
	}

	.woocommerce ul.products.lux-products__grid--shop,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.75rem !important;
		margin: 0 !important;
	}

	.woocommerce ul.products li.product {
		min-width: 0;
		max-width: 100%;
	}

	.lux-products__grid--shop li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.8125rem;
		line-height: 1.3;
	}

	.lux-product-card__image-wrap,
	.lux-branded-image {
		max-width: 100%;
		overflow: hidden;
	}

	/* Homepage sections */
	.lux-partners__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lux-gallery-section__grid {
		grid-template-columns: 1fr;
	}

	.lux-gallery-section__item--hero {
		grid-column: span 1;
	}

	.lux-difference__grid,
	.lux-blog-section__grid,
	.lux-faq__grid {
		grid-template-columns: 1fr;
	}

	.lux-about {
		grid-template-columns: 1fr;
	}

	.lux-about__content {
		max-width: none;
		margin: 0;
		padding: 2rem 1rem;
	}

	.lux-tool__grid,
	.lux-room-designer__grid,
	.lux-ai-expert__grid {
		grid-template-columns: 1fr;
	}

	/* Cart / checkout */
	.woocommerce-cart table.shop_table,
	.woocommerce-checkout table.shop_table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce .col2-set {
		display: block;
	}

	.woocommerce .col2-set .col-1,
	.woocommerce .col2-set .col-2 {
		width: 100%;
		float: none;
		margin-bottom: 1.5rem;
	}
}

@media (max-width: 480px) {
	.lux-hero-pro__stats {
		grid-template-columns: 1fr;
	}

	.lux-footer__grid {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products.lux-products__grid--shop,
	.woocommerce ul.products {
		grid-template-columns: 1fr !important;
	}

	.lux-partners__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lux-header__actions {
		gap: 0.35rem;
	}

	.lux-header__cart {
		font-size: 0.8125rem;
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}
