/*
Theme Name: Modave Child
Theme URI: https://modave.presslayouts.com/landing
Author: PressLayouts Team
Description: This is a child theme for Modave
Version: 1.0.2
Author URI: https://www.presslayouts.com/
Template: modave
Text Domain: modave-child
*/
body {
	--pls-primary-font: "Poppins" !important;
    --pls-secondary-font: "Poppins" !important;
    --pls-heading-font: "Poppins" !important;
}

/* UAE flag is cropped in a circle; show more of the red hoist. */
.wpml-ls-item-ar .wpml-ls-flag {
	object-position: 25% 50%;
}

/* Header flags: 32px tap target, above overlapping header widgets.
   The flag <img> must not steal clicks from the <a>. */
.pls-header-topbar .pls-header-language-label,
.pls-header-topbar .wpml-ls {
	position: relative;
	z-index: 20;
}
.pls-header-topbar a.wpml-ls-link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	min-height: 32px;
	position: relative;
	z-index: 21;
	pointer-events: auto !important;
}
.pls-header-topbar .wpml-ls-legacy-list-horizontal > ul {
	display: flex;
	flex-direction: row;
	align-items: center;
}
.pls-header-topbar .wpml-ls-legacy-list-horizontal .wpml-ls-item {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
}
.pls-header-topbar .wpml-ls-flag {
	pointer-events: none;
	width: 18px;
	height: 18px;
	max-width: none;
	vertical-align: middle;
}
.pls-header-topbar .wpml-ls-current-language .wpml-ls-flag {
	width: 30px;
	height: 30px;
}

/* Keep breathing room below review stars on Display Cases products
   (where the top price used to sit). */
body.psm-display-case-no-price .summary .pls-product-rating-info,
body.psm-display-case-no-price .summary .wiser_review.wsr_rating {
	margin-bottom: 1.25rem;
}

body.psm-display-case-no-price .summary .pls-product-price-info {
	display: block;
	height: 0.75rem;
	margin: 0 0 0.75rem;
}

/* Quote-only products: hide the catalog price, not extras / related tiles. */
body.psm-quote-only-no-price .summary > .pls-product-price-info,
body.psm-quote-only-no-price .summary > .price,
body.psm-quote-only-no-price .pls-fbt-main-product .price,
body.psm-quote-only-no-price .wapf-product-total,
body.psm-quote-only-no-price .wapf-grand-total,
body.psm-quote-only-no-price .pls-fbt-items-total:not(.has-extras),
body.psm-display-case-no-price .pls-fbt-items-total:not(.has-extras),
body.psm-quote-only-no-price .ppc-button-wrapper,
body.psm-quote-only-no-price [id^="ppc-button"],
body.psm-quote-only-no-price .paypal-buttons,
.product.psm-quote-only .pls-product-inner .pls-product-price,
.e-loop-item.psm-quote-only .elementor-widget-woocommerce-product-price {
	display: none !important;
}

/* Quote-only variation: hide qty + ATC; show quote CTA only when selected. */
.woocommerce-variation-add-to-cart .psm-variation-quote-btn {
	display: none !important;
}
.woocommerce-variation-add-to-cart.psm-variation-quote-only .quantity,
.woocommerce-variation-add-to-cart.psm-variation-quote-only .single_add_to_cart_button {
	display: none !important;
}
.woocommerce-variation-add-to-cart.psm-variation-quote-only .psm-variation-quote-btn {
	display: flex !important;
}

/* Request a Quote matches Add to Basket size/style; wishlist + compare stay beside it.
   Do not force display on the hidden variation quote button. */
div.summary form.cart .mto-open-quote-modal.button:not(.psm-variation-quote-btn),
div.summary form.cart .woocommerce-variation-add-to-cart.psm-variation-quote-only .psm-variation-quote-btn {
	padding: 14px 20px;
	justify-content: center;
	align-items: center;
	flex: 1 0 0;
	gap: 0.5rem;
	font-size: 14px;
	text-transform: uppercase;
	min-height: 48px;
	box-sizing: border-box;
	background-color: var(--pls-product-cart-button-bg-color);
	color: var(--pls-product-cart-button-color);
}
div.summary form.cart .mto-open-quote-modal.button:not(.psm-variation-quote-btn) {
	display: flex;
}
div.summary form.cart .mto-open-quote-modal.button:hover {
	background-color: var(--pls-product-cart-button-bg-hover-color, var(--pls-product-cart-button-bg-color));
	color: var(--pls-product-cart-button-hover-color, var(--pls-product-cart-button-color));
}
div.summary form.cart.psm-quote-only-cart,
div.summary form.variations_form.cart .woocommerce-variation-add-to-cart.psm-variation-quote-only {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
}
div.summary form.cart .pls-whishlist-btn,
div.summary form.cart .pls-compare-btn {
	display: block;
	flex: 0 0 auto;
	align-self: center;
}

