/*
	Merci Wrap & Pack child theme styles. Design tokens live in Elementor (Variables, Classes, Site Settings); this file holds small fixes, RTL tweaks scoped with [dir='rtl'] and the reduced-motion rules (Batch 2).
*/

/* ---------------------------------------------------------------------------
   1. Base
   Body font, selection and accessible focus rings on every interactive
   element. Outlines are kept, never removed.
   --------------------------------------------------------------------------- */
body {
	font-family: var(--merci-font-sans);
}

::selection {
	background: var(--merci-blush);
	color: var(--merci-brown);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--merci-coral-deep);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------------------
   3. WooCommerce blocks fields, labels, checkboxes, radios and primary buttons
   Scoped to .wc-block-components-form, .wc-block-checkout, .wc-block-cart and
   classic .woocommerce form.
   --------------------------------------------------------------------------- */
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-block-components-text-input input,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-block-components-combobox input,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .components-combobox-control input,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) select,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-blocks-components-select select,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) textarea {
	min-height: 48px;
	border: 1px solid var(--merci-field, #E6CFC4);
	border-radius: var(--merci-radius-input);
	background: var(--merci-white);
	color: var(--merci-brown);
	font: 16px var(--merci-font-sans);
	padding-inline-start: 14px;
	padding-inline-end: 14px;
	transition: border-color var(--merci-dur-micro) var(--merci-ease-out),
		box-shadow var(--merci-dur-micro) var(--merci-ease-out);
}

:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) textarea {
	min-height: 96px;
	padding-block: 10px;
}

:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-block-components-text-input input:focus-visible,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-block-components-combobox input:focus-visible,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .components-combobox-control input:focus-visible,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) select:focus-visible,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-blocks-components-select select:focus-visible,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) textarea:focus-visible {
	border-color: var(--merci-coral-deep);
	box-shadow: 0 0 0 2px var(--merci-coral-deep);
	outline: none;
}

:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) label {
	color: var(--merci-brown-600);
}

:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-block-components-checkbox__input,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) input[type="checkbox"] {
	width: 20px;
	height: 20px;
	min-height: 0;
	accent-color: var(--merci-brown);
	border-radius: 6px;
}

:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) input[type="radio"] {
	accent-color: var(--merci-brown);
}

/* The Elementor kit pads every input (12px 16px); block radios and checkboxes draw their own box and dot, so the padding pushes the dot out of the circle. */
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart) .wc-block-components-radio-control input.wc-block-components-radio-control__input[type="radio"],
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart) .wc-block-components-checkbox input.wc-block-components-checkbox__input[type="checkbox"] {
	padding: 0;
	border-radius: 6px;
}
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart) .wc-block-components-radio-control input.wc-block-components-radio-control__input[type="radio"] {
	border-radius: 50%;
}

/* Primary block buttons (outside the form scope above). */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--merci-brown);
	color: var(--merci-cream);
	border: none;
	border-radius: var(--merci-radius-pill);
	min-height: 48px;
	font-weight: 500;
	transition: background var(--merci-dur-small) var(--merci-ease-out);
}

.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus-visible,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--merci-brown-900);
}

/* ---------------------------------------------------------------------------
   4. Notices (block + classic)
   Rounded card with a 3px accent bar on the inline-start edge so it mirrors
   automatically in RTL.
   --------------------------------------------------------------------------- */
.wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: var(--merci-radius-input);
	border: 1px solid var(--merci-line);
	background: var(--merci-white);
	color: var(--merci-brown);
	padding: 12px 16px;
	border-inline-start: 3px solid var(--merci-line);
}

.woocommerce-message,
.wc-block-components-notice-banner--success,
.wc-block-components-notice-banner.is-success {
	border-inline-start-color: var(--merci-success);
}

.woocommerce-info,
.wc-block-components-notice-banner--info,
.wc-block-components-notice-banner.is-info {
	border-inline-start-color: var(--merci-warning);
}

.woocommerce-error,
.wc-block-components-notice-banner--error,
.wc-block-components-notice-banner.is-error {
	border-inline-start-color: var(--merci-error);
}

/* Classic notices: WooCommerce draws its icon absolutely at 1.5em from the left and pads the text 3.5em; the 16px padding above
   put the icon on the first letters. Logical offsets keep it on the start side in Arabic. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	position: relative;
	padding-block: 14px;
	padding-inline: 48px 16px;
	font: 400 15px/24px var(--merci-font-sans);
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	top: 18px;
	left: auto;
	right: auto;
	inset-inline-start: 18px;
	font-size: 16px;
	line-height: 1;
}
.woocommerce-message::before {
	color: var(--merci-success);
}
.woocommerce-info::before {
	color: var(--merci-warning);
}
.woocommerce-error::before {
	color: var(--merci-error);
}
/* WooCommerce focuses a new notice so screen readers announce it; no ring on that container. */
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error)[tabindex="-1"]:focus {
	outline: none;
}
/* Text, then the button at the end of the first line (WooCommerce prints the button before or after the text). */
:is(.woocommerce-message, .woocommerce-info):has(> .button) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	column-gap: 16px;
}
:is(.woocommerce-message, .woocommerce-info) > .button {
	grid-column: 2;
	grid-row: 1;
	float: none;
	margin-block: -8px;
	min-height: 40px;
	padding: 8px 20px;
	font-size: 14px;
	line-height: 24px;
	white-space: nowrap;
}
@media (max-width: 600px) {
	:is(.woocommerce-message, .woocommerce-info):has(> .button) {
		grid-template-columns: minmax(0, 1fr);
	}
	:is(.woocommerce-message, .woocommerce-info) > .button {
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
		margin-block: 12px 0;
	}
}

/* ---------------------------------------------------------------------------
   5. Phone, email and price fields always left-to-right inside Arabic
   Isolated so digits, "+" and the "$" currency symbol do not flip when the
   surrounding text is RTL.
   --------------------------------------------------------------------------- */
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[type="email"],
html[dir="rtl"] .wc-block-components-formatted-money-amount,
html[dir="rtl"] .woocommerce-Price-amount {
	direction: ltr;
	unicode-bidi: isolate;
	text-align: right;
}

/* ---------------------------------------------------------------------------
   6. Arabic typography
   Disable letter-spacing and uppercase (which has no effect on Arabic and
   breaks cursive joining); serif headings, generous body leading.
   --------------------------------------------------------------------------- */
