/* psm-nav-bust: 2026-10-22-nav7-fit */
/*
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.4
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;
}

/* Currency switcher (WCML) — WOOCS ddslick-compatible markup for header + mobile menu. */
.pls-header-topbar .psm-currency-switcher {
	position: relative;
	z-index: 22;
	margin-left: 12px;
}
.pls-header-topbar .psm-currency-switcher .dd-container {
	position: relative;
	min-width: 88px;
}
.pls-header-topbar .psm-currency-switcher .dd-selected,
.pls-header-topbar .psm-currency-switcher .dd-option {
	display: flex !important;
	align-items: center;
	gap: 8px;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
.pls-header-topbar .psm-currency-switcher .dd-selected {
	color: #fff !important;
	font-weight: 600;
	font-size: 13px;
	line-height: 1;
	padding: 6px 8px;
	border-radius: 4px;
	background: transparent;
	border: 0;
	font-family: inherit;
	-webkit-appearance: none;
	appearance: none;
}
.pls-header-topbar .psm-currency-switcher .dd-selected:after {
	content: "";
	width: 0;
	height: 0;
	margin-left: 4px;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
}
.pls-header-topbar .psm-currency-switcher .dd-selected-image,
.pls-header-topbar .psm-currency-switcher .dd-option-image {
	width: 22px;
	height: 16px;
	object-fit: cover;
	border-radius: 2px;
	flex: 0 0 auto;
}
.pls-header-topbar .psm-currency-switcher .dd-selected-text,
.pls-header-topbar .psm-currency-switcher .dd-option-text {
	margin: 0;
	cursor: pointer;
	font-weight: 600;
}
.pls-header-topbar .psm-currency-switcher .dd-options {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	left: auto;
	min-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none !important;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	z-index: 100;
	overflow: hidden;
}
.pls-header-topbar .psm-currency-switcher .dd-options li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.pls-header-topbar .psm-currency-switcher .dd-option {
	color: #1a1a1a !important;
	padding: 10px 12px;
	font-size: 13px;
	background: #fff;
}
.pls-header-topbar .psm-currency-switcher .dd-option:hover,
.pls-header-topbar .psm-currency-switcher .dd-option-selected .dd-option {
	background: #f5f5f5;
}
.pls-header-desktop .pls-header-col-right {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}

/* psm-header-nav: mid-width fit — one nav row + right icons not clipped. */
.pls-header-main .pls-main-navigation ul.menu,
.pls-header-main .pls-navigation ul.menu {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center;
}
.pls-header-main .pls-main-navigation ul.menu > li,
.pls-header-main .pls-navigation ul.menu > li {
	flex: 0 0 auto !important;
}
.pls-header-main .pls-main-navigation ul.menu > li > a,
.pls-header-main .pls-navigation ul.menu > li > a {
	white-space: nowrap !important;
}
@media (max-width: 1499.98px) and (min-width: 1025px) {
	.pls-header-main .pls-main-navigation ul.menu > li > a,
	.pls-header-main .pls-navigation ul.menu > li > a {
		font-size: 12px !important;
		padding-left: 4px !important;
		padding-right: 4px !important;
	}
	.pls-header-main .pls-ajax-search {
		max-width: 150px !important;
		flex: 0 1 150px !important;
	}
	.pls-header-main .pls-ajax-search .searchform {
		min-width: 0 !important;
		width: 100% !important;
		max-width: 150px !important;
	}
	.pls-header-main .pls-ajax-search input[name="s"],
	.pls-header-main .pls-ajax-search .search-field {
		min-width: 0 !important;
		max-width: 100% !important;
	}
	.pls-header-main .pls-ajax-search .search-submit {
		width: 36px !important;
		min-width: 36px !important;
		height: 36px !important;
	}
	.pls-header-main .call-now-accordion {
		flex: 0 0 auto;
		max-width: 140px;
	}
	.pls-header-main .call-now-accordion .cna-header,
	.pls-header-main .call-now-accordion .cna-title,
	.pls-header-main .call-now-accordion a {
		font-size: 12px !important;
		line-height: 1.2 !important;
	}
	.pls-header-desktop .pls-header-col-right {
		gap: 6px !important;
		flex: 0 1 auto !important;
		min-width: 0 !important;
	}
	.pls-header-desktop .pls-header-col-center {
		min-width: 0 !important;
		flex: 1 1 auto !important;
	}
	.pls-header-main .container {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}
@media (max-width: 1299.98px) and (min-width: 1025px) {
	.pls-header-main .pls-main-navigation ul.menu > li > a,
	.pls-header-main .pls-navigation ul.menu > li > a {
		font-size: 11px !important;
		padding-left: 3px !important;
		padding-right: 3px !important;
	}
	.pls-header-main .pls-ajax-search,
	.pls-header-main .pls-ajax-search .searchform {
		max-width: 120px !important;
	}
}

/* Mobile menu bottom — full-width control.
   Drawer uses overflow:hidden, so the open list is a fixed sheet (not clipped).

   Hardening notes (FR/iOS regression):
   - Parent pls-plugins.css forces `.dd-options { display:initial !important }`.
   - Parent pls-theme.css uses opacity/visibility + `:hover` to reveal the list
     (iOS sticky :hover can leave options painted as a raw bordered stack).
   - Theme Customizer CSS forces an upward `transform: translate(-50%,-100%)`
     on `.pls-mobile-menu-wrap … .dd-options` (old WOOCS popover).
   Closed state must win with !important; open state is a portaled bottom sheet. */
.pls-mobile-menu-bottom .psm-currency-switcher {
	width: 100%;
	margin: 12px 0 20px;
}
.pls-mobile-menu-bottom .psm-currency-switcher .dd-container {
	position: relative;
	width: 100%;
}
.pls-mobile-menu-bottom .psm-currency-switcher .dd-selected {
	display: flex !important;
	align-items: center;
	gap: 10px;
	width: 100%;
	justify-content: flex-start;
	color: #1a1a1a !important;
	border: 1px solid #e9e9e9;
	padding: 15px 44px 15px 15px !important;
	border-radius: 5px;
	font-weight: 600;
	text-decoration: none !important;
	background: #fff;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.2;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	position: relative;
}
/* Triangle caret — beat parent icon-font ::after (\e9d5). */
.pls-mobile-menu-bottom .psm-currency-switcher .dd-selected:after {
	content: "" !important;
	position: absolute;
	right: 16px;
	top: 50%;
	left: auto;
	margin: 0;
	width: 0;
	height: 0;
	font-size: 0 !important;
	font-family: inherit !important;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid currentColor;
	border-bottom: 0;
	transform: translateY(-40%);
	background: none !important;
}
.pls-mobile-menu-bottom .psm-currency-switcher .dd-selected-image,
.pls-mobile-menu-bottom .psm-currency-switcher .dd-option-image {
	display: block !important;
	width: 24px;
	height: 18px;
	object-fit: cover;
	border-radius: 2px;
	flex: 0 0 auto;
}
.pls-mobile-menu-bottom .psm-currency-switcher .dd-selected-text,
.pls-mobile-menu-bottom .psm-currency-switcher .dd-option-text {
	margin: 0;
	cursor: pointer;
}

/* Honor [hidden] over parent `.dd-options { display:initial !important }`. */
.psm-currency-switcher .dd-options[hidden],
.psm-currency-sheet.dd-options[hidden] {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Mobile drawer: keep options fully collapsed unless .is-open / portaled sheet.
   Matches Customizer selector specificity and kills iOS sticky :hover reveals. */
.pls-mobile-menu-wrap .psm-currency-switcher:not(.is-open) .dd-options,
.pls-mobile-menu-wrap .woocommerce-currency-switcher-form .dd-container .dd-options,
.pls-mobile-menu-wrap .woocommerce-currency-switcher-form .dd-container:hover .dd-options {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: none !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	position: absolute !important;
	border: 0 !important;
	box-shadow: none !important;
	max-height: 0 !important;
	overflow: hidden !important;
}
.psm-currency-switcher .dd-options li,
.psm-currency-sheet.dd-options li {
	border: 0 !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Desktop header: click/.is-open must actually show the list. */
.pls-header-topbar .psm-currency-switcher.is-open .dd-options {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

/* Open sheet (portaled to <body> as .psm-currency-sheet, or in-drawer .is-open). */
.pls-mobile-menu-wrap .psm-currency-switcher.is-open .dd-container .dd-options,
.pls-mobile-menu-wrap .psm-currency-switcher.is-open .dd-container:hover .dd-options,
.pls-mobile-menu-bottom .psm-currency-switcher.is-open .dd-options,
.psm-currency-sheet.dd-options:not([hidden]) {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	position: fixed !important;
	left: 12px !important;
	right: 12px !important;
	bottom: 12px !important;
	top: auto !important;
	transform: none !important;
	width: auto !important;
	height: fit-content !important;
	max-height: min(70vh, 420px) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	margin: 0 !important;
	padding: 6px 0 !important;
	list-style: none !important;
	background: #fff !important;
	border: 1px solid #e9e9e9 !important;
	border-radius: 10px !important;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22) !important;
	z-index: 100050 !important;
}
.pls-mobile-menu-bottom .psm-currency-switcher .dd-option,
.psm-currency-sheet.dd-options .dd-option {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	padding: 14px 16px;
	color: #1a1a1a !important;
	text-decoration: none !important;
	background: #fff;
	min-height: 48px;
	box-sizing: border-box;
	border: 0 !important;
	border-bottom: 1px solid #f0f0f0 !important;
	white-space: nowrap;
}
.pls-mobile-menu-bottom .psm-currency-switcher .dd-option:last-child,
.psm-currency-sheet.dd-options .dd-option:last-child {
	border-bottom: 0 !important;
}
.pls-mobile-menu-bottom .psm-currency-switcher .dd-option:hover,
.pls-mobile-menu-bottom .psm-currency-switcher .dd-option:active,
.psm-currency-sheet.dd-options .dd-option:hover,
.psm-currency-sheet.dd-options .dd-option:active {
	background: #f5f5f5;
}
/* Must be a div — iOS <button> defaults to a giant beige rounded control. */
.psm-currency-backdrop {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	padding: 0;
	margin: 0;
	border-radius: 0;
	background: rgba(6, 15, 46, 0.45);
	-webkit-appearance: none;
	appearance: none;
	z-index: 100040;
	cursor: pointer;
}
.psm-currency-backdrop[hidden] {
	display: none !important;
}
body.psm-currency-sheet-open {
	overflow: hidden;
}
body.psm-currency-switching {
	cursor: wait;
}
.psm-currency-sheet.dd-options.is-switching,
[data-psm-currency-switcher] .dd-options.is-switching {
	pointer-events: none;
	opacity: 0.45;
}
.psm-currency-sheet a.dd-option.is-loading,
[data-psm-currency-switcher] a.dd-option.is-loading {
	background: #f0f0f0 !important;
}
.psm-currency-status {
	position: fixed;
	inset: 0;
	z-index: 100060;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(6, 15, 46, 0.55);
	box-sizing: border-box;
}
.psm-currency-status[hidden] {
	display: none !important;
}
.psm-currency-status__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	width: min(100%, 280px);
	padding: 28px 24px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
	text-align: center;
}
.psm-currency-status__spinner {
	width: 32px;
	height: 32px;
	border: 3px solid #e5e5e5;
	border-top-color: #0b1f4a;
	border-radius: 50%;
	animation: psm-currency-spin 0.7s linear infinite;
}
.psm-currency-status__text {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: #1a1a1a;
}
@keyframes psm-currency-spin {
	to {
		transform: rotate(360deg);
	}
}

/* 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;
}

/* Cart/checkout: drop the USP marquee so it does not leave a gap above the title. */
body.woocommerce-cart .pls-global-template,
body.woocommerce-checkout .pls-global-template {
	display: none !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);
}

/* Space + hairlines between brand/difficulty row and the product title.
   Covers catalogue grids and homepage Featured Product swiper tiles.
   !important beats Theme Customizer rules that only target .products and can miss some feeds. */
.pls-product-inner .pls-product-badges:has(.psm-brand-tile, .pls-attr-item),
.products .pls-product-badges:has(.psm-brand-tile, .pls-attr-item),
.products-slider .pls-product-badges:has(.psm-brand-tile, .pls-attr-item) {
	padding: 10px 15px !important;
	border-top: 1px solid #e7e7e7 !important;
	border-bottom: 1px solid #e7e7e7 !important;
	box-sizing: border-box;
}
.pls-product-inner .pls-product-badges:has(.psm-brand-tile, .pls-attr-item) + .pls-product-info,
.products .pls-product-badges:has(.psm-brand-tile, .pls-attr-item) + .pls-product-info,
.products-slider .pls-product-badges:has(.psm-brand-tile, .pls-attr-item) + .pls-product-info {
	padding-top: 12px !important;
}

/* 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.
   Avoid font-size:0 and display:contents — Woo variable ranges put the en-dash in
   <span aria-hidden>&ndash;</span>, and those tricks hide it (e.g. £2,652£3,043 on Bespoke). */
: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.35rem;
	row-gap: 0.15rem;
	justify-content: flex-start;
	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) 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) ins {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: baseline;
	order: 1;
	color: #8a1f1f;
	text-decoration: none;
	background: none;
	font-size: 1rem;
	line-height: 1.3;
	white-space: 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) ins .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) ins [aria-hidden="true"] {
	color: #8a1f1f;
	font-size: 1rem;
	line-height: 1.3;
	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) [aria-hidden="true"]:not(.woocommerce-Price-amount) {
	padding-inline: 0.15em;
	white-space: 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 {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: baseline;
	order: 2;
	white-space: nowrap;
	text-decoration: line-through;
	color: #a0a0a0;
	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) 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 .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: inline-flex;
	flex-wrap: nowrap;
	align-items: baseline;
	order: 1;
	color: #8a1f1f;
	text-decoration: none;
	background: none;
	white-space: nowrap;
}
.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"] {
	color: #8a1f1f;
	text-decoration: none;
}
.single-product .summary > .pls-product-price-info .price [aria-hidden="true"]:not(.woocommerce-Price-amount),
.single-product .summary > p.price [aria-hidden="true"]:not(.woocommerce-Price-amount),
.single-product .woocommerce-variation-price .price [aria-hidden="true"]:not(.woocommerce-Price-amount) {
	padding-inline: 0.15em;
	white-space: nowrap;
}
.single-product .summary > .pls-product-price-info .price del,
.single-product .summary > p.price del,
.single-product .woocommerce-variation-price .price del {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: baseline;
	order: 2;
	margin-inline-start: 0.4rem;
	color: #a0a0a0;
	text-decoration: line-through;
	white-space: nowrap;
}
.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;
}