/* AE (/ar/) is English LTR — keep megamenus from being clipped if any RTL
   rules still apply. */
body.ltr .pls-megamenu,
body.ltr .pls-megamenu-wrapper,
body.ltr .megamenu,
html[dir="ltr"] .pls-megamenu,
html[dir="ltr"] .pls-megamenu-wrapper {
	direction: ltr;
	overflow: visible;
}

/* AE footer logo uses Elementor text-align:start, which sits on the right
   if any leftover RTL stylesheet is still in play. */
html[dir="ltr"] .elementor-element-9e046d5,
body.ltr .elementor-element-9e046d5 {
	text-align: left !important;
	direction: ltr;
}
html[dir="ltr"] .elementor-element-9e046d5 img,
body.ltr .elementor-element-9e046d5 img {
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-inline-start: 0 !important;
	margin-inline-end: auto !important;
}

/* WooBought "recent purchase" popup covers the lower screen on phones. */
@media (max-width: 991px) {
	#mabel-rpn-wrapper {
		display: none !important;
	}
}

/* Hide the theme bag / empty-cart font glyph; SVG is in the cart template. */
.pls-header-cart .pls-header-cart-icon:before {
	display: none !important;
}
.pls-header-cart .psm-header-cart-svg {
	display: block;
	flex-shrink: 0;
	overflow: visible;
	transform: translateY(-1px);
}

/* Header USP marquee: Elementor sets semibold (600); use regular. */
.pls-global-template .pls-marquee-item-text {
	font-weight: 400 !important;
}

/* WAPF "Grand total" — same VAT label as catalog prices. */
.wapf-product-total .psm-vat-suffix,
.wapf-options-total .psm-vat-suffix {
	display: none;
}
.wapf-grand-total .psm-vat-suffix {
	display: inline !important;
	font-weight: 400;
	font-size: 0.85em;
	margin-left: 0.2em;
	white-space: nowrap;
}

/*
 * Tab race fix: keep fade/slide animation, but drop the 0.3s delay that
 * stacked with Bootstrap .fade and left wrong panes visible. JS adds
 * .psm-tabs-animating and blocks further tab clicks until it finishes.
 */
.pls-tabs .tab-content {
	position: relative;
}
.tab-content .tab-pane {
	display: block;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	transform: translateY(16px);
	transition: opacity 0.25s ease-in, transform 0.25s ease-in, visibility 0.25s;
	transition-delay: 0s;
}
.tab-content .tab-pane.active,
.tab-content .tab-pane.active.show {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
	position: relative;
	transform: none;
	transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0.3s;
	transition-delay: 0s;
	z-index: 2;
}

/* Block tab title clicks while a pane transition is running. */
.pls-tabs.psm-tabs-animating .nav-link,
.elementor-widget-n-tabs.psm-tabs-animating [role="tab"] {
	pointer-events: none;
	cursor: default;
}

/*
 * Elementor nested tabs: jQuery show/hide can leave inline display:block
 * on inactive panels after rapid switches. Class wins over leftover inline.
 */
.elementor-widget-n-tabs .e-n-tabs-content > .e-con:not(.e-active) {
	display: none !important;
}
.elementor-widget-n-tabs .e-n-tabs-content > .e-con.e-active {
	display: flex !important;
}

/*
 * UpsellWP side cart: the plugin sets #uwpmc-cart-sidebar to width 100% when
 * open (full-page dimmer) but the close control is a span with no button
 * role, and click-outside checks the wrong element. Keep the drawer usable.
 */