html[lang="ar"] body,
html[lang="ar"] h1,
html[lang="ar"] h2,
html[lang="ar"] h3,
html[lang="ar"] h4,
html[lang="ar"] h5,
html[lang="ar"] h6,
html[lang="ar"] .elementor-heading-title,
html[lang="ar"] [class*="e-heading"] {
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html[lang="ar"] h1,
html[lang="ar"] h2,
html[lang="ar"] h3,
html[lang="ar"] h4,
html[lang="ar"] h5,
html[lang="ar"] h6,
html[lang="ar"] .elementor-heading-title,
html[lang="ar"] [class*="e-heading"] {
	font-family: var(--merci-font-serif);
}

html[lang="ar"] body {
	line-height: var(--merci-lh-body);
}

/* ---------------------------------------------------------------------------
   7. Decorative ribbon
   Keep the SVG stroke width constant at any size; mirror in RTL so the
   visual still flows from the reading-start side.
   --------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
   8. Reduced motion
   Extends the global block with Elementor/data-interactions and marquee
   guards so motion-sensitive users see fully settled UI.
   --------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}

	[data-interactions],
	[data-e-interactions],
	.e-interactions-hidden,
	.elementor-invisible {
		opacity: 1 !important;
		transform: none !important;
	}

	.merci-marquee__track {
		animation: none !important;
	}
}
/* ---------------------------------------------------------------------------
   9. Elementor V4 design system hooks (Batch 2, Fable requests reviewed by Opus)
   V4 global classes render as .<label>; V4 variables as --<label>.
   --------------------------------------------------------------------------- */
/* V4 font Variables hold a single family name (an Elementor rule); give them real fallback stacks so text never drops
   to the browser serif while a font loads. html:root outranks the kit's :root. Families stay in sync with tokens.css. */
html:root {
	--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--font-display: "DM Serif Display", Georgia, "Times New Roman", serif;
}

/* A10 ribbon line: hairline stays constant, never filled, mirrored in RTL. */
.ribbon svg {
	display: block;
	width: 100%;
	height: auto;
}

.ribbon svg path {
	fill: none !important;
	stroke: var(--merci-coral);
	vector-effect: non-scaling-stroke;
}

[dir="rtl"] .ribbon svg {
	transform: scaleX(-1);
}

/* A8 icons placed as e-svg (wrapper .e-svg-base; Elementor rewrites the root to fill="currentColor" and drops the stroke attributes): Lucide outlines; brand glyphs (paths with fill) stay filled, without stroke. */
.e-svg-base svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.e-svg-base svg [fill]:not([fill="none"]) {
	fill: currentColor;
	stroke: none;
}

/* A3 fields: placeholder and caret in the palette. */
.field::placeholder {
	color: var(--merci-brown-500);
	opacity: 1;
}

.field {
	caret-color: var(--merci-coral-deep);
}

.field-invalid {
	border-color: var(--merci-error) !important;
}

/* A2 text link: the underline grows from the reading-start side. */
[dir="rtl"] .link-cta {
	background-position: 100% calc(50% + 0.75em);
}

/* Chips: the active chip does not change on hover. */
.chip-active:hover {
	background-color: var(--merci-brown-900);
	border-color: var(--merci-brown-900);
	color: var(--merci-cream);
}

/* Arabic on V4 classes: families from tokens.css (html[lang="ar"] overrides), no tracking or uppercase. */
html[lang="ar"] :is(.display, .h1, .h2, .h3) {
	font-family: var(--merci-font-serif);
	font-weight: 600;
	letter-spacing: 0;
	line-height: var(--merci-lh-headings);
}

html[lang="ar"] :is(p, .body, .body-l, .small, .caption, .chip, .btn-primary, .btn-secondary, .btn-promo, .link-cta, .field, .field-label, .ui-heading, h4, h5, h6) {
	font-family: var(--merci-font-sans);
	letter-spacing: 0;
	text-transform: none;
}

html[lang="ar"] :is(p, .body, .body-l) {
	line-height: var(--merci-lh-body);
}

html[lang="ar"] .eyebrow {
	letter-spacing: 0;
	text-transform: none;
	font-weight: 700;
}

html[lang="ar"] :is(.price, .price-lg) {
	direction: ltr;
	unicode-bidi: isolate;
}

/* ---------------------------------------------------------------------------
   10. WooCommerce markup inside the Elementor templates (prices, buttons, breadcrumbs,
   product tabs, sale badge, swatches). The native product-grid rules were removed on
   2026-10-13 after tools/shots/css-usage.mjs found no match on any page.
   --------------------------------------------------------------------------- */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--merci-brown-900);
	font: 600 16px/1.3 var(--merci-font-sans);
	font-variant-numeric: tabular-nums;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 24px;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.single_add_to_cart_button {
	background: var(--merci-brown) !important;
	color: var(--merci-cream) !important;
	border: 0;
	border-radius: var(--merci-radius-pill);
	min-height: 44px;
	padding: 12px 24px;
	font: 500 15px/1.2 var(--merci-font-sans);
	letter-spacing: .02em;
	transition: background var(--merci-dur-small) var(--merci-ease-out);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce button.single_add_to_cart_button:hover {
	background: var(--merci-brown-900) !important;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count {
	color: var(--merci-brown-600);
	font-size: 14px;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--merci-brown-600);
}

.woocommerce .woocommerce-ordering select,
.woocommerce div.product form.cart .variations select,
.woocommerce .quantity .qty {
	min-height: 44px;
	border: 1px solid var(--merci-field);
	border-radius: var(--merci-radius-input);
	background: var(--merci-white);
	color: var(--merci-brown);
	padding: 0 14px;
}

.woocommerce div.product div.images img {
	background: var(--merci-cream);
	border-radius: var(--merci-radius-tile);
}

.woocommerce div.product .product_title {
	font-family: var(--merci-font-serif);
	font-weight: 400;
	color: var(--merci-brown-900);
	font-size: var(--merci-fs-h1);
	line-height: 1.1;
}

.woocommerce div.product form.cart .variations th label {
	font-weight: 600;
	color: var(--merci-brown);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom: 2px solid var(--merci-brown);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--merci-brown);
	font-weight: 500;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .product_meta .tagged_as {
	display: none; /* merchandising tags are internal */
}

.woocommerce span.onsale {
	background: var(--merci-coral-deep);
	color: var(--merci-white);
	border-radius: var(--merci-radius-pill);
	min-height: auto;
	line-height: 1;
	padding: 6px 10px;
}

/* Swatches (Variation Swatches plugin) on the product page. */
.cfvsw-swatches-option.cfvsw-color-option,
.cfvsw-swatches-option .cfvsw-swatch-inner {
	border-radius: 999px;
}

/* Product page size and pack buttons: pill chips in the brand style. */
.woocommerce div.product .cfvsw-label-option {
	border: 1px solid var(--merci-line) !important;
	border-radius: var(--merci-radius-pill) !important;
	background: var(--merci-white);
	color: var(--merci-brown);
	min-height: 40px !important;
	padding: 0 14px;
	font-size: 14px;
}

.woocommerce div.product .cfvsw-label-option.cfvsw-selected-swatch {
	background: var(--merci-brown);
	border-color: var(--merci-brown) !important;
	color: var(--merci-cream);
}

.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	background: transparent !important;
	border: 0;
}

/* ---------------------------------------------------------------------------
   11. Cart and Checkout pages (WooCommerce blocks inside the Elementor header/footer)
   --------------------------------------------------------------------------- */
