/* ==========================================================================
   Assly — main stylesheet
   Logical properties (inline/block) everywhere, so RTL works without a
   separate rtl.css; the few physical leftovers have [dir="rtl"] overrides.
   Page-specific styles stay with their templates (fast-shop.css, the custom
   product page, front page, checkout) exactly as in flatsome-child.
   ========================================================================== */

/* DM Sans (SIL Open Font License 1.1) — self-hosted variable font, latin subset incl. French accents. */
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('../fonts/dm-sans-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--a-primary: #005d7c;
	--a-primary-dark: #00465e;
	--a-accent: #e77103;
	--a-accent-dark: #c95f02;
	--a-text: #1d2939;
	--a-text-2: #344054;
	--a-dark: #101828;
	--a-muted: #667085;
	--a-border: #e4e7ec;
	--a-line-strong: #d0d5dd;
	--a-soft: #f4f6f8;
	--a-tint: #eaf4f7;
	--a-success: #067647;
	--a-danger: #d92d20;
	--a-radius: 8px;
	--a-radius-lg: 8px;
	--a-container: 1330px;
	--a-gutter: 16px;
	--a-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--a-font-ar: "Segoe UI", Tahoma, "Noto Naskh Arabic", "Noto Sans Arabic", Arial, sans-serif;
	--a-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 12px 32px -14px rgba(16, 24, 40, .16);
}

/* ── Base ─────────────────────────────────────────────────────────────── */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 140px; }

body {
	margin: 0;
	background: #fff;
	color: var(--a-text);
	font-family: var(--a-font);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

[dir="rtl"] body,
html[lang^="ar"] body { font-family: var(--a-font-ar); }

img, svg, video, canvas, iframe { max-width: 100%; }
img, video { height: auto; }
img { border-style: none; vertical-align: middle; }

a { color: var(--a-primary); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--a-accent); }

:focus-visible { outline: 2px solid var(--a-primary); outline-offset: 2px; }

h1, h2, h3, h4, h5, h6 { color: var(--a-dark); font-weight: 700; line-height: 1.25; margin: 0 0 .6em; }
h1 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
h2 { font-size: clamp(1.35rem, 2.1vw, 1.65rem); }
h3 { font-size: 1.2rem; }
h4 { font-size: 1.05rem; }
p, ul, ol, dl, table, figure, blockquote, pre { margin: 0 0 1.2em; }
ul, ol { padding-inline-start: 1.3em; }
hr { border: 0; border-block-start: 1px solid var(--a-border); margin: 2em 0; }
blockquote { margin-inline: 0; padding: .6em 1.2em; border-inline-start: 4px solid var(--a-primary); background: var(--a-soft); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .6em .75em; border-block-end: 1px solid var(--a-border); text-align: start; }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9em; }
pre { overflow: auto; padding: 1em; background: var(--a-soft); border-radius: var(--a-radius); }

/* ── Forms & buttons ──────────────────────────────────────────────────── */
input, select, textarea, button { font: inherit; color: inherit; }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="password"], input[type="search"], input[type="number"], input[type="date"],
select, textarea {
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	padding: .55em .85em;
	border: 1px solid var(--a-line-strong);
	border-radius: 6px;
	background-color: #fff;
	color: var(--a-text);
	font-size: 15px;
	line-height: 1.4;
	transition: border-color .15s ease, box-shadow .15s ease;
	-webkit-appearance: none;
	appearance: none;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
textarea { min-height: 120px; resize: vertical; }
select {
	padding-inline-end: 2.2em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .8em center;
}
[dir="rtl"] select { background-position: left .8em center; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--a-primary); box-shadow: 0 0 0 3px rgba(0, 93, 124, .12); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--a-primary); width: 1.05em; height: 1.05em; }
label { display: inline-block; margin-block-end: .3em; font-weight: 600; font-size: .93em; }

.assly-btn,
.button,
button[type="submit"],
input[type="submit"],
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 44px;
	padding: .6em 1.4em;
	border: 2px solid transparent;
	border-radius: 6px;
	background: var(--a-primary);
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.assly-btn:hover,
.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--a-primary-dark); color: #fff; }