#uwpmc-close-cart {
	pointer-events: auto !important;
	cursor: pointer;
	position: relative;
	z-index: 100002;
}
#uwpmc-close-cart svg {
	pointer-events: none;
}
.uwpmc-sidebar {
	pointer-events: auto;
	z-index: 100001;
}

/* Call Now: Additional CSS used left:10% + translateX(-50%), which
 * pulled the panel left of the header number. */
.pls-header-main .call-now-accordion,
.pls-header-main .cna-item {
	position: relative;
}
.pls-header-main .cna-panel {
	left: auto !important;
	right: 0 !important;
	transform: none !important;
	min-width: 100%;
	white-space: nowrap;
}
.call-now-accordion.cna-single .cna-header {
	padding-right: 0;
	cursor: default;
}
.call-now-accordion.cna-single .cna-header:after {
	display: none;
}

/* Header search opens Doofinder; keep it from acting like a text field. */
.pls-ajax-search input[name="s"] {
	cursor: pointer;
	caret-color: transparent;
}

/* Category / shop filters stay in view while the product grid scrolls.
 * Header is position:fixed at ~127px. Theme #secondary padding-top:40px
 * dropped the widgets below the products toolbar. */
@media (min-width: 1025px) {
	.woocommerce #secondary.pls-widget-area,
	.woocommerce-page #secondary.pls-widget-area {
		padding-top: 0 !important;
	}
	.woocommerce #secondary.pls-widget-area .sidebar-inner,
	.woocommerce-page #secondary.pls-widget-area .sidebar-inner {
		position: sticky !important;
		top: 136px !important;
		max-height: calc(100vh - 148px);
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 0 8px 12px;
	}
	.admin-bar.woocommerce #secondary.pls-widget-area .sidebar-inner,
	.admin-bar.woocommerce-page #secondary.pls-widget-area .sidebar-inner {
		top: 168px !important;
		max-height: calc(100vh - 180px);
	}
	.woocommerce #secondary.pls-widget-area .psm-shop-filters-heading,
	.woocommerce-page #secondary.pls-widget-area .psm-shop-filters-heading {
		display: flex;
		align-items: center;
		height: 35px;
		margin: 0 0 16px !important;
		padding: 0;
		font-size: 16px !important;
		font-weight: 600;
		line-height: 35px !important;
		letter-spacing: 0;
		text-transform: none;
		color: inherit;
	}
}
@media (max-width: 1024px) {
	.psm-shop-filters-heading {
		display: none;
	}
}

.woocommerce #secondary.pls-widget-area .widget,
.woocommerce-page #secondary.pls-widget-area .widget {
	padding-bottom: 8px !important;
	margin-bottom: 0 !important;
}
.woocommerce #secondary.pls-widget-area .widget.closed,
.woocommerce-page #secondary.pls-widget-area .widget.closed {
	padding-bottom: 0 !important;
}
.woocommerce #secondary.pls-widget-area .widget-title,
.woocommerce-page #secondary.pls-widget-area .widget-title {
	font-size: 15px !important;
	line-height: 1.35 !important;
	padding: 8px 0 !important;
	margin: 0 0 8px !important;
}
.woocommerce #secondary.pls-widget-area .widget.closed .widget-title,
.woocommerce-page #secondary.pls-widget-area .widget.closed .widget-title {
	margin-bottom: 0 !important;
}
.woocommerce #secondary.pls-widget-area .widget ul li,
.woocommerce-page #secondary.pls-widget-area .widget ul li {
	font-size: 13px;
	line-height: 1.4;
	padding: 4px 0;
}
.woocommerce #secondary.pls-widget-area .widget .button,
.woocommerce #secondary.pls-widget-area .dd_attr_slider_amount .button,
.woocommerce-page #secondary.pls-widget-area .widget .button {
	padding: 7px 16px !important;
	font-size: 13px !important;
	min-height: 0 !important;
	line-height: 1.2 !important;
}
.woocommerce #secondary .widget_price_filter .price_slider {
	margin-top: 10px !important;
	margin-bottom: 12px !important;
}
.woocommerce #secondary .widget_price_filter .price_slider_wrapper,
.woocommerce #secondary .dd_attr_slider_wrapper {
	padding-left: 8px;
	padding-right: 8px;
}
.woocommerce #secondary .dd_attr_slider_wrapper .ui-slider {
	margin-top: 12px;
	margin-bottom: 14px;
}