/* Cart and My Account use the page-top template 1467; checkout still uses the theme's page title. */
body.woocommerce-checkout .site-main,
body.woocommerce-checkout:not([class*="elementor-page-"]) .site-main {
	max-width: 1280px;
	margin-inline: auto;
	padding: 40px 24px 96px;
}
.woocommerce-checkout .page-header {
	max-width: none;
	padding: 0 0 24px;
}
.woocommerce-checkout .page-header .entry-title {
	margin: 0;
	font-family: "DM Serif Display", Georgia, serif;
	font-weight: 400;
	font-size: clamp(2.2rem, 1.6rem + 2vw, 3.25rem);
	line-height: 1.1;
	color: var(--merci-brown-900, #3D2A21);
}
.woocommerce-checkout .page-content {
	max-width: none;
}
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-checkout.alignwide {
	margin-inline: 0;
	max-width: none;
}
.wp-block-woocommerce-cart a,
.wp-block-woocommerce-checkout a {
	text-decoration: none;
}
.wc-block-components-product-name {
	color: var(--merci-brown-900, #3D2A21);
	font-weight: 500;
}
/* Cross-sells inside the Cart block: product names, prices and buttons in the card style. */
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post-title,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post-title a {
	font: 500 15px/1.35 Inter, system-ui, sans-serif;
	color: var(--merci-brown, #4A3328);
	text-decoration: none;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-image {
	background: var(--merci-cream, #FFEBD9);
	border-radius: 12px;
	overflow: hidden;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button a,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button button,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-button__link,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-button__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px !important;
	padding: 10px 20px !important;
	border: 1.5px solid var(--merci-brown, #4A3328) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--merci-brown, #4A3328) !important;
	font: 500 14px Inter, system-ui, sans-serif;
	text-decoration: none;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button a:hover,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button button:hover,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-button__link:hover,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-button__button:hover {
	background: var(--merci-brown-900, #3D2A21) !important;
	border-color: var(--merci-brown-900, #3D2A21) !important;
	color: var(--merci-offwhite, #FFF9F4) !important;
}
.wp-block-woocommerce-cart h2.wp-block-heading,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection h2 {
	font-family: "DM Serif Display", Georgia, serif;
	font-weight: 400;
	color: var(--merci-brown-900, #3D2A21);
}

/* Cart quantity: one 44px pill (minus, value, plus) with 42px buttons; it mirrors in Arabic with the text direction. */
.wc-block-cart .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: stretch;
	inline-size: auto;
	min-inline-size: 0;
	block-size: 44px;
	margin: 0;
	border: 1px solid var(--merci-field);
	border-radius: var(--merci-radius-pill);
	background: var(--merci-white);
	overflow: hidden;
}
.wc-block-cart .wc-block-components-quantity-selector:focus-within {
	border-color: var(--merci-brown);
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	flex: 0 0 42px;
	min-inline-size: 42px;
	block-size: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--merci-brown);
	font: 400 20px/1 var(--merci-font-sans);
	opacity: 1;
	cursor: pointer;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) {
	background: var(--merci-cream);
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled {
	color: var(--merci-brown-500);
	opacity: .5;
	cursor: default;
}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus-visible {
	outline: 2px solid var(--merci-coral-deep);
	outline-offset: -4px;
	border-radius: var(--merci-radius-pill);
}
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	flex: 0 0 40px;
	inline-size: 40px;
	min-inline-size: 0;
	block-size: 100%;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--merci-brown);
	font: 600 15px/1 var(--merci-font-sans);
	text-align: center;
	appearance: textfield;
}
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus-visible {
	outline: 2px solid var(--merci-coral-deep);
	outline-offset: -2px;
}

/* Empty cart: a small coral icon, the title in the serif, "New in store" names like the product cards, 2 columns on phones
   (WooCommerce stacks them one per row under 480 px; the column-count class outranks its rule). */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	margin-block: 0 8px;
	font: 400 28px/1.2 var(--merci-font-serif);
	color: var(--merci-brown-900);
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	inline-size: 56px;
	block-size: 56px;
	margin-block-end: 20px;
	-webkit-mask-size: 56px;
	mask-size: 56px;
	background-color: var(--merci-coral);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	font: 500 14px/1.35 var(--merci-font-sans);
	color: var(--merci-brown);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
	border-radius: var(--merci-radius-photo-tile);
}
@media (max-width: 767px) {
	.wp-block-woocommerce-empty-cart-block .wc-block-grid[class*="-columns"] .wc-block-grid__products {
		display: flex;
		flex-wrap: wrap;
		gap: 24px 16px;
		margin: 0;
	}
	.wp-block-woocommerce-empty-cart-block .wc-block-grid[class*="-columns"] .wc-block-grid__products .wc-block-grid__product {
		flex: 0 0 calc(50% - 8px);
		max-inline-size: calc(50% - 8px);
		margin: 0;
		padding: 0;
		border: 0;
	}
}
@media (max-width: 767px) {
	.woocommerce-checkout .site-main {
		padding: 24px 16px 72px;
	}
}

/* RTL: sizes and measurements stay left-to-right inside Arabic text (swatches, chosen value, cart line details). */
html[dir="rtl"] .cfvsw-swatches-option .cfvsw-swatch-inner,
html[dir="rtl"] .cfvsw-selected-label,
html[dir="rtl"] .wc-block-components-product-details__value,
html[dir="rtl"] .elementor-menu-cart__product .variation dd {
	direction: ltr;
	unicode-bidi: isolate;
}

/* ---------------------------------------------------------------------------
   12. Sticky add-to-cart bar (mobile, product pages; docs/11 E9).
   --------------------------------------------------------------------------- */
.merci-sticky-atc {
	display: none;
}
@media (max-width: 767px) {
	.merci-sticky-atc {
		position: fixed;
		inset-inline: 0;
		bottom: 0;
		z-index: 900;
		background: var(--merci-white);
		border-top: 1px solid var(--merci-line);
		box-shadow: 0 -6px 20px rgba(74, 51, 40, .08);
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		display: flex;
		align-items: center;
		gap: 12px;
		transform: translateY(110%);
		transition: transform var(--merci-dur-small, 240ms) cubic-bezier(.22, .68, 0, 1);
	}
	.merci-sticky-atc.is-visible {
		transform: translateY(0);
	}
	.merci-sticky-atc__info {
		flex: 1;
		min-width: 0;
	}
	.merci-sticky-atc__title {
		display: block;
		font-size: 14px;
		line-height: 1.2;
		color: var(--merci-brown);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.merci-sticky-atc__price {
		display: block;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.2;
		color: var(--merci-brown);
	}
	.merci-sticky-atc__price del {
		opacity: .6;
	}
	.merci-sticky-atc__price bdi {
		unicode-bidi: isolate;
	}
	.merci-sticky-atc__btn {
		flex-shrink: 0;
		border: 0;
		border-radius: 999px;
		background: var(--merci-brown);
		color: var(--merci-cream);
		font: 600 15px var(--merci-font-sans);
		min-height: 44px;
		padding: 0 20px;
		cursor: pointer;
	}
	.merci-sticky-atc__label-add,
	.merci-sticky-atc__label-choose {
		display: none;
	}
	.merci-sticky-atc.is-ready .merci-sticky-atc__label-add {
		display: inline;
	}
	.merci-sticky-atc:not(.is-ready) .merci-sticky-atc__label-choose {
		display: inline;
	}
	/* Keep the WhatsApp bubble (Joinchat) above the bar while it shows (body class from merci.js; a body:has() here cost seconds of style work). */
	.merci-sticky-atc-on .joinchat {
		--bottom: 84px;
	}
	@media (prefers-reduced-motion: reduce) {
		.merci-sticky-atc {
			transition: none;
		}
	}
}

/* ---------------------------------------------------------------------------
   13. Shop filters (Filter Everything set "Shop filters" in the Product Archive template 1284;
   one widget, moved into the Off-Canvas drawer below 1025 px by merci.js).
   Batch 08: groups separated by hairlines, each header a button that opens/closes its group
   (merci.js initFilterGroups), Pack shown as a checkbox list like Size, slim brand price range.
   --------------------------------------------------------------------------- */

/* The plugin's empty "posts found" line and admin-only "Edit Filter Set" link take space above and below the groups. */
.merci-filters .wpc-posts-found,
.merci-filters .wpc-edit-filter-set {
	display: none;
}

/* The Off-Canvas drawer replaces the plugin's own mobile open/close button. */
.merci-filters .wpc-open-close-filters-button {
	display: none !important;
}

.merci-filters .wpc-filters-section {
	margin: 0;
	padding: 14px 0;
	border-top: var(--merci-hairline);
}

/* Group header: the title, or the button merci.js wraps around it. */
.merci-filters .wpc-filter-header {
	margin: 0;
	padding: 0;
}
.merci-filters .wpc-filter-header,
.merci-filters .wpc-filter-header .wpc-filter-title {
	font: 600 14px/1.3 var(--merci-font-sans);
	color: var(--merci-brown);
	margin: 0;
}
:is(.merci-filters, .merci-cat-group) .merci-fgroup-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: start;
	cursor: pointer;
}
:is(.merci-filters, .merci-cat-group) .merci-fgroup-toggle::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	margin-inline-end: 4px;
	/* physical sides on purpose: down when open; right (LTR) or left (RTL) when closed */
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.24s cubic-bezier(.65, 0, .35, 1);
}
:is(.merci-filters, .merci-cat-group) .merci-fgroup-toggle[aria-expanded="false"]::after {
	transform: rotate(-45deg);
}
html[dir="rtl"] :is(.merci-filters, .merci-cat-group) .merci-fgroup-toggle[aria-expanded="false"]::after {
	transform: rotate(135deg);
}
:is(.merci-filters, .merci-cat-group) .merci-fgroup-toggle:hover,
:is(.merci-filters, .merci-cat-group) .merci-fgroup-toggle:focus {
	/* beat the Elementor kit's button:hover / button:focus fill */
	background: none;
	color: var(--merci-coral-deep);
}
:is(.merci-filters, .merci-cat-group) .merci-fgroup-toggle:focus-visible {
	outline: 2px solid var(--merci-coral-deep);
	outline-offset: 2px;
	border-radius: 4px;
}
.merci-filters .wpc-filters-section.is-collapsed .wpc-filter-content {
	display: none;
}
/* Category block (template 1284): the same group pattern, first in the column and the drawer */
.merci-cat-group {
	padding-bottom: 4px; /* + the column gap = the 28 px between the other groups */
}
.merci-cat-group.is-collapsed .elementor-widget-shortcode {
	display: none;
}
.merci-filters .wpc-filter-content {
	padding-top: 8px;
}

/* Options: 14 px labels, 16 px boxes, counts after the name. */
.merci-filters .wpc-filters-ul-list {
	margin: 0;
	padding: 0;
}
.merci-filters .wpc-filters-main-wrap li.wpc-term-item {
	margin: 0;
	padding: 5px 0; /* 28 px rows in every list */
}
.merci-filters .wpc-filter-link {
	color: var(--merci-brown);
	font-size: 14px;
}
.merci-filters .wpc-term-count {
	margin-inline-start: 6px;
	color: var(--merci-brown-500);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}
.merci-filters .wpc-term-count-brackets-open,
.merci-filters .wpc-term-count-brackets-close {
	display: none;
}
.merci-filters input[type="checkbox"],
.merci-filters input[type="radio"] {
	accent-color: var(--merci-brown);
	inline-size: 16px;
	block-size: 16px;
}
.merci-filters .wpc-see-more-control,
.merci-filters .wpc-see-less-control {
	margin-top: 4px;
	color: var(--merci-coral-deep);
	font: 500 13px var(--merci-font-sans);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Pack ("labels" layout): a checkbox list like Size instead of a grid of pills. */
/* scoped under the plugin's own wrapper and section classes so these outrank its label-pill rules */
.merci-filters .wpc-filters-main-wrap .wpc-filters-section.wpc-filter-layout-labels ul.wpc-filters-labels {
	display: block;
}
.merci-filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item {
	width: auto;
	margin: 0;
	padding: 5px 0;
}
/* the plugin hides these inputs with display:none, which also takes them out of the keyboard order: keep them focusable */
.merci-filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item input.wpc-label-input {
	display: block;
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
}
.merci-filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item .wpc-label-input + label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	cursor: pointer;
}
.merci-filters .wpc-filters-labels .wpc-label-input + label::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	border: 1.5px solid var(--merci-brown-600);
	border-radius: 3px;
	background: var(--merci-white) center / 11px no-repeat;
}
.merci-filters .wpc-filters-labels .wpc-label-input:checked + label::before {
	border-color: var(--merci-brown);
	background-color: var(--merci-brown);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='%23FFF9F4' stroke-width='2'/%3E%3C/svg%3E");
}
.merci-filters .wpc-filters-labels .wpc-label-input:focus-visible + label::before {
	outline: 2px solid var(--merci-coral-deep);
	outline-offset: 2px;
}
.merci-filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item .wpc-filter-label-wrapper {
	display: inline-flex;
	align-items: baseline;
	padding: 0;
	border: 0;
	background: none;
}

/* Price: min and max side by side, slim slider in the brand colors. */
.merci-filters .wpc-filters-range-wrapper {
	display: flex;
	gap: 8px;
}
.merci-filters .wpc-filters-range-column {
	flex: 1 1 0;
	min-width: 0;
}
.merci-filters .wpc-filters-range-inputs input[type="number"] {
	width: 100%;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--merci-field);
	border-radius: var(--merci-radius-input);
	background: var(--merci-white);
	color: var(--merci-brown);
	font: 400 14px var(--merci-font-sans);
}
.merci-filters .wpc-filters-range-inputs input[type="number"]:focus {
	border-color: var(--merci-coral-deep);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(161, 79, 69, .15);
}
.merci-filters .wpc-filters-range-slider-wrapper {
	margin: 18px 9px 6px;
}
.merci-filters .wpc-filters-range-inputs .ui-slider-horizontal {
	height: 4px;
	border: 0;
	border-radius: 2px;
	background: var(--merci-line);
}
.merci-filters .wpc-filters-range-inputs .ui-widget-header,
.merci-filters .wpc-filters-range-inputs .ui-slider-range {
	border: 0;
	background: var(--merci-brown);
}
.merci-filters .wpc-filters-range-inputs .ui-slider .ui-slider-handle {
	top: -7px;
	width: 18px;
	height: 18px;
	margin-inline-start: -9px;
	border: 2px solid var(--merci-brown);
	border-radius: 50%;
	background: var(--merci-white);
}
.merci-filters .wpc-filters-range-inputs .ui-slider .ui-slider-handle:focus-visible {
	outline: 2px solid var(--merci-coral-deep);
	outline-offset: 2px;
}

/* Drawer (below 1025 px): a sticky "Show products" bar at the bottom closes it (filters apply on each tap). */
.merci-filter-drawer-body .merci-filter-done {
	position: sticky;
	bottom: 0;
	margin-top: auto;
	padding: 12px 0 4px;
	background: linear-gradient(rgba(255, 255, 255, 0), var(--merci-white) 12px);
}

@media (prefers-reduced-motion: reduce) {
	:is(.merci-filters, .merci-cat-group) .merci-fgroup-toggle::after {
		transition: none;
	}
}

/* ---------------------------------------------------------------------------
   14. My Account and order details (WooCommerce templates inside the Elementor shell)
   Token-only brand skin over the My Account dashboard and the order-received
   (thank you) page; nothing else uses these selectors.
   --------------------------------------------------------------------------- */

/* Layout: desktop two-column grid replaces WooCommerce's core nav float. */
@media (min-width: 1025px) {
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 48px;
		align-items: start;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		float: none; /* beat WooCommerce's core float */
		width: auto; /* beat WooCommerce's core 30%/68% width */
	}
	/* Explicit placement: WooCommerce prints a notices wrapper first, which would take the nav column. */
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > * {
		grid-column: 1 / -1;
	}
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
		grid-column: 1;
	}
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
		grid-column: 2;
	}
}

/* Nav list reset (shared across viewports). */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Nav link base (shared): pill, brown, no underline. */
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 16px;
	border-radius: var(--merci-radius-pill);
	color: var(--merci-brown);
	font: 500 15px var(--merci-font-sans);
	text-decoration: none;
	white-space: nowrap;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: var(--merci-cream);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--merci-brown);
	color: var(--merci-cream);
}