/* Megamenu Popular Brands: Elementor custom CSS adds gap:10px on a
   flex row whose children are flex-basis 33.33%, so the third tile
   wraps and the grid looks like 2 per row. */
.pls-megamenu-wrapper .pls-product-brands .products.row {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}
.pls-megamenu-wrapper .pls-product-brands .products.row > .product-brand {
	width: auto !important;
	max-width: none !important;
	flex: none !important;
}

/* Megamenu Loop Carousel: keep bullets/arrows visible (pagination is
   position:outside; dropdown overflow would clip them). */
.pls-megamenu-wrapper:has(.mega-menu-carousel) {
	overflow: visible !important;
}
.pls-megamenu-wrapper .elementor-widget-loop-carousel {
	position: relative;
	overflow: visible;
	padding-bottom: 28px;
}
.pls-megamenu-wrapper .elementor-widget-loop-carousel .swiper-pagination {
	position: absolute !important;
	left: 0;
	right: 0;
	top: auto !important;
	bottom: 8px !important;
	margin: 0;
	height: auto;
	z-index: 6;
}

/* psm-tile-gap-bust: 2026-10-01 17:38:38 home-feed-strong */

/*
 * Cart mobile: Modave fixes .wc-proceed-to-checkout when
 * pls-mobile-bottom-navbar-single-page is on. That pulls Proceed + PayPal
 * express + Pay Later messaging into a viewport-fixed stack that overlaps
 * cart rows and steals taps from Coupon / Order Summary. Keep CTAs in
 * document flow (higher specificity than pls-theme.css).
 */