/* Header search: the glass is the submit control. Give it a real hit
 * target so clicks are not a 18px icon in a font-size:0 button. */
.pls-header-main .pls-ajax-search .searchform,
.pls-mobile-header-search .pls-ajax-search .searchform {
	cursor: pointer;
}
.pls-header-main .pls-ajax-search .search-submit,
.pls-mobile-header-search .pls-ajax-search .search-submit {
	position: relative;
	z-index: 5;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 42px;
	min-width: 42px;
	height: 42px;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}
.pls-header-main .pls-ajax-search .search-submit:hover,
.pls-header-main .pls-ajax-search .search-submit:focus,
.pls-mobile-header-search .pls-ajax-search .search-submit:hover,
.pls-mobile-header-search .pls-ajax-search .search-submit:focus {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Sale marquee: navy bar, white tracking, red bolts — matches the XD tiles. */
.pls-product-sale-marquee {
	background-color: var(--pls-secondary-color, #060f2e);
	z-index: 3;
	padding: 6px 0;
}
.pls-product-sale-marquee .pls-marquee-item {
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}
.pls-product-sale-marquee .pls-marquee-separator:before {
	color: var(--pls-critical-color, #F03E3E);
	font-size: 14px;
	padding: 0 12px;
}

/* Brand tile logos are authored at 220×128. Keep that box on product cards. */
.pls-product-badges .psm-brand-tile {
	flex: 0 0 auto;
	width: 90px;
	aspect-ratio: 220 / 128;
	height: auto;
	display: block;
	overflow: hidden;
	border: 1px solid #e6e6e6;
	border-radius: 5px;
	box-sizing: content-box;
}
@media (max-width: 767px) {
	.pls-product-badges .psm-brand-tile {
		width: 58px;
	}
}
.pls-product-badges .psm-product-brand-logo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.04);
}

/* Hide Wiser stars on product tiles when there are no reviews. */
.pls-product-inner .wiser_review.wsr_rating:has([data-wsr-star="0"]),
.summary .wiser_review.wsr_rating:has([data-wsr-star="0"]),
.elementor-widget-woocommerce-product-rating .wiser_review.wsr_rating:has([data-wsr-star="0"]) {
	display: none !important;
}

/* Sale tiles + Elementor loops + mini-cart upsells + wishlist: sale, struck original, one VAT. */
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price),
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) .woocs_price_code {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0;
	justify-content: flex-start;
	font-size: 0;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) br {
	display: none;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) > del,
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) > .woocs_price_code,
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) > .woocommerce-Price-amount {
	font-size: 1rem;
	line-height: 1.3;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) .woocs_price_code {
	font-size: 1rem;
	line-height: 1.3;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) ins {
	display: contents;
	color: #8a1f1f;
	text-decoration: none;
	background: none;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) ins .amount {
	order: 1;
	color: #8a1f1f;
	font-size: 1rem;
	line-height: 1.3;
	white-space: nowrap;
	text-decoration: none;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) ins [aria-hidden="true"] {
	order: 1;
	font-size: 1rem;
	line-height: 1.3;
	color: #8a1f1f;
	padding-inline: 0.15em;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) del {
	order: 2;
	margin-inline-start: 0.4rem;
	white-space: nowrap;
	text-decoration: line-through;
	color: #a0a0a0;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) del,
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) del .amount,
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) del .woocs_price_code {
	text-decoration: line-through;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) del .woocs_price_code,
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) ins .woocs_price_code {
	flex-wrap: nowrap;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) del .psm-vat-suffix {
	display: none;
}
:is(.pls-product-inner .pls-product-price .price, .elementor-widget-woocommerce-product-price .price, #uwpmc-cart-sidebar .uwpmc-related-product-price, .woosw-item--price) .psm-vat-suffix {
	order: 3;
	font-size: 0.8rem;
	font-weight: 400;
	line-height: 1.3;
	white-space: nowrap;
	color: #a0a0a0;
	padding-inline-start: 0;
}