/* Below 1025px: horizontal scrollable row of white pill chips. */
@media (max-width: 1024px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		scrollbar-width: none;
		margin-bottom: 24px;
		padding-bottom: 4px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
		display: none;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation a {
		background: var(--merci-white);
		border: 1px solid var(--merci-line);
	}
}

/* Desktop: the nav becomes a vertical list of link pills. */
@media (min-width: 1025px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}
}

/* Tables: orders table and order-details table share the cream-card style. */
.woocommerce-account table.woocommerce-orders-table,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details,
:is(.woocommerce-order-received, .woocommerce-account) table.shop_table.order_details {
	border-collapse: collapse;
	width: 100%;
	border: 0;
	background: var(--merci-white);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 0 0 1px var(--merci-line);
}

.woocommerce-account table.woocommerce-orders-table th,
.woocommerce-account table.woocommerce-orders-table td,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details th,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details td {
	border: 0;
	border-bottom: 1px solid var(--merci-line);
	padding: 14px 16px;
	text-align: start;
}

.woocommerce-account table.woocommerce-orders-table thead th,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details thead th,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details tfoot th {
	font: 600 13px var(--merci-font-sans);
	color: var(--merci-brown-600);
}

/* Beat WooCommerce's striped rows so the cream card stays clean. */
.woocommerce-account table.woocommerce-orders-table tbody tr,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details tbody tr,
:is(.woocommerce-order-received, .woocommerce-account) table.shop_table.order_details tbody tr {
	background: transparent !important;
}

