/* Reserve the fixed header's final height before the theme JavaScript runs. */
body.header-horizontal {
	/* The theme writes an early header measurement as an inline value. On a
	 * cold mobile load the logo has not settled yet, so that measurement is too
	 * tall and leaves a visible white strip above the first section. */
	padding-top: 94px !important;
}

body.home,
body.page-id-11095,
body.page-id-11092 {
	overflow-x: clip;
}

/* Elementor calculates stretched-section width after DOM ready. Give those
 * sections their final viewport footprint in CSS so text and product grids do
 * not reflow when the identical inline dimensions are added later. */
body.home .elementor-8754 > .elementor-section-stretched,
body.page-id-11095 .elementor-11095 > .elementor-section-stretched,
body.page-id-11092 .elementor-11092 > .elementor-section-stretched {
	left: auto !important;
	margin-left: calc(50% - 50vw);
	width: 100vw !important;
}

/* WooCommerce hides inactive panels in JavaScript. Hide them before first paint. */
body.single-product .woocommerce-tabs .panel {
	display: none;
}

body.single-product .woocommerce-tabs .panel:first-of-type {
	display: block;
}

/* The page-title animation is intentionally disabled; expose its full text. */
body.home .a13ree-written-headline .written-lines.elementor-screen-only,
body.page-id-11095 .a13ree-written-headline .written-lines.elementor-screen-only,
body.page-id-11092 .a13ree-written-headline .written-lines.elementor-screen-only {
	border: 0 !important;
	clip: auto !important;
	clip-path: none !important;
	display: inline !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	padding: 0 !important;
	position: static !important;
	top: auto !important;
	visibility: visible !important;
	white-space: normal !important;
	width: auto !important;
}

/* Imported desktop writing widgets use large negative margins that only made
 * sense while JavaScript inserted a separate animated line. The static H1 is
 * otherwise pushed outside the shallow hero on desktop. */
body.home .elementor-widget-writing-effect-headline > .elementor-widget-container,
body.page-id-11095 .elementor-widget-writing-effect-headline > .elementor-widget-container,
body.page-id-11092 .elementor-widget-writing-effect-headline > .elementor-widget-container {
	margin: 0 !important;
}

body.home .a13ree-written-headline,
body.page-id-11095 .a13ree-written-headline,
body.page-id-11092 .a13ree-written-headline {
	line-height: 1.1;
	margin: 0;
}

@media (max-width: 1024px) {
	body.header-horizontal {
		padding-top: 62px !important;
	}
}

@media (max-width: 767px) {
	/* Keep touch controls comfortable without visually enlarging their icons. */
	#header-tools .tool,
	#header-tools .tool a,
	header .socials a {
		align-items: center;
		box-sizing: border-box;
		display: inline-flex;
		height: 44px;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
	}

	body.products-list .woocommerce-pagination .page-numbers {
		height: 44px !important;
		min-width: 44px !important;
	}

	.manon-filter-search input[type="search"],
	.manon-filter-search button,
	.manon-filter-visibility,
	.manon-filter-reset,
	.manon-filter-fields label,
	.manon-filter-fields select {
		height: 44px !important;
		min-height: 44px !important;
	}

	.manon-filter-search button,
	.manon-filter-visibility,
	.manon-filter-reset {
		min-width: 44px !important;
		width: 44px !important;
	}

	.woocommerce ul.products li.product a.button,
	.woocommerce ul.products li.product .button {
		align-items: center;
		display: inline-flex;
		justify-content: center;
		min-height: 44px;
	}

	body.woocommerce-cart .product-remove a.remove,
	body.woocommerce-cart a.remove {
		align-items: center;
		display: inline-flex !important;
		height: 44px !important;
		justify-content: center;
		min-width: 44px;
	}

	.manon-checkout-form .woocommerce-terms-and-conditions-checkbox-text,
	.manon-checkout-form .woocommerce-form__label-for-checkbox {
		align-items: center;
		display: inline-flex;
		min-height: 44px;
	}

	.manon-checkout-form .woocommerce-terms-and-conditions-checkbox-text::before,
	.manon-checkout-form input[type="checkbox"] {
		min-height: 22px;
		min-width: 22px;
	}

	.mobile-menu .top-menu > li > a,
	.mobile-menu .top-menu > li > span.title {
		align-items: center;
		display: flex;
		justify-content: center;
		min-height: 44px;
	}

	.wc-category-slider .owl-nav button.owl-prev,
	.wc-category-slider .owl-nav button.owl-next,
	.sp-wcsp-button-prev,
	.sp-wcsp-button-next,
	.dlv-ec-inline .dlv-ec-input,
	.dlv-ec-inline .elementor-button,
	body.page-id-11092 .wpforms-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
	body.page-id-11092 .wpforms-form button[type="submit"],
	body.single-product .woocommerce-product-gallery__trigger,
	body.single-product form.cart .single_add_to_cart_button,
	body.single-product form.cart .quantity,
	body.single-product form.cart .quantity input.qty,
	body.woocommerce-cart form.woocommerce-cart-form .quantity,
	body.woocommerce-cart form.woocommerce-cart-form .quantity input.qty,
	body.woocommerce-cart button[name="update_cart"],
	body.woocommerce-cart .checkout-button,
	.manon-checkout-coupon input,
	.manon-checkout-coupon button,
	#footer select,
	#footer .select2-selection--single {
		box-sizing: border-box;
		min-height: 44px !important;
	}

	.wc-category-slider .owl-nav button.owl-prev,
	.wc-category-slider .owl-nav button.owl-next,
	.sp-wcsp-button-prev,
	.sp-wcsp-button-next,
	body.single-product .woocommerce-product-gallery__trigger {
		align-items: center;
		display: inline-flex;
		justify-content: center;
		min-width: 44px !important;
	}

	.dlv-ec-inline .elementor-button {
		min-width: 44px !important;
	}

	body.single-product .reset_variations {
		align-items: center;
		display: inline-flex !important;
		min-height: 44px;
		min-width: 44px;
	}

	#footer .socials a {
		align-items: center;
		display: inline-flex;
		height: 44px;
		justify-content: center;
		min-width: 44px;
	}
}