/* Single product: same sale/VAT pattern as tiles (sale red, one incl. VAT). */
.single-product .summary > .pls-product-price-info .price,
.single-product .summary > p.price,
.single-product .woocommerce-variation-price .price,
.single-product .summary > .pls-product-price-info .price .woocs_price_code,
.single-product .summary > p.price .woocs_price_code,
.single-product .woocommerce-variation-price .price .woocs_price_code {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
}
.single-product .summary > .pls-product-price-info .price br,
.single-product .summary > p.price br,
.single-product .woocommerce-variation-price .price br {
	display: none;
}
.single-product .summary > .pls-product-price-info .price ins,
.single-product .summary > p.price ins,
.single-product .woocommerce-variation-price .price ins {
	display: contents;
	color: #8a1f1f;
	text-decoration: none;
	background: none;
}
.single-product .summary > .pls-product-price-info .price ins .amount,
.single-product .summary > .pls-product-price-info .price ins .woocs_price_code,
.single-product .summary > .pls-product-price-info .price ins [aria-hidden="true"],
.single-product .summary > p.price ins .amount,
.single-product .summary > p.price ins .woocs_price_code,
.single-product .summary > p.price ins [aria-hidden="true"],
.single-product .woocommerce-variation-price .price ins .amount,
.single-product .woocommerce-variation-price .price ins .woocs_price_code,
.single-product .woocommerce-variation-price .price ins [aria-hidden="true"] {
	order: 1;
	color: #8a1f1f;
	text-decoration: none;
}
.single-product .summary > .pls-product-price-info .price del,
.single-product .summary > p.price del,
.single-product .woocommerce-variation-price .price del {
	order: 2;
	margin-inline-start: 0.4rem;
	color: #a0a0a0;
	text-decoration: line-through;
}
.single-product .summary > .pls-product-price-info .price del .amount,
.single-product .summary > .pls-product-price-info .price del .woocs_price_code,
.single-product .summary > p.price del .amount,
.single-product .summary > p.price del .woocs_price_code,
.single-product .woocommerce-variation-price .price del .amount,
.single-product .woocommerce-variation-price .price del .woocs_price_code {
	color: #a0a0a0;
	text-decoration: line-through;
}
.single-product .summary > .pls-product-price-info .price del .psm-vat-suffix,
.single-product .summary > p.price del .psm-vat-suffix,
.single-product .woocommerce-variation-price .price del .psm-vat-suffix {
	display: none;
}
.single-product .summary > .pls-product-price-info .price > .psm-vat-suffix,
.single-product .summary > p.price > .psm-vat-suffix,
.single-product .woocommerce-variation-price .price > .psm-vat-suffix,
.single-product .summary > .pls-product-price-info .price ins .psm-vat-suffix,
.single-product .summary > p.price ins .psm-vat-suffix,
.single-product .woocommerce-variation-price .price ins .psm-vat-suffix {
	order: 3;
	font-weight: 400;
	color: #a0a0a0;
}

/* Mini-cart footer: VAT once on Total, not also on Subtotal. */
body.psm-uk-incl-vat #uwpmc-cart-sidebar .uwpmc-show-cart-subtotal small {
	display: none;
}
body.psm-uk-incl-vat #uwpmc-cart-sidebar .uwpmc-show-cart-total .woocommerce-Price-amount::after {
	content: " (incl. VAT)";
	font-size: 0.85em;
	font-weight: 400;
}

/* Featured Collections: parent pre-init rules still key off old
   .swiper-container-initialized. Until Swiper 8 adds .swiper-initialized,
   all slides share one row and squash into thin strips. */