.woocommerce-account table.woocommerce-orders-table tbody td,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details tbody td {
	background: transparent !important; /* WooCommerce also tints the first item's cells */
}

.woocommerce-account table.woocommerce-orders-table tbody tr:last-child th,
.woocommerce-account table.woocommerce-orders-table tbody tr:last-child td,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details tbody tr:last-child th,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details tbody tr:last-child td {
	border-bottom: 0;
}

:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details tfoot tr:last-child th,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: 0;
	font-weight: 700;
}

.woocommerce-account table.woocommerce-orders-table a,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details a {
	color: var(--merci-coral-deep);
}

/* Order overview list on the thank-you page. */
.woocommerce-order-received ul.woocommerce-order-overview.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	list-style: none;
	padding: 20px 24px;
	margin: 0 0 32px;
	background: var(--merci-cream);
	border-radius: 12px;
}
.woocommerce-order-received ul.woocommerce-order-overview.order_details li {
	border: 0;
	margin: 0;
	padding: 0;
	font: 400 12px var(--merci-font-sans);
	letter-spacing: 0.02em;
	color: var(--merci-brown-600);
}
.woocommerce-order-received ul.woocommerce-order-overview.order_details li strong {
	display: block;
	font: 600 16px var(--merci-font-sans);
	color: var(--merci-brown-900);
	margin-block-start: 4px;
}

/* Section headings inside the dashboard and thank-you page. */
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-order-details > h2,
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-customer-details > h2,
.woocommerce-MyAccount-content > h2 {
	font: 400 28px/1.2 var(--merci-font-serif);
	color: var(--merci-brown);
	margin-block-start: 32px;
	margin-block-end: 16px;
	margin-inline: 0;
}

/* Address blocks (override WooCommerce's dashed borders). */
.woocommerce-customer-details address,
.woocommerce-MyAccount-content .woocommerce-Addresses address,
.woocommerce-MyAccount-content .woocommerce-Address {
	background: var(--merci-white);
	border: 1px solid var(--merci-line);
	border-radius: 12px;
	padding: 20px 24px;
	font-style: normal;
	line-height: 1.7;
}

/* Account action buttons: pill, smaller than global WC buttons. */
.woocommerce-MyAccount-content .button,
.woocommerce-account table.woocommerce-orders-table .button,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details .button {
	padding: 10px 18px;
	font-size: 14px;
}

/* WooCommerce's classic forms (account, lost password) take their field border from these variables; the select2
   Governorate box follows them too. */
body {
	--wc-form-border-color: var(--merci-field);
	--wc-form-border-radius: var(--merci-radius-input);
	--wc-form-border-width: 1px;
}
.woocommerce form .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding-inline: 6px;
	background: var(--merci-white);
}
.woocommerce form .select2-container .select2-selection--single .select2-selection__arrow {
	height: 100%;
	inset-inline-end: 8px;
}

/* WooCommerce's clearfix pseudo-elements would become grid items (an empty row and a 48px gap above the content). */
@media (min-width: 1025px) {
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after {
		display: none;
	}
}

/* Forms and headings inside the account content: serif headings, a readable form width, a hairline password box. */
.woocommerce-MyAccount-content :is(h2, legend) {
	font: 400 28px/1.2 var(--merci-font-serif);
	color: var(--merci-brown);
}
.woocommerce-MyAccount-content .woocommerce-Address-title h2 {
	font-size: 22px;
}
.woocommerce-MyAccount-content form {
	max-inline-size: 760px;
}
.woocommerce-MyAccount-content fieldset {
	margin: 24px 0;
	padding: 8px 24px 16px;
	border: 1px solid var(--merci-line);
	border-radius: var(--merci-radius-input);
}
.woocommerce-MyAccount-content legend {
	padding-inline: 8px;
	font-size: 22px;
}
.woocommerce-MyAccount-content :is(form, address) em {
	font: 400 13px/1.5 var(--merci-font-sans);
	font-style: normal;
	color: var(--merci-brown-600);
}

/* Account dashboard (woocommerce/myaccount/dashboard.php): greeting, latest order, link cards, help line. */
.merci-dash {
	display: grid;
	gap: 24px;
}
.merci-dash__title {
	margin: 0;
	font: 400 28px/1.2 var(--merci-font-serif);
	color: var(--merci-brown);
}
.merci-dash__intro,
.merci-dash__meta {
	margin: 4px 0 0;
	font: 400 15px/1.5 var(--merci-font-sans);
	color: var(--merci-brown-600);
}
.merci-dash__latest {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	padding: 20px 24px;
	border-radius: var(--merci-radius-tile);
	background: var(--merci-cream);
}
.merci-dash__label {
	margin: 0 0 4px;
	font: 600 13px/1.4 var(--merci-font-sans);
	color: var(--merci-brown-600);
}
.merci-dash__order {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 0;
	font: 600 18px/1.4 var(--merci-font-sans);
	color: var(--merci-brown-900);
}
.merci-dash__status {
	padding: 2px 10px;
	border-radius: var(--merci-radius-pill);
	background: var(--merci-white);
	font: 500 12px/20px var(--merci-font-sans);
	color: var(--merci-brown);
}
.merci-dash__status--completed {
	color: var(--merci-success);
}
.merci-dash__status--on-hold,
.merci-dash__status--pending {
	color: var(--merci-warning);
}
.merci-dash__status--cancelled,
.merci-dash__status--failed,
.merci-dash__status--refunded {
	color: var(--merci-error);
}
.woocommerce-MyAccount-content .merci-dash__action {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}
.merci-dash__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.merci-dash__card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	block-size: 100%;
	padding: 20px;
	border: 1px solid var(--merci-line);
	border-radius: var(--merci-radius-tile);
	background: var(--merci-white);
	color: var(--merci-brown);
	text-decoration: none;
	transition: border-color var(--merci-dur-micro) var(--merci-ease-out), transform var(--merci-dur-small) var(--merci-ease-out);
}
.merci-dash__card:hover {
	border-color: var(--merci-brown);
	transform: translateY(-2px);
}
.merci-dash__icon {
	box-sizing: content-box;
	inline-size: 22px;
	block-size: 22px;
	margin-block-end: 8px;
	padding: 10px;
	border-radius: 50%;
	background: var(--merci-cream);
	color: var(--merci-coral-deep);
}
.merci-dash__card-title {
	font: 600 16px/1.4 var(--merci-font-sans);
	color: var(--merci-brown-900);
}
.merci-dash__card-text {
	font: 400 13px/1.5 var(--merci-font-sans);
	color: var(--merci-brown-600);
}
.merci-dash__help {
	margin: 0;
	font: 400 14px/1.5 var(--merci-font-sans);
	color: var(--merci-brown-600);
}
.merci-dash__help a {
	color: var(--merci-coral-deep);
	text-decoration: underline;
	text-underline-offset: 3px;
}
@media (max-width: 767px) {
	.merci-dash__cards {
		gap: 12px;
	}
	.merci-dash__card {
		padding: 16px;
	}
	.merci-dash__latest {
		padding: 16px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.merci-dash__card {
		transition: none;
	}
	.merci-dash__card:hover {
		transform: none;
	}
}

/* RTL: phone numbers and emails in addresses read left to right (no drifting "+"). */
html[dir="rtl"] .woocommerce-customer-details--phone,
html[dir="rtl"] .woocommerce-customer-details--email {
	direction: ltr;
	text-align: right;
}

/* ---------------------------------------------------------------------------
   15. Signature motion (GSAP, docs/11 §1 M7-M9; assets/merci-motion.js on the motion pages only)
   --------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	html:not(.merci-motion-ready) body.merci-motion h1 {
		opacity: 0;
		/* Safety: the heading shows after 2.5 s even if a script never runs. */
		animation: merci-h1-fallback 0s 2.5s forwards;
	}
}