@media (max-width: 1024px) {
	html body.woocommerce-cart.pls-mobile-bottom-navbar-single-page {
		margin-bottom: 0;
	}

	html body.woocommerce-cart.pls-mobile-bottom-navbar-single-page .wc-proceed-to-checkout {
		position: static !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		top: auto !important;
		inset: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		box-shadow: none !important;
		z-index: auto !important;
		padding: 0 !important;
		background: transparent !important;
		transform: none !important;
		pointer-events: auto;
	}

	html body.woocommerce-cart.pls-mobile-bottom-navbar-single-page .wc-proceed-to-checkout .checkout-button {
		border-radius: var(--pls-button-radius, 0);
		line-height: inherit;
		display: block;
		width: 100%;
		pointer-events: auto;
	}

	html body.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper,
	html body.woocommerce-cart .wc-proceed-to-checkout .ppcp-button-apm,
	html body.woocommerce-cart .wc-proceed-to-checkout iframe,
	html body.woocommerce-cart .ppcp-messages,
	html body.woocommerce-cart [data-pp-message],
	html body.woocommerce-cart .paypal-buttons,
	html body.woocommerce-cart .paypal-buttons-context-iframe {
		position: static !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0.75rem 0 0;
		inset: auto !important;
		transform: none !important;
		z-index: auto !important;
		pointer-events: auto;
	}

	/* Theme lifts back-to-top for the sticky bar; reset once CTAs are in flow. */
	html body.woocommerce-cart.pls-mobile-bottom-navbar-single-page .pls-back-to-top {
		bottom: 24px;
	}
}

