/*
 * Layer23 single-product phone layout.
 *
 * WordPress adds this stylesheet to product-page HTML with a matching media
 * attribute. Keep the query here as a resize/orientation safeguard.
 */
@media (max-width: 767px) {
	body.single-product {
		overflow-x: clip;
		--l23-product-tabs-top: 56px !important;
		--l23-product-tabs-scroll-offset: 116px !important;
	}

	/* Compact Kadence mobile header without allowing search to push Inquiry off-screen. */
	body.single-product .wp-block-kadence-header-tablet .kadence-header-row-inner {
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr) !important;
		align-items: center;
		gap: 4px;
		width: 100%;
		padding-inline: 8px;
	}

	body.single-product .wp-block-kadence-header-column-tablet-left {
		width: 44px;
		min-width: 0;
	}

	body.single-product .wp-block-kadence-header-column-tablet-center {
		display: none;
	}

	body.single-product .wp-block-kadence-header-column-tablet-right {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 4px;
		width: 100%;
		min-width: 0 !important;
	}

	body.single-product .wp-block-kadence-header-column-tablet-right .wp-block-kadence-header-column-center-right {
		display: none;
	}

	body.single-product .wp-block-kadence-header-column-tablet-right .dgwt-wcas-search-wrapp {
		width: 100% !important;
		min-width: 0 !important;
	}

	body.single-product .wp-block-kadence-header-column-tablet-right .kb-advanced-heading-link {
		width: auto;
		min-width: 0;
		padding-inline: 4px;
		font-size: 14px;
		white-space: nowrap;
	}

	/* Keep the short breadcrumb compact without introducing page-level overflow. */
	body.single-product .rank-math-breadcrumb {
		display: block;
		width: 100%;
		min-width: 0;
	}

	body.single-product .rank-math-breadcrumb p {
		width: 100%;
		margin: 0 !important;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	/* Product hero: readable hierarchy, stable gallery height, and compact metadata. */
	body.single-product h1.entry-title,
	body.single-product h1.product_title,
	body.single-product .kadence-woo-template-wrap h1.wp-block-kadence-advancedheading,
	body.single-product .product_title {
		margin-bottom: 12px;
		font-size: clamp(22px, 6vw, 24px) !important;
		line-height: 1.25 !important;
		overflow-wrap: anywhere;
	}

	body.single-product .kwt-gallery-wrap,
	body.single-product .woocommerce-product-gallery {
		min-width: 0;
		min-height: 0 !important;
	}

	/* Reserve Kadence's final square main-image area before its gallery JS runs. */
	body.single-product .kwt-gallery-wrap .kadence-product-gallery-main {
		width: 100%;
		aspect-ratio: 1 / 1;
	}

	body.single-product .kwt-gallery-wrap .woocommerce-product-gallery__image img,
	body.single-product .woocommerce-product-gallery__wrapper img {
		width: 100%;
		max-height: 300px;
		object-fit: contain;
		object-position: center;
	}

	body.single-product .summary,
	body.single-product .kwt-summary-wrap,
	body.single-product .kwt-add-to-cart-wrap {
		min-width: 0;
	}

	body.single-product .summary .price {
		margin-block: 10px;
		line-height: 1.25;
	}

	/* Main purchase row remains complete at 320px: quantity, purchase, and Quote. */
	body.single-product .kwt-add-to-cart-wrap form.cart:not(.variations_form):not(.grouped_form) {
		display: flex;
		align-items: stretch;
		gap: 6px;
		width: 100%;
	}

	body.single-product .kwt-add-to-cart-wrap form.cart:not(.variations_form):not(.grouped_form)::before,
	body.single-product .kwt-add-to-cart-wrap form.cart:not(.variations_form):not(.grouped_form)::after {
		display: none;
		content: none;
	}

	body.single-product .kwt-add-to-cart-wrap form.cart:not(.variations_form):not(.grouped_form) .quantity {
		flex: 0 0 48px;
		width: 48px;
		margin: 0;
	}

	body.single-product .kwt-add-to-cart-wrap form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button {
		flex: 1.15 1 0;
	}

	body.single-product .kwt-add-to-cart-wrap form.cart:not(.variations_form):not(.grouped_form) .l23-product-inquiry-button {
		flex: 0.85 1 0;
	}

	body.single-product .kwt-add-to-cart-wrap form.cart:not(.variations_form):not(.grouped_form) .quantity .qty,
	body.single-product .kwt-add-to-cart-wrap form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button,
	body.single-product .kwt-add-to-cart-wrap form.cart:not(.variations_form):not(.grouped_form) .l23-product-inquiry-button {
		width: 100%;
		min-width: 0;
		height: 44px;
		min-height: 44px;
		padding-inline: 7px !important;
		margin: 0 !important;
		font-size: 14px;
		white-space: nowrap;
	}

	body.single-product .kwt-add-to-cart-wrap .l23-product-inquiry-button .l23-inquiry-icon,
	body.single-product .kwt-add-to-cart-wrap .l23-inquiry-help-text {
		display: none;
	}

	body.single-product .l23-product-inquiry-only__controls {
		flex-wrap: nowrap;
		gap: 8px;
	}

	body.single-product .l23-product-inquiry-only__quantity {
		flex: 0 0 64px;
		width: 64px;
		height: 44px;
		min-height: 44px;
		margin: 0 !important;
	}

	body.single-product .l23-product-inquiry-only .l23-product-inquiry-button {
		flex: 1 1 auto;
		width: auto;
		height: 44px;
		min-height: 44px;
		margin: 0 !important;
	}

	/*
	 * Keep Kadence's native flex layout. Only constrain the pieces that cannot
	 * otherwise fit beside the extra inquiry action on a phone.
	 */
	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-content {
		align-items: center;
		gap: 4px;
		min-height: 56px;
		padding: 6px 8px;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-title-wrap {
		gap: 6px;
		flex: 1 1 auto;
		min-width: 0;
		height: 42px;
		overflow: hidden;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-title-wrap img {
		display: block;
		width: 42px;
		height: 42px;
		flex: 0 0 42px;
		margin: 0;
		object-fit: contain;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-title-wrap picture {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 42px;
		width: 42px;
		height: 42px;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-title {
		min-width: 0;
		padding-left: 0;
		overflow: hidden;
		font-size: 12px;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap {
		gap: 6px;
		flex: 0 0 auto;
		min-width: 0;
	}

	body.single-product .kadence-sticky-add-to-cart-action-price.price {
		flex: 0 0 auto;
		min-width: 0;
		padding: 0;
		font-size: 14px;
		line-height: 1.2;
		white-space: nowrap;
	}

	body.single-product .kadence-sticky-add-to-cart-action-price.price del {
		display: none;
	}

	body.single-product .kadence-sticky-add-to-cart-action-price.price ins,
	body.single-product .kadence-sticky-add-to-cart-action-price.price .l23-money {
		display: inline;
		max-width: none;
		white-space: nowrap;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap form.cart {
		gap: 6px;
		min-width: 0;
		margin: 0;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap .single_add_to_cart_button,
	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap .single_link_to_cart_button {
		flex: 0 0 clamp(76px, 24vw, 92px);
		width: clamp(76px, 24vw, 92px);
		min-width: 0;
		height: 40px;
		min-height: 40px;
		padding-inline: 6px !important;
		margin: 0 !important;
		font-size: 13px;
		white-space: nowrap;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap .l23-product-inquiry-button {
		flex: 0 0 clamp(56px, 18vw, 68px);
		width: clamp(56px, 18vw, 68px);
		min-width: 0;
		height: 40px;
		min-height: 40px;
		padding-inline: 6px !important;
		margin: 0 !important;
		font-size: 13px;
		white-space: nowrap;
	}

	#kadence-mobile-sticky-add-to-cart .l23-inquiry-icon,
	#kadence-mobile-sticky-add-to-cart .l23-inquiry-help-text {
		display: none;
	}

	/* Keep the sticky product navigation on one compact, horizontally scrollable line. */
	body.single-product .main-product-tabs {
		width: 100%;
		overflow: hidden;
	}

	body.single-product .main-product-tabs :is(.wp-block-kadence-navigation, .navigation, .menu-container) {
		width: 100%;
		min-width: 0;
	}

	body.single-product .main-product-tabs .kb-navigation {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		gap: 0;
		width: 100%;
		max-width: 100%;
		padding: 0 !important;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	body.single-product .main-product-tabs .kb-navigation::-webkit-scrollbar {
		display: none;
	}

	body.single-product .main-product-tabs .kb-navigation > .menu-item {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	body.single-product .main-product-tabs .kb-nav-link-content {
		min-height: 44px;
		padding: 10px 14px !important;
		font-size: 14px !important;
		white-space: nowrap;
	}

	/* Imported prose and headings should read as product content, not source code. */
	body.single-product .kwt-description-wrap {
		min-width: 0;
		overflow-wrap: anywhere;
	}

	body.single-product .kwt-description-wrap h2 {
		margin-block: 24px 12px;
		font-size: clamp(22px, 6vw, 24px) !important;
		line-height: 1.25;
	}

	body.single-product .kwt-description-wrap h3 {
		margin-block: 20px 10px;
		font-size: 18px !important;
		line-height: 1.3;
	}

	body.single-product .kwt-description-wrap :is(p, li) {
		font-size: 15px;
		line-height: 1.55;
	}

	body.single-product .kwt-description-wrap p {
		margin-block: 0 14px;
	}

	body.single-product .kwt-description-wrap pre.wp-block-preformatted {
		padding: 12px;
		margin: 10px 0 18px;
		border: 0;
		background: var(--global-palette7, #f3f6fa);
		font-family: inherit;
		font-size: 14px;
		line-height: 1.55;
		overflow-wrap: anywhere;
		white-space: pre-wrap;
	}

	/* Two-column specs remain readable; wider comparison tables scroll inside themselves. */
	body.single-product .kwt-description-wrap table {
		width: 100%;
		margin-block: 12px 18px;
		font-size: 13px;
		line-height: 1.4;
	}

	body.single-product .kwt-description-wrap table :is(th, td) {
		padding: 9px 8px !important;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	body.single-product .kwt-description-wrap table :is(p, ul, ol) {
		margin-block: 0;
	}

	body.single-product .kwt-description-wrap table:not(:has(tr > :nth-child(3))) {
		table-layout: fixed;
	}

	body.single-product .kwt-description-wrap table:not(:has(tr > :nth-child(3))) tr > :first-child {
		width: 36%;
	}

	body.single-product .kwt-description-wrap table:has(tr > :nth-child(3)) {
		display: block;
		max-width: 100%;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
	}

	body.single-product .kwt-description-wrap table:has(tr > :nth-child(3))
		> :is(thead, tbody, tfoot) {
		display: table;
		width: 640px;
		table-layout: fixed;
	}

	/* Reduce section gaps and oversized performance cards without changing their order. */
	body.single-product .kwt-description-wrap .kt-row-column-wrap {
		row-gap: 20px !important;
	}

	body.single-product .kwt-description-wrap > .wp-block-kadence-rowlayout > .kt-row-column-wrap {
		padding-block: 16px !important;
	}

	body.single-product .kwt-description-wrap
		.wp-block-kadence-column:has(> .kt-inside-inner-col > .wp-block-kadence-countup)
		> .kt-inside-inner-col {
		padding: 24px !important;
	}

	body.single-product .kwt-description-wrap .kb-count-up-number {
		font-size: 36px !important;
		line-height: 1.15 !important;
	}

	body.single-product .kwt-description-wrap .kb-count-up-title {
		margin-top: 6px;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}

	body.single-product .kwt-description-wrap .kt-row-column-wrap.kt-has-3-columns
		> .wp-block-kadence-column
		> .kt-inside-inner-col:has(> .wp-block-kadence-advancedheading:first-child) {
		padding: 18px !important;
	}

	body.single-product .kwt-description-wrap .kt-row-column-wrap.kt-has-3-columns
		> .wp-block-kadence-column > .kt-inside-inner-col
		> .wp-block-kadence-advancedheading:first-child {
		padding-bottom: 10px !important;
		font-size: 20px !important;
		line-height: 1.3 !important;
	}

	body.single-product .kwt-description-wrap .kt-blocks-info-box-link-wrap {
		padding: 18px !important;
	}

	/* Image-led info cards use a vertical composition instead of a narrow text rail. */
	body.single-product .kt-blocks-info-box-link-wrap.kt-blocks-info-box-media-align-left:has(img) {
		flex-direction: column;
		align-items: stretch;
		padding: 12px !important;
	}

	body.single-product .kt-blocks-info-box-link-wrap.kt-blocks-info-box-media-align-left:has(img)
		.kt-blocks-info-box-media-container {
		display: flex;
		justify-content: center;
		width: 100%;
	}

	body.single-product .kt-blocks-info-box-link-wrap.kt-blocks-info-box-media-align-left:has(img)
		.kt-blocks-info-box-media {
		width: min(100%, 200px) !important;
		margin: 0 auto 10px !important;
	}

	body.single-product .kt-blocks-info-box-link-wrap.kt-blocks-info-box-media-align-left:has(img)
		.kt-infobox-textcontent {
		width: 100%;
		min-width: 0;
	}

	body.single-product .kt-blocks-info-box-link-wrap:has(img)
		:is(.kt-blocks-info-box-title, .kt-blocks-info-box-text) {
		margin-block: 0 8px;
	}

	body.single-product .kt-blocks-info-box-link-wrap:has(img) .kt-blocks-info-box-title {
		font-size: 20px !important;
		line-height: 1.3 !important;
	}

	body.single-product .kt-blocks-info-box-link-wrap:has(img) .kt-blocks-info-box-text {
		font-size: 14px !important;
		line-height: 1.5 !important;
	}

	body.single-product .kt-blocks-info-box-link-wrap:has(img) .kt-blocks-info-box-learnmore {
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	body.single-product .kt-blocks-info-box-link-wrap:not(:has(img)) .kt-info-svg-icon svg {
		width: 36px !important;
		height: 36px !important;
	}

	/* Payment and security logos stay recognizable without dominating the page. */
	body.single-product .kadence-woo-template-wrap .wp-block-gallery.columns-8 {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px 8px;
		align-items: center;
	}

	body.single-product .kadence-woo-template-wrap .wp-block-gallery.columns-8 > .wp-block-image {
		display: flex;
		align-items: center;
		justify-content: center;
		width: auto !important;
		height: 36px;
		margin: 0 !important;
	}

	body.single-product .kadence-woo-template-wrap .wp-block-gallery.columns-8 > .wp-block-image img {
		width: auto !important;
		max-width: 100%;
		height: 32px !important;
		object-fit: contain;
	}

	/* Compact three-column trust strip used in the product summary. */
	body.single-product .l23-signals {
		padding-block: 14px 12px;
		border-block: 1px solid #edf1f6;
	}

	body.single-product .l23-signals__badges {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 4px;
	}

	body.single-product .l23-signals__badge {
		flex-direction: column;
		align-items: center;
		gap: 8px;
		text-align: center;
	}

	body.single-product .l23-signals__chip {
		flex-basis: 36px;
		inline-size: 36px;
		block-size: 36px;
	}

	body.single-product .l23-signals__badge-text {
		min-width: 0;
	}

	body.single-product .l23-signals__badge-text strong {
		font-size: clamp(11.5px, 3.2vw, 13px);
		line-height: 1.25;
		white-space: nowrap;
	}

	body.single-product :is(
		.l23-signals__badge-sub,
		.l23-signals__sn-link,
		.l23-signals__policy-link
	) {
		display: none;
	}

	body.single-product .l23-signals__hair {
		margin: 14px 0 11px;
	}

	body.single-product .l23-signals__row {
		justify-content: center;
		flex-wrap: nowrap;
		gap: 6px;
		font-size: 13px;
		white-space: nowrap;
	}

	body.single-product .l23-signals__seg {
		gap: 5px;
	}

	.layer23-accessories__tabs {
		justify-content: flex-start;
		gap: 1.5rem;
		overflow-x: auto;
	}

	.layer23-accessories__tab {
		min-height: 44px;
		white-space: nowrap;
	}

	.layer23-accessories__carousel li.product {
		flex-basis: 82% !important;
	}

	.layer23-accessories__arrow {
		width: 34px;
		height: 50px;
		font-size: 1.6rem;
	}

}

@media (max-width: 359px) {
	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-content {
		padding-inline: 6px;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-title-wrap {
		height: 40px;
		gap: 4px;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-title-wrap picture,
	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-title-wrap img {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
	}

	body.single-product .kadence-sticky-add-to-cart-action-price.price {
		font-size: 13px;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap,
	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap form.cart {
		gap: 4px;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap .single_add_to_cart_button,
	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap .single_link_to_cart_button {
		flex-basis: 76px;
		width: 76px;
		padding-inline: 4px !important;
		font-size: 12px;
	}

	#kadence-mobile-sticky-add-to-cart .kadence-sticky-add-to-cart-action-wrap .l23-product-inquiry-button {
		flex-basis: 56px;
		width: 56px;
		padding-inline: 4px !important;
		font-size: 12px;
	}
}