@keyframes merci-h1-fallback {
	to {
		opacity: 1;
	}
}

/* ---------------------------------------------------------------------------
   16. Accessibility fixes (scan 2026-10-13)
   Underlined "Clear" link, gallery overflow (RTL 768 px), cart cross-sell
   button contrast, and the empty Filter Everything header.
   --------------------------------------------------------------------------- */
.woocommerce a.reset_variations {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.woocommerce-product-gallery {
	overflow: hidden;
}

/* Empty cart: WooCommerce's "New in store" grid printed coral on dark gray (2.13:1); same outline buttons as the cross-sells. */
.wp-block-woocommerce-product-new .wp-block-button__link {
	min-height: 44px;
	padding: 10px 20px;
	border: 1.5px solid var(--merci-brown) !important;
	border-radius: var(--merci-radius-pill);
	background: transparent !important;
	color: var(--merci-brown) !important;
	font: 500 14px var(--merci-font-sans);
	text-decoration: none;
}
.wp-block-woocommerce-product-new .wp-block-button__link:hover {
	background: var(--merci-brown-900) !important;
	color: var(--merci-offwhite) !important;
}

.merci-filters .wpc-filters-widget-top-container:empty,
.merci-filters .wpc-widget-top-inside:empty {
	display: none;
}
.merci-filters .wpc-filters-widget-content {
	margin-top: 0;
	padding-top: 0;
}

/* ---------------------------------------------------------------------------
   17. Alignment pass (owner 2026-10-13): product buy box (template 1287) and product card (1254)
   --------------------------------------------------------------------------- */

/* Buy box: one spacing rhythm for the option rows. */
.single-product form.cart table.variations {
	margin-block-end: 20px;
}
.single-product form.cart table.variations tr {
	display: block;
	margin-block-end: 16px;
}
.single-product form.cart table.variations tr:last-child {
	margin-block-end: 0;
}
.single-product form.cart table.variations th.label,
.single-product form.cart table.variations td.value {
	display: block;
	padding: 0 !important; /* WooCommerce pads these cells (8 / 18 px) */
	text-align: start;
}
.single-product form.cart table.variations th.label {
	margin-block-end: 8px;
}
.single-product form.cart table.variations th.label label {
	font: 600 14px/1.3 var(--merci-font-sans);
	color: var(--merci-brown);
}
/* The swatch plugin adds its own bottom margins; the rows above set the rhythm. */
.single-product form.cart table.variations .cfvsw-swatches-container {
	margin: 0 !important;
}
.single-product form.cart table.variations td.value {
	margin: 0 !important;
}

/* "Pack 1 pc", "Color Transparent": the chosen value sits next to the name, lighter, without the floating colon. */
.single-product form.cart .cfvsw-selected-label {
	margin-inline-start: 6px;
	font-weight: 400;
	color: var(--merci-brown-600);
}
.single-product form.cart .cfvsw-selected-label::before {
	content: none !important;
}

/* Arabic: the value is set left-to-right (§5), so its gap goes on the physical right. */
html[dir="rtl"] .single-product form.cart .cfvsw-selected-label {
	margin-inline-start: 0;
	margin-right: 6px;
}

/* Color swatches: round 32 px, same visual weight as the size and pack chips; selected = brown ring. */
.single-product form.cart .cfvsw-swatches-option:not(.cfvsw-label-option) {
	min-width: 32px !important;
	min-height: 32px !important;
	border-radius: 50% !important;
	padding: 3px;
	border: 1px solid var(--merci-field);
}
.single-product form.cart .cfvsw-swatches-option:not(.cfvsw-label-option) .cfvsw-swatch-inner {
	border-radius: 50%;
	inline-size: 100%;
	block-size: 100%;
	min-height: 24px;
}
.single-product form.cart .cfvsw-swatches-option.cfvsw-selected-swatch:not(.cfvsw-label-option) {
	border-color: var(--merci-brown);
	box-shadow: 0 0 0 1px var(--merci-brown);
}

/* "Clear" sits on its own line under the last option, small and aligned to the start. */
.single-product form.cart a.reset_variations {
	display: inline-block;
	margin-block-start: 10px;
	font-size: 13px;
	color: var(--merci-coral-deep);
}

/* Cart row: quantity, Add to cart and wishlist share one 52 px line; the wishlist becomes a square icon button. */
.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form) {
	display: flex;
	align-items: stretch;
	gap: 10px;
	flex-wrap: nowrap;
}
.single-product form.cart .quantity {
	flex: 0 0 96px;
	margin: 0 !important;
}
.single-product form.cart .quantity input.qty {
	inline-size: 100%;
	block-size: 52px;
	border-radius: var(--merci-radius-pill);
	text-align: center;
}
.single-product form.cart button.single_add_to_cart_button {
	flex: 1 1 auto;
	min-height: 52px;
	margin: 0 !important;
}
.single-product form.cart .tinv-wraper.tinv-wishlist {
	flex: 0 0 52px;
	display: flex;
	margin: 0 !important;
}
.single-product form.cart .tinv-wraper .tinvwl_add_to_wishlist_button {
	display: flex;
	align-items: center;
	justify-content: center;
	inline-size: 52px;
	block-size: 52px;
	margin: 0 !important;
	border: 1px solid var(--merci-field);
	border-radius: 50%;
	background: var(--merci-white);
	color: var(--merci-brown);
}
.single-product form.cart .tinv-wraper .tinvwl_add_to_wishlist_button:hover {
	border-color: var(--merci-brown);
}
.single-product form.cart .tinv-wraper .tinvwl_add_to_wishlist_button::before {
	margin: 0 !important;
	font-size: 20px;
}
/* The text stays for screen readers. */
.single-product form.cart .tinv-wraper .tinvwl_add_to_wishlist-text {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Variation price (after a choice): same size as the main price, aligned with the row under it. */
.single-product form.cart .woocommerce-variation-price {
	margin-block-end: 12px;
}
.single-product form.cart .woocommerce-variation-price .price {
	display: inline-block; /* inline, so it sits at the start in Arabic too */
	font: 600 22px/1.2 var(--merci-font-sans);
	color: var(--merci-brown-900);
}

/* Product card: price and sizes follow the title directly; the button sits at the bottom so buttons still line up. */
.merci-card {
	block-size: 100%;
}
.merci-card .elementor-heading-title {
	min-height: 0 !important;
}
.merci-card > .elementor-widget-shortcode:last-child,
.merci-card > .elementor-element:last-child {
	margin-block-start: auto !important;
}
.merci-card .merci-card-meta {
	min-height: 18px;
}
/* Arabic: prices are set left-to-right (§5), so the chosen variation's price is pushed to the right edge explicitly. */
html[dir="rtl"] .single-product form.cart .woocommerce-variation-price .price {
	display: block;
	text-align: right;
}
.single-product form.cart .single_variation_wrap {
	margin-block-start: 20px;
}
/* Arabic cards: the price (set left-to-right, §5) lines up with the title on the right. */
html[dir="rtl"] .merci-card p.price,
html[dir="rtl"] .merci-card .price {
	justify-content: flex-end; /* the price is a left-to-right flex row ("From" + amount) */
	text-align: right;
}

/* ---------------------------------------------------------------------------
   18. Product carousels on tablet and mobile (batch 09): the next card peeks in at the reading end, so the row reads
   as scrollable without arrows (docs/06 §5: about 2.2 cards on mobile). Swiper sizes the slides inside the padding;
   the peek shows in it. Home carousels 1265-1273 and related products (1287).
   --------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.elementor-widget-loop-carousel .swiper {
		padding-inline-end: 12%;
	}
}
@media (max-width: 767px) {
	.elementor-widget-loop-carousel .swiper {
		padding-inline-end: 18%;
	}
	/* the narrower cards keep "Choose options" on one line */
	.elementor-widget-loop-carousel .swiper .swiper-slide .merci-card .merci-card-btn-wrap a.button { /* outranks the card template rule */
		padding-inline: 8px;
	}
}
@media (max-width: 359px) {
	.elementor-widget-loop-carousel .swiper {
		padding-inline-end: 12%;
	}
}