.pls-product-categories-thumbnails.layout-slider .pls-slider {
	overflow: hidden;
}
.pls-product-categories-thumbnails.layout-slider .swiper:not(.swiper-initialized) .swiper-wrapper {
	display: flex !important;
	flex-wrap: nowrap !important;
}
.pls-product-categories-thumbnails.layout-slider .swiper:not(.swiper-initialized) .swiper-slide {
	box-sizing: border-box;
	flex: 0 0 25% !important;
	max-width: 25% !important;
	width: 25% !important;
	min-width: 0;
}
.pls-product-categories-thumbnails.layout-slider .swiper:not(.swiper-initialized) .pls-category-image,
.pls-product-categories-thumbnails.layout-slider .swiper:not(.swiper-initialized) .pls-category-image a,
.pls-product-categories-thumbnails.layout-slider .swiper:not(.swiper-initialized) .pls-category-image img {
	width: 100%;
	max-width: 100%;
}
@media (max-width: 1024px) {
	.pls-product-categories-thumbnails.layout-slider .swiper:not(.swiper-initialized) .swiper-slide {
		flex-basis: 50% !important;
		max-width: 50% !important;
		width: 50% !important;
	}
}
@media (max-width: 767px) {
	.pls-product-categories-thumbnails.layout-slider .swiper:not(.swiper-initialized) .swiper-slide {
		flex-basis: 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

/* ==========================================================
   Mobile: swipable horizontal tab strips
   Makes tab navigation scroll sideways (like the category
   carousel) instead of wrapping/overflowing on small screens.
   Covers modave pls-tabs and Elementor nested-tabs. FBT tabs
   (.pls-fbt-tabs) use separate markup and are unaffected.
   ========================================================== */
@media (max-width: 767px) {

	/* modave "pls-tabs" widget (e.g. Who We Are / Custom Commission Models) */
	.pls-tabs > .nav-tabs-wrapper {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.pls-tabs > .nav-tabs-wrapper::-webkit-scrollbar {
		display: none;
	}
	.pls-tabs > .nav-tabs-wrapper > ul.nav-tabs {
		flex-wrap: nowrap !important;
		width: max-content;
		min-width: 100%;
	}
	.pls-tabs > .nav-tabs-wrapper > ul.nav-tabs > li.nav-item {
		flex: 0 0 auto;
	}
	.pls-tabs > .nav-tabs-wrapper > ul.nav-tabs > li.nav-item > .nav-link {
		white-space: nowrap;
	}

	/* Elementor "nested-tabs" widget (e.g. Featured Products: Ready Made Models / Model Kits / …) */
	.e-n-tabs > .e-n-tabs-heading {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.e-n-tabs > .e-n-tabs-heading::-webkit-scrollbar {
		display: none;
	}
	.e-n-tabs > .e-n-tabs-heading > .e-n-tab-title {
		flex: 0 0 auto !important;
		white-space: nowrap;
	}
}

/* Wishlist popup: compact remove | thumb | info | Order Now; no horizontal scrollbar */
#woosw_wishlist .ps__rail-x {
	display: none !important;
}

.woosw-popup .woosw-popup-inner .woosw-popup-content {
	width: min(560px, 94vw);
	max-width: min(560px, 94vw);
}

.woosw-popup .woosw-popup-inner .woosw-popup-content .woosw-popup-content-mid {
	overflow-x: hidden !important;
}

.woosw-popup .woosw-popup-inner .woosw-popup-content .woosw-popup-content-mid .woosw-items {
	overflow-x: hidden;
	overflow-y: visible;
	max-width: 100%;
	padding: 0;
}

.woosw-popup .woosw-popup-inner .woosw-popup-content .woosw-popup-content-bot {
	padding: 0.75rem 1rem;
}

.woosw-popup .woosw-items .woosw-item {
	max-width: 100%;
	box-sizing: border-box;
	padding: 0 12px;
}

.woosw-popup .woosw-items .woosw-item .woosw-item-inner {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	padding: 8px 0;
	max-width: 100%;
	box-sizing: border-box;
	border-top: 1px solid rgba(6, 15, 46, 0.08);
}

.woosw-popup .woosw-items .woosw-item:first-child .woosw-item-inner {
	border-top: none;
}

.woosw-popup .woosw-items .woosw-item .woosw-item-inner > div {
	margin-right: 0;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--remove,
.woosw-popup .woosw-items .woosw-item .woosw-item--add {
	flex: 0 0 14px;
	width: 14px;
	min-width: 0;
	align-self: center;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--image {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	min-width: 0;
	max-width: 56px;
	overflow: hidden;
	border-radius: var(--pls-border-radius-s, 4px);
	align-self: center;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--image a {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 56px;
	overflow: hidden;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--image img {
	display: block;
	width: 56px !important;
	height: 56px !important;
	max-width: 56px !important;
	object-fit: cover;
	border-radius: inherit;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--info {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--name,
.woosw-popup .woosw-items .woosw-item .woosw-item--name a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.3;
	margin: 0 0 2px;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--price {
	max-width: 100%;
	margin: 0;
	line-height: 1.3;
	font-size: 13px;
	overflow: hidden;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--time {
	display: none;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--actions {
	flex: 0 0 auto;
	align-self: center;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.35rem;
}

.woosw-popup .woosw-items .woosw-item .woosw-item--actions .button {
	white-space: nowrap;
	margin: 0;
	padding: 6px 12px;
	font-size: 12px;
	line-height: 1.4;
}

@media (max-width: 480px) {
	.woosw-popup .woosw-items .woosw-item .woosw-item-inner {
		flex-wrap: wrap;
		gap: 8px;
	}

	.woosw-popup .woosw-items .woosw-item .woosw-item--image,
	.woosw-popup .woosw-items .woosw-item .woosw-item--image a {
		flex: 0 0 48px;
		width: 48px;
		height: 48px;
		max-width: 48px;
	}

	.woosw-popup .woosw-items .woosw-item .woosw-item--image img {
		width: 48px !important;
		height: 48px !important;
		max-width: 48px !important;
	}

	.woosw-popup .woosw-items .woosw-item .woosw-item--info {
		flex: 1 1 calc(100% - 70px);
	}

	.woosw-popup .woosw-items .woosw-item .woosw-item--actions {
		flex: 1 1 100%;
		align-items: stretch;
		padding-left: 22px;
	}

	.woosw-popup .woosw-items .woosw-item .woosw-item--actions .button {
		width: 100%;
		text-align: center;
		white-space: normal;
	}
}

/* Category extended descriptions: match terms/policy heading sizes. */
body .term-extended-description h2 {
	font-size: 20px;
	line-height: 26px;
	font-weight: 500;
}
body .term-extended-description h3 {
	font-size: 18px;
	line-height: 24px;
	font-weight: 500;
}
body .term-extended-description h4 {
	font-size: 16px;
	line-height: 22px;
	font-weight: 500;
}
body .term-extended-description h5,
body .term-extended-description h6 {
	font-size: 15px;
	line-height: 21px;
	font-weight: 500;
}

/* Policy + About us: Modave/Elementor page headings match the 20px
   category extended-description H2s. Scoped to entry-content so nested
   CTA templates are included, while home, header/footer, and infoboxes
   stay unchanged. Delivery-map headings are sized in psm-delivery-map.css. */
body.psm-policy-page .entry-content .elementor-widget-pls-heading .heading-title,
body.psm-policy-page .entry-content .elementor-widget-heading .elementor-heading-title {
	font-size: 20px !important;
	line-height: 26px !important;
	font-weight: 500;
}

/* Category carousel arrows: a little further from the thumbs than the
   theme default, but still reachable. Desktop only — mobile keeps the
   original overlay position. */
@media (min-width: 768px) {
	.pls-product-categories-thumbnails.layout-slider .pls-slider-wrapper {
		overflow: visible;
	}
	.pls-product-categories-thumbnails.layout-slider .pls-slider-wrapper::before,
	.pls-product-categories-thumbnails.layout-slider .pls-slider-wrapper::after {
		content: "";
		position: absolute;
		top: 0;
		width: 4rem;
		height: 100%;
		z-index: 8;
	}
	.pls-product-categories-thumbnails.layout-slider .pls-slider-wrapper::before {
		left: -4rem;
	}
	.pls-product-categories-thumbnails.layout-slider .pls-slider-wrapper::after {
		right: -4rem;
	}
	.pls-product-categories-thumbnails.layout-slider .pls-slider-prev {
		left: -1.5rem;
		transform: translateX(-0.75rem);
	}
	.pls-product-categories-thumbnails.layout-slider .pls-slider-next {
		right: -1.5rem;
		transform: translateX(0.75rem);
	}
	.pls-product-categories-thumbnails.layout-slider .pls-slider-wrapper:hover .pls-slider-prev,
	.pls-product-categories-thumbnails.layout-slider:hover .pls-slider-prev {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(-0.75rem);
	}
	.pls-product-categories-thumbnails.layout-slider .pls-slider-wrapper:hover .pls-slider-next,
	.pls-product-categories-thumbnails.layout-slider:hover .pls-slider-next {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(0.75rem);
	}
}

/* Space between the result-count copy and the Remove All chip. */
.pls-products-header .pls-products-active-filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

/* Doofinder close control: the live layer ships a custom <img> that 404s. */
.dfd-close img,
.dfd-searchbox-close img {
	display: none !important;
}