/* cart-float-fix: 2026-10-02 07:50:00 */

/* psm-footer-elementor-inline: 20261004-active-gold */
/**
 * Footer Elementor widgets: safety net when Improved CSS Loading skips
 * widget sheets on Theme Builder footers.
 *
 * Covers:
 * - widget-social-icons (huge SVG icons without sheet)
 * - widget-nested-accordion (dark-blue titles on black)
 * - widget-nav-menu (duplicate dropdown list + bullets when sheet missing;
 *   gold “active” links when Woo marks every category current)
 */

/* Social icons — size from Elementor's --icon-size (footer sets ~18–20px). */
.elementor-widget-social-icons .elementor-icon.elementor-social-icon {
	font-size: var(--icon-size, 18px);
	line-height: var(--icon-size, 18px);
	width: calc(var(--icon-size, 18px) + (2 * var(--icon-padding, 0px)));
	height: calc(var(--icon-size, 18px) + (2 * var(--icon-padding, 0px)));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: content-box;
}

.elementor-widget-social-icons .elementor-social-icon svg,
.elementor-widget-social-icons .elementor-social-icon .e-font-icon-svg {
	width: 1em;
	height: 1em;
	max-width: 100%;
	max-height: 100%;
	fill: var(--e-social-icon-icon-color, #fff);
}

/* Nested accordion — title/icon colour from document CSS variables (white). */
.elementor-widget-n-accordion .e-n-accordion-item-title {
	color: var(--n-accordion-title-normal-color, #fff);
}

.elementor-widget-n-accordion .e-n-accordion-item-title-text {
	font-size: var(--n-accordion-title-font-size, 14px);
	color: inherit;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-icon span > i,
.elementor-widget-n-accordion .e-n-accordion-item-title-icon span > svg {
	color: var(--n-accordion-icon-normal-color, var(--n-accordion-title-normal-color, #fff));
	fill: var(--n-accordion-icon-normal-color, var(--n-accordion-title-normal-color, #fff));
	font-size: var(--n-accordion-icon-size, 1em);
}

.elementor-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title {
	color: var(--n-accordion-title-active-color, var(--n-accordion-title-normal-color, #fff));
}

.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover > .e-n-accordion-item-title {
	color: var(--n-accordion-title-hover-color, var(--n-accordion-title-normal-color, #fff));
}

/*
 * Nav menus in the footer always use layout=vertical + dropdown=none, but
 * Elementor still prints a second .elementor-nav-menu--dropdown list.
 * When widget-nav-menu.css is missing/overridden that duplicate shows as
 * default list bullets + dark-blue (#33373d) links under the cream items.
 */
.pls-site-footer .elementor-nav-menu--dropdown-none .elementor-menu-toggle,
.pls-site-footer .elementor-nav-menu--dropdown-none .elementor-nav-menu--dropdown,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--dropdown {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu li,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu ul {
	list-style: none !important;
	list-style-type: none !important;
	margin: 0;
	padding: 0;
}

.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu li::marker {
	content: '' !important;
	font-size: 0 !important;
}

/*
 * Footer document CSS sets active/hover to --e-global-color-primary (gold
 * #cfc196). Woo often marks every product-cat item current-menu-item on the
 * homepage, so the whole Quick Shop list turns gold. Keep active/focus at the
 * normal footer link colour; gold only on real hover.
 */
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus {
	color: var(--e-global-color-9b08d70, #fff) !important;
	fill: var(--e-global-color-9b08d70, #fff) !important;
}

.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover {
	color: var(--e-global-color-primary, #cfc196) !important;
	fill: var(--e-global-color-primary, #cfc196) !important;
}

/* Also neutralize WP/Woo current-* classes that Elementor maps to active gold. */
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .current-menu-item > .elementor-item,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .current-menu-ancestor > .elementor-item,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .current-menu-parent > .elementor-item,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .current_page_item > .elementor-item,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .current-product-parent > .elementor-item,
.pls-site-footer .elementor-widget-nav-menu .elementor-nav-menu--main .current-product-ancestor > .elementor-item {
	color: var(--e-global-color-9b08d70, #fff) !important;
	fill: var(--e-global-color-9b08d70, #fff) !important;
}


/* PSM: cart/checkout — hide stray list bullets on shipping & payment methods */
.woocommerce ul#shipping_method,
.woocommerce-page ul#shipping_method,
.woocommerce ul.woocommerce-shipping-methods,
.woocommerce #payment ul.payment_methods,
.woocommerce ul.wc_payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
	list-style: none !important;
	list-style-type: none !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
	padding-inline-start: 0 !important;
}
.woocommerce ul#shipping_method > li,
.woocommerce #payment ul.payment_methods > li,
.woocommerce ul.wc_payment_methods > li {
	list-style: none !important;
	list-style-type: none !important;
}
.woocommerce ul#shipping_method > li::marker,
.woocommerce #payment ul.payment_methods > li::marker,
.woocommerce ul.wc_payment_methods > li::marker {
	content: '' !important;
	font-size: 0 !important;
}

/* fr-currency-mobile-css-ecf5: 1791095148 */

/* fr-currency-mobile-css-ecf5: 1791095368 */

/* FR hero slider CTAs: French labels are longer than EN.
   Elementor post CSS sets .dd-btn { font-size:16px } with higher specificity
   than dd-slider.css mobile rules (13px/12px), so text crowds the pills. */
@media (max-width: 767px) {
	html[lang="fr-FR"] .elementor-widget-dd_progress_slider .dd-slide-actions .dd-btn {
		font-size: 12px !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
		letter-spacing: -0.01em;
	}
}
@media (max-width: 480px) {
	html[lang="fr-FR"] .elementor-widget-dd_progress_slider .dd-slide-actions .dd-btn {
		font-size: 11px !important;
		padding-left: 6px !important;
		padding-right: 6px !important;
	}
}

/* fr-hero-cta-font-ecf5: 1791095555 */