/* ---------------------------------------------------------------------------
   19. Laptop size tier (batch 11, docs/batches/11-desktop-density-plan.md): screens 1025-1439 px get about 82 % of the
   desktop sizes (the owner's "80 % zoom" look), text never under 13 px. Elementor's Laptop breakpoint (1439 px) carries
   the same tier for the kit and template settings (tools/density.py). Below: the theme type tokens, the V4 variables
   and the V4 classes (generated from their desktop sizes), then a generated block for this stylesheet's own rules.
   --------------------------------------------------------------------------- */
@media (min-width: 1025px) and (max-width: 1439px) {
	html:root {
		--merci-fs-display: 53px; --merci-fs-h1: 43px; --merci-fs-h2: 33px; --merci-fs-h3: 22px; --merci-fs-h4: 17px;
		--merci-fs-body-l: 16px; --merci-fs-body: 15px; --merci-fs-small: 13px; --merci-fs-price-card: 15px; --merci-fs-price-pdp: 20px;
		--merci-section-pad: 88px;
		--section-desktop: 88px; --control-height: 44px;
		--space-24: 20px; --space-32: 26px; --space-48: 38px; --space-64: 51px; --space-96: 77px; --space-120: 96px;
	}
	body .elementor .field-label{font-size:13px}
	body .elementor .field{font-size:15px;padding-block-start:10px;padding-block-end:10px;padding-inline-start:13px;padding-inline-end:13px}
	body .elementor .chip{min-height:40px;font-size:13px;padding-inline-start:14px;padding-inline-end:14px}
	body .elementor .link-cta{min-height:40px;font-size:14px}
	body .elementor .btn-secondary{font-size:14px;padding-inline-start:22px;padding-inline-end:22px}
	body .elementor .btn-primary{font-size:14px;padding-inline-start:22px;padding-inline-end:22px}
	body .elementor .small{font-size:13px}
	body .elementor .body{font-size:15px}
	body .elementor .body-l{font-size:16px}
	body .elementor .ui-heading{font-size:17px}
	body .elementor .h3{font-size:22px}
	body .elementor .h2{font-size:33px}
	body .elementor .display{font-size:53px}
}

/* ---------------------------------------------------------------------------
   Cart and Checkout blocks while WooCommerce's script loads (wrapper class is-loading): reserve the final height so the
   footer does not jump (checkout CLS was 0.64 on phones, 0.97 on desktop; cart 0.23 on desktop). Heights measured
   2026-10-13 with one product in the cart; inside media queries so the laptop tier keeps them as measured.
   --------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.wp-block-woocommerce-checkout.is-loading { min-height: 1750px; }
	.wp-block-woocommerce-cart.is-loading { min-height: 470px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.wp-block-woocommerce-checkout.is-loading { min-height: 1500px; }
	.wp-block-woocommerce-cart.is-loading { min-height: 460px; }
}
@media (min-width: 1025px) {
	.wp-block-woocommerce-checkout.is-loading { min-height: 1060px; }
	.wp-block-woocommerce-cart.is-loading { min-height: 370px; }
}
/* The loading markup holds both the filled and the empty cart; the empty one is the tall one, so it waits for the script. */
.wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-empty-cart-block { display: none; }
/* ---------------------------------------------------------------------------
   20. UI audit fixes (batch 13, docs/batches/13-ui-audit/VERIFIED.md)
   --------------------------------------------------------------------------- */

/* Finding 1: hide the short description rendered under each Cart/Checkout block line item. */
.wp-block-woocommerce-cart .wc-block-components-product-metadata__description,
.wp-block-woocommerce-checkout .wc-block-components-product-metadata__description {
	display: none;
}

/* Finding 2: hide the Joinchat credit link in the WhatsApp chat window. */
a.joinchat__powered {
	display: none;
}

/* Finding 3: turn the header language link into a 44 px tap target without changing its text style. */
a.merci-lang-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding-inline: 6px;
}

/* Finding 4: bring the "Clear"/"إزالة" link to a readable size (beats WooCommerce's 0.83em rule); WooCommerce toggles its visibility, leave it alone. */
.woocommerce div.product form.cart a.reset_variations {
	font-size: 14px;
	min-height: 36px;
	display: inline-flex;
	align-items: center;
}