.assly-btn--accent,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .checkout-button,
.single_add_to_cart_button { background: var(--a-accent); color: #fff; }
.assly-btn--accent:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover,
.single_add_to_cart_button:hover { background: var(--a-accent-dark); color: #fff; }

.assly-btn--primary { background: var(--a-primary); }
.assly-btn--ghost { background: transparent; border-color: var(--a-line-strong); color: var(--a-dark); }
.assly-btn--ghost:hover { background: transparent; border-color: var(--a-primary); color: var(--a-primary); }
.button:disabled, .button.disabled, button:disabled { opacity: .55; cursor: not-allowed; }

/* ── Utilities ────────────────────────────────────────────────────────── */
.assly-container {
	width: 100%;
	max-width: var(--a-container);
	margin-inline: auto;
	padding-inline: var(--a-gutter);
}
.assly-narrow { max-width: 900px; }
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	word-wrap: normal !important;
}
.skip-link:focus {
	position: fixed !important;
	inset-block-start: 8px; inset-inline-start: 8px;
	z-index: 100000;
	width: auto; height: auto;
	clip: auto; clip-path: none;
	padding: 10px 16px;
	background: #fff;
	color: var(--a-primary);
	border-radius: 6px;
	box-shadow: var(--a-shadow);
}
.hide, .hidden { display: none !important; }
.alignleft { float: inline-start; margin-inline-end: 1.5em; }
.alignright { float: inline-end; margin-inline-start: 1.5em; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption-text, figcaption { font-size: .85em; color: var(--a-muted); }

/* ── Top bar ──────────────────────────────────────────────────────────── */
.ah-top-bar { background: var(--a-primary); color: #fff; font-size: 13px; }
.ah-top-bar-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; padding-block: 6px; }
.ah-top-bar-contact, .ah-top-bar-links { display: flex; align-items: center; gap: 18px; }
.ah-top-bar-trust { flex: 1; min-width: 0; display: flex; justify-content: center; color: rgba(255, 255, 255, .9); }
.ah-top-bar-link { display: inline-flex; align-items: center; gap: 6px; color: #fff; white-space: nowrap; }
.ah-top-bar-link:hover { color: #ffd9b3; }
.ah-top-bar-link i { font-size: 14px; }
.ah-top-bar-btn { display: inline-flex; align-items: center; padding: 4px 14px; border-radius: 5px; background: var(--a-accent); color: #fff; font-weight: 600; white-space: nowrap; transition: background .15s ease, transform .15s ease; }
.ah-top-bar-btn:hover { background: var(--a-accent-dark); color: #fff; transform: translateY(-1px); }
.ah-top-bar-ticker { position: relative; min-height: 20px; overflow: hidden; }
.ah-top-bar-ticker .ah-tick {
	position: absolute; inset-inline: 0; inset-block-start: 50%;
	transform: translateY(-50%);
	display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	white-space: nowrap; opacity: 0; visibility: hidden;
	transition: opacity .5s ease, visibility .5s ease;
}
.ah-top-bar-ticker .ah-tick.is-active { opacity: 1; visibility: visible; }
@media (max-width: 549px) {
	.ah-top-bar { font-size: 12px; }
	.ah-top-bar-row { gap: 0; padding-inline: 11px; }
	.ah-top-bar-contact, .ah-top-bar-links .ah-top-bar-link { display: none; }
	.ah-top-bar-links { gap: 0; flex-shrink: 0; }
	.ah-top-bar-ticker .ah-tick { justify-content: flex-start; }
	.ah-top-bar-btn { padding: 4px 12px; font-size: 12px; }
}

/* ── Header ───────────────────────────────────────────────────────────── */
.assly-header {
	position: sticky;
	inset-block-start: 0;
	z-index: 80;
	background: #fff;
	border-block-end: 1px solid var(--a-border);
	transition: box-shadow .2s ease;
}
.admin-bar .assly-header { inset-block-start: 32px; }
@media (max-width: 782px) { .admin-bar .assly-header { inset-block-start: 0; } }
.assly-header.is-stuck { box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px -12px rgba(16, 24, 40, .16); }

.assly-header__row { display: flex; align-items: center; gap: 18px; min-height: 68px; }
.assly-header__logo { flex-shrink: 0; display: flex; align-items: center; align-self: stretch; line-height: 0; }
.assly-header__logo .assly-logo { display: flex; align-items: center; height: 100%; }
.assly-header__logo .assly-logo__img { display: block; margin-block: 0; }
.assly-logo { display: inline-flex; align-items: center; }
.assly-logo__img { width: 150px; height: auto; max-height: 56px; object-fit: contain; }
.assly-logo--text { font-size: 22px; font-weight: 800; letter-spacing: .02em; color: var(--a-dark); }
.assly-header__search { flex: 1; max-width: none; margin-inline: 24px; }
.assly-header__actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }

.assly-hicon {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; min-height: 0; padding: 0;
	border: 0; border-radius: 50%;
	background: transparent;
	color: var(--a-dark);
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.assly-hicon:hover { background: var(--a-soft); color: var(--a-primary); }
.assly-header__menu-btn { display: none; }

.assly-cart__count {
	position: absolute;
	inset-block-start: 3px; inset-inline-end: 1px;
	min-width: 19px; height: 19px; padding: 0 5px;
	border-radius: 999px;
	background: var(--a-accent);
	color: #fff;
	font-size: 11px; font-weight: 700; line-height: 19px; text-align: center;
}
.assly-cart__count.is-empty { display: none; }
.header-cart-icon { display: inline-flex; }
.header-cart-icon.pdp-bump { animation: assly-bump .45s ease; }
@keyframes assly-bump { 30% { transform: scale(1.25); } 60% { transform: scale(.92); } }

/* Live-search field (panel/results styles come from inc/live-search.php). */
.ah-search { position: relative; display: flex; align-items: center; width: 100%; margin: 0; }
[dir="rtl"] .ah-search-ico { left: auto; right: 16px; }
[dir="rtl"] .ah-search input.ah-search-input { padding: 0 42px 0 40px !important; }
[dir="rtl"] .ah-search button.ah-search-clear { right: auto; left: 11px; }
[dir="rtl"] .ah-search-spin { right: auto; left: 14px; }

.assly-header__search-mobile { display: none; padding-block-end: 10px; }

/* Optional desktop menu (only if a menu is assigned to "Menu principal"). */
.assly-primary-nav { border-block-start: 1px solid #eaecf0; }
.assly-primary-nav .assly-menu { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin-block: 0; }
.assly-primary-nav .assly-menu > li { position: relative; }
.assly-primary-nav .assly-menu > li > a { display: block; padding: 12px 14px; color: var(--a-dark); font-weight: 600; font-size: 14px; }
.assly-primary-nav .assly-menu > li > a:hover,
.assly-primary-nav .current-menu-item > a { color: var(--a-primary); }
.assly-primary-nav .sub-menu {
	position: absolute; inset-block-start: 100%; inset-inline-start: 0; z-index: 90;
	min-width: 220px; margin: 0; padding: 8px; list-style: none;
	background: #fff; border: 1px solid var(--a-border); border-radius: var(--a-radius);
	box-shadow: var(--a-shadow);
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.assly-primary-nav li:hover > .sub-menu,
.assly-primary-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.assly-primary-nav .sub-menu a { display: block; padding: 8px 10px; border-radius: 6px; color: var(--a-text); font-size: 14px; }
.assly-primary-nav .sub-menu a:hover { background: var(--a-soft); color: var(--a-primary); }

/* Mega menu RTL (its LTR styles come from inc/mega-menu.php). */
[dir="rtl"] .ah-mega-drop { left: auto; right: 0; }
[dir="rtl"] .ah-mega-item:nth-last-child(-n+3) .ah-mega-drop { right: auto; left: 0; }
[dir="rtl"] .ah-mega-drop-feat { border-left: 0; padding-left: 0; border-right: 1px solid #eaecf0; padding-right: 20px; }

@media (max-width: 849px) {
	/* Menu | centred logo | icons */
	.assly-header__row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 50px; gap: 6px; }
	.assly-header__menu-btn { display: inline-flex; justify-self: start; margin-inline-start: -8px; }
	.assly-header__logo { flex: none; justify-self: center; }
	.assly-header__logo .assly-logo { justify-content: center; }
	.assly-header__actions { justify-self: end; }
	.assly-logo__img { width: 110px; }
	.assly-header__search { display: none; }
	.assly-header__search-mobile { display: block; }
	.assly-header__account { display: none; }
	.assly-primary-nav { display: none; }
	.ah-search input.ah-search-input { height: 38px !important; min-height: 38px !important; line-height: 38px !important; font-size: 16px; }
	.assly-header__search-mobile { padding-block-end: 6px; }
	.assly-header .assly-hicon { width: 40px; height: 40px; }
	.assly-logo__img { width: 110px; }
	.ah-search-panel { max-height: 60vh; }
}

/* ── Mobile drawer ────────────────────────────────────────────────────── */
.assly-drawer { position: fixed; inset: 0; z-index: 100000; }
.assly-drawer[hidden] { display: none; }
.assly-drawer__overlay { position: absolute; inset: 0; background: rgba(15, 20, 22, .5); opacity: 0; transition: opacity .25s ease; }
.assly-drawer__panel {
	position: absolute; inset-block: 0; inset-inline-start: 0;
	display: flex; flex-direction: column;
	width: min(86vw, 360px);
	background: #fff;
	box-shadow: 0 0 40px rgba(0, 0, 0, .2);
	transform: translateX(-100%);
	transition: transform .28s cubic-bezier(.22, .61, .36, 1);
	outline: none;
}
[dir="rtl"] .assly-drawer__panel { transform: translateX(100%); }
.assly-drawer.is-open .assly-drawer__overlay { opacity: 1; }
.assly-drawer.is-open .assly-drawer__panel { transform: none; }
.assly-drawer__head { display: flex; align-items: center; justify-content: space-between; padding-block: 10px; padding-inline: 16px 12px; border-block-end: 1px solid var(--a-border); }
.assly-drawer__head .assly-logo__img { width: 135px; }
.assly-drawer__nav { flex: 1; overflow-y: auto; padding: 8px 0; -webkit-overflow-scrolling: touch; }
.assly-menu--drawer { list-style: none; margin: 0; padding: 0; }
.assly-menu--drawer li { position: relative; }
.assly-menu--drawer a { display: block; padding-block: 12px; padding-inline: 18px 50px; color: var(--a-dark); font-weight: 600; font-size: 15px; border-block-end: 1px solid #f3f3f3; }
.assly-menu--drawer .current-menu-item > a { color: var(--a-primary); }
.assly-menu--drawer .sub-menu { display: none; list-style: none; margin: 0; padding: 0; background: var(--a-soft); }
.assly-menu--drawer .sub-menu a { padding-inline-start: 32px; font-weight: 500; font-size: 14px; }
.assly-menu--drawer li.is-open > .sub-menu { display: block; }
.assly-submenu-toggle {
	position: absolute; inset-block-start: 0; inset-inline-end: 0;
	width: 50px; height: 48px; min-height: 0; padding: 0; border: 0; background: transparent;
	color: var(--a-muted); cursor: pointer;
	display: flex; align-items: center; justify-content: center;
}
.assly-submenu-toggle svg { transition: transform .2s ease; transform: rotate(90deg); }
.is-open > .assly-submenu-toggle svg { transform: rotate(-90deg); }
.assly-drawer__foot { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 20px; border-block-start: 1px solid var(--a-border); }
.assly-drawer__link { display: flex; align-items: center; gap: 10px; padding: 8px 2px; color: var(--a-dark); font-weight: 600; }
.assly-drawer__cta { margin-block-start: 8px; width: 100%; }
html.assly-lock, html.assly-lock body { overflow: hidden; }

/* ── Content ──────────────────────────────────────────────────────────── */
.assly-main { display: block; min-height: 40vh; }
.assly-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; padding-block: 32px 56px; }
.has-sidebar .assly-layout { grid-template-columns: minmax(0, 1fr) 300px; }
@media (max-width: 991px) { .has-sidebar .assly-layout { grid-template-columns: minmax(0, 1fr); } }
.assly-page-header { margin-block-end: 28px; }
.assly-page-title { margin: 0; }
.assly-archive-desc { color: var(--a-muted); margin-block-start: 8px; }

.assly-entry { padding-block: 32px 56px; }
.assly-entry--page, .assly-entry--center { padding-block: 36px 60px; }
.assly-entry__header { margin-block-end: 24px; }
.assly-entry--center .assly-entry__header { text-align: center; }
.assly-entry__title { margin: 0 0 .3em; }
.assly-entry__meta { color: var(--a-muted); font-size: .9em; }
.assly-divider { width: 60px; height: 3px; margin: 14px auto 0; background: var(--a-accent); border-radius: 2px; }
.assly-entry__thumb { margin: 0 0 28px; }
.assly-entry__thumb img { width: 100%; border-radius: var(--a-radius-lg); }
.entry-content > *:last-child { margin-block-end: 0; }
.entry-content img { border-radius: var(--a-radius); }
.entry-content p a, .entry-content li a { text-decoration: underline; text-underline-offset: 2px; }
.assly-entry__tags a { display: inline-block; margin-block-end: 6px; margin-inline-end: 4px; padding: 3px 10px; border-radius: 999px; background: var(--a-soft); font-size: 13px; }

.assly-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.assly-card { display: flex; flex-direction: column; border: 1px solid var(--a-border); border-radius: var(--a-radius-lg); overflow: hidden; background: #fff; transition: box-shadow .2s ease, transform .2s ease; }
.assly-card:hover { box-shadow: var(--a-shadow); transform: translateY(-2px); }
.assly-card__thumb img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.assly-card__body { padding: 16px 18px 20px; }
.assly-card__title { font-size: 1.1rem; margin: 0 0 6px; }
.assly-card__title a { color: var(--a-dark); }
.assly-card__title a:hover { color: var(--a-primary); }
.assly-card__meta { font-size: 13px; color: var(--a-muted); margin-block-end: 8px; }
.assly-card__excerpt p { margin: 0; color: var(--a-muted); font-size: 14px; }

.assly-pagination, .navigation.pagination { margin-block-start: 36px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border: 1px solid var(--a-border); border-radius: 6px; color: var(--a-dark); font-weight: 600; }
.nav-links .page-numbers.current, .nav-links a.page-numbers:hover { background: var(--a-primary); border-color: var(--a-primary); color: #fff; }
.post-navigation .nav-links { justify-content: space-between; gap: 20px; margin-block-start: 40px; }
.post-navigation .nav-subtitle { display: block; font-size: 12px; color: var(--a-muted); text-transform: uppercase; letter-spacing: .05em; }

.assly-sidebar .widget { margin-block-end: 32px; }
.widget-title { font-size: 1rem; text-transform: uppercase; letter-spacing: .05em; padding-block-end: 10px; border-block-end: 1px solid var(--a-border); }
.widget ul { list-style: none; padding: 0; }
.widget li { padding-block: 5px; }
.assly-searchform { display: flex; gap: 8px; }
.assly-searchform input { flex: 1; }

.assly-404 { padding-block: 60px 80px; text-align: center; max-width: 720px; }
.assly-404__code { font-size: clamp(64px, 12vw, 120px); font-weight: 800; line-height: 1; color: var(--a-primary); opacity: .15; margin: 0; }
.assly-404__search { max-width: 560px; margin: 20px auto; text-align: start; }
.assly-404__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.assly-landing .assly-main { min-height: 100vh; }

/* ── Breadcrumb ───────────────────────────────────────────────────────── */
.assly-breadcrumb, .woocommerce .woocommerce-breadcrumb { margin: 0 0 1em; font-size: 13px; color: var(--a-muted); }
.assly-breadcrumb a, .woocommerce .woocommerce-breadcrumb a { color: var(--a-muted); }
.assly-breadcrumb a:hover, .woocommerce .woocommerce-breadcrumb a:hover { color: var(--a-primary); }
.assly-breadcrumb__sep { display: inline-flex; align-items: center; margin-inline: 6px; vertical-align: middle; opacity: .55; }
.assly-breadcrumb__sep svg { display: block; }
[dir="rtl"] .assly-breadcrumb__sep svg { transform: scaleX(-1); }

/* ── WooCommerce (generic pages; shop & product templates carry their own CSS) ── */
.assly-wc { padding-block: 28px 56px; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-top-color: var(--a-primary);
	border-radius: var(--a-radius);
	background: #f3f8fa;
}
.woocommerce-error { border-top-color: var(--a-danger); background: #fdf3f4; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--a-primary); }
.woocommerce-message .button, .woocommerce-info .button { min-height: 36px; padding-block: .4em; }

/* Core product loops (related, upsells, cross-sells, shortcodes): CSS grid instead of floats. */
.woocommerce ul.products:not(.minimal-shop-page__grid),
.woocommerce-page ul.products:not(.minimal-shop-page__grid) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 16px;
	margin: 0 0 1.5em;
	padding: 0;
}
@media (min-width: 640px) { .woocommerce ul.products:not(.minimal-shop-page__grid), .woocommerce-page ul.products:not(.minimal-shop-page__grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 992px) {
	.woocommerce ul.products:not(.minimal-shop-page__grid).columns-4, .woocommerce-page ul.products:not(.minimal-shop-page__grid).columns-4,
	.woocommerce ul.products:not(.minimal-shop-page__grid).columns-5, .woocommerce ul.products:not(.minimal-shop-page__grid).columns-6 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.woocommerce ul.products:not(.minimal-shop-page__grid)::before, .woocommerce ul.products:not(.minimal-shop-page__grid)::after { display: none !important; }
.woocommerce ul.products:not(.minimal-shop-page__grid) li.product,
.woocommerce-page ul.products:not(.minimal-shop-page__grid) li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	padding: 10px;
	border: 1px solid var(--a-border);
	border-radius: var(--a-radius-lg);
	background: #fff;
	transition: box-shadow .2s ease, border-color .2s ease;
}
.woocommerce ul.products:not(.minimal-shop-page__grid) li.product:hover { border-color: #d5dde0; box-shadow: var(--a-shadow); }
.woocommerce ul.products:not(.minimal-shop-page__grid) li.product a img { margin: 0 0 10px; aspect-ratio: 1; object-fit: contain; border-radius: var(--a-radius); background: #fff; }
.woocommerce ul.products:not(.minimal-shop-page__grid) li.product .woocommerce-loop-product__title { padding: 0; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--a-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.woocommerce ul.products:not(.minimal-shop-page__grid) li.product .price { color: var(--a-primary); font-weight: 700; font-size: 15px; }
.woocommerce ul.products:not(.minimal-shop-page__grid) li.product .button:not(.assly-atc) { margin-block-start: auto; width: 100%; min-height: 40px; font-size: 14px; }
.woocommerce span.onsale { background: var(--a-accent); min-height: 0; min-width: 0; padding: 4px 10px; line-height: 1.4; border-radius: 999px; font-size: 12px; }
.woocommerce .price del { color: var(--a-muted); font-weight: 400; opacity: .8; }
.woocommerce .price ins { text-decoration: none; }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: #f5a623; }

/* Fast Shop grid: neutralise what woocommerce.css still applies to ul.products. */
.minimal-shop-page ul.products.minimal-shop-page__grid { margin: 0; padding: 0; list-style: none; clear: none; }
.minimal-shop-page ul.products.minimal-shop-page__grid::before,
.minimal-shop-page ul.products.minimal-shop-page__grid::after { content: none !important; display: none !important; }
.minimal-shop-page ul.products.minimal-shop-page__grid > li.product { float: none; width: auto; clear: none; margin: 0; }
.minimal-shop-page ul.products.minimal-shop-page__grid li.product a img { margin: 0; }
.minimal-shop-page ul.products.minimal-shop-page__grid li.product .onsale { margin: 0; }

/* Fast Shop controls were designed without the theme's 44px form defaults. */
.minimal-shop-page input:not([type="checkbox"]):not([type="radio"]),
.minimal-shop-page select { min-height: 0; }
.minimal-shop-page .minimal-shop-toolbar__sort select { width: auto; max-width: 100%; }
.minimal-shop-page .minimal-price-range input[type="number"] { height: auto; border-radius: 0; }
.minimal-shop-page label { margin: 0; font-size: inherit; }

/* Catalog pagination (woocommerce/loop/pagination.php emits .page-number). */
.woocommerce-pagination { margin-block: 30px 10px; text-align: center; }
.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination ul.page-numbers { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-pagination ul.page-numbers li { border: 0 !important; overflow: visible; }
.woocommerce-pagination .page-number { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border: 1px solid var(--a-border); border-radius: 6px; color: var(--a-dark); font-weight: 600; }
.woocommerce-pagination .page-number.current, .woocommerce-pagination a.page-number:hover { background: var(--a-primary); border-color: var(--a-primary); color: #fff; }

/* Default single-product layout (?layout=default) + shared bits. */
.woocommerce div.product .product_title { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--a-primary); font-size: 1.5rem; font-weight: 700; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart .button { float: none; min-height: 46px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-inline-start: 0; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-block-start: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px !important; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 6px; border: 1px solid var(--a-border); opacity: .7; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--a-primary); }

/* Custom product page (woocommerce/single-product-custom.php) runs on WooCommerce's
   core gallery here (Flatsome had its own) — let it fill its grid column. */
.custom-pdp .woocommerce-product-gallery,
.woocommerce .custom-pdp div.images,
.woocommerce .custom-pdp div.product div.images { float: none !important; width: 100% !important; margin: 0 !important; }
.custom-pdp .woocommerce-product-gallery__trigger { z-index: 11; inset-block-start: 56px !important; }
.custom-pdp .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; }

/* Quantity dropdown (woocommerce/global/quantity-input.php) outside the custom PDP. */
.qty-select-wrapper { display: inline-block; flex-shrink: 0; vertical-align: middle; position: relative; }
.qty-select-wrapper .qty-select { min-width: 4.5em; min-height: 46px; width: auto; font-weight: 600; cursor: pointer; background-color: #f9f9f9; }
.qty-select-wrapper .qty-select:hover { background-color: #fff; border-color: var(--a-primary); }

.custom_availability { display: inline-flex; align-items: center; gap: .5em; margin: .5em 0 1em; padding: .35em .9em; border-radius: 999px; font-size: .9em; font-weight: 600; }
.custom_availability .availability-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.custom_availability.in-stock { background: rgba(64, 177, 1, .1); color: var(--a-success); }
.custom_availability.out-of-stock { background: rgba(210, 9, 43, .1); color: var(--a-danger); }
.product-widget { margin: 1em 0; }
.product-widget ul { margin: 0; padding-inline-start: 1.2em; }

/* AJAX add-to-cart toast (used when the page has no toast of its own). */
.assly-toast {
	position: fixed; inset-block-end: 20px; left: 50%; z-index: 99999;
	display: flex; align-items: center; gap: 14px;
	padding: 12px 18px; border-radius: 6px;
	background: var(--a-dark); color: #fff; font-weight: 600; font-size: 14px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
	transform: translate(-50%, 30px); opacity: 0; visibility: hidden;
	transition: transform .25s ease, opacity .25s ease, visibility .25s;
}
.assly-toast.is-visible { transform: translate(-50%, 0); opacity: 1; visibility: visible; }
.assly-toast a { color: #ffb466; text-decoration: underline; }
form.cart .single_add_to_cart_button.loading { opacity: .7; pointer-events: none; }

/* Cart, checkout, account (WooCommerce core + blocks). */
.woocommerce table.shop_table { border-radius: var(--a-radius-lg); border-color: var(--a-border); }
.woocommerce table.shop_table th { font-weight: 700; }
.woocommerce form .form-row { margin-block-end: 14px; }
.woocommerce form .form-row .required { color: var(--a-danger); text-decoration: none; }
.woocommerce-checkout #payment { border-radius: var(--a-radius-lg); background: var(--a-soft); }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: var(--a-radius); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce #place_order { width: 100%; min-height: 52px; font-size: 17px; }
.select2-container .select2-selection--single { height: 44px; border-color: #d0d5dd; border-radius: 6px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px; padding-inline-start: 12px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--a-border); border-radius: var(--a-radius-lg); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; color: var(--a-dark); font-weight: 600; border-block-end: 1px solid var(--a-border); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-block-end: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #f3f8fa; color: var(--a-primary); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { margin-block-end: 40px; }
.assly-shop-sidebar { font-size: 14px; }

/* ── Order steps (cart + checkout) ───────────────────────────────────── */
.fsc-progress { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 540px; margin: 0 auto 22px; padding: 0; list-style: none; counter-reset: none; }
.fsc-progress__step,
.fsc-progress__step a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; padding: 0; text-align: center; color: var(--a-muted); font-size: 12.5px; font-weight: 600; line-height: 1.25; list-style: none; }
.fsc-progress__step a { color: inherit; }
/* Connector line between the dots */
.fsc-progress__step:not(:last-child)::after {
	content: ""; position: absolute; top: 13px; inset-inline-start: calc(50% + 20px); inset-inline-end: calc(-50% + 20px);
	height: 2px; border-radius: 2px; background: var(--a-border);
}
.fsc-progress__step.is-done::after { background: var(--a-success); }
.fsc-progress__dot {
	display: inline-flex; align-items: center; justify-content: center; flex: none; box-sizing: border-box;
	width: 28px; height: 28px; border: 2px solid var(--a-line-strong); border-radius: 50%;
	background: #fff; color: var(--a-muted); font-size: 12.5px; font-weight: 800; line-height: 1;
}
.fsc-progress__dot svg { display: block; width: 14px; height: 14px; }
.fsc-progress__step.is-done { color: var(--a-success); }
.fsc-progress__step.is-done .fsc-progress__dot { border-color: var(--a-success); background: var(--a-success); color: #fff; }
.fsc-progress__step.is-done a:hover { color: var(--a-primary); }
.fsc-progress__step.is-active { color: var(--a-dark); font-weight: 700; }
.fsc-progress__step.is-active .fsc-progress__dot { border-color: var(--a-primary); background: var(--a-primary); color: #fff; box-shadow: 0 0 0 4px rgba(0, 93, 124, .14); }
@media (max-width: 540px) {
	.fsc-progress { width: 100%; max-width: none; gap: 0; margin: 0 0 10px; padding: 12px 4px 10px; border: 1px solid var(--a-border); border-radius: var(--a-radius); background: #fff; }
	.fsc-progress__step, .fsc-progress__step a { gap: 6px; padding-inline: 2px; font-size: 11.5px; line-height: 1.2; }
	.fsc-progress__dot { width: 28px; height: 28px; font-size: 12.5px; border-width: 2px; }
	.fsc-progress__dot svg { width: 13px; height: 13px; }
	.fsc-progress__step:not(:last-child)::after { top: 13px; height: 2px; inset-inline-start: calc(50% + 20px); inset-inline-end: calc(-50% + 20px); }
	.fsc-progress__step.is-active .fsc-progress__dot { box-shadow: 0 0 0 3px rgba(0, 93, 124, .15); }
	.fsc-progress__step > a { padding-inline: 0; }
}


/* ── Footer (ported from flatsome-child/footer.php) ───────────────────── */
.fs-custom-footer {
	--fc-bg: #005d7c;
	--fc-bg-dark: #004a63;
	--fc-text: rgba(255,255,255,0.9);
	--fc-muted: rgba(255,255,255,0.6);
	--fc-border: rgba(255,255,255,0.12);
	--fc-accent: #e77103;
	--fc-radius: 8px;
	background: var(--fc-bg);
	color: var(--fc-text);
	font-size: 14px;
	line-height: 1.6;
}

.fs-footer-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ── Form section ── */
.fs-footer-form {
	background: var(--fc-bg-dark);
	border-bottom: 1px solid var(--fc-border);
	padding: 40px 0;
}

.fs-footer-form__header {
	text-align: center;
	margin-bottom: 28px;
}

.fs-footer-form__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(255,255,255,0.1);
	color: var(--fc-accent);
	margin-bottom: 16px;
}

.fs-footer-form__title {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 10px;
	line-height: 1.3;
}

.fs-footer-form__desc {
	color: var(--fc-muted);
	font-size: 14px;
	max-width: 500px;
	margin: 0 auto;
	line-height: 1.7;
}

.fs-footer-form .fs-footer-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.fs-footer-form .wpforms-container {
	width: 100% !important;
	max-width: 560px !important;
	margin: 0 auto !important;
}

#wpforms-form-21200 {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
}

#wpforms-form-21200 .wpforms-field-container {
	width: 100%;
}

#wpforms-form-21200 .wpforms-submit-container {
	width: 100%;
	display: flex !important;
	justify-content: center !important;
	padding: 0 !important;
}

.fs-footer-form .wpforms-field input,
.fs-footer-form .wpforms-field textarea,
.fs-footer-form .wpforms-field select {
	background: rgba(255,255,255,0.08) !important;
	border: 1px solid var(--fc-border) !important;
	color: #fff !important;
	border-radius: var(--fc-radius) !important;
}

.fs-footer-form .wpforms-field input::placeholder,
.fs-footer-form .wpforms-field textarea::placeholder {
	color: var(--fc-muted) !important;
}

.fs-footer-form .wpforms-field input:focus,
.fs-footer-form .wpforms-field textarea:focus {
	border-color: rgba(255,255,255,0.4) !important;
	outline: none !important;
	box-shadow: none !important;
}

.fs-footer-form .wpforms-field label {
	color: var(--fc-muted) !important;
	font-size: 13px !important;
}

.fs-footer-form .wpforms-submit-container .wpforms-submit {
	background: var(--fc-accent) !important;
	border-color: var(--fc-accent) !important;
	color: #fff !important;
	border-radius: var(--fc-radius) !important;
	font-weight: 600 !important;
	transition: opacity 0.2s !important;
}

.fs-footer-form .wpforms-submit-container .wpforms-submit:hover {
	opacity: 0.88 !important;
}

.fs-footer-form .wpforms-form .wpforms-title,
.fs-footer-form .wpforms-form .wpforms-description {
	color: #fff !important;
	text-align: center;
}

/* ── Top section ── */
.fs-footer-top {
	padding: 60px 0 48px;
}

.fs-footer-top .fs-footer-inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.1fr;
	gap: 36px;
}

/* ── Brand column ── */
.fs-footer-logo {
	display: inline-block;
	margin-bottom: 16px;
	text-decoration: none;
}

.fs-footer-logo img {
	max-height: 48px;
	width: auto;
	filter: brightness(0) invert(1);
}

.fs-footer-site-name {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.5px;
}

.fs-footer-desc {
	color: var(--fc-muted);
	margin: 0 0 20px;
	max-width: 280px;
	font-size: 13.5px;
}

.fs-footer-badges {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.fs-footer-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--fc-muted);
}

.fs-footer-badge svg {
	flex-shrink: 0;
	color: var(--fc-accent);
}

/* ── Headings ── */
.fs-footer-heading {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: #fff;
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--fc-border);
}

.fs-footer-heading--social {
	margin-top: 28px;
}

/* ── Nav links ── */
.fs-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.fs-footer-links li {
	margin: 0;
}

.fs-footer-links li a {
	color: var(--fc-muted);
	text-decoration: none;
	transition: color 0.2s, padding-left 0.2s;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.fs-footer-links li a:hover {
	color: #fff;
	padding-left: 4px;
}

.fs-footer-links li a::before {
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--fc-accent);
	flex-shrink: 0;
}

/* ── City blocks ── */
.fs-footer-city {
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--fc-border);
}

.fs-footer-city:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}

.fs-footer-city__name {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: 13px;
	color: var(--fc-accent);
	text-transform: uppercase;
	letter-spacing: 0.8px;
	margin-bottom: 6px;
}

.fs-footer-city__name svg {
	flex-shrink: 0;
}

.fs-footer-city__addr {
	color: var(--fc-muted);
	font-size: 12.5px;
	margin: 0 0 5px;
	line-height: 1.5;
}

.fs-footer-city__email,
.fs-footer-city__tel {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--fc-muted);
	font-size: 12.5px;
	text-decoration: none;
	transition: color 0.2s;
}

.fs-footer-city__email svg,
.fs-footer-city__tel svg {
	flex-shrink: 0;
	color: var(--fc-accent);
}

.fs-footer-city__email:hover,
.fs-footer-city__tel:hover {
	color: #fff;
}

/* ── Contact ── */
.fs-footer-contact {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.fs-footer-contact li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--fc-muted);
}

.fs-footer-contact svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--fc-accent);
}

.fs-footer-contact a {
	color: var(--fc-muted);
	text-decoration: none;
	transition: color 0.2s;
}

.fs-footer-contact a:hover {
	color: #fff;
}

/* ── Social icons ── */
.fs-footer-social {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.fs-footer-social__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--fc-border);
	color: #fff;
	text-decoration: none;
	transition: background 0.2s, transform 0.2s;
	border: 1px solid rgba(255,255,255,0.15);
}

.fs-footer-social__icon:hover {
	transform: translateY(-3px);
}

.fs-footer-social__icon--fb:hover  { background: #1877F2; border-color: #1877F2; }
.fs-footer-social__icon--wa:hover  { background: #25D366; border-color: #25D366; }
.fs-footer-social__icon--tk:hover  { background: #000; border-color: #000; }

/* ── Bottom bar ── */
.fs-footer-bottom {
	background: var(--fc-bg-dark);
	border-top: 1px solid var(--fc-border);
	padding: 16px 0;
}

.fs-footer-bottom .fs-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.fs-footer-copy,
.fs-footer-payment {
	margin: 0;
	font-size: 13px;
	color: var(--fc-muted);
}

.fs-footer-copy a {
	color: var(--fc-muted);
	text-decoration: none;
}

.fs-footer-copy a:hover {
	color: #fff;
}

.fs-footer-payment {
	display: flex;
	align-items: center;
	gap: 6px;
}

.fs-footer-payment svg {
	color: #4caf50;
}

/* ── RTL ── */
[dir="rtl"] .fs-custom-footer {
	direction: rtl;
	text-align: right;
}

[dir="rtl"] .fs-footer-links li a:hover {
	padding-left: 0;
	padding-right: 4px;
}

[dir="rtl"] .fs-footer-links li a::before {
	margin-left: 0;
	margin-right: 0;
}

[dir="rtl"] .fs-footer-city__name,
[dir="rtl"] .fs-footer-city__email,
[dir="rtl"] .fs-footer-city__tel,
[dir="rtl"] .fs-footer-badge,
[dir="rtl"] .fs-footer-social,
[dir="rtl"] .fs-footer-bottom .fs-footer-inner,
[dir="rtl"] .fs-footer-form__header {
	direction: rtl;
}

[dir="rtl"] .fs-footer-contact li {
	direction: rtl;
}

[dir="rtl"] .fs-footer-payment {
	flex-direction: row-reverse;
}

[dir="rtl"] .fs-footer-logo {
	text-align: right;
}

[dir="rtl"] .fs-footer-form__header {
	text-align: center;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
	.fs-footer-top .fs-footer-inner {
		grid-template-columns: 1fr 1fr;
		gap: 36px;
	}
	.fs-footer-col--brand {
		grid-column: 1 / -1;
	}
	.fs-footer-desc {
		max-width: 100%;
	}
}

@media (max-width: 580px) {
	.fs-footer-top {
		padding: 40px 0 32px;
	}
	.fs-footer-top .fs-footer-inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.fs-footer-badges {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.fs-footer-bottom .fs-footer-inner {
		flex-direction: column;
		text-align: center;
	}
}

/* ── Icon add-to-cart on product cards ────────────────────────────────── */
.assly-atc { gap: 8px; }
.assly-atc__icon { flex-shrink: 0; }

/* Shop grid (Fast Shop / Minimal Shop cards): square icon button.
   Selectors are deliberately strong: WooCommerce's `.woocommerce a.button`
   (+ .loading/.added pseudo-icons) and fast-shop.css both style this link. */
body .minimal-shop-page .minimal-shop__action a.button.assly-atc,
body .minimal-shop__action a.button.assly-atc {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; min-width: 42px; min-height: 0;
	margin: 0; padding: 0;
	border: 1.5px solid var(--a-primary); border-radius: 6px;
	background: #fff; color: var(--a-primary);
	font-size: 0; line-height: 0; opacity: 1;
	box-shadow: none; text-decoration: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
body .minimal-shop__action a.button.assly-atc::before,
body .minimal-shop__action a.button.assly-atc::after { content: none !important; display: none !important; }
body .minimal-shop__action a.button.assly-atc:hover,
body .minimal-shop__action a.button.assly-atc:focus-visible { background: var(--a-primary); color: #fff; transform: translateY(-1px); }
body .minimal-shop__action a.button.assly-atc .assly-atc__icon { display: block; width: 20px; height: 20px; }
body .minimal-shop__action a.button.assly-atc .assly-atc__label {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
body .minimal-shop__action a.button.assly-atc.loading { opacity: .65; pointer-events: none; padding: 0; }
body .minimal-shop__action a.button.assly-atc.loading .assly-atc__icon { animation: assly-spin .7s linear infinite; }
body .minimal-shop__action a.button.assly-atc.added { background: var(--a-success); border-color: var(--a-success); color: #fff; }
body .minimal-shop__action .added_to_cart { display: none !important; }
@keyframes assly-spin { to { transform: rotate(360deg); } }

/* Other loops ("Produits similaires", upsells, cart cross-sells): same square
   cart icon as the shop grid, sitting at the end of the price line. */
.woocommerce ul.products:not(.minimal-shop-page__grid) li.product .price {
	display: flex; align-items: center; flex-wrap: wrap; gap: 0 6px;
	min-height: 42px; margin: 6px 0 0; padding-inline-end: 50px;
}
body .woocommerce ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc,
body.woocommerce ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc,
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc {
	position: relative;
	align-self: flex-end;
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; min-width: 42px; min-height: 0;
	margin: -42px 0 0; padding: 0;
	border: 1.5px solid var(--a-primary); border-radius: 6px;
	background: #fff; color: var(--a-primary);
	font-size: 0; line-height: 0; opacity: 1; box-shadow: none;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc::before,
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc::after { content: none !important; display: none !important; }
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc:hover { background: var(--a-primary); color: #fff; }
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc .assly-atc__icon { display: block; width: 20px; height: 20px; }
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc .assly-atc__label {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc.loading { opacity: .65; pointer-events: none; padding: 0; }
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc.loading .assly-atc__icon { animation: assly-spin .7s linear infinite; }
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc.added { background: var(--a-success); border-color: var(--a-success); color: #fff; }
.woocommerce ul.products li.product .added_to_cart { display: none; }

/* ── Mini-cart drawer ─────────────────────────────────────────────────── */
.assly-minicart { position: fixed; inset: 0; z-index: 100001; }
.assly-minicart[hidden] { display: none; }
.assly-minicart__overlay { position: absolute; inset: 0; background: rgba(15, 20, 22, .5); opacity: 0; transition: opacity .25s ease; }
.assly-minicart__panel {
	position: absolute; inset-block: 0; inset-inline-end: 0;
	display: flex; flex-direction: column;
	width: min(92vw, 420px);
	background: #fff; box-shadow: 0 0 40px rgba(0, 0, 0, .2);
	transform: translateX(100%);
	transition: transform .3s cubic-bezier(.22, .61, .36, 1);
	outline: none;
}
[dir="rtl"] .assly-minicart__panel { transform: translateX(-100%); }
.assly-minicart.is-open .assly-minicart__overlay { opacity: 1; }
.assly-minicart.is-open .assly-minicart__panel { transform: none; }
.assly-minicart__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-block: 12px; padding-inline: 20px 12px; border-block-end: 1px solid var(--a-border); }
.assly-minicart__title { display: flex; align-items: baseline; gap: 8px; margin: 0; font-size: 1.15rem; }
.assly-minicart__count { font-size: 13px; font-weight: 500; color: var(--a-muted); }
.assly-minicart__added { display: none; align-items: center; gap: 8px; padding: 10px 20px; background: #f3faef; color: #226b00; font-size: 14px; font-weight: 600; border-block-end: 1px solid #d9eccf; }
.assly-minicart.just-added .assly-minicart__added { display: flex; }
.assly-minicart__body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.assly-minicart .widget_shopping_cart_content { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.assly-minicart.is-loading .widget_shopping_cart_content { opacity: .5; pointer-events: none; }

.assly-minicart ul.woocommerce-mini-cart { flex: 1; overflow-y: auto; margin: 0; padding: 4px 20px; list-style: none; -webkit-overflow-scrolling: touch; }
.woocommerce.assly-minicart ul.woocommerce-mini-cart li.amc-item {
	display: flex; align-items: flex-start; gap: 14px;
	margin: 0; padding: 16px 0;
	border-block-end: 1px solid #f2f4f7;
	list-style: none; float: none;
}
.woocommerce.assly-minicart ul.woocommerce-mini-cart li.amc-item:last-child { border-block-end: 0; }
.woocommerce.assly-minicart ul.woocommerce-mini-cart li.amc-item::before,
.woocommerce.assly-minicart ul.woocommerce-mini-cart li.amc-item::after { display: none; }
.woocommerce.assly-minicart li.amc-item a.amc-item__thumb { display: block; flex: 0 0 76px; width: 76px; height: 76px; padding: 4px; border: 1px solid var(--a-border); border-radius: 6px; background: #fff; }
.woocommerce.assly-minicart li.amc-item a.amc-item__thumb img { display: block; float: none; width: 100%; height: 100%; margin: 0; object-fit: contain; box-shadow: none; border-radius: 6px; }
.amc-item__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.woocommerce.assly-minicart li.amc-item a.amc-item__name,
.woocommerce.assly-minicart li.amc-item span.amc-item__name {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	padding: 0; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--a-dark);
}
.woocommerce.assly-minicart li.amc-item a.amc-item__name:hover { color: var(--a-primary); }
.amc-item__sku { font-size: 12px; color: var(--a-muted); }
.assly-minicart .amc-item dl.variation { margin: 0; font-size: 12px; color: var(--a-muted); }
.assly-minicart .amc-item dl.variation dt, .assly-minicart .amc-item dl.variation dd { display: inline; margin: 0; padding: 0; float: none; }
.amc-item__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.amc-item__qty { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: var(--a-soft); font-size: 12.5px; font-weight: 600; color: var(--a-muted); }
.amc-item__price { font-size: 15px; font-weight: 800; color: var(--a-dark); white-space: nowrap; }
.woocommerce.assly-minicart li.amc-item a.remove.amc-item__remove {
	position: static; flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; margin: -4px 0 0; padding: 0;
	border-radius: 8px; background: transparent;
	color: var(--a-muted) !important; font-size: 0; line-height: 1;
}
.woocommerce.assly-minicart li.amc-item a.remove.amc-item__remove:hover { background: #fdecef; color: var(--a-danger) !important; }
.woocommerce.assly-minicart li.amc-item a.remove.amc-item__remove svg { width: 17px; height: 17px; }
.assly-minicart .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }

.assly-minicart .woocommerce-mini-cart__total { display: flex; align-items: baseline; justify-content: space-between; margin: 0; padding: 16px 20px 4px; border-block-start: 1px solid var(--a-border); font-size: 16px; }
.assly-minicart .woocommerce-mini-cart__total strong { font-weight: 600; color: var(--a-muted); }
.assly-minicart .woocommerce-mini-cart__total .amount { font-size: 19px; font-weight: 800; color: var(--a-dark); }
.assly-minicart .woocommerce-mini-cart__buttons { display: grid; gap: 8px; margin: 0; padding: 12px 20px 8px; }
.assly-minicart .woocommerce-mini-cart__buttons::before, .assly-minicart .woocommerce-mini-cart__buttons::after { display: none; }
.woocommerce.assly-minicart .woocommerce-mini-cart__buttons a.button { width: 100%; margin: 0 !important; min-height: 50px; justify-content: center; border-radius: 6px; font-size: 16px; }
.woocommerce.assly-minicart .woocommerce-mini-cart__buttons a.checkout { background: var(--a-accent); color: #fff; font-weight: 800; box-shadow: 0 8px 20px rgba(231, 113, 3, .25); }
.woocommerce.assly-minicart .woocommerce-mini-cart__buttons a.checkout:hover { background: var(--a-accent-dark); }
.woocommerce.assly-minicart .woocommerce-mini-cart__buttons a.assly-minicart__view { background: #fff; color: var(--a-dark); border: 1.5px solid var(--a-border); }
.woocommerce.assly-minicart .woocommerce-mini-cart__buttons a.assly-minicart__view:hover { border-color: var(--a-primary); color: var(--a-primary); }
.assly-minicart .widget_shopping_cart_content > ul.woocommerce-mini-cart { order: 1; }
.assly-minicart .widget_shopping_cart_content > .woocommerce-mini-cart__total { order: 2; }
.assly-minicart .widget_shopping_cart_content > .woocommerce-mini-cart__buttons { order: 3; }
.assly-minicart__note { margin: 0; padding: 6px 20px 16px; font-size: 12.5px; color: var(--a-muted); text-align: center; }

.assly-minicart .woocommerce-mini-cart__empty-message { margin: auto 0 12px; padding: 40px 20px 0; text-align: center; font-size: 16px; font-weight: 600; color: var(--a-dark); }
.assly-minicart .woocommerce-mini-cart__empty-message::before { content: ""; display: block; width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%; background: #f3f8fa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005d7c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6h15l-1.5 9h-12z'/%3E%3Cpath d='M6 6 5 3H2'/%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3C/svg%3E") center / 30px no-repeat; }
.woocommerce.assly-minicart a.assly-minicart__shop { align-self: center; margin: 0 0 auto; }
.assly-minicart .woocommerce-mini-cart__empty-message ~ .assly-minicart__note,
.assly-minicart:has(.woocommerce-mini-cart__empty-message) .assly-minicart__note { display: none; }

/* The product page's own toast is replaced by the drawer. */
.has-minicart .custom-pdp__toast { display: none !important; }

/* PhotoSwipe markup printed site-wide by Customer Reviews: its stylesheet only
   loads on product pages (mu-plugins/assly-perf-fixes.php), so keep it hidden
   until PhotoSwipe opens it. */
.pswp { display: none; }
.pswp.pswp--open { display: block; }

/* ── Motion & print ───────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print {
	.ah-top-bar, .assly-header, .ah-mega, .assly-drawer, .fs-custom-footer, .minimal-back-to-top { display: none !important; }
	body { font-size: 12pt; color: #000; }
	a { color: #000; text-decoration: underline; }
}

@media (max-width: 600px) {
	/* Phones: the side cart takes the whole screen. */
	.assly-minicart__panel { width: 100vw; max-width: 100%; border-radius: 0; }
	.assly-minicart__head { padding-inline: 16px 8px; min-height: 60px; }
	.assly-minicart ul.woocommerce-mini-cart { padding-inline: 16px; }
	.woocommerce.assly-minicart .woocommerce-mini-cart__total,
	.woocommerce.assly-minicart .woocommerce-mini-cart__buttons,
	.assly-minicart .woocommerce-mini-cart__total,
	.assly-minicart .woocommerce-mini-cart__buttons { padding-inline: 16px; }
	.assly-minicart .woocommerce-mini-cart__buttons { padding-block-end: calc(8px + env(safe-area-inset-bottom)); }
}

/* ── Mini-cart: compact; items scroll, totals + buttons pinned at the bottom ── */
.assly-minicart ul.woocommerce-mini-cart { flex: 1 1 auto; padding-block: 0; }
.woocommerce.assly-minicart ul.woocommerce-mini-cart li.amc-item { gap: 12px; padding-block: 10px; }
.woocommerce.assly-minicart li.amc-item a.amc-item__thumb { flex-basis: 64px; width: 64px; height: 64px; padding: 3px; }
.assly-minicart__head { padding-block: 8px; }
.assly-minicart__added { padding-block: 8px; }
.assly-minicart .woocommerce-mini-cart__total { padding-block: 8px 0; box-shadow: 0 -8px 16px -12px rgba(16, 24, 40, .18); }
.assly-minicart .woocommerce-mini-cart__buttons { grid-template-columns: 1fr 1fr; gap: 8px; padding-block: 8px 6px; }
.woocommerce.assly-minicart .woocommerce-mini-cart__buttons a.button { min-height: 44px; padding-inline: 8px; font-size: 15px; }
.woocommerce.assly-minicart .woocommerce-mini-cart__buttons a.checkout { order: 2; }
.assly-minicart .adv-cart-quote { gap: 2px; padding-block: 0 6px; }
.assly-minicart .adv-cart-quote__btn, .assly-minicart a.adv-cart-quote__btn { min-height: 40px; padding-block: 6px; font-size: 14px; }
.assly-minicart .adv-cart-quote__hint { display: none; }
.assly-minicart__note { padding-block: 0 8px; font-size: 12px; }
.assly-minicart .woocommerce-mini-cart__empty-message { padding-top: 24px; }
@media (max-width: 600px) {
	.assly-minicart__head { min-height: 52px; }
	.assly-minicart__note { padding-block-end: calc(8px + env(safe-area-inset-bottom)); }
	.assly-minicart .woocommerce-mini-cart__buttons { padding-block-end: 6px; }
}

/* ==========================================================================
   Global polish — one palette, calmer details, better touch/keyboard UX.
   ========================================================================== */
::selection { background: rgba(0, 93, 124, .16); color: inherit; }
html { -webkit-tap-highlight-color: transparent; }
body { text-rendering: optimizeLegibility; }
h1, h2, h3 { text-wrap: balance; letter-spacing: -.01em; }
p { text-wrap: pretty; }
a, button, summary, label, .button, input[type="submit"] { touch-action: manipulation; }
:focus:not(:focus-visible) { outline: none; }
.assly-btn:active, .button:active, button[type="submit"]:active, .single_add_to_cart_button:active { transform: translateY(1px); }

/* Notices: soft tinted boxes instead of the heavy top border. */
.woocommerce-message, .woocommerce-info {
	border: 1px solid #cfe3ea; border-radius: var(--a-radius);
	background: var(--a-tint); color: var(--a-text);
}
.woocommerce-error { border: 1px solid #fecdca; border-radius: var(--a-radius); background: #fef3f2; color: #b42318; }
.woocommerce-error::before { color: #d92d20; }

/* Prices: one colour system. */
.price, .amount { font-variant-numeric: tabular-nums; }
.price del, del .amount { color: var(--a-muted); font-weight: 400; }
.price ins { text-decoration: none; }

/* Tables inherit the palette. */
table { border-color: var(--a-border); }
th { color: var(--a-dark); }

/* Scrollbars inside rails/drawers: thin and quiet. */
.v2-rail, .assly-minicart ul.woocommerce-mini-cart, .ah-mega-drop-grid { scrollbar-width: thin; scrollbar-color: var(--a-line-strong) transparent; }

/* Phones: 16px fields stop iOS from zooming in on focus. */
@media (max-width: 849px) {
	input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
	input[type="password"], input[type="search"], input[type="number"], select, textarea { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Mobile header: compact category chips strip */
@media (max-width: 849px) {
	.ah-mega-nav { padding-block: 4px 6px !important; gap: 6px !important; }
	.ah-mega-link { height: 30px !important; font-size: 12.5px !important; }
	.ah-mega-link .ah-mega-thumb { width: 22px !important; height: 22px !important; padding: 2px !important; }
}

/* Header « Nouveautés » link — plain text, no border/colour */
.assly-header__new {
	display: inline-flex; align-items: center; height: 38px; margin-inline-end: 4px; padding: 0 10px;
	border: 0; border-radius: var(--a-radius); background: none;
	color: var(--a-dark); font-size: 14px; font-weight: 600; white-space: nowrap;
	transition: color .15s ease, background .15s ease;
}
.assly-header__new:hover { background: var(--a-soft); color: var(--a-primary); }
.assly-header__new-dot { display: none; }
@media (max-width: 849px) {
	.assly-header__actions { gap: 2px; }
	.assly-header__new { height: 32px; margin-inline-end: 0; padding: 0 6px; font-size: 12.5px; }
}
@media (max-width: 374px) {
	.assly-header__new { font-size: 0; }
	.assly-header__new::after { content: "Nouveau"; font-size: 12px; }
}

/* Smaller add-to-cart icon buttons on product cards */
body .minimal-shop-page .minimal-shop__action a.button.assly-atc,
body .minimal-shop__action a.button.assly-atc,
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc { width: 34px; height: 34px; min-width: 34px; border-width: 1.5px; border-radius: 6px; }
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc { margin-top: -34px; }
body .minimal-shop__action a.button.assly-atc .assly-atc__icon,
body ul.products:not(.minimal-shop-page__grid) li.product a.button.assly-atc .assly-atc__icon { width: 16px; height: 16px; }

/* ── Badges & tags: small square-ish corners everywhere (counters stay round) ── */
.woocommerce span.onsale, .pv2 .pv2-gallery span.onsale,
.custom_availability,
.v2-card__badge, .v2-kicker, .v2-banner__kicker, .v2-banner__pills li, .v2-assly__tags li,
.pv2-gallery__cat, .pv2-stock, .pv2-chip, .pv2-brand, .pv2 a.pv2-chip--brand,
.assly-nb-badge, .assly-nb-badge--pdp, .minimal-shop__badge,
.minimal-active-filters__chip, .minimal-cat-tree__count, .minimal-filter-option__count,
.ah-mega-drop-head span, .ah-mega-drop-grid a span,
.adv-count, .acart-empty__cats a, .assly-entry__tags a { border-radius: 4px !important; }

/* ── Mini-cart quantity stepper ───────────────────────────────────────── */
.assly-minicart .amc-qty { display: inline-flex; align-items: center; height: 32px; border: 1px solid var(--a-line-strong); border-radius: 6px; background: #fff; overflow: hidden; }
.assly-minicart .amc-qty__btn { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--a-dark); font-size: 17px; font-weight: 600; line-height: 1; box-shadow: none; cursor: pointer; }
.assly-minicart .amc-qty__btn:hover { background: var(--a-soft); color: var(--a-primary); }
.assly-minicart .amc-qty__input { width: 38px; height: 30px; min-height: 0; margin: 0; padding: 0; border: 0; border-inline: 1px solid var(--a-border); border-radius: 0; background: transparent; color: var(--a-dark); font-size: 14px; font-weight: 700; text-align: center; box-shadow: none; -moz-appearance: textfield; appearance: textfield; }
.assly-minicart .amc-qty__input::-webkit-outer-spin-button, .assly-minicart .amc-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.assly-minicart .amc-qty__input:focus { outline: none; background: var(--a-tint); }
.assly-minicart.is-loading .amc-qty { opacity: .6; }


/* ── Shop toolbar + filter drawer, mobile (≤991px) ───────────────── */
.minimal-shop-apply { display: none; }
@media (max-width: 991px) {
	.minimal-shop-page .minimal-shop-toolbar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0; border: 0; background: transparent; margin: 0 0 10px; }
	.minimal-shop-page .minimal-shop-toolbar__filter-btn { display: flex; justify-content: center; align-items: center; gap: 8px; order: 1; width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid #1c3340; background: #1c3340; color: #fff; border-radius: 4px; font-size: 14px; font-weight: 700; }
	.minimal-shop-page .minimal-shop-toolbar__filter-btn svg { flex: none; }
	.minimal-shop-page .minimal-shop-toolbar__filter-count { background: #fff; color: #1c3340; min-width: 20px; height: 20px; border-radius: 4px; }
	.minimal-shop-page .minimal-shop-toolbar__sort { order: 2; flex: none; width: 100%; margin: 0; }
	.minimal-shop-page .minimal-shop-toolbar__sort select { width: 100%; min-height: 46px; height: 46px; padding: 0 34px 0 12px; border: 1px solid #cfd8dd; border-radius: 4px; font-size: 14px; font-weight: 600; color: #1c3340; background-position: right 12px center; text-overflow: ellipsis; }
	.minimal-shop-page .minimal-shop-toolbar__instock { order: 3; grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 12px; border: 1px solid #e1e7ea; border-radius: 4px; background: #fff; font-size: 14px; font-weight: 600; }
	.minimal-shop-page .minimal-shop-toolbar__instock.is-active { border-color: #005d7c; background: #eef7fa; }
	.minimal-shop-page .minimal-shop-subbar { display: block; margin: 0 0 10px; }
	.minimal-shop-page .minimal-active-filters { display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
	.minimal-shop-page .minimal-active-filters::-webkit-scrollbar { display: none; }
	.minimal-shop-page .minimal-active-filters__chip, .minimal-shop-page .minimal-active-filters__clear { flex: none; white-space: nowrap; min-height: 34px; display: inline-flex; align-items: center; border-radius: 4px; }
	.minimal-shop-page .minimal-shop-toolbar__count { width: auto; margin: 2px 0 0; text-align: left; font-size: 13px; }

	/* drawer */
	.minimal-shop-sidebar { width: min(380px, 92vw); padding: 0 0 92px; background: #f4f6f8; }
	.minimal-shop-sidebar__header { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: #fff; border-bottom: 1px solid #e1e7ea; }
	.minimal-shop-sidebar__header h2 { font-size: 18px; }
	.minimal-shop-sidebar__close { width: 40px; height: 40px; border: 1px solid #e1e7ea; border-radius: 4px; background: #fff; font-size: 26px; line-height: 1; display: flex; align-items: center; justify-content: center; }
	.minimal-shop-sidebar > .minimal-filter-block { margin: 10px 12px 0; border-radius: 4px; padding: 12px 14px; }
	.minimal-shop-sidebar .minimal-filter-block a, .minimal-shop-sidebar .minimal-filter-block label { min-height: 38px; display: flex; align-items: center; }
	.minimal-shop-sidebar .minimal-filter-block summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; }
	.minimal-shop-sidebar input[type="search"], .minimal-shop-sidebar input[type="text"] { min-height: 42px; border-radius: 4px; font-size: 16px; }
	.minimal-shop-apply { position: fixed; left: 0; bottom: 0; z-index: 1110; width: min(380px, 92vw); padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #e1e7ea; transform: translateX(-100%); transition: transform .25s ease; display: block; pointer-events: none; }
	.minimal-shop-sidebar.is-open ~ .minimal-shop-apply { transform: translateX(0); pointer-events: auto; }
	.minimal-shop-apply button { width: 100%; min-height: 48px; border: 0; border-radius: 4px; background: #005d7c; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; }
}
@media (min-width: 992px) { .minimal-shop-apply { display: none !important; } }

/* Back-to-top sits outside .minimal-shop-page, so --mp-accent was undefined (transparent). */
.minimal-back-to-top { background: #1c3340 !important; color: #fff !important; border-radius: 4px !important; width: 44px !important; height: 44px !important; right: 14px !important; bottom: 16px !important; box-shadow: 0 4px 14px rgba(0,0,0,.28) !important; }
.minimal-back-to-top:hover { background: #005d7c !important; filter: none !important; }

/* Filters: bottom sheet instead of side drawer (≤991px) */
@media (max-width: 991px) {
	.minimal-shop-page .minimal-shop-sidebar { top: auto; left: 0; right: 0; bottom: 0; width: 100%; max-height: 88vh; height: 88vh; transform: translateY(100%); border-radius: 14px 14px 0 0; box-shadow: 0 -10px 40px rgba(0,0,0,.25); padding-bottom: 96px; overscroll-behavior: contain; }
	.minimal-shop-page .minimal-shop-sidebar.is-open { transform: translateY(0); }
	.minimal-shop-page .minimal-shop-sidebar__header { border-radius: 14px 14px 0 0; padding-top: 18px; position: sticky; }
	.minimal-shop-page .minimal-shop-sidebar__header::before { content: ""; position: absolute; top: 7px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: #cfd8dd; }
	.minimal-shop-page .minimal-shop-apply { left: 0; right: 0; width: 100%; transform: translateY(100%); box-shadow: 0 -4px 14px rgba(0,0,0,.08); }
	.minimal-shop-page .minimal-shop-sidebar.is-open ~ .minimal-shop-apply { transform: translateY(0); }
}

/* Filter blocks edge-to-edge inside the sheet (mobile) */
@media (max-width: 991px) {
	.minimal-shop-page .minimal-shop-sidebar { background: #fff; }
	.minimal-shop-page .minimal-shop-sidebar > .minimal-filter-block { margin: 0; border-width: 0 0 1px; border-radius: 0; padding: 10px 16px; background: #fff; }
	.minimal-shop-page .minimal-shop-sidebar > .minimal-filter-block:first-of-type { border-top: 0; }
}