/* Finding 5: 44 px gallery zoom trigger; another rule uses !important on its position, so outrank it only on size. */
.woocommerce-product-gallery__trigger {
	width: 44px !important;
	height: 44px !important;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Finding 6: readable disabled Add to cart (the product button rule above pins its colors with !important). */
.single-product form.cart button.single_add_to_cart_button.disabled,
.single-product form.cart button.single_add_to_cart_button.wc-variation-selection-needed {
	opacity: 1;
	background-color: var(--merci-brown-600) !important;
	color: var(--merci-offwhite) !important;
	cursor: not-allowed;
}
.single-product form.cart button.single_add_to_cart_button.disabled:hover,
.single-product form.cart button.single_add_to_cart_button.wc-variation-selection-needed:hover {
	background-color: var(--merci-brown-600) !important;
	color: var(--merci-offwhite) !important;
}
/* ---------------------------------------------------------------------------
   21. Search field (FiboSearch): magnifier at the start, spinner and clear button at the end, visible brand spinner
   (owner note 2026-10-13: icon, clear and spinner overlapped; the plugin spinner was too light to see)
   --------------------------------------------------------------------------- */
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-preloader {
	inset-inline-start: auto !important;
	inset-inline-end: 14px !important;
	left: auto;
	width: 20px;
	height: 20px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	padding-inline-end: 44px;
}
.dgwt-wcas-search-wrapp.dgwt-wcas-processing .dgwt-wcas-preloader {
	background-image: none !important;
	border: 2px solid var(--merci-cream);
	border-top-color: var(--merci-brown);
	border-radius: 50%;
	animation: merci-spin 0.8s linear infinite;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-close {
	color: var(--merci-brown);
}
.dgwt-wcas-search-wrapp .dgwt-wcas-close svg path {
	fill: var(--merci-brown);
}
@keyframes merci-spin {
	to { transform: translateY(-50%) rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
	.dgwt-wcas-search-wrapp.dgwt-wcas-processing .dgwt-wcas-preloader { animation-duration: 2.4s; }
}
/* ---------------------------------------------------------------------------
   23. Anchor jumps clear the sticky header (site-wide; component styles live in the Elementor elements since batch 14)
   --------------------------------------------------------------------------- */
html { scroll-padding-top: 140px; }
@media (max-width: 1024px) { html { scroll-padding-top: 88px; } }
/* LAPTOP_START (laptop size tier, do not edit by hand) */
@media (min-width:1025px) and (max-width:1439px){
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-block-components-text-input input,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-block-components-combobox input,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .components-combobox-control input,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) select,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) .wc-blocks-components-select select,
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) textarea{min-height:40px;font:15px var(--merci-font-sans);padding-inline-start:11px;padding-inline-end:11px}
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart, .woocommerce form) textarea{min-height:79px;padding-block:8px}
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart) .wc-block-components-radio-control input.wc-block-components-radio-control__input[type="radio"],
:is(.wc-block-components-form, .wc-block-checkout, .wc-block-cart) .wc-block-components-checkbox input.wc-block-components-checkbox__input[type="checkbox"]{padding:0}
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{min-height:40px}
.wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{padding:10px 13px}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{padding-block:11px;padding-inline:48px 13px;font:400 14px/24px var(--merci-font-sans)}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{font-size:15px}
:is(.woocommerce-message, .woocommerce-info):has(> .button){column-gap:13px}
:is(.woocommerce-message, .woocommerce-info) > .button{padding:8px 16px;font-size:13px}
.woocommerce div.product p.price,
.woocommerce div.product span.price{font:600 15px/1.3 var(--merci-font-sans)}
.woocommerce div.product p.price,
.woocommerce div.product span.price{font-size:20px}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.single_add_to_cart_button{min-height:40px;padding:10px 19px;font:500 14px/1.2 var(--merci-font-sans)}
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count{font-size:13px}
.woocommerce .woocommerce-ordering select,
.woocommerce div.product form.cart .variations select,
.woocommerce .quantity .qty{min-height:40px;padding:0 11px}
.woocommerce span.onsale{padding:6px 8px}
.woocommerce div.product .cfvsw-label-option{padding:0 11px;font-size:13px}
body.woocommerce-checkout .site-main,
body.woocommerce-checkout:not([class*="elementor-page-"]) .site-main{padding:32px 19px 77px}
.woocommerce-checkout .page-header{padding:0 0 19px}
.woocommerce-checkout .page-header .entry-title{margin:0}
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post-title,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-post-title a{font:500 14px/1.35 Inter, system-ui, sans-serif}
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button a,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button button,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wp-block-button__link,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection .wc-block-components-product-button__button{min-height:40px !important;padding:8px 16px !important;font:500 13px Inter, system-ui, sans-serif}
.wc-block-cart .wc-block-components-quantity-selector{margin:0}
.wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{padding:0;font:400 17px/1 var(--merci-font-sans)}
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{padding:0;font:600 14px/1 var(--merci-font-sans)}
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input::-webkit-outer-spin-button{margin:0}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{font:400 24px/1.2 var(--merci-font-serif)}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before{margin-block-end:16px}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title{font:500 13px/1.35 var(--merci-font-sans)}
.merci-filters .wpc-filters-section{margin:0;padding:11px 0}
.merci-filters .wpc-filter-header{margin:0;padding:0}
.merci-filters .wpc-filter-header,
.merci-filters .wpc-filter-header .wpc-filter-title{font:600 13px/1.3 var(--merci-font-sans);margin:0}
:is(.merci-filters, .merci-cat-group) .merci-fgroup-toggle{margin:0;padding:0}
.merci-filters .wpc-filters-ul-list{margin:0;padding:0}
.merci-filters .wpc-filters-main-wrap li.wpc-term-item{margin:0;padding:5px 0}
.merci-filters .wpc-filter-link{font-size:13px}
.merci-filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item{margin:0;padding:5px 0}
.merci-filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item input.wpc-label-input{margin:0}
.merci-filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item .wpc-label-input + label{margin:0;padding:0}
.merci-filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item .wpc-filter-label-wrapper{padding:0}
.merci-filters .wpc-filters-range-inputs input[type="number"]{padding:0 10px;font:400 13px var(--merci-font-sans)}
.merci-filters .wpc-filters-range-slider-wrapper{margin:14px 8px 6px}
.merci-filter-drawer-body .merci-filter-done{padding:10px 0 4px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation a{padding:8px 13px;font:500 14px var(--merci-font-sans)}
.woocommerce-account table.woocommerce-orders-table th,
.woocommerce-account table.woocommerce-orders-table td,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details th,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details td{padding:11px 13px}
.woocommerce-order-received ul.woocommerce-order-overview.order_details{gap:13px 26px;padding:16px 19px;margin:0 0 26px}
.woocommerce-order-received ul.woocommerce-order-overview.order_details li{margin:0;padding:0}
.woocommerce-order-received ul.woocommerce-order-overview.order_details li strong{font:600 15px var(--merci-font-sans)}
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-order-details > h2,
:is(.woocommerce-order-received, .woocommerce-account) .woocommerce-customer-details > h2,
.woocommerce-MyAccount-content > h2{font:400 24px/1.2 var(--merci-font-serif);margin-block-start:26px;margin-block-end:13px}
.woocommerce-customer-details address,
.woocommerce-MyAccount-content .woocommerce-Addresses address,
.woocommerce-MyAccount-content .woocommerce-Address{padding:16px 19px}
.woocommerce-MyAccount-content .button,
.woocommerce-account table.woocommerce-orders-table .button,
:is(.woocommerce-order-received, .woocommerce-account) table.woocommerce-table--order-details .button{padding:8px 14px;font-size:13px}
.woocommerce form .select2-container .select2-selection--single{min-height:40px}
.woocommerce-MyAccount-content :is(h2, legend){font:400 24px/1.2 var(--merci-font-serif)}
.woocommerce-MyAccount-content .woocommerce-Address-title h2{font-size:19px}
.woocommerce-MyAccount-content fieldset{margin:19px 0;padding:8px 19px 13px}
.woocommerce-MyAccount-content legend{font-size:19px}
.merci-dash{gap:19px}
.merci-dash__title{margin:0;font:400 24px/1.2 var(--merci-font-serif)}
.merci-dash__intro,
.merci-dash__meta{margin:4px 0 0;font:400 14px/1.5 var(--merci-font-sans)}
.merci-dash__latest{gap:13px 19px;padding:16px 19px}
.merci-dash__label{margin:0 0 4px}
.merci-dash__order{gap:8px 10px;margin:0;font:600 16px/1.4 var(--merci-font-sans)}
.merci-dash__status{padding:2px 8px}
.woocommerce-MyAccount-content .merci-dash__action{min-height:40px}
.merci-dash__cards{gap:13px;margin:0;padding:0}
.merci-dash__card{padding:16px}
.merci-dash__icon{padding:8px}
.merci-dash__card-title{font:600 15px/1.4 var(--merci-font-sans)}
.merci-dash__help{margin:0;font:400 13px/1.5 var(--merci-font-sans)}
.wp-block-woocommerce-product-new .wp-block-button__link{min-height:40px;padding:8px 16px;font:500 13px var(--merci-font-sans)}
.single-product form.cart table.variations{margin-block-end:16px}
.single-product form.cart table.variations tr{margin-block-end:13px}
.single-product form.cart table.variations th.label,
.single-product form.cart table.variations td.value{padding:0 !important}
.single-product form.cart table.variations th.label label{font:600 13px/1.3 var(--merci-font-sans)}
.single-product form.cart table.variations .cfvsw-swatches-container{margin:0 !important}
.single-product form.cart table.variations td.value{margin:0 !important}
.single-product form.cart .cfvsw-swatches-option:not(.cfvsw-label-option){padding:3px}
.single-product form.cart a.reset_variations{margin-block-start:8px}
.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form){gap:8px}
.single-product form.cart .quantity{margin:0 !important}
.single-product form.cart button.single_add_to_cart_button{min-height:43px;margin:0 !important}
.single-product form.cart .tinv-wraper.tinv-wishlist{margin:0 !important}
.single-product form.cart .tinv-wraper .tinvwl_add_to_wishlist_button{margin:0 !important}
.single-product form.cart .tinv-wraper .tinvwl_add_to_wishlist_button::before{margin:0 !important;font-size:17px}
.single-product form.cart .woocommerce-variation-price{margin-block-end:10px}
.single-product form.cart .woocommerce-variation-price .price{font:600 19px/1.2 var(--merci-font-sans)}
.single-product form.cart .single_variation_wrap{margin-block-start:16px}
a.merci-lang-link{min-height:40px}
.woocommerce div.product form.cart a.reset_variations{font-size:13px}
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-preloader{margin:0}
}
/* LAPTOP_END */
