/* 92 — Stitch conformance (2026-09-29, design-review/v7-stitch-compare/PLAN.md, Phase 0+1).
   Only markup that V4 sn-* classes can't reach: WooCommerce forms/notices, the Pro menu-cart, Loop Carousel arrows,
   shortcode output inside sn-legacy slots. Decisions: plum headings/prices (--sn-primary-800), clay pill main CTA
   with a bag icon, outline pill secondary. Loads after 91 (includes/assets.php). Uses Kit V4 variables (--sn-*). */

:root {
	/* Phosphor "ShoppingBag" (regular), used as a mask so it takes the button text colour. */
	--sn-ico-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm0,160H40V56H216V200ZM176,88a48,48,0,0,1-96,0,8,8,0,0,1,16,0,32,32,0,0,0,64,0,8,8,0,0,1,16,0Z'/%3E%3C/svg%3E");
	--sn-ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m8.5 12.3 2.4 2.4 4.6-4.9'/%3E%3C/svg%3E");
	--sn-ico-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");
}

/* ---------- 1. Headings and prices: plum (Kit h1–h6 = Primary 800 since 2026-09-29; these are shortcode/Woo headings) ---------- */
body .elementor .sn-legacy h2,
body .elementor .sn-legacy h3,
.sensa-cat-guide h3,
.sensa-pick h3 a { color: var(--sn-primary-800); }
body .elementor .sn-woo .elementor-widget-woocommerce-cart,
body .elementor .sn-woo .elementor-widget-woocommerce-checkout-page,
body .elementor .sn-woo .elementor-widget-woocommerce-my-account,
body .elementor .sn-woo .elementor-widget-woocommerce-purchase-summary {
	--sections-title-color: var(--sn-primary-800);
	--titles-color: var(--sn-primary-800);
	--order-summary-title-color: var(--sn-primary-800);
	--tables-title-color: var(--sn-primary-800);
}
body .elementor .sn-woo .elementor-widget-woocommerce-my-account .woocommerce h2,
body .elementor .sn-woo .elementor-widget-woocommerce-cart .woocommerce h2,
body .elementor .sn-woo .elementor-widget-woocommerce-checkout-page .woocommerce h3,
body .elementor .sn-woo .order-total .amount,
body .elementor .sn-atc-slot .woocommerce-variation-price .price { color: var(--sn-primary-800); }

/* ---------- 2. Main CTA: clay pill, ~48px, bag icon. Secondary: outline pill ---------- */
.sn-atc::before,
.single_add_to_cart_button::before,
.sensa-sticky-atc__btn::before {
	content: "";
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	background: currentColor;
	-webkit-mask: var(--sn-ico-bag) center / contain no-repeat;
	mask: var(--sn-ico-bag) center / contain no-repeat;
}
.sn-atc.sn-atc--sm::before { inline-size: 16px; block-size: 16px; }
/* Loop cards inside sn-legacy slots (guide picks, P3): the slot's "& a { color: primary }" must not recolour the CTA. */
body .elementor .sn-legacy .sn-atc,
body .elementor .sn-legacy .sn-atc:hover { color: #FFFFFF; }
/* Woo single add-to-cart (SP1/SP2/SP3 slot; the base rules live in the sn-atc-slot class). */
.elementor .sn-atc-slot form.cart button.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-block-size: 48px;
	block-size: 48px;
	border-radius: var(--sn-radius-pill);
	font-size: 16px;
	white-space: nowrap;
}
.sensa-sticky-atc__btn { display: inline-flex; align-items: center; gap: 8px; border-radius: var(--sn-radius-pill); }
/* Legacy shortcode buttons (.sensa-button): same pill system. */
.sensa-button { border-radius: var(--sn-radius-pill); }
.sensa-button::before { content: none; }
/* In sn-legacy slots the class paints .sensa-button white while 91 forces white text (the "empty button" after the guide FAQ, Phase 0.2):
   render it as the secondary outline pill. */
body .elementor .sn-legacy .sensa-button {
	color: var(--sn-ink) !important;
	background-color: transparent;
	border: 1px solid var(--sn-border-strong);
	border-radius: var(--sn-radius-pill);
	min-block-size: 48px;
	padding: 12px 24px;
	align-items: center;
}
body .elementor .sn-legacy .sensa-button:hover { color: var(--sn-primary) !important; border-color: var(--sn-primary); background-color: var(--sn-primary-50); box-shadow: none; }

/* ---------- 3. Quantity stepper (assets/js/sn-stitch.js adds .sn-qty + buttons) ---------- */
.quantity.sn-qty {
	display: inline-flex;
	align-items: center;
	flex: none;
	block-size: 48px;
	padding-inline: 4px;
	border: 1px solid var(--sn-border-strong);
	border-radius: var(--sn-radius-pill);
	background: var(--sn-surface);
	box-sizing: border-box;
}
.quantity.sn-qty .sn-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 36px;
	block-size: 36px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--sn-primary-800);
	font-family: var(--sn-font-body), sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
}
.quantity.sn-qty .sn-qty__btn:hover { background: var(--sn-bg-subtle); color: var(--sn-primary-800); }
.quantity.sn-qty .sn-qty__btn:focus-visible { outline: 2px solid var(--sn-primary); outline-offset: 1px; }
.elementor .quantity.sn-qty input.qty,
.woocommerce .quantity.sn-qty input.qty {
	inline-size: 36px;
	block-size: 36px;
	min-block-size: 0;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--sn-primary-800);
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	box-shadow: none;
	-moz-appearance: textfield;
	appearance: textfield;
}
.quantity.sn-qty input.qty::-webkit-outer-spin-button,
.quantity.sn-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.elementor .sn-atc-slot .quantity.sn-qty .qty { block-size: 36px; inline-size: 36px; border: 0; background: transparent; }
/* Cart: the stepper updates the cart itself, so the manual "update cart" button is hidden (still in the DOM for the JS). */
.woocommerce-cart-form:has(.sn-qty) button[name="update_cart"],
.elementor-widget-woocommerce-cart .woocommerce-cart-form:has(.sn-qty) table.shop_table.cart .actions button[name="update_cart"] { display: none; }
.elementor-widget-woocommerce-cart .quantity.sn-qty { block-size: 40px; }
.elementor-widget-woocommerce-cart .quantity.sn-qty .sn-qty__btn { inline-size: 30px; block-size: 30px; }

/* ---------- 4. WooCommerce notices ---------- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
body .elementor .sn-woo .woocommerce-message,
body .elementor .sn-woo .woocommerce-info,
body .elementor .sn-woo .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin: 0 0 24px;
	padding: 14px 20px;
	list-style: none;
	border: 0;
	border-radius: var(--sn-radius-md);
	background-color: var(--sn-sage-50);
	color: var(--sn-ink);
	font-family: var(--sn-font-body), sans-serif;
	font-size: var(--sn-fs-ui);
	line-height: 1.5;
}
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce .woocommerce-error,
body .elementor .sn-woo .woocommerce-error { background-color: #FBEDEB; color: var(--sn-error); }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: "" !important;
	position: static !important;
	flex: none;
	inline-size: 20px;
	block-size: 20px;
	margin: 0;
	background: var(--sn-sage-700);
	-webkit-mask: var(--sn-ico-check) center / contain no-repeat;
	mask: var(--sn-ico-check) center / contain no-repeat;
}
.woocommerce-info::before,
.woocommerce-error::before { -webkit-mask-image: var(--sn-ico-info); mask-image: var(--sn-ico-info); }
.woocommerce-error::before { background: var(--sn-error); }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce-message a.button {
	order: 3;
	float: none;
	margin: 0;
	margin-inline-start: auto;
	display: inline-flex;
	align-items: center;
	min-block-size: 40px;
	padding: 8px 20px;
	border: 0;
	border-radius: var(--sn-radius-pill);
	background-color: var(--sn-primary);
	color: #FFFFFF;
	font-size: var(--sn-fs-small);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover { background-color: var(--sn-primary-800); color: #FFFFFF; }

/* Notices printed at the top of the page (main.sensa-main > wrapper, e.g. "added to cart" on a product) align with the header container. */
.sensa-main > .woocommerce-notices-wrapper:not(:empty) {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: calc(var(--sn-container, 1280px) + 2 * var(--sn-gutter, 80px));
	margin: 24px auto 0;
	padding-inline: var(--sn-gutter, 16px);
}
.sensa-main > .woocommerce-notices-wrapper .woocommerce-message,
.sensa-main > .woocommerce-notices-wrapper .woocommerce-info,
.sensa-main > .woocommerce-notices-wrapper .woocommerce-error { margin-block-end: 0; }
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus { outline: none; }

/* ---------- 5. Account: login / register buttons in the brand (Phase 0.3; the Pro widget default is light blue) ---------- */
body .elementor .sn-woo .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .button,
body .elementor .sn-woo .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 48px;
	padding: 12px 32px;
	border: 0;
	border-radius: var(--sn-radius-pill);
	background-color: var(--sn-accent);
	color: #FFFFFF;
	font-family: var(--sn-font-body), sans-serif;
	font-size: 16px;
	font-weight: 700;
}
body .elementor .sn-woo .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce .button:hover { background-color: var(--sn-accent-hover); color: #FFFFFF; }
/* Cart/checkout primary buttons follow the pill shape too. */
body .elementor .sn-woo .elementor-widget-woocommerce-cart .checkout-button,
body .elementor .sn-woo .elementor-widget-woocommerce-purchase-summary .button,
body .elementor .sn-woo .elementor-widget-woocommerce-checkout-page #payment #place_order { border-radius: var(--sn-radius-pill); }
body .elementor .sn-woo .elementor-widget-woocommerce-cart { --forms-buttons-border-radius: 999px; --checkout-button-border-radius: 999px; --purchase-button-border-radius: 999px; }

/* ---------- 6. Mini-cart (header menu-cart off-canvas, Phase 0.4) ---------- */
.elementor-menu-cart__main {
	--cart-footer-layout: 1fr;
	display: flex;
	flex-direction: column;
}
.elementor-menu-cart__main .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-block-size: 0;
}
.elementor-menu-cart__main .elementor-menu-cart__products {
	flex: 1 1 auto;
	min-block-size: 0;
	max-block-size: none;
	overflow-y: auto;
}
.sn-minicart__title {
	position: sticky;
	inset-block-start: 0;
	z-index: 1;
	margin: 0 0 8px;
	padding-block: 4px 12px;
	background: var(--sn-surface, #fff);
	border-block-end: 1px solid var(--sn-border);
	font-family: var(--sn-font-heading), sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--sn-primary-800);
}
.sn-minicart__count { font-family: var(--sn-font-body), sans-serif; font-size: 16px; font-weight: 600; color: var(--sn-ink-muted); }
.elementor-menu-cart__main .elementor-menu-cart__subtotal { flex: none; color: var(--sn-primary-800); }
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons {
	flex: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-block-end: 8px;
}
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button {
	display: flex;
	align-items: center;
	justify-content: center;
	inline-size: 100%;
	min-block-size: 48px;
	padding: 12px 20px;
	border-radius: var(--sn-radius-pill);
	font-family: var(--sn-font-body), sans-serif;
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
	line-height: 1.2;
}
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button--checkout {
	order: -1;
	background-color: var(--sn-accent);
	border: 1px solid var(--sn-accent);
	color: #FFFFFF;
}
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover { background-color: var(--sn-accent-hover); border-color: var(--sn-accent-hover); }
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	background-color: transparent;
	border: 1px solid var(--sn-border-strong);
	color: var(--sn-ink);
}
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover { border-color: var(--sn-primary); color: var(--sn-primary); background-color: var(--sn-primary-50); }
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button-text { white-space: nowrap; }

/* ---------- 7. Loop Carousels: next card peeks in (RTL: on the left), arrows in the section head (sn-stitch.js) ---------- */
.sn-carousel .elementor-widget-loop-carousel .elementor-loop-container.swiper { padding-inline-end: 64px; box-sizing: border-box; }
@media (max-width: 767px) {
	.sn-carousel .elementor-widget-loop-carousel .elementor-loop-container.swiper { padding-inline-end: 40px; }
}
.sn-has-carousel-nav { position: relative; }
.sn-has-carousel-nav:not(:has(> a)) { padding-inline-end: 104px; }
.sn-has-carousel-nav > a { margin-inline-end: 104px; align-self: flex-end; display: inline-flex; align-items: center; min-block-size: 44px; }
.sn-carousel-nav {
	position: absolute;
	inset-inline-end: 0;
	inset-block-end: 0;
	display: flex;
	gap: 8px;
}
.sn-carousel-nav[hidden] { display: none; }
.sn-has-carousel-nav:has(> .sn-carousel-nav[hidden]) { padding-inline-end: 0; }
.sn-has-carousel-nav:has(> .sn-carousel-nav[hidden]) > a { margin-inline-end: 0; }
.sn-carousel-nav .elementor-swiper-button {
	position: static !important;
	inset: auto;
	transform: none !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 44px;
	block-size: 44px;
	border: 1px solid var(--sn-border-strong);
	border-radius: 50%;
	background-color: var(--sn-surface);
	color: var(--sn-primary-800);
	cursor: pointer;
	box-shadow: none;
	transition: background-color 150ms, border-color 150ms;
}
.sn-carousel-nav .elementor-swiper-button svg { inline-size: 16px; block-size: 16px; fill: var(--sn-primary-800); }
.sn-carousel-nav .elementor-swiper-button:hover { background-color: var(--sn-primary-50); border-color: var(--sn-primary); }
.sn-carousel-nav .elementor-swiper-button.swiper-button-disabled { opacity: .35; cursor: default; }
@media (max-width: 767px) {
	.sn-has-carousel-nav:not(:has(> a)) { padding-inline-end: 88px; }
	.sn-has-carousel-nav > a { margin-inline-end: 88px; }
	.sn-carousel-nav .elementor-swiper-button { inline-size: 38px; block-size: 38px; }
}

/* ---------- 8. Archives A1/A2/A4: the listing row uses the full sn-container (1280) like the header ----------
   The V3 container copied from V1 (5212b1b) carried an 80px inline padding inside the 1280 core → 1120px. */
.elementor .sn-archive-core > .e-con.e-con-full.e-flex { padding-left: 0; padding-right: 0; }

/* ---------- 9. Search A4 (Phase 0.6): "או התחילו מקטגוריה" only without results; no filter column on an empty search ---------- */
/* Phase 5 (A4 rebuild): products 3960f858 · guides 5a5e4c00 · empty state 7031d3b7 · recommendations 5a5e4d00.
   body classes: search-no-results (WP), sn-search-no-guides / sn-tab-guides (archives-v5.php, sn-stitch.js §11). */
body:not(.search-no-results) [data-id="7031d3b7"],
body:not(.search-no-results) [data-id="5a5e4d00"],
body.search-no-results [data-id="3960f858"],
body.sn-search-no-guides [data-id="5a5e4c00"],
body.sn-tab-guides [data-id="3960f858"],
body.sn-tab-guides [data-id="7031d3b7"],
body.sn-tab-guides [data-id="5a5e4d00"] { display: none; }

/* ---------- 10. Empty sections collapse at the section wrapper (Phase 0.7) ----------
   A V4 section (sn-section) whose only content is shortcode slots that all rendered nothing (e.g. [sensa_cat_guide] on a
   subcategory without a guide) — 90 already hides the empty slot, this removes the section padding too. */
.elementor .sn-section:has(.elementor-shortcode):not(:has(.elementor-shortcode:not(:empty))):not(:has(h1, h2, h3, p, img, .e-loop-item, .elementor-widget:not(.elementor-widget-shortcode))) { display: none; }

/* The WooCommerce gallery zoom trigger (z-index 99) painted above the header's off-canvas mini-cart (sticky header = z 90). */
.woocommerce-product-gallery .woocommerce-product-gallery__trigger { z-index: 2; }

/* C2 category chips (loop 12313) in 404 / search grids: now all 6 main categories show (Phase 0.5), so the fixed
   6-column grid clipped long names — wrap them as natural-width chips instead. */
.elementor-widget-loop-grid .elementor-loop-container:has(> .e-loop-item.elementor-12313) {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.elementor-widget-loop-grid .elementor-loop-container > .e-loop-item.elementor-12313 { inline-size: auto; flex: 0 0 auto; }
[data-elementor-type="error-404"] .elementor-widget-loop-grid .elementor-loop-container:has(> .e-loop-item.elementor-12313) { justify-content: center; }

/* =====================================================================================================
   Phase 2 (2026-09-29): header 12348 / footer 12352 / checkout header 12350 + footer 12354.
   Markup: shortcodes in includes/header-footer.php + the V3 widgets tools/parts-assemble.php injects
   (nav-menu, search-form x2, menu-cart). V4 layout stays in the sn-header* / sn-footer* classes.
   The .elementor-location-header/-footer prefix beats the V4 nested class rules (0,4,0).
   ===================================================================================================== */

/* ---------- 11. Top bar [sn_topbar] (inside .sn-usp; height stays --sn-usp-h 34px for the sticky offset) ---------- */
.sn-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	inline-size: 100%;
	max-inline-size: var(--sn-container, 1280px);
	margin-inline: auto;
	font-family: var(--sn-font-body), sans-serif;
	font-size: 13px;
	line-height: 18px;
	color: var(--sn-primary-100);
}
.elementor-location-header .sn-usp > .e-div-block-base,
.elementor-location-header .sn-usp .elementor-widget-shortcode { inline-size: 100%; }
/* Unclassed V4 slots (e-div-block) carry a default 10px padding: slots only wrap one V3 widget here. */
.elementor-location-header .sn-header .e-div-block-base:not([class*="sn-"]),
.elementor-location-footer .sn-footer .e-div-block-base:not([class*="sn-"]) { padding: 0; }
.sn-topbar__usp { display: flex; align-items: center; gap: 8px; margin: 0; white-space: nowrap; }
.sn-topbar__lead { display: inline-flex; align-items: center; gap: 6px; color: #FFFFFF; font-weight: 600; text-decoration: none; }
.sn-topbar__lead .sensa-icon { flex: none; }
.sn-topbar__sep { opacity: .45; }
.sn-topbar__links { display: flex; align-items: center; gap: 10px; white-space: nowrap; font-size: 12px; }
.sn-topbar__links a { display: inline-flex; align-items: center; gap: 5px; color: var(--sn-primary-100); text-decoration: none; }
.sn-topbar a:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }
.sn-topbar a:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; border-radius: 4px; }
@media (max-width: 1024px) {
	.sn-topbar { justify-content: center; }
	.sn-topbar__links { display: none; }
}
@media (max-width: 767px) {
	.sn-topbar { font-size: 12px; }
	.sn-topbar__wide { display: none; }
}

/* ---------- 12. Main header bar ---------- */
/* "מדריכים": tinted pill (menu item class sn-nav-pill, tools/menus-apply.php). */
.elementor-location-header .sn-header__nav .elementor-nav-menu--main .sn-nav-pill > a.elementor-item {
	margin-inline-start: 6px;
	padding: 6px 14px;
	border-radius: var(--sn-radius-pill);
	background-color: var(--sn-primary-50);
	color: var(--sn-primary);
	font-size: 14px;
	font-weight: 700;
}
.elementor-location-header .sn-header__nav .elementor-nav-menu--main .sn-nav-pill > a.elementor-item:hover { background-color: var(--sn-primary); color: #FFFFFF; }

.elementor-location-header .sn-header .sn-header__actions { gap: 12px; }

/* Desktop inline search pill (search-form "minimal" skin); the full-screen icon only where the nav collapses. */
.elementor-location-header .sn-header__actions .elementor-widget-search-form.elementor-search-form--skin-minimal { inline-size: 208px; }
.elementor-location-header .sn-header .sn-header__actions .elementor-search-form--skin-minimal .elementor-search-form__container {
	min-block-size: 40px;
	border: 1px solid var(--sn-border);
	border-radius: var(--sn-radius-pill);
	background-color: var(--sn-bg-subtle);
	overflow: hidden;
	transition: border-color 150ms, background-color 150ms;
}
.elementor-location-header .sn-header .sn-header__actions .elementor-search-form--skin-minimal .elementor-search-form__container:focus-within { border-color: var(--sn-primary); background-color: var(--sn-surface); }
.elementor-location-header .sn-header .sn-header__actions .elementor-search-form--skin-minimal .elementor-search-form__icon {
	display: flex; align-items: center; padding-inline: 14px 4px; color: var(--sn-ink-muted); fill: var(--sn-ink-muted); font-size: 15px; opacity: 1;
}
.elementor-location-header .sn-header .sn-header__actions .elementor-search-form--skin-minimal .elementor-search-form__input {
	block-size: 38px; min-block-size: 0; padding-block: 0; padding-inline: 4px 16px; background: transparent; border: 0; color: var(--sn-ink);
	font-family: var(--sn-font-body), sans-serif; font-size: 14px;
}
.elementor-location-header .sn-header .sn-header__actions .elementor-search-form--skin-minimal .elementor-search-form__input::placeholder { color: var(--sn-ink-muted); opacity: 1; }
.elementor-location-header .sn-header__actions .elementor-widget-search-form.elementor-search-form--skin-full_screen { display: none; }
/* Width steps (bar = logo + 7 nav items + actions): the pill narrows below 1440, becomes the icon below 1280. */
@media (max-width: 1439px) {
	.elementor-location-header .sn-header__actions .elementor-widget-search-form.elementor-search-form--skin-minimal { inline-size: 184px; }
	.elementor-location-header .sn-header .sn-header__nav .elementor-nav-menu--main .elementor-item { padding-inline: 8px; }
}
@media (max-width: 1279px) {
	.elementor-location-header .sn-header__actions .elementor-widget-search-form.elementor-search-form--skin-minimal { display: none; }
	.elementor-location-header .sn-header__actions .elementor-widget-search-form.elementor-search-form--skin-full_screen { display: block; inline-size: auto; }
	.elementor-location-header .sn-header .sn-header__bar { gap: 16px; }
	.elementor-location-header .sn-header .sn-header__actions { gap: 4px; }
	.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button { padding-inline: 12px; }
}

/* Account [sn_account_link]: icon + "החשבון שלי" (label from 1440px). */
.sn-account {
	display: inline-flex; align-items: center; gap: 6px; min-block-size: 40px; padding: 8px; border-radius: var(--sn-radius-pill);
	color: var(--sn-ink); text-decoration: none; font-family: var(--sn-font-body), sans-serif; font-size: 14px; font-weight: 600; white-space: nowrap;
}
.sn-account:hover { color: var(--sn-primary); background-color: var(--sn-primary-50); }
.sn-account:focus-visible { outline: 2px solid var(--sn-primary); outline-offset: 2px; }
@media (max-width: 1439px) { .sn-account__label { display: none; } }
@media (max-width: 767px) { .elementor-location-header .sn-header__actions > :has(.sn-account) { display: none; } }

/* Cart: mulberry pill "סל קניות" + count (still the Pro menu-cart toggle, opens the off-canvas mini-cart).
   Order (RTL, right to left): bag icon, label, count, subtotal (subtotal only in the compact sticky state). */
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-block-size: 40px;
	padding: 8px 16px;
	border-radius: var(--sn-radius-pill);
	background-color: var(--sn-primary);
	color: #FFFFFF;
	fill: #FFFFFF;
	font-family: var(--sn-font-body), sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	transition: background-color 150ms;
}
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button:hover { background-color: var(--sn-primary-800); color: #FFFFFF; fill: #FFFFFF; }
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button:focus-visible { outline: 2px solid var(--sn-primary); outline-offset: 2px; }
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button::before { content: "סל קניות"; order: 2; }
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-icon { display: contents; }
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-icon > i,
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-icon > svg { order: 1; font-size: 16px; inline-size: 16px; block-size: 16px; color: #FFFFFF; fill: #FFFFFF; }
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter] {
	order: 3;
	position: static;
	inset: auto;
	transform: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-inline-size: 20px;
	block-size: 20px;
	padding: 0 5px;
	margin: 0;
	border-radius: 999px;
	background-color: rgba(255, 255, 255, .2);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter="0"] { display: none; }
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-text { order: 4; display: none; font-weight: 600; }
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-text::before { content: "· "; opacity: .7; }
.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button:has([data-counter="0"]) .elementor-button-text::before { content: none; }

/* Tablet/mobile: logo centred, burger on the start side, search + cart icon on the end side (Stitch "MOB"). */
@media (max-width: 1024px) {
	.elementor-location-header .sn-header .sn-header__actions { gap: 2px; }
	.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button {
		position: relative; min-block-size: 44px; padding: 10px; background-color: transparent; color: var(--sn-ink); fill: var(--sn-ink);
	}
	.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button:hover { background-color: var(--sn-primary-50); color: var(--sn-primary); fill: var(--sn-primary); }
	.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button::before { content: none; }
	.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-icon > i,
	.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-icon > svg { font-size: 22px; inline-size: 22px; block-size: 22px; color: var(--sn-ink); fill: var(--sn-ink); }
	.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter] {
		position: absolute; inset-block-start: 2px; inset-inline-end: 0; min-inline-size: 17px; block-size: 17px; padding: 0 4px; font-size: 10px; background-color: var(--sn-accent);
	}
	.elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-text { display: none; }
}

/* Compact sticky state (html.sn-scrolled, sn-stitch.js section 4): the USP bar has already scrolled away
   (90-elementor-fixes), the bar shrinks to about 56px and the cart pill shows the subtotal instead of the label. */
.elementor-location-header .sn-header { transition: box-shadow 200ms; }
html.sn-scrolled .elementor-location-header .sn-header { box-shadow: 0 4px 16px rgba(34, 32, 32, .07); }
@media (min-width: 1025px) {
	.elementor-location-header .sn-header .sn-header__bar { transition: padding 200ms; }
	.elementor-location-header .sn-header .sn-header__bar > .sn-logo { transition: width 200ms; }
	html.sn-scrolled .elementor-location-header .sn-header .sn-header__bar { padding-block: 6px; }
	html.sn-scrolled .elementor-location-header .sn-header .sn-header__bar > .sn-logo { width: 108px; }
	html.sn-scrolled .elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button::before { content: none; }
	html.sn-scrolled .elementor-location-header .sn-header .sn-header__actions .elementor-menu-cart__toggle .elementor-button-text { display: inline; }
	html.sn-scrolled .elementor-location-header .sn-header .sn-account__label { display: none; }
}

/* ---------- 13. Footer ---------- */
/* Trust strip [sn_trust_strip] above the columns (2x2 icon row on mobile). */
.sn-trust-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px 24px;
	margin: 0;
	padding: 0 0 28px;
	list-style: none;
	border-block-end: 1px solid rgba(34, 26, 30, .12);
	font-family: var(--sn-font-body), sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--sn-ink);
}
.sn-trust-strip li { margin: 0; }
.sn-trust-strip li, .sn-trust-strip li > a { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.sn-trust-strip li > a:hover { color: var(--sn-primary); }
.sn-trust-strip .sensa-icon { flex: none; color: var(--sn-primary); }
.elementor-location-footer .sn-footer .sn-footer__trust { inline-size: 100%; max-inline-size: var(--sn-container, 1280px); margin-inline: auto; }
@media (max-width: 1024px) { .sn-trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.sn-trust-strip { gap: 12px; padding-block-end: 20px; font-size: 13px; }
	.sn-trust-strip li, .sn-trust-strip li > a { gap: 8px; line-height: 1.35; }
}

/* Link columns [sn_footer_menu]: <details>, always open from 768px (sn-stitch.js section 5, plus ::details-content
   without JS), collapsed accordions on mobile. */
.sn-facc { margin: 0; }
.sn-facc__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; list-style: none; cursor: default; }
.sn-facc__head::-webkit-details-marker { display: none; }
.sn-facc__title {
	margin: 0; font-family: var(--sn-font-heading), sans-serif; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--sn-primary-800);
}
.sn-facc__chev { display: none; inline-size: 9px; block-size: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 200ms; color: var(--sn-ink-muted); }
.sn-facc__list { display: flex; flex-direction: column; gap: 2px; margin: 12px 0 0; padding: 0; list-style: none; }
.sn-facc__list li { margin: 0; }
.sn-facc__list a {
	display: inline-block; padding: 5px 0; font-family: var(--sn-font-body), sans-serif; font-size: var(--sn-fs-ui, 15px); color: var(--sn-ink-muted); text-decoration: none;
}
.sn-facc__list a:hover { color: var(--sn-primary); }
.sn-facc__list .current-menu-item > a { color: var(--sn-primary); font-weight: 600; }
@media (min-width: 768px) {
	.sn-facc::details-content { content-visibility: visible; block-size: auto; }
	.sn-facc__head { pointer-events: none; }
}
@media (max-width: 767px) {
	.sn-facc { border-block-end: 1px solid rgba(34, 26, 30, .12); }
	.sn-facc__head { min-block-size: 52px; cursor: pointer; }
	.sn-facc__head:focus-visible { outline: 2px solid var(--sn-primary); outline-offset: 2px; }
	.sn-facc__chev { display: block; margin-inline-end: 4px; }
	.sn-facc[open] .sn-facc__chev { transform: translateY(2px) rotate(-135deg); }
	.elementor-location-footer .sn-footer .sn-footer__grid > .sn-footer__col:last-child .sn-facc { border-block-end: 0; }
	.sn-facc__list { margin: 0 0 14px; }
	.sn-facc__list a { padding: 7px 0; }
	.elementor-location-footer .sn-footer .sn-footer__grid { row-gap: 0; }
	.elementor-location-footer .sn-footer .sn-footer__grid > .sn-footer__col:first-child { padding-block-end: 20px; }
}

/* Legal row: copyright on the start side, SSL badge on the end side. */
.elementor-location-footer .sn-footer__legal > .e-div-block-base,
.elementor-location-footer .sn-footer__legal .elementor-widget-shortcode { inline-size: auto; }

/* SSL badge [sn_ssl_badge]: legal row (plain) and checkout header (pill). */
.sn-ssl { display: inline-flex; align-items: center; gap: 6px; font-family: var(--sn-font-body), sans-serif; font-size: 13px; font-weight: 600; color: var(--sn-success); white-space: nowrap; }
.sn-ssl .sensa-icon { flex: none; }
.sn-ssl--pill { padding: 7px 14px; border: 1px solid color-mix(in srgb, var(--sn-success) 30%, transparent); border-radius: var(--sn-radius-pill); background-color: color-mix(in srgb, var(--sn-success) 8%, #FFFFFF); font-size: 14px; }
@media (max-width: 767px) { .sn-ssl--pill { padding: 6px 10px; font-size: 13px; } .sn-ssl--pill .sn-ssl__extra { display: none; } }

/* ---------- 14. Checkout header / footer ---------- */
/* Grid columns come from the V4 class sn-header__bar--checkout; the class's nested justify-self rules don't reach the slots. */
.elementor-location-header .sn-header__bar--checkout > :first-child { justify-self: start; }
.elementor-location-header .sn-header__bar--checkout > :last-child { justify-self: end; inline-size: auto; }
@media (max-width: 767px) {
	.elementor-location-header .sn-header__bar--checkout .sn-logo { width: 92px; }
	.elementor-location-header .sn-header__bar--checkout .sn-btn { padding-inline: 10px; }
}
.sn-checkout-links ul { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0; padding: 0; list-style: none; }
.sn-checkout-links li { display: inline-flex; align-items: center; margin: 0; }
.sn-checkout-links li + li::before { content: "·"; padding-inline: 10px; color: var(--sn-ink-muted); opacity: .6; }
.sn-checkout-links a { font-family: var(--sn-font-body), sans-serif; font-size: var(--sn-fs-small, 14px); color: var(--sn-ink-muted); text-decoration: none; }
.sn-checkout-links a:hover { color: var(--sn-primary); text-decoration: underline; text-underline-offset: 3px; }

/* =====================================================================================================
   Phase 3 (2026-09-29): loop items P1 12295 · P2 12298 · P4 12304 · P5 12307 · C1 12310 · C2 12313 · G1 12316 ·
   G2 12319 · G3 12517 (new). Layout lives in the V4 classes (sn-pills, sn-atc--icon, sn-tile__label, sn-gcard__foot …,
   see elementor/v4-globals.md); here only icons, card-hover → child, JS states and the legacy category chips.
   ===================================================================================================== */
:root {
	/* Phosphor "Plus" and "Clock" (regular), used as masks. */
	--sn-ico-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	--sn-ico-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

/* ---------- 15. Product cards ---------- */
/* P1/P2/P5 hover: the card already lifts (sn-pcard hover); the clay CTA deepens with it. */
.e-loop-item .sn-pcard:hover .sn-atc { background-color: var(--sn-accent-hover); border-color: var(--sn-accent-hover); }
/* P2 round "+" (sn-atc--icon, 36px clay). The text stays in the DOM (hidden by font-size 0); sn-loop-atc.js adds aria-label. */
.sn-atc.sn-atc--icon::before {
	inline-size: 18px;
	block-size: 18px;
	-webkit-mask-image: var(--sn-ico-plus);
	mask-image: var(--sn-ico-plus);
}
.sn-atc.sn-atc--icon.is-added { background-color: var(--sn-sage); border-color: var(--sn-sage); }
.sn-atc.sn-atc--icon.is-added::before { -webkit-mask-image: var(--sn-ico-check); mask-image: var(--sn-ico-check); inline-size: 22px; block-size: 22px; }
.sn-atc.sn-atc--icon:active { transform: scale(0.95); }

/* ---------- 16. Category chips: active = filled plum, count in a 22px bubble ----------
   V4 C2 (12313, .sn-chip + .sn-chip__count; .is-active from sn-stitch.js §6) and the legacy [sensa_subcat_chips] row
   on the category archive (.sensa-chip, styled by the sn-chips-row class). */
.elementor .e-loop-item a.sn-chip.is-active,
body .elementor .sn-chips-row .sensa-chip.is-active {
	background-color: var(--sn-primary);
	border-color: var(--sn-primary);
	color: #FFFFFF;
}
.elementor .e-loop-item a.sn-chip.is-active .sn-chip__count { background-color: rgba(255, 255, 255, 0.2); color: #FFFFFF; }
body .elementor .sn-chips-row .sensa-chip__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-inline-size: 22px;
	block-size: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background-color: var(--sn-bg-subtle);
	color: var(--sn-ink-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
}
body .elementor .sn-chips-row .sensa-chip.is-active .sensa-chip__count { background-color: rgba(255, 255, 255, 0.2); color: #FFFFFF; }

/* ---------- 17. G2 on product pages ("כדאי לקרוא לפני שקונים"): one large full-width card (grid columns 1) ---------- */
[data-elementor-type="product"] .e-loop-item.elementor-12319 .sn-gcard--row { padding: 16px; gap: 24px; }
[data-elementor-type="product"] .e-loop-item.elementor-12319 .sn-gcard--row .sn-pcard__media {
	inline-size: 280px;
	min-inline-size: 280px;
	aspect-ratio: 16 / 10;
	border-radius: 12px;
}
[data-elementor-type="product"] .e-loop-item.elementor-12319 .sn-pcard__name { font-family: var(--sn-font-heading); font-size: 20px; }
[data-elementor-type="product"] .e-loop-item.elementor-12319 .sn-pcard__desc { -webkit-line-clamp: 2; font-size: var(--sn-fs-small); }
@media (max-width: 767px) {
	[data-elementor-type="product"] .e-loop-item.elementor-12319 .sn-gcard--row { flex-direction: column; align-items: stretch; gap: 12px; padding: 0 0 16px; }
	[data-elementor-type="product"] .e-loop-item.elementor-12319 .sn-gcard--row .sn-pcard__media { inline-size: 100%; min-inline-size: 0; border-radius: 0; }
	[data-elementor-type="product"] .e-loop-item.elementor-12319 .sn-gcard__body { padding-inline: 16px; }
}

/* ---------- 18. P4 featured: price and the two CTAs share one row (they wrap when the column is narrow) ---------- */
.e-loop-item .sn-pcard--featured .sn-pcard__foot > .e-con { inline-size: auto; flex: 0 1 auto; }

/* ---------- 19. G3 featured guide (12517, guides archive — Phase 8): the image fills its column without setting the
   row height (min 340px from sn-gcard--feature), the text block is vertically centred. ---------- */
@media (min-width: 768px) {
	.e-loop-item .sn-gcard--feature .sn-pcard__media img { position: absolute; inset: 0; }
	.e-loop-item .sn-gcard--feature .sn-gcard__foot { margin-block-start: 8px; }
}

/* =====================================================================================================
   Phase 4 (2026-09-29): product templates SP1 12404 · SP2 12479 · SP3 12413 (workshop 12402).
   V4 layout: sn-buy card, sn-bullets box, sn-gift, sn-trust (+ sn-trust--tiles), sn-rule-below, sn-section--top-tight,
   sn-col-start, sn-legacy--wide, sn-hl-tiles/-tile, sn-inci, sn-guard-* (elementor/v4-globals.md).
   Here: shortcode output ([sensa_spec] [sensa_usage] [sensa_faq] [sensa_anchors] [sn_delivery_card], bundles.php),
   the Woo gallery and the variation cards.
   ===================================================================================================== */
:root {
	/* Phosphor-style "Sparkle" and "MagnifyingGlassPlus", used as masks. */
	--sn-ico-sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M12 3.5c.6 4.2 2.3 5.9 6.5 6.5-4.2.6-5.9 2.3-6.5 6.5-.6-4.2-2.3-5.9-6.5-6.5 4.2-.6 5.9-2.3 6.5-6.5z'/%3E%3Cpath d='M18.5 15.5c.2 1.6.9 2.3 2.5 2.5-1.6.2-2.3.9-2.5 2.5-.2-1.6-.9-2.3-2.5-2.5 1.6-.2 2.3-.9 2.5-2.5z'/%3E%3C/svg%3E");
	--sn-ico-zoom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E");
}

/* ---------- 20. Buy panel extras ---------- */
/* SP3 bundle marker: gold pill with a sparkle icon. */
[data-elementor-type="product"] .sn-buy > .sn-badge--gold { display: inline-flex; align-items: center; gap: 6px; }
[data-elementor-type="product"] .sn-buy > .sn-badge--gold::before {
	content: ""; inline-size: 14px; block-size: 14px; flex: none; background: var(--sn-gold);
	-webkit-mask: var(--sn-ico-sparkle) center / contain no-repeat; mask: var(--sn-ico-sparkle) center / contain no-repeat;
}
/* SP3 saving pill sits in the price row (sn-badge--sage), aligned with the prices. */
[data-elementor-type="product"] .sn-buy .sn-price-row { align-items: center; flex-wrap: wrap; }

/* ---------- 21. Gallery: 4-column thumbnails, zoom trigger bottom-left, mobile counter + dots (sn-stitch.js §9) ---------- */
body .elementor .sn-gallery .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
body .elementor .sn-gallery div.images .flex-control-thumbs li { width: auto; float: none; margin: 0; }
body .elementor .sn-gallery div.images .flex-control-thumbs img { inline-size: 100%; block-size: auto; }
body .elementor .sn-gallery .flex-control-thumbs img { border-radius: 12px; border-style: solid; border-width: 2px; border-color: transparent; aspect-ratio: 1; object-fit: cover; }
body .elementor .sn-gallery .flex-control-thumbs img.flex-active { border-color: var(--sn-primary); opacity: 1; }
body .elementor .sn-gallery .woocommerce-product-gallery { position: relative; }
body .elementor .sn-gallery div.woocommerce-product-gallery.images .woocommerce-product-gallery__trigger {
	position: absolute; top: auto; right: auto; bottom: 16px; left: 16px; z-index: 2;
	display: inline-flex; align-items: center; justify-content: center;
	inline-size: 40px; block-size: 40px; border-radius: 50%; background-color: var(--sn-surface);
	box-shadow: 0 2px 10px rgba(34, 26, 30, .12); text-indent: 0; font-size: 0;
}
body .elementor .sn-gallery div.woocommerce-product-gallery.images .woocommerce-product-gallery__trigger > span { display: none; }
body .elementor .sn-gallery div.woocommerce-product-gallery.images .woocommerce-product-gallery__trigger::before {
	content: ""; position: static; inline-size: 20px; block-size: 20px; border: 0; border-radius: 0; background: var(--sn-primary-800);
	-webkit-mask: var(--sn-ico-zoom) center / contain no-repeat; mask: var(--sn-ico-zoom) center / contain no-repeat;
}
body .elementor .sn-gallery div.woocommerce-product-gallery.images .woocommerce-product-gallery__trigger::after { content: none; display: none; }
.sn-gal-count, .sn-gal-dots { display: none; }
@media (max-width: 767px) {
	body .elementor .sn-gallery .sn-gal--multi .flex-control-thumbs { display: none; }
	.sn-gal--multi .flex-viewport { position: relative; }
	.sn-gal--multi .sn-gal-count {
		display: inline-block; position: absolute; bottom: 14px; right: 14px; z-index: 2; padding: 4px 10px; border-radius: var(--sn-radius-pill);
		background: rgba(34, 26, 30, .72); color: #FFFFFF; font-family: var(--sn-font-body), sans-serif; font-size: 13px; font-weight: 700; line-height: 1.3;
		direction: ltr;
	}
	.sn-gal--multi .sn-gal-dots { display: flex; justify-content: center; gap: 6px; padding-top: 12px; }
	body .sn-gal-dots .sn-gal-dot { min-inline-size: 0; min-block-size: 0; line-height: 0; font-size: 0; box-shadow: none; }
	.sn-gal-dot { inline-size: 8px; block-size: 8px; padding: 0; border: 0; border-radius: 999px; background: var(--sn-border-strong); opacity: .45; cursor: pointer; transition: inline-size 150ms, opacity 150ms; }
	body .sn-gal-dots .sn-gal-dot { inline-size: 8px; block-size: 8px; padding: 0; border: 0; background: var(--sn-border-strong); }
	body .sn-gal-dots .sn-gal-dot.is-active { inline-size: 22px; background: var(--sn-primary-800); }
	.sn-gal-dot.is-active { inline-size: 22px; background: var(--sn-primary-800); opacity: 1; }
	.sn-gal-dot:focus-visible { outline: 2px solid var(--sn-primary); outline-offset: 2px; }
}

/* ---------- 22. Anchors: active tab (scroll-spy, sn-stitch.js §8) underlined 700; pill chips on mobile ---------- */
body .elementor .sn-anchors .sensa-anchors a.is-active { color: var(--sn-primary-800); font-weight: 700; border-bottom-color: var(--sn-primary-800); }
@media (max-width: 767px) {
	body .elementor .sn-anchors .sensa-anchors { gap: 8px; padding-block: 10px; }
	body .elementor .sn-anchors .sensa-anchors a {
		padding: 7px 16px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-pill); background-color: var(--sn-bg-subtle);
		color: var(--sn-ink); font-size: 14px; line-height: 1.3;
	}
	body .elementor .sn-anchors .sensa-anchors a.is-active,
	body .elementor .sn-anchors .sensa-anchors a:hover { background-color: var(--sn-primary-800); border-color: var(--sn-primary-800); color: #FFFFFF; }
}

/* ---------- 23. Spec [sensa_spec]: icon per group, values bold plum; <details> accordion on mobile ---------- */
body .elementor .sn-legacy--spec .sensa-spec__grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
body .elementor .sn-legacy--spec .sensa-spec__group { border: 1px solid var(--sn-border); box-shadow: none; }
.sensa-spec__head { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-block-end: 8px; list-style: none; cursor: default; }
.sensa-spec__head::-webkit-details-marker { display: none; }
body .elementor .sn-legacy--spec .sensa-spec__head h3 { margin: 0; font-size: 18px; color: var(--sn-primary-800); }
.sensa-spec__icon {
	display: inline-flex; align-items: center; justify-content: center; inline-size: 40px; block-size: 40px; border-radius: 50%;
	background-color: var(--sn-bg-subtle); color: var(--sn-primary);
}
body .elementor .sn-legacy .sensa-spec__icon svg.sensa-icon { color: var(--sn-primary); }
.sensa-spec__chev { display: none; }
body .elementor .sn-legacy--spec dd { color: var(--sn-primary-800); font-weight: 700; }
@media (min-width: 768px) {
	.sensa-spec__group::details-content { content-visibility: visible; block-size: auto; }
	.sensa-spec__head { pointer-events: none; }
}
@media (max-width: 767px) {
	body .elementor .sn-legacy--spec .sensa-spec__grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	body .elementor .sn-legacy--spec .sensa-spec__group { padding: 0; border-radius: 14px; overflow: hidden; }
	.sensa-spec__head { flex-direction: row; align-items: center; gap: 12px; margin: 0; padding: 12px 16px; min-block-size: 56px; cursor: pointer; }
	.sensa-spec__head:focus-visible { outline: 2px solid var(--sn-primary); outline-offset: -2px; }
	body .elementor .sn-legacy--spec .sensa-spec__head h3 { flex: 1; font-size: 16px; }
	.sensa-spec__icon { inline-size: 32px; block-size: 32px; }
	.sensa-spec__icon svg { inline-size: 18px; block-size: 18px; }
	.sensa-spec__chev { display: block; inline-size: 9px; block-size: 9px; margin-inline-end: 4px; border-right: 1.5px solid var(--sn-ink-muted); border-bottom: 1.5px solid var(--sn-ink-muted); transform: translateY(-2px) rotate(45deg); transition: transform 200ms; }
	.sensa-spec__group[open] .sensa-spec__chev { transform: translateY(2px) rotate(-135deg); }
	body .elementor .sn-legacy--spec .sensa-spec__group dl { padding: 0 16px 8px; border-top: 1px solid var(--sn-border); }
}

/* ---------- 24. Usage [sensa_usage]: step cards with faded numerals 01–04, sage tip full width (filled circles on mobile) ---------- */
body .elementor .sn-legacy--usage .sensa-usage--cards { display: block; }
.sensa-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.sensa-step {
	display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 24px; background-color: var(--sn-surface);
	border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md);
}
.sensa-step__num {
	align-self: flex-end; font-family: var(--sn-font-heading), sans-serif; font-size: 36px; font-weight: 800; line-height: 1;
	color: var(--sn-primary-100); direction: ltr;
}
body .elementor .sn-legacy .sensa-step__title { margin: 0 0 6px; font-size: 18px; color: var(--sn-primary-800); }
.sensa-step p { margin: 0; color: var(--sn-ink-muted); font-size: var(--sn-fs-ui); line-height: 1.65; }
.sensa-usage__tip {
	display: flex; align-items: flex-start; gap: 12px; margin-top: 24px; padding: 18px 22px; border-radius: var(--sn-radius-md);
	background-color: var(--sn-sage-50); border: 1px solid color-mix(in srgb, var(--sn-sage) 25%, transparent); color: var(--sn-sage-700);
}
body .elementor .sn-legacy .sensa-usage__tip svg.sensa-icon { flex: none; color: var(--sn-sage-700); margin-top: 1px; }
.sensa-usage__tip p { margin: 0; line-height: 1.6; }
.sensa-usage__tip .sensa-usage__tip-title { font-weight: 700; }
@media (max-width: 767px) {
	.sensa-steps { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.sensa-step { flex-direction: row; align-items: flex-start; gap: 14px; padding: 16px; }
	.sensa-step__num {
		order: -1; align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; flex: none;
		inline-size: 32px; block-size: 32px; border-radius: 50%; background-color: var(--sn-primary-800); color: #FFFFFF; font-size: 13px; font-weight: 700;
	}
	body .elementor .sn-legacy .sensa-step__title { font-size: 16px; margin-bottom: 2px; }
	.sensa-usage__tip { margin-top: 16px; padding: 14px 16px; }
}

/* ---------- 25. FAQ [sensa_faq] on product pages: white card, dividers, chevrons, bold plum questions, first open ---------- */
.sensa-faq__chev { display: none; }
[data-elementor-type="product"] .sensa-faq__list { background-color: var(--sn-surface); border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); overflow: hidden; }
body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__item { border-bottom: 1px solid var(--sn-border); }
body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__item:last-child { border-bottom: 0; }
body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__item summary { padding: 20px 24px; color: var(--sn-primary-800); font-weight: 700; }
body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__item summary::after,
body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__item[open] summary::after { content: none; display: none; }
body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__item summary:focus-visible { outline: 2px solid var(--sn-primary); outline-offset: -2px; }
[data-elementor-type="product"] .sensa-faq__chev {
	display: block; flex: none; inline-size: 9px; block-size: 9px; margin-inline-start: 8px; border-right: 1.5px solid var(--sn-primary-800);
	border-bottom: 1.5px solid var(--sn-primary-800); transform: translateY(-2px) rotate(45deg); transition: transform 200ms;
}
[data-elementor-type="product"] .sensa-faq__item[open] .sensa-faq__chev { transform: translateY(2px) rotate(-135deg); }
body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__answer { padding: 0 24px 20px; }
@media (max-width: 767px) {
	[data-elementor-type="product"] .sensa-faq__list { display: flex; flex-direction: column; gap: 8px; background: none; border: 0; border-radius: 0; overflow: visible; }
	body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__item,
	body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__item:last-child { border: 1px solid var(--sn-border); border-radius: 14px; background-color: var(--sn-surface); }
	body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__item summary { padding: 16px; font-size: 16px; }
	body [data-elementor-type="product"] .sn-legacy--faq .sensa-faq__answer { padding: 0 16px 16px; }
}

/* ---------- 26. "איך זה מגיע הביתה" [sn_delivery_card], mobile only ---------- */
.sn-delivery { display: none; }
@media (max-width: 767px) {
	.sn-delivery {
		display: flex; align-items: center; gap: 14px; margin-top: 8px; padding: 12px; border: 1px solid var(--sn-border);
		border-radius: var(--sn-radius-md); background-color: var(--sn-surface);
	}
	.sn-delivery__img { flex: none; inline-size: 64px; block-size: 64px; border-radius: 10px; object-fit: cover; }
	.sn-delivery p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--sn-ink-muted); }
	.sn-delivery .sn-delivery__title { font-family: var(--sn-font-heading), sans-serif; font-size: 15px; font-weight: 700; color: var(--sn-primary-800); }
}

/* ---------- 27. SP2 size cards (variation-buttons.php, .sn-var--cards on pa_volume) ---------- */
body .elementor .sn-atc-slot .sn-var.sn-var--cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 10px; }
body .elementor .sn-atc-slot .sn-var--cards .sn-var__opt {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
	min-block-size: 64px; padding: 12px 8px; border: 1px solid var(--sn-border-strong); border-radius: 12px; background-color: var(--sn-surface);
	color: var(--sn-ink); text-align: center;
}
body .elementor .sn-atc-slot .sn-var--cards .sn-var__opt[aria-pressed="true"] { border: 2px solid var(--sn-primary-800); background-color: var(--sn-primary-50); padding: 11px 7px; }
.sn-var--cards .sn-var__label { font-weight: 700; font-size: 16px; color: var(--sn-primary-800); }
.sn-var--cards .sn-var__price { font-size: 13px; color: var(--sn-ink-muted); }
.sn-var--cards .sn-var__tag {
	position: absolute; top: 0; left: 50%; transform: translate(-50%, -55%); padding: 2px 10px; border-radius: var(--sn-radius-pill);
	background-color: var(--sn-primary-800); color: #FFFFFF; font-size: 11px; font-weight: 700; white-space: nowrap;
}
/* INCI list (sn-ingredients): monospace like a label print; Hebrew falls back to Courier New's Hebrew glyphs. */
body .elementor .sn-ingredients { font-family: Consolas, "Courier New", monospace; }
/* Compatibility list full width (its own section since Phase 4). */
body .elementor .sn-compat-slot .sn-compat { inline-size: 100%; }

/* ---------- 28. SP3 bundle: items with a gold "+" line, calc banner, reasons, fit chips (includes/bundles.php) ---------- */
.sn-bitems { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; }
.sn-bitem {
	flex: 1 1 0; min-inline-size: 0; display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 16px;
	background-color: var(--sn-surface); border: 1px solid var(--sn-border); border-radius: 20px;
}
.sn-bitems[style*="--sn-bitems:1"] .sn-bitem { flex: 0 1 380px; }
.sn-bitems[style*="--sn-bitems:1"] { justify-content: center; }
.sn-bitem__media { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background-color: var(--sn-sand-deep); }
.sn-bitem__media img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.sn-bitem__count {
	position: absolute; top: 10px; right: 10px; padding: 4px 10px; border-radius: 8px; background-color: rgba(255, 255, 255, .92);
	color: var(--sn-primary-800); font-size: 12px; font-weight: 700;
}
.sn-bitem__body { display: flex; flex-direction: column; gap: 4px; flex: 1; }
body .elementor .sn-legacy .sn-bitem__name { margin: 0; font-size: 18px; line-height: 1.35; }
body .elementor .sn-legacy .sn-bitem__name a { color: var(--sn-primary-800); text-decoration: none; }
.sn-bitem__cat, .sn-bitem__desc { margin: 0; font-size: var(--sn-fs-small); color: var(--sn-ink-muted); line-height: 1.55; }
.sn-bitem__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--sn-border); font-size: var(--sn-fs-small); }
.sn-bitem__was { color: var(--sn-ink-muted); }
body .elementor .sn-legacy .sn-bitem__link { display: inline-flex; align-items: center; gap: 6px; color: var(--sn-primary); font-weight: 700; text-decoration: none; }
body .elementor .sn-legacy .sn-bitem__link svg.sensa-icon { color: currentColor; }
.sn-bitems__plus { flex: 0 0 64px; position: relative; display: flex; align-items: center; justify-content: center; margin: 0; list-style: none; }
.sn-bitems__plus::before { content: ""; position: absolute; inset-inline: 0; top: 50%; block-size: 1px; background-color: var(--sn-gold); }
.sn-bitems__plus span {
	position: relative; display: inline-flex; align-items: center; justify-content: center; inline-size: 36px; block-size: 36px;
	border: 1.5px solid var(--sn-gold); border-radius: 50%; background-color: var(--sn-surface); color: #8A6A2B; font-size: 20px; font-weight: 600; line-height: 1;
}
.sn-bcalc {
	display: flex; align-items: center; flex-wrap: wrap; gap: 16px 28px; margin-top: 24px; padding: 18px 24px;
	background-color: var(--sn-surface); border: 1.5px solid color-mix(in srgb, var(--sn-gold) 55%, transparent); border-radius: var(--sn-radius-md);
}
.sn-bcalc__icon { display: inline-flex; align-items: center; justify-content: center; inline-size: 44px; block-size: 44px; border-radius: 50%; background-color: #F7EFDD; }
body .elementor .sn-legacy .sn-bcalc__icon svg.sensa-icon { color: #8A6A2B; }
.sn-bcalc__nums { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 28px; margin: 0; flex: 1 1 auto; }
.sn-bcalc__nums > div { display: flex; align-items: baseline; gap: 8px; }
.sn-bcalc__nums > div + div { padding-inline-start: 28px; border-inline-start: 1px solid var(--sn-border); }
.sn-bcalc__nums dt { font-size: var(--sn-fs-small); color: var(--sn-ink-muted); }
.sn-bcalc__nums dd { margin: 0; font-weight: 700; color: var(--sn-ink); }
.sn-bcalc__nums .is-price dd { font-family: var(--sn-font-heading), sans-serif; font-size: 22px; font-weight: 800; color: var(--sn-primary-800); }
.sn-bcalc__nums .is-save dd { color: var(--sn-sage-700); }
.sn-bcalc__nums .is-save dd span { font-weight: 600; }
body .elementor .sn-legacy .sn-bcalc__cta {
	display: inline-flex; align-items: center; justify-content: center; min-block-size: 44px; padding: 10px 24px; margin-inline-start: auto;
	border: 1px solid var(--sn-primary); border-radius: var(--sn-radius-pill); color: var(--sn-primary); font-weight: 700; text-decoration: none; white-space: nowrap;
}
body .elementor .sn-legacy .sn-bcalc__cta:hover { background-color: var(--sn-primary-50); }
.sn-breasons { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.sn-breason { margin: 0; padding: 28px; background-color: var(--sn-bg-subtle); border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); }
.sn-breason:nth-child(2) { background-color: #FBF6EA; border-color: color-mix(in srgb, var(--sn-gold) 55%, transparent); }
.sn-breason__icon { display: inline-flex; align-items: center; justify-content: center; inline-size: 48px; block-size: 48px; margin-bottom: 18px; border-radius: 12px; background-color: var(--sn-surface); }
body .elementor .sn-legacy .sn-breason:nth-child(2) .sn-breason__icon svg.sensa-icon { color: #8A6A2B; }
body .elementor .sn-legacy .sn-breason h3 { margin: 0 0 8px; font-size: 19px; color: var(--sn-primary-800); }
.sn-breason p { margin: 0; color: var(--sn-ink-muted); }
.sn-bfit { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.sn-bfit__chip {
	display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 10px 20px; border-radius: var(--sn-radius-pill);
	background-color: var(--sn-sage-50); border: 1px solid color-mix(in srgb, var(--sn-sage) 30%, transparent); color: var(--sn-sage-700); font-weight: 600;
}
body .elementor .sn-legacy .sn-bfit__chip svg.sensa-icon { color: var(--sn-sage-700); }
/* P5 card strip (loop item 12307, V3 shortcode widget). */
.sn-bstrip { display: flex; align-items: center; gap: 6px; }
.sn-bstrip__thumb { display: block; inline-size: 36px; block-size: 36px; border-radius: 8px; overflow: hidden; border: 1px solid var(--sn-border); background-color: var(--sn-sand-deep); }
.sn-bstrip__thumb img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.sn-bstrip__label { margin-inline-start: 4px; font-size: var(--sn-fs-xs); font-weight: 600; color: var(--sn-ink-muted); }
.e-loop-item .elementor-element.elementor-widget-shortcode:has(.elementor-shortcode:empty) { display: none; }
@media (max-width: 767px) {
	.sn-bitems { flex-direction: column; }
	.sn-bitem { flex-direction: row; align-items: flex-start; flex-wrap: wrap; padding: 12px; }
	.sn-bitems[style*="--sn-bitems:1"] .sn-bitem { flex: 1 1 auto; }
	.sn-bitem__media { flex: 0 0 96px; aspect-ratio: 1; }
	.sn-bitem__count { top: 6px; right: 6px; padding: 2px 6px; font-size: 11px; }
	.sn-bitem__body { flex: 1 1 0; min-inline-size: 0; }
	.sn-bitem__foot { flex: 1 1 100%; }
	body .elementor .sn-legacy .sn-bitem__name { font-size: 16px; }
	.sn-bitem__desc { display: none; }
	.sn-bitems__plus { flex: 0 0 40px; }
	.sn-bitems__plus::before { inset-inline: auto; left: 50%; top: 0; bottom: 0; inline-size: 1px; block-size: auto; }
	.sn-bitems__plus span { inline-size: 30px; block-size: 30px; font-size: 17px; }
	.sn-bcalc { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; }
	.sn-bcalc__icon { display: none; }
	.sn-bcalc__nums { flex-direction: column; gap: 8px; }
	.sn-bcalc__nums > div { justify-content: space-between; }
	.sn-bcalc__nums > div + div { padding-inline-start: 0; border-inline-start: 0; padding-top: 8px; border-top: 1px solid var(--sn-border); }
	body .elementor .sn-legacy .sn-bcalc__cta { margin-inline-start: 0; }
	.sn-breasons { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.sn-breason { padding: 20px; }
	.sn-bfit { justify-content: flex-start; gap: 8px; }
	.sn-bfit__chip { padding: 8px 14px; font-size: 14px; }
}

/* =====================================================================================================
   Phase 5 (2026-09-29): archives — A4 search 12426 · A1 shop 12424 · A2/A3 category 12422 · collection 12444.
   Markup: includes/archives-v5.php (+ sensa_faq / sensa_filters_head in sections.php). V4 layout on workshop 12402
   (tools/phase5-workshop.py): sn-hero + sn-panel hero panels, sn-container--search (880), sn-bg-dark band.
   ===================================================================================================== */

/* ---------- 29. Search A4: field, head, tabs, list, guides, empty state ---------- */
.sn-sfield { position: relative; display: flex; align-items: center; }
.sn-sfield__icon { position: absolute; inset-inline-start: 18px; color: var(--sn-ink-muted); pointer-events: none; }
body .elementor .sn-legacy .sn-sfield__input {
	inline-size: 100%; block-size: 56px; margin: 0; padding-block: 0; padding-inline: 52px 52px; border: 1px solid var(--sn-border);
	border-radius: var(--sn-radius-md); background-color: var(--sn-surface); color: var(--sn-ink); font-family: var(--sn-font-body), sans-serif;
	font-size: 17px; box-shadow: 0 1px 2px rgba(34, 26, 30, 0.04);
}
body .elementor .sn-legacy .sn-sfield__input:focus { outline: none; border-color: var(--sn-primary); box-shadow: 0 0 0 3px var(--sn-primary-100); }
.sn-sfield__input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
body .elementor .sn-legacy .sn-sfield__clear {
	position: absolute; inset-inline-end: 8px; display: inline-flex; align-items: center; justify-content: center; inline-size: 40px; block-size: 40px;
	padding: 0; border: 0; border-radius: 50%; background: none; color: var(--sn-ink-muted); box-shadow: none; cursor: pointer;
}
body .elementor .sn-legacy .sn-sfield__clear:hover { background-color: var(--sn-bg-subtle); color: var(--sn-ink); }
.sn-sfield__clear[hidden] { display: none !important; }
.sn-scounts { margin: 0; color: var(--sn-ink-muted); font-size: 15px; }
.sn-stabs { display: flex; flex-wrap: wrap; gap: 8px; }
body .elementor .sn-legacy .sn-stab {
	display: inline-flex; align-items: center; gap: 8px; min-block-size: 44px; padding: 0 18px; border: 1px solid var(--sn-border-strong);
	border-radius: var(--sn-radius-pill); background-color: var(--sn-surface); color: var(--sn-ink); font-family: var(--sn-font-body), sans-serif;
	font-size: 15px; font-weight: 600; box-shadow: none; cursor: pointer;
}
body .elementor .sn-legacy .sn-stab.is-active { background-color: var(--sn-primary); border-color: var(--sn-primary); color: #FFFFFF; }
body .elementor .sn-legacy .sn-stab:disabled { opacity: 0.5; cursor: default; }
.sn-stab__n { display: inline-flex; align-items: center; justify-content: center; min-inline-size: 22px; block-size: 22px; padding: 0 6px; border-radius: 999px; background-color: var(--sn-bg-subtle); color: var(--sn-ink-muted); font-size: 12px; line-height: 1; }
.sn-stab.is-active .sn-stab__n { background-color: rgba(255, 255, 255, 0.2); color: #FFFFFF; }
.elementor .elementor-element[data-id="1919e501"] { padding-block-end: 8px; }
.elementor .elementor-element[data-id="3960f858"], .elementor .elementor-element[data-id="5a5e4c00"] { padding-block-start: 16px; }
.elementor .sn-search-core { gap: 16px; }
.elementor .sn-search-core > .sn-ssort { align-self: flex-end; inline-size: auto; }
.sn-ssort .jet-sorting-select { min-block-size: 44px; min-inline-size: 190px; border: 1px solid var(--sn-border-strong); border-radius: var(--sn-radius-sm); background-color: var(--sn-surface); padding-inline: 12px; font-family: var(--sn-font-body), sans-serif; font-size: 15px; }
.sn-shead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin-block-end: 8px; }
.sn-shead .sensa-eyebrow { margin: 0 0 4px; }
body .elementor .sn-legacy .sn-shead h2 { margin: 0; font-size: 26px; }
.sn-shead__link, body .elementor .sn-legacy .sn-shead__link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; }
.sn-sempty { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding-block-start: 8px; }
.sn-sempty__icon { display: inline-flex; align-items: center; justify-content: center; inline-size: 64px; block-size: 64px; border-radius: 50%; background-color: var(--sn-primary-50); color: var(--sn-primary); margin-block-end: 6px; }
body .elementor .sn-legacy .sn-sempty h2 { margin: 0; font-size: 30px; }
.sn-sempty p { margin: 0; color: var(--sn-ink-muted); }
.elementor .elementor-element[data-id="5a5e4e00"] { align-items: stretch; gap: 20px; padding: clamp(24px, 4vw, 48px); }
.elementor [data-id="5a5e4e00"] .elementor-loop-container { justify-content: center; }
/* Trust row (empty search). */
.sn-trow { list-style: none; margin: 0; padding: 20px 0 0; border-top: 1px solid var(--sn-border); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sn-trow li { display: flex; align-items: center; gap: 12px; margin: 0; }
.sn-trow__ic { flex: none; display: inline-flex; align-items: center; justify-content: center; inline-size: 40px; block-size: 40px; border-radius: 50%; background-color: var(--sn-primary-50); color: var(--sn-primary); }
.sn-trow li > span:last-child { display: flex; flex-direction: column; line-height: 1.35; }
.sn-trow strong { color: var(--sn-primary-800); font-size: 15px; }
.sn-trow li > span:last-child > span { color: var(--sn-ink-muted); font-size: 13px; }
@media (max-width: 767px) {
	body .elementor .sn-legacy .sn-sfield__input { block-size: 52px; font-size: 16px; }
	.sn-trow { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.elementor .sn-search-core > .sn-ssort { align-self: stretch; }
	.sn-ssort .jet-sorting-select { inline-size: 100%; }
	body .elementor .sn-legacy .sn-sempty h2 { font-size: 24px; }
}

/* ---------- 30. Filters + toolbar (A1/A2): head "סינון תוצאות" + "נקה הכל", dividers, 32px rows, counts "(n)",
   sticky sidebar (the listing row no longer grows to the sidebar's full height), toolbar = count · active chips · sort ---------- */
.sensa-filters__clear-link { display: none; }
@media (min-width: 1025px) {
	.sensa-filters {
		position: sticky; inset-block-start: 96px; align-self: flex-start; max-block-size: calc(100vh - 112px); overflow-y: auto;
		overscroll-behavior: contain; scrollbar-width: thin;
	}
	.sensa-filters__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-block: 14px 12px; border-bottom: 1px solid var(--sn-border); }
	.sensa-filters .sensa-filters__close { display: none; }
	.sensa-filters__title { margin: 0; display: flex; align-items: center; gap: 8px; font-family: var(--sn-font-heading), sans-serif; font-weight: 700; font-size: 18px; color: var(--sn-primary-800); }
	.sensa-filters__title .sensa-icon { color: var(--sn-primary); }
	.sensa-filters__active { font-family: var(--sn-font-body), sans-serif; font-size: 13px; font-weight: 600; color: var(--sn-primary); }
	.sensa-filters__active[hidden] { display: none; }
	.sensa-filters .sensa-filters__clear-link {
		display: inline; padding: 0; border: 0; background: none; box-shadow: none; color: var(--sn-primary); font-family: var(--sn-font-body), sans-serif;
		font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; min-block-size: 0;
	}
	.sensa-filters .sensa-filters__clear-link:disabled { color: var(--sn-ink-muted); text-decoration: none; opacity: 0.6; cursor: default; }
}
.sensa-filters .jet-filter { padding-block: 14px; border-block-end: 1px solid var(--sn-border); }
.sensa-filters .jet-filter-label { font-family: var(--sn-font-heading), sans-serif; font-weight: 700; font-size: 15px; color: var(--sn-primary-800); margin-block-end: 6px; }
.sensa-filters .jet-checkboxes-list__item { min-block-size: 32px; gap: 10px; }
.sensa-filters .jet-checkboxes-list__decorator { margin-inline-end: 0 !important; }
.sensa-filters .jet-checkboxes-list__label { font-size: 15px; }
.sensa-filters .jet-filters-counter .counter-prefix,
.sensa-filters .jet-filters-counter .counter-suffix { display: inline; }
.sensa-filters .jet-filters-counter { font-size: 13px; }
.sensa-filters .jet-checkboxes-list__input:focus-visible + .jet-checkboxes-list__button .jet-checkboxes-list__decorator { outline: 2px solid var(--sn-primary); outline-offset: 2px; }
/* Toolbar */
.sn-rcount { margin: 0; font-weight: 700; color: var(--sn-primary-800); font-size: 15px; white-space: nowrap; }
.sensa-toolbar { gap: 12px; align-items: center; }
.sensa-toolbar > .elementor-widget-jet-smart-filters-active-tags { flex: 1 1 auto; min-inline-size: 0; }
.sensa-toolbar .jet-active-tags__list { display: flex; flex-wrap: wrap; gap: 8px; }
.sensa-toolbar .jet-active-tag {
	display: inline-flex; align-items: center; gap: 6px; margin: 0 !important; padding: 6px 12px; border: 1px solid var(--sn-primary-100);
	border-radius: var(--sn-radius-pill); background-color: var(--sn-primary-50); color: var(--sn-primary-800); font-size: 13px; font-weight: 600; cursor: pointer;
}
.sensa-toolbar .jet-active-tag__remove { order: -1; font-size: 14px; line-height: 1; color: var(--sn-primary); }
.sensa-toolbar .jet-active-tag.jet-active-tag--clear { background: none; border-color: transparent; color: var(--sn-primary); text-decoration: underline; }
@media (min-width: 1025px) {
	.sensa-toolbar { padding: 10px 16px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background-color: var(--sn-surface); }
}
@media (max-width: 1024px) {
	.sensa-toolbar { flex-wrap: wrap; }
	.sensa-toolbar > .elementor-widget-shortcode:has(.sn-rcount) { flex: 1 1 100% !important; order: -1; }
	.sensa-toolbar > .elementor-widget-jet-smart-filters-active-tags { flex: 1 1 100% !important; order: 5; }
	.sensa-toolbar > .elementor-widget-jet-smart-filters-active-tags:not(:has(.jet-active-tag)) { display: none; }
}

/* ---------- 31. Category A2/A3: hero panel, chips row, A3 back link + sage banner, "איך בוחרים" cards, G2 head ---------- */
.elementor .elementor-element[data-id="5a5e2002"], .elementor .elementor-element[data-id="5a5e3002"] { align-items: center; }
.sn-hero__media > .elementor-widget-shortcode, .sn-hero__media .elementor-widget-container, .sn-hero__media .elementor-shortcode { block-size: 100%; }
.sn-hero__media img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
/* No image (a subcategory whose parent has none either) → text only. */
.elementor .sn-hero:has(> .sn-hero__media .elementor-shortcode:empty) { grid-template-columns: minmax(0, 1fr); }
.elementor .sn-hero > .sn-hero__media:has(.elementor-shortcode:empty) { display: none; }
.elementor .elementor-element[data-id="5a5e2006"] { justify-content: space-between; align-items: center; gap: 12px; }
.elementor .elementor-element[data-id="5a5e2006"] > [data-id="5f2ce5c9"] { flex: 1 1 auto; inline-size: auto; min-inline-size: 0; }
.sn-catback, body .elementor .sn-legacy .sn-catback { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; color: var(--sn-primary); text-decoration: none; }
.sn-catback .sensa-icon { transform: scaleX(-1); }
.sn-unsure { display: flex; align-items: center; gap: 14px; padding: 14px 20px; border: 1px solid rgba(111, 127, 106, 0.25); border-radius: var(--sn-radius-md); background-color: var(--sn-sage-50); }
.sn-unsure__ic { flex: none; display: inline-flex; align-items: center; justify-content: center; inline-size: 40px; block-size: 40px; border-radius: 50%; background-color: #FFFFFF; color: var(--sn-sage-700); }
.sn-unsure p { margin: 0; flex: 1 1 auto; color: var(--sn-ink); font-size: 15px; }
body .elementor .sn-legacy .sn-unsure strong { color: var(--sn-sage-700); }
.sn-unsure a, body .elementor .sn-legacy .sn-unsure a { flex: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--sn-sage-700); white-space: nowrap; }
/* "איך בוחרים": white panel of cards with icon circles. */
body .elementor [data-id="66f767d3"] .sensa-cat-guide { padding: clamp(24px, 4vw, 40px); border: 1px solid var(--sn-border); border-radius: var(--sn-radius-lg); background-color: var(--sn-surface); }
body .elementor [data-id="66f767d3"] .sensa-cat-guide__grid { gap: 16px; margin-top: 24px; }
body .elementor [data-id="66f767d3"] .sensa-guide-card-mini { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px; border-radius: var(--sn-radius-md); background-color: var(--sn-bg-subtle); }
body .elementor [data-id="66f767d3"] .sensa-guide-card-mini h3 { margin: 4px 0 0; font-size: 17px; color: var(--sn-primary-800); }
body .elementor [data-id="66f767d3"] .sensa-guide-card-mini div, body .elementor [data-id="66f767d3"] .sensa-guide-card-mini p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--sn-ink-muted); }
body .elementor [data-id="66f767d3"] .sensa-icon-circle { display: inline-flex; align-items: center; justify-content: center; inline-size: 44px; block-size: 44px; border-radius: 50%; background-color: #FFFFFF; color: var(--sn-primary); }
body .elementor [data-id="66f767d3"] .sensa-link-arrow { display: inline-flex; align-items: center; gap: 6px; margin-top: 20px; font-weight: 700; }
/* G2 guides head on the category archive: eyebrow + H2 close together, space before the cards. */
[data-elementor-type="product-archive"] .elementor-element[data-id="c2a0e5f1"] { gap: 6px; margin-block-end: 24px; }
@media (max-width: 767px) {
	.elementor .elementor-element[data-id="5a5e2002"] > .sn-hero__media, .elementor .elementor-element[data-id="5a5e3002"] > .sn-hero__media { order: -1; aspect-ratio: 16 / 10; }
	.sn-unsure { flex-wrap: wrap; }
	.sn-unsure a { inline-size: 100%; }
}

/* ---------- 32. FAQ card (A1 shop FAQ, A2 [sensa_faq], collections) — same look as the product FAQ (§25) ---------- */
.sn-faqcard .sensa-faq__list { background-color: var(--sn-surface); border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); overflow: hidden; }
body .elementor .sn-faqcard .sensa-faq__item { margin: 0; border: 0; border-bottom: 1px solid var(--sn-border); border-radius: 0; background: none; }
body .elementor .sn-faqcard .sensa-faq__item:last-child { border-bottom: 0; }
body .elementor .sn-faqcard .sensa-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 24px; color: var(--sn-primary-800); font-weight: 700; list-style: none; cursor: pointer; }
body .elementor .sn-faqcard .sensa-faq__item summary::-webkit-details-marker { display: none; }
body .elementor .sn-faqcard .sensa-faq__item summary::after,
body .elementor .sn-faqcard .sensa-faq__item[open] summary::after { content: none; display: none; }
.sn-faqcard .sensa-faq__chev {
	display: block; flex: none; inline-size: 9px; block-size: 9px; border-right: 1.5px solid var(--sn-primary-800); border-bottom: 1.5px solid var(--sn-primary-800);
	transform: translateY(-2px) rotate(45deg); transition: transform 200ms;
}
.sn-faqcard .sensa-faq__item[open] .sensa-faq__chev { transform: translateY(2px) rotate(-135deg); }
body .elementor .sn-faqcard .sensa-faq__answer { padding: 0 24px 18px; color: var(--sn-ink-muted); }
body .elementor .sn-faqcard .sensa-faq__answer p { margin: 0; }
.sn-faqcard__more { margin: 16px 0 0; text-align: center; }
.sn-faqcard__more a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.sn-coll-faq__head { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-block-end: 24px; text-align: center; }
.sn-coll-faq__head .sensa-eyebrow { margin: 0; }
body .elementor .sn-legacy .sn-coll-faq__head h2 { margin: 0; }
@media (max-width: 767px) {
	body .elementor .sn-faqcard .sensa-faq__item summary { padding: 16px; font-size: 16px; }
	body .elementor .sn-faqcard .sensa-faq__answer { padding: 0 16px 16px; }
}

/* ---------- 33. Shop A1: categories head, need chips bar, dark discretion band ---------- */
.elementor .elementor-element[data-id="5a5e1002"] { margin-block-end: 0; align-items: center; }
.sn-needbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 12px 20px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-lg); background-color: var(--sn-surface); }
.sn-needbar__label { margin: 0; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--sn-primary-800); font-size: 15px; }
.sn-needbar__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sn-needbar__chip, body .elementor .sn-legacy .sn-needbar__chip {
	display: inline-flex; align-items: center; gap: 8px; min-block-size: 40px; padding: 0 16px; border: 1px solid var(--sn-border-strong); border-radius: var(--sn-radius-pill);
	background-color: var(--sn-surface); color: var(--sn-ink); font-weight: 600; font-size: 14px; text-decoration: none; transition: background-color 150ms, border-color 150ms;
}
.sn-needbar__chip .sensa-icon { color: var(--sn-primary); }
.sn-needbar__chip:hover, body .elementor .sn-legacy .sn-needbar__chip:hover { background-color: var(--sn-primary-50); border-color: var(--sn-primary); color: var(--sn-primary-800); }
/* Dark discretion band */
.sn-dband { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 64px); align-items: center; }
.sn-dband__media { border-radius: var(--sn-radius-lg); overflow: hidden; aspect-ratio: 4 / 3; background-color: rgba(255, 255, 255, 0.06); }
.sn-dband__media img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.sn-dband__body { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
body .elementor .sn-legacy .sn-dband, body .elementor .sn-legacy .sn-dband p, body .elementor .sn-legacy .sn-dband li { color: rgba(255, 255, 255, 0.86); }
.sn-dband__eyebrow { margin: 0; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: var(--sn-radius-pill); background-color: rgba(255, 255, 255, 0.1); font-size: 13px; font-weight: 700; }
body .elementor .sn-legacy .sn-dband h2 { margin: 0; color: #FFFFFF; font-size: 32px; }
.sn-dband__lead { margin: 0; font-size: 17px; max-inline-size: 560px; }
.sn-dband__list { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; }
.sn-dband__list li { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; }
.sn-dband__list .sensa-icon { flex: none; color: #CFDACB; }
.sn-dband__more, body .elementor .sn-legacy .sn-dband__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; padding: 12px 22px; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: var(--sn-radius-pill); color: #FFFFFF; font-weight: 700; text-decoration: none; }
.sn-dband__more:hover, body .elementor .sn-legacy .sn-dband__more:hover { background-color: #FFFFFF; color: var(--sn-primary-800); }
@media (max-width: 767px) {
	.sn-dband { grid-template-columns: minmax(0, 1fr); }
	.sn-dband__media { aspect-ratio: 16 / 9; }
	.sn-dband__list { flex-direction: column; }
	body .elementor .sn-legacy .sn-dband h2 { font-size: 26px; }
	.sn-needbar { padding: 12px 14px; border-radius: var(--sn-radius-md); }
	.sn-needbar__chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: -14px; padding-inline: 14px; scrollbar-width: none; inline-size: calc(100% + 28px); }
	.sn-needbar__chip { flex: none; }
}

/* ---------- 34. Collection: hero panel, bullets, CTAs, 3-step path, CTA band ---------- */
.sn-cbullets { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sn-cbullets li { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 16px; color: var(--sn-ink); }
.sn-cbullets .sensa-icon { flex: none; box-sizing: content-box; padding: 4px; border-radius: 50%; background-color: var(--sn-sage-50); color: var(--sn-sage-700); }
.sn-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.sn-cta, body .elementor .sn-legacy .sn-cta {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-block-size: 48px; padding: 0 24px; border: 1px solid transparent;
	border-radius: var(--sn-radius-pill); font-weight: 700; font-size: 15px; text-decoration: none; transition: background-color 150ms, color 150ms, border-color 150ms;
}
.sn-cta--primary, body .elementor .sn-legacy .sn-cta--primary { background-color: var(--sn-accent); color: #FFFFFF; }
.sn-cta--primary:hover, body .elementor .sn-legacy .sn-cta--primary:hover { background-color: var(--sn-accent-hover); color: #FFFFFF; }
.sn-cta--secondary, body .elementor .sn-legacy .sn-cta--secondary { border-color: var(--sn-primary); color: var(--sn-primary); background-color: transparent; }
.sn-cta--secondary:hover, body .elementor .sn-legacy .sn-cta--secondary:hover { background-color: var(--sn-primary); color: #FFFFFF; }
.sn-cta--light, body .elementor .sn-legacy .sn-cta--light { background-color: #FFFFFF; color: var(--sn-primary-800); }
.sn-cta--ghost, body .elementor .sn-legacy .sn-cta--ghost { border-color: rgba(255, 255, 255, 0.6); color: #FFFFFF; }
.sn-cta--ghost:hover, body .elementor .sn-legacy .sn-cta--ghost:hover { background-color: rgba(255, 255, 255, 0.12); color: #FFFFFF; }
.sn-cta .sensa-icon { flex: none; }
.sn-steps { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sn-step { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin: 0; padding: 24px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background-color: var(--sn-surface); }
.sn-step__num { display: inline-flex; align-items: center; justify-content: center; inline-size: 36px; block-size: 36px; border-radius: 50%; background-color: var(--sn-primary); color: #FFFFFF; font-family: var(--sn-font-heading), sans-serif; font-weight: 700; }
body .elementor .sn-legacy .sn-step h3 { margin: 0; font-size: 19px; color: var(--sn-primary-800); }
.sn-step p { margin: 0; color: var(--sn-ink-muted); font-size: 15px; line-height: 1.6; flex: 1 1 auto; }
.sn-step__link, body .elementor .sn-legacy .sn-step__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-weight: 700; font-size: 15px; }
.sn-cband { display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; padding: clamp(28px, 4vw, 48px); border-radius: var(--sn-radius-lg); background-color: var(--sn-primary-800); }
.sn-cband__text { display: flex; flex-direction: column; gap: 10px; max-inline-size: 640px; }
.sn-cband__eyebrow { margin: 0; display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 5px 12px; border-radius: var(--sn-radius-pill); background-color: rgba(255, 255, 255, 0.1); font-size: 13px; font-weight: 700; }
body .elementor .sn-legacy .sn-cband, body .elementor .sn-legacy .sn-cband p { color: rgba(255, 255, 255, 0.86); }
body .elementor .sn-legacy .sn-cband h2 { margin: 0; color: #FFFFFF; font-size: 30px; }
.sn-cband__text > p:last-child { margin: 0; }
.sn-cband__btns { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }
.elementor .elementor-element[data-id="5a5e3130"], .elementor .elementor-element[data-id="5a5e3120"] { gap: 6px; }
@media (max-width: 1024px) {
	.sn-steps { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
@media (max-width: 767px) {
	.sn-cband { flex-direction: column; align-items: stretch; }
	.sn-cband__btns .sn-cta, .sn-ctas .sn-cta { flex: 1 1 100%; }
	.sn-step { padding: 18px; }
	body .elementor .sn-legacy .sn-cband h2 { font-size: 24px; }
}
/* Phase 5 refinements after the first capture. */
.sn-dband__media { order: 2; }
@media (max-width: 767px) { .sn-dband__media { order: 0; } }
@media (min-width: 1025px) {
	.elementor .elementor-element[data-id="5a5e2002"], .elementor .elementor-element[data-id="5a5e3002"] { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
/* P4 as the first card of the A1 grid (alternate template across 2 columns): a large image beside the text. */
#sn-products .e-loop-item.elementor-12304 .sn-pcard__media--feature { flex: 0 0 46%; align-self: stretch; }
#sn-products .e-loop-item.elementor-12304 .sn-pcard__media--feature img { inline-size: 100%; block-size: 100%; object-fit: cover; }
/* equal_height = grid-auto-rows:1fr: with the taller P4 in row 1 every row grew to its height. Rows size to their own cards. */
#sn-products .elementor-loop-container:has(> .e-loop-item.elementor-12304) { grid-auto-rows: auto; }
/* Collection discretion panel (5a5e3402, dark panel like the home page): the sn-legacy heading colour is plum. */
body .elementor [data-id="5a5e3402"] .sensa-dx h2 { color: #FFFFFF; }

/* =====================================================================================================
   Phase 6 (2026-09-29) — home page 12032 (workshop 12457, tools/phase6-workshop.py). V4 classes: sn-hero--home,
   sn-eyebrow--pill, sn-hero__badge, sn-btn--arrow, sn-triad--scroll, sn-guides--list, sn-newsletter--card.
   Here: shortcode output ([sn_hero_trust], [sn_home_unsure], [sensa_discretion_expanded], [sensa_shopby_section]),
   the Pro newsletter form 25c2f1e and the mobile section order.
   ===================================================================================================== */
:root {
	/* Phosphor "ArrowLeft" (regular). */
	--sn-ico-arrow-l: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E");
	--sn-ico-tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
/* ---------- 35. Home hero: arrow on the main CTA, trust points ---------- */
.sn-btn--arrow::after {
	content: "";
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	background: currentColor;
	-webkit-mask: var(--sn-ico-arrow-l) center / contain no-repeat;
	mask: var(--sn-ico-arrow-l) center / contain no-repeat;
}
.sn-hero-trust { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 8px 0 0; padding: 20px 0 0; list-style: none; border-block-start: 1px solid var(--sn-border); }
.sn-hero-trust li { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--sn-ink-muted); }
.sn-hero-trust svg { flex: none; color: var(--sn-primary); }
@media (max-width: 767px) {
	/* The trust strip right below repeats the same facts (home-m has no row here). */
	.sn-hero-trust { display: none; }
}

/* ---------- 36. Shop-by: centred head + "לא בטוחים מה מתאים?" banner ---------- */
body .elementor .sn-legacy--shopby .sensa-section-head { display: flex; justify-content: center; text-align: center; }
body .elementor .sn-legacy--shopby .sensa-section-head__text { margin-inline: auto; }
.sn-home-unsure { display: flex; align-items: center; gap: 16px; margin-block-start: 24px; padding: 18px 24px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background-color: var(--sn-surface); box-shadow: 0 1px 2px rgba(34, 26, 30, 0.06); }
.sn-home-unsure__ic { flex: none; display: inline-flex; align-items: center; justify-content: center; inline-size: 48px; block-size: 48px; border-radius: 50%; background-color: var(--sn-primary-50); color: var(--sn-primary); }
.sn-home-unsure__text { flex: 1 1 auto; min-inline-size: 0; }
body .elementor .sn-legacy .sn-home-unsure p { margin: 0; color: var(--sn-ink-muted); font-size: 15px; }
body .elementor .sn-legacy .sn-home-unsure p.sn-home-unsure__title { margin-block-end: 2px; font-family: var(--sn-font-heading); font-size: 18px; font-weight: 700; color: var(--sn-primary-800); }
body .elementor .sn-legacy a.sn-home-unsure__btn { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-block-size: 46px; padding: 10px 22px; border: 1px solid var(--sn-primary); border-radius: var(--sn-radius-pill); background-color: transparent; color: var(--sn-primary); font-weight: 700; text-decoration: none; white-space: nowrap; transition: background-color 150ms, color 150ms; }
body .elementor .sn-legacy a.sn-home-unsure__btn:hover { background-color: var(--sn-primary); color: #FFFFFF; }
@media (max-width: 767px) {
	.sn-home-unsure { flex-wrap: wrap; padding: 16px; gap: 12px; }
	.sn-home-unsure__ic { inline-size: 40px; block-size: 40px; }
	.sn-home-unsure__text { flex-basis: calc(100% - 52px); }
	body .elementor .sn-legacy a.sn-home-unsure__btn { inline-size: 100%; }
}

/* ---------- 37. Discretion panel (home 287b60c2 + collections): rows stacked (Stitch), white H2 + button text, image 4:3 ---------- */
body .elementor .sn-legacy--dx .sensa-dx__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
body .elementor .sn-legacy--dx .sensa-dx h2 { color: #FFFFFF; }
/* The Phase 0.2 sn-legacy outline rule (ink, !important) painted this button ink on plum — invisible. */
body .elementor .sn-legacy.sn-legacy--dx a.sensa-button--on-dark { color: #FFFFFF !important; border-color: rgba(255, 255, 255, 0.6); }
body .elementor .sn-legacy.sn-legacy--dx a.sensa-button--on-dark:hover { color: #FFFFFF !important; border-color: #FFFFFF; background-color: rgba(255, 255, 255, 0.1); }
body .elementor .sn-legacy--dx .sensa-dx__media { aspect-ratio: 4 / 3; min-block-size: 0; border-radius: var(--sn-radius-md); overflow: hidden; }
body .elementor .sn-legacy--dx .sensa-dx__media img { position: absolute; inset: 0; block-size: 100%; object-fit: cover; }

/* ---------- 38. Newsletter (Pro form 25c2f1e in sn-newsletter--card): email + button on one line, styled consent ----------
   Form settings, integrations and the consent text are untouched. The field labels "כתובת מייל" / "הסכמה" stay in the
   DOM for screen readers (visually hidden); the checkbox keeps its own visible label (the consent text). */
.sn-newsletter--card > * { inline-size: 100%; }
.sn-newsletter--card .elementor-widget-form { inline-size: 100% !important; max-inline-size: 560px; margin-inline: auto; }
.sn-newsletter .elementor-field-group-email > .elementor-field-label,
.sn-newsletter .elementor-field-type-acceptance > .elementor-field-label {
	position: absolute !important; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.sn-newsletter .elementor-form-fields-wrapper { flex-wrap: wrap; row-gap: 12px; }
.sn-newsletter .elementor-field-group.elementor-field-group-email { flex: 1 1 260px; inline-size: auto; max-inline-size: none; margin-block-end: 0; }
.sn-newsletter .elementor-field-group.elementor-field-type-submit { flex: 0 0 auto; inline-size: auto; max-inline-size: none; margin-block-end: 0; }
.sn-newsletter .elementor-field-group.elementor-field-type-acceptance { order: 3; flex: 1 1 100%; margin-block-end: 0; }
.elementor .sn-newsletter .elementor-field-group-email .elementor-field { border-radius: var(--sn-radius-pill); padding-inline: 20px; }
.elementor .sn-newsletter .elementor-button[type=submit] { border-radius: var(--sn-radius-pill); padding-inline: 32px; }
.sn-newsletter .elementor-field-type-acceptance .elementor-field-subgroup { justify-content: center; }
.sn-newsletter .elementor-field-type-acceptance .elementor-field-option { display: inline-flex; align-items: flex-start; gap: 10px; text-align: start; }
.elementor .sn-newsletter .elementor-field-option label { color: var(--sn-primary-100); font-size: 13px; line-height: 1.5; }
.sn-newsletter .elementor-field-type-acceptance .elementor-field-subgroup { display: flex; }
.elementor .sn-newsletter .elementor-field-group input.elementor-acceptance-field {
	min-block-size: 0; box-shadow: none;
	-webkit-appearance: none; appearance: none; flex: none; inline-size: 20px; block-size: 20px; margin: 1px 0 0; padding: 0;
	border: 1.5px solid rgba(255, 255, 255, 0.7) !important; border-radius: 6px !important; background: transparent !important; cursor: pointer; display: inline-grid; place-content: center;
}
.sn-newsletter input.elementor-acceptance-field::before {
	content: ""; inline-size: 14px; block-size: 14px; background: var(--sn-primary-800); transform: scale(0); transition: transform 120ms;
	-webkit-mask: var(--sn-ico-tick) center / contain no-repeat;
	mask: var(--sn-ico-tick) center / contain no-repeat;
}
.elementor .sn-newsletter .elementor-field-group input.elementor-acceptance-field:checked { background-color: #FFFFFF !important; border-color: #FFFFFF !important; }
/* (!important: the form widget's own field colours are printed as .elementor-element-25c2f1e .elementor-field-group … .elementor-field) */
.sn-newsletter input.elementor-acceptance-field:checked::before { transform: scale(1); }
.sn-newsletter input.elementor-acceptance-field:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
@media (max-width: 767px) {
	.sn-newsletter .elementor-field-group.elementor-field-group-email, .sn-newsletter .elementor-field-group.elementor-field-type-submit { flex: 1 1 100%; }
	.sn-newsletter .elementor-field-type-submit .elementor-button { inline-size: 100%; }
}

/* ---------- 39. Home mobile: section order per stitch/home-m (discretion before bestsellers, shop-by after) ---------- */
@media (max-width: 767px) {
	.elementor-12032 { display: flex; flex-direction: column; }
	.elementor-12032 > .elementor-element { order: 10; }
	.elementor-12032 > [data-id="37cd381e"] { order: 1; }
	.elementor-12032 > [data-id="2e8e9748"] { order: 2; }
	.elementor-12032 > [data-id="34cc9353"] { order: 3; }
	.elementor-12032 > [data-id="3fc66453"] { order: 4; }
	.elementor-12032 > [data-id="740a2d3e"] { order: 5; }
	.elementor-12032 > [data-id="6dbdd62f"] { order: 6; }
	.elementor-12032 > [data-id="584ad561"] { order: 7; }
}

/* ---------- 40. Home rhythm + mobile compaction (Stitch home-m ≈ 4,640px) ---------- */
/* Section heads sit in a flex column with a 24px gap already; the head's own 24px margin doubled the space before the grid. */
body .elementor-12032 .sn-section-head { margin-block-end: 0; }
@media (max-width: 767px) {
	/* Categories (C1 12310): the whole tile links; the "לצפייה" line is dropped on phones, description on one line. */
	body .elementor-12032 [data-id="106ef015"] .sn-link-more { display: none; }
	/* Shop-by cards: tighter. */
	body .elementor-12032 .sn-legacy--shopby .sensa-shopby-grid { gap: 12px; }
	body .elementor-12032 .sn-legacy--shopby .sensa-shopby { padding: 16px 12px; gap: 6px; }
	body .elementor-12032 .sn-legacy--shopby .sensa-icon-circle { width: 40px; height: 40px; }
	body .elementor-12032 .sn-legacy--shopby .sensa-shopby strong { font-size: 16px; }
	/* Discretion: image first, 16:9, compact rows (home-m). */
	body .elementor .sn-legacy--dx .sensa-dx--split { display: flex; flex-direction: column; gap: 16px; }
	body .elementor .sn-legacy--dx .sensa-dx__media { order: -1; inline-size: 100%; aspect-ratio: 16 / 9; }
	body .elementor .sn-legacy--dx .sensa-dx__lead { margin-block-end: 16px; }
	body .elementor .sn-legacy--dx .sensa-dx__row { padding: 12px 14px; }
	body .elementor .sn-legacy--dx .sensa-dx__grid { margin-block-end: 16px; }
	/* Brand list ("למה Sensa"): tighter rows. */
	body .elementor-12032 .sn-why__item { padding-block: 14px; }
}

/* =====================================================================================================
   Phase 7 (2026-09-29): Woo flow — cart 7, checkout 8, account 9, thank-you 12467, header mini-cart.
   Markup: sensa-core includes/woo-flow.php + cart-checkout.php; behaviour: sn-stitch.js §12–14.
   Workshop 12457 elements used as hooks (fixed ids from tools/phase7-workshop.py): 7a7e0102 (cart title row),
   7a7e0901 (account container); page roots 538b0961 / 17cdd8df / 156905aa / 39ceb9d / 3f301556.
   ===================================================================================================== */

/* ---------- 41. Cart: head (breadcrumb, H1 + count pill), full-width shipping card ---------- */
body .elementor-7 .woocommerce-breadcrumb { margin: 0 0 12px; font-size: var(--sn-fs-small); color: var(--sn-ink-muted); }
body .elementor-7 .woocommerce-breadcrumb a { color: var(--sn-ink-muted); text-decoration: none; }
body .elementor-7 .elementor-element-7a7e0102 { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
body .elementor-7 .elementor-element-7a7e0102 > * { inline-size: auto; flex: 0 0 auto; margin: 0; }
.sn-cart-count {
	display: inline-flex; align-items: center; min-block-size: 30px; padding: 4px 14px;
	border-radius: var(--sn-radius-pill); background: var(--sn-bg-subtle); color: var(--sn-primary-800);
	font-family: var(--sn-font-body), sans-serif; font-size: var(--sn-fs-small); font-weight: 700;
}
.sn-cart-count[hidden] { display: none; }
body .elementor-7 .elementor-element-538b0961 { padding-block-end: 8px; }

.sn-ship-card {
	display: flex; align-items: center; gap: 16px 20px; flex-wrap: wrap;
	margin: 0 0 24px; padding: 18px 24px;
	border: 1px solid #D9E2D5; border-radius: var(--sn-radius-md); background: var(--sn-sage-50);
}
.sn-ship-card[hidden] { display: none; }
.sn-ship-card__icon {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	inline-size: 44px; block-size: 44px; border-radius: 50%; background: #FFFFFF; color: var(--sn-sage-700);
}
.sn-ship-card__text { flex: 1 1 260px; min-inline-size: 0; }
.sn-ship-card__title { margin: 0; font-family: var(--sn-font-heading), sans-serif; font-size: 16px; font-weight: 700; color: var(--sn-primary-800); }
.sn-ship-card__title strong { color: var(--sn-accent); }
.sn-ship-card__sub { margin: 2px 0 0; font-size: var(--sn-fs-small); color: var(--sn-ink-muted); }
.sn-ship-card__meter { flex: 0 1 300px; min-inline-size: 200px; }
.sn-ship-card__scale { display: flex; justify-content: space-between; margin-block-end: 6px; font-size: var(--sn-fs-xs); font-weight: 600; color: var(--sn-ink-muted); }
.sn-ship-card__track { block-size: 10px; border-radius: var(--sn-radius-pill); background: #FFFFFF; overflow: hidden; }
.sn-ship-card__fill { display: block; block-size: 100%; border-radius: inherit; background: var(--sn-sage-700); transition: inline-size .3s ease; }
.sn-ship-card.is-complete .sn-ship-card__title { color: var(--sn-sage-700); }
@media (max-width: 767px) {
	.sn-ship-card { padding: 14px 16px; gap: 12px; }
	.sn-ship-card__icon { inline-size: 36px; block-size: 36px; }
	.sn-ship-card__text { flex-basis: calc(100% - 60px); }
	.sn-ship-card__meter { flex: 1 1 100%; min-inline-size: 0; }
}

/* ---------- 42. Cart: item rows as card rows (grid per row; mobile = cards, no "label:" prefixes) ---------- */
body .elementor .sn-woo .elementor-widget-woocommerce-cart .e-shop-table { padding: 8px 24px; border-radius: var(--sn-radius-md); }
.elementor-widget-woocommerce-cart table.shop_table.cart { border: 0; margin: 0; }
.elementor-widget-woocommerce-cart table.shop_table.cart thead tr,
.elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) 96px 132px 96px 32px;
	grid-template-areas: "thumb name price qty sub remove";
	align-items: center;
	column-gap: 16px;
}
.elementor-widget-woocommerce-cart table.shop_table.cart thead th,
.elementor-widget-woocommerce-cart table.shop_table.cart td { display: block; padding: 0; border: 0; background: none; text-align: start; }
.elementor-widget-woocommerce-cart table.shop_table.cart thead tr { padding: 14px 0 12px; border-block-end: 1px solid var(--sn-border); }
.elementor-widget-woocommerce-cart table.shop_table.cart thead th { font-size: var(--sn-fs-xs); font-weight: 600; color: var(--sn-ink-muted); }
.elementor-widget-woocommerce-cart table.shop_table.cart thead th.product-thumbnail,
.elementor-widget-woocommerce-cart table.shop_table.cart thead th.product-remove { font-size: 0; }
.elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item { padding: 18px 0; border-block-end: 1px solid var(--sn-border); }
.elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item:last-of-type { border-block-end: 0; }
.elementor-widget-woocommerce-cart table.shop_table.cart .product-thumbnail { grid-area: thumb; }
.elementor-widget-woocommerce-cart table.shop_table.cart .product-name { grid-area: name; }
.elementor-widget-woocommerce-cart table.shop_table.cart .product-price { grid-area: price; }
.elementor-widget-woocommerce-cart table.shop_table.cart .product-quantity { grid-area: qty; }
.elementor-widget-woocommerce-cart table.shop_table.cart .product-subtotal { grid-area: sub; }
.elementor-widget-woocommerce-cart table.shop_table.cart .product-remove { grid-area: remove; justify-self: end; }
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-thumbnail img {
	display: block; inline-size: 96px; block-size: 96px; max-inline-size: none; object-fit: cover;
	border-radius: 12px; background: var(--sn-sand-deep);
}
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-name { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-name > a {
	order: 2; font-family: var(--sn-font-heading), sans-serif; font-size: 17px; font-weight: 700; line-height: 1.35;
	color: var(--sn-primary-800); text-decoration: none;
}
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-name > a:hover { color: var(--sn-primary); }
.sn-cart-badge {
	order: 1; display: inline-flex; padding: 2px 10px; border-radius: var(--sn-radius-pill);
	background: var(--sn-sage-50); color: var(--sn-sage-700); font-size: 12px; font-weight: 700;
}
.sn-cart-desc, .elementor-widget-woocommerce-cart table.shop_table.cart td.product-name dl.variation { order: 3; margin: 0; font-size: var(--sn-fs-small); color: var(--sn-ink-muted); }
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-name dl.variation dt,
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-name dl.variation dd { display: inline; margin: 0; padding: 0; }
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-name dl.variation dd p { display: inline; margin: 0; }
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-price { font-size: var(--sn-fs-ui); color: var(--sn-ink-muted); }
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-subtotal { font-family: var(--sn-font-heading), sans-serif; font-size: 18px; font-weight: 700; color: var(--sn-primary-800); }
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-remove a.remove {
	display: inline-flex; align-items: center; justify-content: center; inline-size: 32px; block-size: 32px;
	border-radius: 50%; color: var(--sn-ink-muted) !important; font-size: 22px; font-weight: 400; line-height: 1; background: transparent;
}
.elementor-widget-woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover { background: #FBEDEB; color: var(--sn-error) !important; }
/* The steppers update the cart by themselves: the actions row (update button + nonce) stays in the DOM, hidden. */
.elementor-widget-woocommerce-cart .woocommerce-cart-form:has(.sn-qty) table.shop_table.cart tr:has(> td.actions) { display: none; }
@media (max-width: 767px) {
	body .elementor .sn-woo .elementor-widget-woocommerce-cart .e-shop-table { padding: 4px 16px; }
	.elementor-widget-woocommerce-cart table.shop_table.cart thead { display: none; }
	.elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item {
		grid-template-columns: 80px minmax(0, 1fr) auto;
		grid-template-areas: "thumb name remove" "thumb price price" "thumb qty sub";
		row-gap: 8px; column-gap: 12px; padding: 16px 0; align-items: start;
	}
	.elementor-widget-woocommerce-cart table.shop_table.cart td.product-thumbnail img { inline-size: 80px; block-size: 80px; }
	.elementor-widget-woocommerce-cart table.shop_table.cart td::before { display: none !important; content: none !important; }
	.elementor-widget-woocommerce-cart table.shop_table.cart td { float: none !important; text-align: start !important; inline-size: auto; }
	.elementor-widget-woocommerce-cart table.shop_table.cart td.product-price { font-size: var(--sn-fs-small); }
	.elementor-widget-woocommerce-cart table.shop_table.cart td.product-quantity { align-self: center; }
	.elementor-widget-woocommerce-cart table.shop_table.cart td.product-subtotal { align-self: center; justify-self: end; font-size: 17px; }
	.elementor-widget-woocommerce-cart table.shop_table.cart td.product-remove { align-self: start; }
	.elementor-widget-woocommerce-cart table.shop_table.cart td.product-name > a { font-size: 16px; }
}

/* ---------- 43. Cart: coupon row card, summary "סיכום הזמנה" with a large plum total ---------- */
/* 91 styles .sensa-coupon-toggle as an underlined link with !important; the card row overrides those three properties. */
body .elementor .sn-woo .elementor-widget-woocommerce-cart .sensa-coupon-toggle {
	display: flex; align-items: center; gap: 10px; inline-size: 100%; margin-block-start: 16px;
	padding: 16px 24px !important; min-block-size: 56px;
	border: 1px solid var(--sn-border) !important; border-radius: var(--sn-radius-md);
	background: var(--sn-surface) !important; color: var(--sn-primary-800) !important;
	font-family: var(--sn-font-body), sans-serif; font-size: var(--sn-fs-ui); font-weight: 700; text-decoration: none; text-align: start;
}
.sensa-coupon-toggle::before {
	content: ""; flex: none; inline-size: 20px; block-size: 20px; background: var(--sn-primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12.5V4.5h8l9 9-8 8z'/%3E%3Ccircle cx='8' cy='9' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12.5V4.5h8l9 9-8 8z'/%3E%3Ccircle cx='8' cy='9' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sensa-coupon-toggle::after {
	content: ""; margin-inline-start: auto; inline-size: 9px; block-size: 9px;
	border-inline-end: 2px solid var(--sn-ink-muted); border-block-end: 2px solid var(--sn-ink-muted);
	transform: translateY(-2px) rotate(45deg); transition: transform .2s ease;
}
.sensa-coupon-toggle[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
body .elementor .sn-woo .elementor-widget-woocommerce-cart .coupon.e-cart-section { margin-block-start: 8px; border-radius: var(--sn-radius-md); }

.elementor-widget-woocommerce-cart .cart_totals > h2 {
	margin: 0 0 12px; padding-block-end: 14px; border-block-end: 1px solid var(--sn-border);
	font-size: var(--sn-fs-h3); font-weight: 700; color: var(--sn-primary-800);
}
.elementor-widget-woocommerce-cart .cart_totals tr.order-total th,
.elementor-widget-woocommerce-cart .cart_totals tr.order-total td { padding-block: 16px 8px; }
.elementor-widget-woocommerce-cart .cart_totals tr.order-total th { font-family: var(--sn-font-heading), sans-serif; font-size: 20px; color: var(--sn-primary-800); }
body .elementor .sn-woo .elementor-widget-woocommerce-cart .cart_totals .order-total .amount { font-family: var(--sn-font-heading), sans-serif; font-size: 30px; font-weight: 800; color: var(--sn-primary-800); }

/* ---------- 44. Cart: empty state card (the P2 grid below is workshop root 7a7e0300) ---------- */
.sn-empty-cart {
	display: flex; flex-direction: column; align-items: center; gap: 12px;
	max-inline-size: 760px; margin: 8px auto 0; padding: 48px 40px;
	border: 1px solid var(--sn-border); border-radius: var(--sn-radius-lg); background: var(--sn-surface); text-align: center;
}
.sn-empty-cart__icon {
	display: inline-flex; align-items: center; justify-content: center; inline-size: 88px; block-size: 88px;
	border-radius: 50%; background: var(--sn-primary-50); box-shadow: 0 0 0 10px #FBF6F9; color: var(--sn-primary);
}
.sn-empty-cart .sn-empty-cart__title { margin: 16px 0 0; font-family: var(--sn-font-heading), sans-serif; font-size: var(--sn-fs-h2); font-weight: 700; color: var(--sn-primary-800); }
.sn-empty-cart__text { margin: 0; max-inline-size: 480px; font-size: var(--sn-fs-lead); color: var(--sn-ink-muted); }
.sn-empty-cart .sn-empty-cart__cta {
	display: inline-flex; align-items: center; gap: 10px; margin-block-start: 12px; min-block-size: 48px; padding: 12px 32px;
	border-radius: var(--sn-radius-pill); background: var(--sn-accent); color: #FFFFFF; font-weight: 700; text-decoration: none;
}
.sn-empty-cart .sn-empty-cart__cta:hover { background: var(--sn-accent-hover); color: #FFFFFF; }
.sn-empty-cart__chips { inline-size: 100%; margin-block-start: 20px; padding-block-start: 24px; border-block-start: 1px solid var(--sn-border); }
.sn-empty-cart__chips > p { margin: 0 0 12px; font-size: var(--sn-fs-small); font-weight: 700; color: var(--sn-ink); }
.sn-empty-cart .sensa-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.sn-empty-cart .sensa-chip {
	display: inline-flex; align-items: center; min-block-size: 36px; padding: 6px 16px; border: 1px solid var(--sn-border);
	border-radius: var(--sn-radius-pill); background: var(--sn-bg-page); color: var(--sn-ink); font-size: var(--sn-fs-small); text-decoration: none;
}
.sn-empty-cart .sensa-chip:hover { border-color: var(--sn-primary); color: var(--sn-primary); }
.sn-empty-cart .sensa-chip--soft { background: var(--sn-primary-50); border-color: var(--sn-primary-100); color: var(--sn-primary-800); font-weight: 600; }
.sn-empty-cart .sn-empty-cart__guide { margin: 16px 0 0; font-size: var(--sn-fs-small); color: var(--sn-ink-muted); }
/* WooCommerce's own "return to shop" button: the card has its own CTA. */
.elementor-widget-woocommerce-cart .return-to-shop { display: none; }
@media (max-width: 767px) {
	.sn-empty-cart { padding: 32px 20px; }
	.sn-empty-cart__icon { inline-size: 72px; block-size: 72px; }
}

/* ---------- 45. Mini-cart: shipping bar band, product rows with a pill stepper, discreet line ---------- */
.elementor-menu-cart__main .sensa-ship-bar { margin: 0 0 8px; padding: 12px 14px; border-radius: 12px; background: var(--sn-sage-50); }
.elementor-menu-cart__main .sensa-ship-bar__text { margin: 0 0 8px; font-size: var(--sn-fs-small); font-weight: 600; color: var(--sn-primary-800); }
.elementor-menu-cart__main .sensa-ship-bar__track { block-size: 6px; background: #FFFFFF; border-radius: var(--sn-radius-pill); overflow: hidden; }
.elementor-menu-cart__main .sensa-ship-bar__fill { display: block; block-size: 100%; background: var(--sn-sage-700); border-radius: inherit; }
.elementor-menu-cart__main .elementor-menu-cart__product {
	display: grid; grid-template-columns: 72px minmax(0, 1fr) 28px; grid-template-areas: "img name rm" "img line line";
	column-gap: 12px; row-gap: 8px; align-items: start; padding-block: 14px; border-block-end: 1px solid var(--sn-border);
	transition: opacity .2s ease;
}
.elementor-menu-cart__main .elementor-menu-cart__product.is-busy { opacity: .55; pointer-events: none; }
.elementor-menu-cart__main .elementor-menu-cart__product-image { grid-area: img; inline-size: 72px; }
.elementor-menu-cart__main .elementor-menu-cart__product-image img { inline-size: 72px; block-size: 72px; object-fit: cover; border-radius: 10px; background: var(--sn-sand-deep); }
.elementor-menu-cart__main .elementor-menu-cart__product-name { grid-area: name; margin: 0; padding: 0; font-weight: 700; font-size: var(--sn-fs-ui); line-height: 1.35; }
.elementor-menu-cart__main .elementor-menu-cart__product-name a { color: var(--sn-primary-800); }
.elementor-menu-cart__main .elementor-menu-cart__product-name dl.variation { margin: 2px 0 0; font-weight: 400; font-size: var(--sn-fs-xs); color: var(--sn-ink-muted); }
.elementor-menu-cart__main .elementor-menu-cart__product-price { grid-area: line; margin: 0; padding: 0; }
.elementor-menu-cart__main .elementor-menu-cart__product-remove { grid-area: rm; position: static; justify-self: end; margin: 0; }
.sn-mc-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sn-mc-qty {
	display: inline-flex; align-items: center; block-size: 34px; padding-inline: 2px;
	border: 1px solid var(--sn-border-strong); border-radius: var(--sn-radius-pill); background: var(--sn-surface);
}
.sn-mc-qty--single { padding-inline: 12px; font-weight: 600; color: var(--sn-ink-muted); }
.sn-mc-qty .sn-mc-qty__btn {
	display: inline-flex; align-items: center; justify-content: center; inline-size: 28px; block-size: 28px; padding: 0; margin: 0;
	border: 0; border-radius: 50%; background: transparent; color: var(--sn-primary-800);
	font-size: 18px; font-weight: 600; line-height: 1; cursor: pointer; box-shadow: none;
}
.sn-mc-qty .sn-mc-qty__btn:hover { background: var(--sn-bg-subtle); color: var(--sn-primary-800); }
.sn-mc-qty .sn-mc-qty__btn:disabled { opacity: .35; cursor: default; background: transparent; }
.sn-mc-qty .sn-mc-qty__btn:focus-visible { outline: 2px solid var(--sn-primary); outline-offset: 1px; }
.sn-mc-qty__val { min-inline-size: 22px; text-align: center; font-weight: 700; font-size: var(--sn-fs-ui); color: var(--sn-primary-800); }
.sn-mc-qty.is-busy { opacity: .6; }
.sn-mc-price { font-family: var(--sn-font-heading), sans-serif; font-weight: 700; font-size: 16px; color: var(--sn-primary-800); }
.elementor-menu-cart__main .sensa-minicart-discreet {
	display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 4px;
	font-size: var(--sn-fs-xs); color: var(--sn-ink-muted);
}

/* ---------- 46. Checkout: progress steps, 4 numbered cards (CSS counter), shipping radio cards, summary thumbnails + plum total ---------- */
.sn-steps:has(> .sn-steps__item) { display: flex; justify-content: center; margin: 0 auto 8px; padding: 0; list-style: none; max-inline-size: 560px; inline-size: 100%; }
.sn-steps__item { position: relative; flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; }
.sn-steps__item > a { display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none; }
.sn-steps__item + .sn-steps__item::before {
	content: ""; position: absolute; inset-block-start: 17px; inset-inline-end: 50%; inline-size: 100%; block-size: 2px;
	background: var(--sn-border);
}
.sn-steps__item.is-current::before { background: var(--sn-primary-800); }
.sn-steps__dot {
	position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; inline-size: 36px; block-size: 36px;
	box-sizing: border-box; border-radius: 50%; border: 2px solid var(--sn-border); background: var(--sn-surface); color: var(--sn-ink-muted);
	font-weight: 700; font-size: var(--sn-fs-small);
}
.sn-steps__item.is-done .sn-steps__dot,
.sn-steps__item.is-current .sn-steps__dot { background: var(--sn-primary-800); border-color: var(--sn-primary-800); color: #FFFFFF; }
.sn-steps__item.is-current .sn-steps__dot { box-shadow: 0 0 0 5px var(--sn-primary-100); }
.sn-steps__label { font-size: var(--sn-fs-small); font-weight: 600; color: var(--sn-ink-muted); }
.sn-steps__item.is-done .sn-steps__label, .sn-steps__item.is-current .sn-steps__label { color: var(--sn-primary-800); font-weight: 700; }
body .elementor-8 .elementor-element-17cdd8df { padding-block-end: 8px; }
body .elementor-8 .elementor-element-156905aa { align-items: center; text-align: center; gap: 16px; }

form.sn-co { counter-reset: sncostep; }
form.sn-co .sn-co-step {
	counter-increment: sncostep; display: flex; align-items: center; gap: 12px; margin: 0 0 20px;
	font-family: var(--sn-font-heading), sans-serif; font-size: var(--sn-fs-h3); font-weight: 700; color: var(--sn-primary-800);
}
form.sn-co .sn-co-step::before {
	content: counter(sncostep); display: inline-flex; align-items: center; justify-content: center; flex: none;
	inline-size: 32px; block-size: 32px; border-radius: 50%; background: var(--sn-primary-50); color: var(--sn-primary-800);
	font-family: var(--sn-font-body), sans-serif; font-size: 15px; font-weight: 700;
}
form.sn-co .sn-co-card,
form.sn-co .woocommerce-billing-fields,
form.sn-co .woocommerce-additional-fields {
	box-sizing: border-box; margin: 0 0 20px; padding: 28px 32px;
	border: 1px solid var(--sn-border); border-radius: var(--sn-radius-lg); background: var(--sn-surface);
}
form.sn-co .sn-co-card__rows { display: grid; gap: 4px 20px; }
form.sn-co .sn-co-ship { margin-block-end: 0; border-end-start-radius: 0; border-end-end-radius: 0; border-block-end: 0; padding-block-end: 12px; }
form.sn-co .sn-co-ship.is-empty { display: none; }
form.sn-co .sn-co-ship-notes { border-start-start-radius: 0; border-start-end-radius: 0; border-block-start: 0; padding-block-start: 8px; }
form.sn-co .sn-co-ship.is-empty + .sn-co-ship-notes { border-radius: var(--sn-radius-lg); border-block-start: 1px solid var(--sn-border); }
.sn-co-ship__opts { display: grid; gap: 12px; }
.sn-ship-opt {
	display: flex; align-items: center; gap: 14px; inline-size: 100%; margin: 0; padding: 16px 18px; box-sizing: border-box;
	border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background: var(--sn-surface);
	color: var(--sn-ink); font: inherit; font-size: var(--sn-fs-ui); text-align: start;
}
button.sn-ship-opt { cursor: pointer; }
button.sn-ship-opt:hover { border-color: var(--sn-primary); background: var(--sn-surface); color: var(--sn-ink); }
.sn-ship-opt.is-selected { border: 2px solid var(--sn-primary-800); padding: 15px 17px; }
.sn-ship-opt__radio { flex: none; inline-size: 20px; block-size: 20px; border-radius: 50%; border: 2px solid var(--sn-border-strong); box-sizing: border-box; }
.sn-ship-opt.is-selected .sn-ship-opt__radio { border-color: var(--sn-primary-800); background: radial-gradient(circle, var(--sn-primary-800) 0 4px, #FFFFFF 5px); }
.sn-ship-opt__label { font-weight: 700; color: var(--sn-primary-800); }
.sn-ship-opt__label .sensa-ship-eta { font-weight: 400; color: var(--sn-ink-muted); }
/* With the mirror in place, the summary lists only the chosen method (its radios stay in the DOM and in the POST). */
body.sn-co-mirror #order_review #shipping_method > li:has(input[type="radio"]:not(:checked)) { display: none; }
body.sn-co-mirror #order_review #shipping_method input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
form.sn-co .sn-co-step--pay { margin: 20px 0 12px; }
@media (max-width: 767px) {
	form.sn-co .sn-co-card, form.sn-co .woocommerce-billing-fields, form.sn-co .woocommerce-additional-fields { padding: 20px 16px; border-radius: var(--sn-radius-md); }
	form.sn-co .sn-co-step { font-size: 19px; }
	.sn-steps__label { font-size: var(--sn-fs-xs); }
}
/* Order review: thumbnail + name, plum totals. */
.woocommerce-checkout-review-order-table td.product-name { display: flex; align-items: center; gap: 12px; }
.sn-co-thumb { flex: none; }
.sn-co-thumb img { display: block; inline-size: 56px; block-size: 56px; object-fit: cover; border-radius: 10px; background: var(--sn-sand-deep); }
.sn-co-name { font-weight: 700; color: var(--sn-primary-800); }
.woocommerce-checkout-review-order-table td.product-name .product-quantity { font-weight: 600; color: var(--sn-ink-muted); white-space: nowrap; }
.elementor-widget-woocommerce-checkout-page #order_review_heading { font-size: var(--sn-fs-h3); color: var(--sn-primary-800); }
.woocommerce-checkout-review-order-table tr.order-total th { font-family: var(--sn-font-heading), sans-serif; font-size: 19px; color: var(--sn-primary-800); }
body .elementor .sn-woo .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .order-total .amount { font-family: var(--sn-font-heading), sans-serif; font-size: 28px; font-weight: 800; color: var(--sn-primary-800); }

/* ---------- 47. Account (logged out: narrow card + trust tiles; logged in: nav + dashboard cards) and thank-you ---------- */
body:not(.logged-in) .elementor-9 .elementor-element-7a7e0901 {
	max-inline-size: 520px; margin-inline: auto; padding: 32px; gap: 20px;
	border: 1px solid var(--sn-border); border-radius: var(--sn-radius-lg); background: var(--sn-surface);
	box-shadow: 0 12px 32px rgba(62, 31, 51, .06);
}
body:not(.logged-in) .elementor-9 .elementor-element-39ceb9d .sn-page-head { align-items: center; text-align: center; }
body:not(.logged-in) .elementor-9 .elementor-element-7a7e0901 .woocommerce-form-login { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
body:not(.logged-in) .elementor-9 .elementor-element-7a7e0901 .elementor-widget-woocommerce-my-account h2 { margin: 0 0 16px; font-size: var(--sn-fs-h3); font-weight: 700; color: var(--sn-primary-800); }
body:not(.logged-in) .elementor-9 .elementor-element-7a7e0901 .woocommerce-form-login__submit { inline-size: 100%; }
.sn-acc-media { position: relative; margin: 0; border-radius: var(--sn-radius-md); overflow: hidden; background: var(--sn-sand-deep); aspect-ratio: 16 / 8; }
.sn-acc-media__img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.sn-acc-media__badge {
	position: absolute; inset-block-end: 12px; inset-inline-end: 12px; display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 12px; border-radius: var(--sn-radius-pill); background: rgba(62, 31, 51, .88); color: #FFFFFF; font-size: 12px; font-weight: 600;
}
.sn-acc-note {
	display: flex; gap: 14px; align-items: flex-start; margin: 0; padding: 18px 20px;
	border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background: var(--sn-bg-subtle); color: var(--sn-ink);
}
.sn-acc-note > svg { flex: none; color: var(--sn-primary); margin-block-start: 2px; }
.sn-acc-note p { margin: 0; font-size: var(--sn-fs-small); line-height: 1.6; color: var(--sn-ink-muted); }
.sn-acc-note .sn-acc-note__title { margin-block-end: 4px; font-family: var(--sn-font-heading), sans-serif; font-size: 16px; font-weight: 700; color: var(--sn-primary-800); }
.sn-acc-note a { color: var(--sn-primary); font-weight: 600; }
/* Trust / privacy tiles (account strip, thank-you 2×2). */
.sn-tiles { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.sn-tiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); text-align: center; }
.sn-tiles--4 li { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.sn-tiles__icon { display: inline-flex; align-items: center; justify-content: center; inline-size: 48px; block-size: 48px; border-radius: 50%; background: var(--sn-primary-50); color: var(--sn-primary); }
.sn-tiles .sn-tiles__title { margin: 4px 0 0; font-family: var(--sn-font-heading), sans-serif; font-size: 16px; font-weight: 700; color: var(--sn-primary-800); }
.sn-tiles .sn-tiles__text { margin: 0; font-size: var(--sn-fs-small); line-height: 1.55; color: var(--sn-ink-muted); }
.sn-tiles--2x2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sn-tiles--2x2 li {
	display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; align-items: start;
	padding: 18px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background: var(--sn-surface);
}
.sn-tiles--2x2 .sn-tiles__icon { grid-row: span 2; inline-size: 40px; block-size: 40px; }
.sn-tiles--2x2 .sn-tiles__title { margin: 0; font-size: 15px; }
@media (max-width: 767px) {
	body:not(.logged-in) .elementor-9 .elementor-element-7a7e0901 { padding: 20px 16px; }
	.sn-tiles--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
	.sn-tiles--2x2 { grid-template-columns: 1fr; }
}
/* Logged-in: navigation card + dashboard cards. */
body.logged-in .elementor-9 .woocommerce-MyAccount-navigation ul {
	margin: 0; padding: 8px; list-style: none; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background: var(--sn-surface);
}
body.logged-in .elementor-9 .woocommerce-MyAccount-navigation-link a {
	display: block; padding: 12px 16px; border-radius: 10px; color: var(--sn-ink); font-weight: 600; text-decoration: none;
	border-inline-start: 3px solid transparent;
}
body.logged-in .elementor-9 .woocommerce-MyAccount-navigation-link a:hover { background: var(--sn-bg-subtle); color: var(--sn-primary-800); }
body.logged-in .elementor-9 .woocommerce-MyAccount-navigation-link.is-active a { background: var(--sn-primary-50); color: var(--sn-primary-800); border-inline-start-color: var(--sn-primary-800); }
body.logged-in .elementor-9 .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--sn-error); }
/* The Pro widget already draws the content card (its wrapper); the inner content stays flat. */
body.logged-in .elementor-9 [data-id="aabc49b"] { display: none; }
body.logged-in .elementor .sn-woo .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation-link a { background-color: transparent; }
body.logged-in .elementor .sn-woo .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation-link.is-active a { background-color: var(--sn-primary-50); }
body.logged-in .elementor .sn-woo .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-content-wrapper .woocommerce-MyAccount-content { padding: 0; border: 0; background: transparent; }
.sn-dash { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0 20px; padding: 0; list-style: none; }
.sn-dash__card { display: flex; flex-direction: column; gap: 4px; padding: 18px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background: var(--sn-bg-page); }
.sn-dash__icon { display: inline-flex; align-items: center; justify-content: center; inline-size: 36px; block-size: 36px; margin-block-end: 6px; border-radius: 50%; background: var(--sn-primary-50); color: var(--sn-primary); }
.sn-dash .sn-dash__label { margin: 0; font-size: var(--sn-fs-xs); color: var(--sn-ink-muted); }
.sn-dash .sn-dash__title { margin: 0; font-family: var(--sn-font-heading), sans-serif; font-size: 18px; font-weight: 700; color: var(--sn-primary-800); }
.sn-dash .sn-dash__text { margin: 0; font-size: var(--sn-fs-small); color: var(--sn-ink-muted); }
.sn-dash__link { margin-block-start: auto; padding-block-start: 10px; font-size: var(--sn-fs-small); font-weight: 700; color: var(--sn-primary); text-decoration: none; }
@media (max-width: 1023px) { .sn-dash { grid-template-columns: 1fr; } }

/* Thank-you 12467: timeline, privacy grid, summary total, help strip. */
.sn-timeline { padding: 28px 32px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-lg); background: var(--sn-surface); }
.sn-timeline .sn-timeline__head { margin: 0 0 24px; padding-block-end: 16px; border-block-end: 1px solid var(--sn-border); font-size: var(--sn-fs-h3); font-weight: 700; color: var(--sn-primary-800); }
.sn-timeline__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.sn-timeline__step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.sn-timeline__step + .sn-timeline__step::before {
	content: ""; position: absolute; inset-block-start: 23px; inset-inline-end: calc(50% + 32px); inline-size: calc(100% - 48px); block-size: 2px; background: var(--sn-border);
}
.sn-timeline__dot { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; inline-size: 48px; block-size: 48px; border-radius: 50%; background: var(--sn-bg-subtle); color: var(--sn-ink-muted); }
.sn-timeline__step.is-current .sn-timeline__dot { background: var(--sn-sage-700); color: #FFFFFF; box-shadow: 0 0 0 6px var(--sn-sage-50); }
.sn-timeline .sn-timeline__title { margin: 8px 0 0; font-family: var(--sn-font-heading), sans-serif; font-size: 16px; font-weight: 700; color: var(--sn-primary-800); }
.sn-timeline .sn-timeline__text { margin: 0; font-size: var(--sn-fs-small); color: var(--sn-ink-muted); max-inline-size: 240px; }
.sn-privacy-grid { padding: 28px 32px; border: 1px solid var(--sn-primary-100); border-radius: var(--sn-radius-lg); background: #F6F0F1; }
.sn-privacy-grid__head { display: flex; align-items: center; gap: 12px; margin-block-end: 20px; }
.sn-privacy-grid__icon { display: inline-flex; align-items: center; justify-content: center; inline-size: 44px; block-size: 44px; border-radius: 50%; background: var(--sn-primary-800); color: #FFFFFF; }
.sn-privacy-grid h2 { margin: 0; font-size: var(--sn-fs-h3); font-weight: 700; color: var(--sn-primary-800); }
.sn-privacy-grid__more { display: inline-block; margin-block-start: 16px; font-size: var(--sn-fs-small); font-weight: 700; color: var(--sn-primary); }
.sn-help {
	display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 20px 24px;
	border-radius: var(--sn-radius-lg); background: var(--sn-bg-subtle);
}
.sn-help__icon { display: inline-flex; align-items: center; justify-content: center; inline-size: 44px; block-size: 44px; border-radius: 50%; background: var(--sn-primary-50); color: var(--sn-primary); }
.sn-help__text { flex: 1 1 220px; }
.sn-help .sn-help__text p { margin: 0; font-size: var(--sn-fs-small); color: var(--sn-ink-muted); }
.sn-help .sn-help__title { font-family: var(--sn-font-heading), sans-serif; font-size: 17px; font-weight: 700; color: var(--sn-primary-800); }
.sn-help__links { display: flex; flex-wrap: wrap; gap: 8px; }
.sn-help__link {
	display: inline-flex; align-items: center; gap: 8px; min-block-size: 40px; padding: 8px 18px; border: 1px solid var(--sn-border-strong);
	border-radius: var(--sn-radius-pill); background: var(--sn-surface); color: var(--sn-primary-800); font-size: var(--sn-fs-small); font-weight: 700; text-decoration: none;
}
.sn-help__link:hover { border-color: var(--sn-primary); color: var(--sn-primary); }
body .elementor-12467 .elementor-element-3f301556 { gap: 24px; }
body .elementor .sn-woo .elementor-widget-woocommerce-purchase-summary .order-total .amount { font-family: var(--sn-font-heading), sans-serif; font-size: 26px; font-weight: 800; color: var(--sn-primary-800); }
@media (max-width: 767px) {
	.sn-timeline, .sn-privacy-grid { padding: 20px 16px; }
	.sn-timeline__list { grid-template-columns: 1fr; gap: 0; }
	.sn-timeline__step { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; text-align: start; align-items: start; padding-block-end: 20px; }
	.sn-timeline__dot { grid-row: span 2; }
	.sn-timeline .sn-timeline__title { margin: 4px 0 0; }
	.sn-timeline__step + .sn-timeline__step::before { inset-block-start: -20px; inset-inline-start: 23px; inset-inline-end: auto; inline-size: 2px; block-size: 20px; }
}

/* ---------- 48. Phase 7 fixes after the first capture (Pro widget selectors carry the element id → higher specificity) ---------- */
body .elementor .sn-woo .elementor-widget-woocommerce-cart .cart_totals > h2 { font-size: var(--sn-fs-h3); font-weight: 700; color: var(--sn-primary-800); }
body .elementor .sn-woo .elementor-widget-woocommerce-cart .cart_totals tr.order-total th { font-size: 20px; color: var(--sn-primary-800); }
body .elementor .sn-woo .sn-empty-cart .sn-empty-cart__cta,
body .elementor .sn-woo .sn-empty-cart .sn-empty-cart__cta:hover { color: #FFFFFF; }
body .elementor-7 .elementor-element-7a7e0102 { justify-content: flex-start; }
/* Checkout: Pro paints #customer_details .col-1 as a section card; the numbered cards inside replace it. */
body .elementor .sn-woo form.sn-co #customer_details .col-1 { padding: 0; border: 0; background: none; box-shadow: none; }
body .elementor .sn-woo form.sn-co .sn-co-card,
body .elementor .sn-woo form.sn-co .woocommerce-billing-fields,
body .elementor .sn-woo form.sn-co .woocommerce-additional-fields { padding: 28px 32px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-lg); background: var(--sn-surface); }
body .elementor .sn-woo form.sn-co .sn-co-ship { margin-block-start: 24px; border-end-start-radius: 0; border-end-end-radius: 0; border-block-end: 0; padding-block-end: 12px; }
body .elementor .sn-woo form.sn-co .sn-co-ship-notes { margin-block-start: 0; border-start-start-radius: 0; border-start-end-radius: 0; border-block-start: 0; padding-block-start: 12px; }
body .elementor .sn-woo form.sn-co .sn-co-ship.is-empty + .sn-co-ship-notes { border-radius: var(--sn-radius-lg); border-block-start: 1px solid var(--sn-border); }
body .elementor .sn-woo form.sn-co .woocommerce-shipping-fields { padding-inline: 8px; }
.woocommerce-checkout-review-order-table td.product-name { display: table-cell; }
.sn-co-thumb { display: inline-block; vertical-align: middle; margin-inline-end: 12px; }
.sn-co-name { vertical-align: middle; }
@media (max-width: 767px) {
	body .elementor .sn-woo form.sn-co .sn-co-card,
	body .elementor .sn-woo form.sn-co .woocommerce-billing-fields,
	body .elementor .sn-woo form.sn-co .woocommerce-additional-fields { padding: 20px 16px; border-radius: var(--sn-radius-md); }
	.sn-co-thumb img { inline-size: 48px; block-size: 48px; }
}
/* Mini-cart remove (×): Pro draws the cross with pseudo-elements positioned inside the 22px button. */
.elementor-menu-cart__main .elementor-menu-cart__product-remove { position: relative; inset: auto; inline-size: 22px; block-size: 22px; }
/* Account login: the form sits directly in the card (no nested bordered box). */
body:not(.logged-in) .elementor .sn-woo .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce-form-login { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.sn-steps__item.is-done .sn-steps__dot svg { color: #FFFFFF; stroke: #FFFFFF; }
@media (max-width: 767px) {
	/* woocommerce-smallscreen hides the thumbnail cell; the mobile card keeps it. */
	.elementor-widget-woocommerce-cart table.shop_table.cart td.product-thumbnail { display: block !important; }
}
/* Cart H1 (e-heading, no element-id class) keeps its text width so the count pill sits beside it. */
body .elementor-7 .elementor-element-7a7e0102 > [data-id="bca366f"] { inline-size: auto; max-inline-size: max-content; flex: 0 0 auto; }

/* =====================================================================================================
   Phase 8 (2026-09-29): content templates — guides archive 12438 · single guide 12436 · content page 12440 · 404 12442
   (workshop 12402, tools/phase8-workshop.py; fixed ids 5a8e....) + site-wide leftovers (on-dark buttons, line search
   icon, mobile menu drawer, checkout footer links). Markup: guides.php, pages.php, archives-v5.php; JS sn-stitch.js §15.
   ===================================================================================================== */
:root {
	/* Phosphor "MagnifyingGlass" (regular) — replaces Font Awesome's solid search glyph in the header. */
	--sn-ico-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z'/%3E%3C/svg%3E");
}

/* ---------- 49. Guides archive: topic chips, featured G3, empty message ---------- */
.sn-gchips { display: flex; flex-wrap: wrap; gap: 10px; margin-block-start: 12px; }
body .elementor .sn-legacy a.sn-gchip {
	display: inline-flex; align-items: center; min-block-size: 40px; padding: 0 20px; border: 1px solid var(--sn-border-strong); border-radius: var(--sn-radius-pill);
	background-color: var(--sn-surface); color: var(--sn-ink); font-weight: 600; font-size: 15px; text-decoration: none; transition: border-color 150ms, background-color 150ms, color 150ms;
}
body .elementor .sn-legacy a.sn-gchip:hover { border-color: var(--sn-primary); color: var(--sn-primary); }
body .elementor .sn-legacy a.sn-gchip.is-active { background-color: var(--sn-primary); border-color: var(--sn-primary); color: #FFFFFF; }
.elementor-12438 .e-loop-item .sn-gcard--feature .sn-pcard__name { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.25; }
.elementor-12438 .e-loop-item .sn-gcard--feature .sn-gcard__body { gap: 14px; }
.sn-guides-empty { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 32px; border: 1px dashed var(--sn-border-strong); border-radius: var(--sn-radius-md); color: var(--sn-ink-muted); font-size: 17px; }
/* "לא בטוחים מה מתאים?" card (Phase 6 [sn_home_unsure]) as the archive CTA card: roomier, sand. */
.elementor-12438 .sn-home-unsure { margin: 0; padding: clamp(20px, 3vw, 32px); background-color: var(--sn-bg-subtle); box-shadow: none; }
@media (max-width: 767px) {
	.sn-gchips { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding-inline: 16px; scrollbar-width: none; }
	.sn-gchips::-webkit-scrollbar { display: none; }
	body .elementor .sn-legacy a.sn-gchip { flex: none; }
}

/* ---------- 50. Single guide: meta row, short answer, numbered TOC, picks rows, help band ---------- */
.sn-meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
.sn-meta-row__item { display: inline-flex; align-items: center; gap: 6px; }
.sn-meta-row__item .sensa-icon { flex: none; color: var(--sn-primary); }
body .elementor .sn-legacy--guide .sensa-guide-meta { padding-block-end: 20px; border-block-end: 1px solid var(--sn-border); }
body .elementor .sn-legacy .sensa-guide-answer.sn-answer { display: flex; flex-direction: column; gap: 8px; font-size: inherit; }
body .elementor .sn-legacy .sn-answer__title { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-family: var(--sn-font-heading); font-size: 20px; font-weight: 700; color: var(--sn-primary-800); }
body .elementor .sn-legacy .sn-answer__title .sensa-icon { color: var(--sn-primary); }
body .elementor .sn-legacy .sn-answer__text { margin: 0; font-size: var(--sn-fs-lead); line-height: 1.6; color: var(--sn-ink); }
/* TOC: title with a list icon, numbered items, beginners mini-card. */
body .elementor .sn-sidebar .sensa-toc { padding: 22px 22px 18px; }
body .elementor .sn-sidebar .sensa-toc .sensa-toc__title { display: flex; align-items: center; gap: 8px; padding-block-end: 12px; margin-block-end: 10px; border-block-end: 1px solid var(--sn-border); color: var(--sn-primary-800); font-size: 17px; }
body .elementor .sn-sidebar .sensa-toc .sensa-toc__title .sensa-icon { color: var(--sn-primary); }
body .elementor .sn-sidebar .sensa-toc ol { counter-reset: sn-toc; }
body .elementor .sn-sidebar .sensa-toc ol li { counter-increment: sn-toc; margin: 0; }
body .elementor .sn-sidebar .sensa-toc ol a { display: flex; gap: 6px; }
body .elementor .sn-sidebar .sensa-toc ol a::before { content: counter(sn-toc) "."; flex: none; min-inline-size: 18px; font-weight: 700; color: var(--sn-primary); }
body .elementor .sn-sidebar .sensa-toc a.sensa-toc__card {
	display: flex; flex-direction: column; gap: 4px; margin-block-start: 14px; padding: 14px 16px; border: 1px solid var(--sn-border); border-inline-start: 1px solid var(--sn-border);
	border-radius: 12px; background-color: var(--sn-bg-subtle); color: var(--sn-ink-muted); font-size: 13px; line-height: 1.5;
}
body .elementor .sn-sidebar .sensa-toc a.sensa-toc__card::before { content: none; }
body .elementor .sn-sidebar .sensa-toc a.sensa-toc__card strong { color: var(--sn-primary-800); font-size: 14px; }
.sensa-toc__card-link { display: inline-flex; align-items: center; gap: 6px; margin-block-start: 4px; color: var(--sn-primary); font-weight: 700; }
body .elementor .sn-sidebar .sensa-toc a.sensa-toc__card:hover { border-color: var(--sn-primary); }
/* Picks ("בחירת העורכת"): full-width P3 rows — image · text · price, the clay CTA at the end of the row. */
.elementor-12436 [data-id="5a8e0301"] { gap: 4px; }
@media (min-width: 768px) {
	.elementor-12436 .e-loop-item .sn-pcard--row { align-items: center; padding: 16px; gap: 20px; }
	.elementor-12436 .e-loop-item .sn-pcard--row .sn-pcard__media { inline-size: 128px; min-inline-size: 128px; }
	.elementor-12436 .e-loop-item .sn-pcard--row .sn-pcard__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; row-gap: 6px; align-items: center; }
	.elementor-12436 .e-loop-item .sn-pcard--row .sn-pcard__body > * { grid-column: 1; }
	.elementor-12436 .e-loop-item .sn-pcard--row .sn-pcard__foot { display: contents; }
	.elementor-12436 .e-loop-item .sn-pcard--row .sn-pcard__foot > .sn-price-row { grid-column: 1; }
	.elementor-12436 .e-loop-item .sn-pcard--row .sn-pcard__foot > .sn-atc { grid-column: 2; grid-row: 1 / span 5; align-self: center; min-block-size: 44px; padding-inline: 22px; }
	.elementor-12436 .e-loop-item .sn-pcard--row .sn-pcard__name { font-size: 20px; }
}
/* Plum help band, centred (Stitch w-guide). */
.sn-cband--center { flex-direction: column; justify-content: center; text-align: center; }
.sn-cband--center .sn-cband__text { align-items: center; }
.sn-cband--center .sn-cband__eyebrow { align-self: center; }
.sn-cband--center .sn-cband__btns { justify-content: center; }

/* ---------- 51. Content page: hero chip/lead/meta, sidebar nav, section cards, callouts, contact card ---------- */
.sn-page-chip { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 5px 14px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-pill); background-color: var(--sn-surface); color: var(--sn-primary); font-size: 13px; font-weight: 700; }
body .elementor .sn-legacy p.sn-page-lead { margin: 0 0 12px; max-inline-size: 720px; font-size: var(--sn-fs-lead); line-height: 1.6; color: var(--sn-ink-muted); }
.sn-page-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0; color: var(--sn-ink-muted); font-size: 14px; }
.sn-page-meta span { display: inline-flex; align-items: center; gap: 6px; }
.sn-page-meta span + span::before { content: "·"; margin-inline-end: 10px; opacity: .6; }
.sn-lead-in-hero .elementor-12440 .sn-prose > .elementor-widget-theme-post-content .sensa-lead:first-child,
.sn-lead-in-hero .elementor-12440 .sn-prose .elementor-widget-container > .sensa-lead:first-child,
.sn-lead-in-hero .elementor-12440 .sn-prose .sensa-lead { display: none; }
/* Sidebar nav: the 9 real content pages, active = plum, packaging image. */
.sn-cnav { padding: 20px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background-color: var(--sn-surface); }
.sn-cnav__title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding-block-end: 12px; border-block-end: 1px solid var(--sn-border); font-family: var(--sn-font-heading); font-weight: 700; font-size: 15px; color: var(--sn-primary-800); }
.sn-cnav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.sn-cnav li { margin: 0; }
body .elementor .sn-sidebar a.sn-cnav__link { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; color: var(--sn-ink); font-size: 15px; font-weight: 500; text-decoration: none; transition: background-color 150ms, color 150ms; }
body .elementor .sn-sidebar a.sn-cnav__link:hover { background-color: var(--sn-bg-subtle); color: var(--sn-primary); }
body .elementor .sn-sidebar a.sn-cnav__link.is-active { background-color: var(--sn-primary-800); color: #FFFFFF; font-weight: 700; }
.sn-cnav__ic { display: inline-flex; flex: none; color: var(--sn-primary); }
.sn-cnav__link.is-active .sn-cnav__ic { color: #FFFFFF; }
.sn-cnav__label { flex: 1 1 auto; min-inline-size: 0; }
.sn-cnav__chev { flex: none; color: var(--sn-ink-muted); opacity: .6; }
.sn-cnav__dot { flex: none; inline-size: 6px; block-size: 6px; border-radius: 50%; background-color: #FFFFFF; }
.sn-cnav__media { position: relative; margin: 16px 0 0; padding-block-start: 16px; border-block-start: 1px solid var(--sn-border); }
.sn-cnav__media img { display: block; inline-size: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.sn-cnav__media figcaption { position: absolute; inset-block-end: 10px; inset-inline-end: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: var(--sn-radius-pill); background-color: rgba(255, 255, 255, 0.92); color: var(--sn-primary-800); font-size: 12px; font-weight: 700; }
.elementor-12440 .sn-two-col { grid-template-columns: 300px minmax(0, 820px); justify-content: center; }
.elementor-12440 .sn-two-col .sn-prose, .elementor-12440 .sn-two-col .elementor-element-5a8e0610 > .sn-legacy { inline-size: 100%; max-inline-size: none; }
/* Guide FAQ card: as wide as the picks above it. */
.elementor-12436 .sn-legacy--faq { max-inline-size: none; }
/* h2 sections as cards (pages.php wraps them; the texts are untouched). */
.elementor-12440 .sn-prose .sn-qa { margin: 0 0 16px; padding: clamp(20px, 2.4vw, 28px); border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background-color: var(--sn-surface); box-shadow: 0 1px 2px rgba(34, 26, 30, 0.04); }
.elementor-12440 .sn-prose .sn-qa > h2:first-child { margin: 0 0 10px; font-size: 22px; color: var(--sn-primary-800); }
.elementor-12440 .sn-prose .sn-qa > :last-child { margin-block-end: 0; }
.elementor-12440 .sn-prose .sn-qa p:empty { display: none; }
.elementor-12440 .sn-prose .sn-qa ul, .elementor-12440 .sn-prose .sn-qa ol { margin-block-end: 0; }
.elementor-12440 .sn-prose .sn-qa.sn-qa--faq { padding: 0; border: 0; background: none; box-shadow: none; margin-block-start: 32px; }
.elementor-12440 .sn-prose .sn-qa--faq .sensa-faq--page { border: 1px solid var(--sn-border); border-radius: var(--sn-radius-md); background-color: var(--sn-surface); padding-inline: 20px; }
.elementor-12440 .sn-prose .sn-qa--faq .sensa-faq__item:last-child { border-bottom: 0; }
/* The lone "לחנות" button at the end of a content page is replaced by the contact card. */
.elementor-12440 .sn-prose p:has(> a.sensa-button:only-child) { display: none; }
/* Callouts: blockquote = sage tip; .sensa-callout--pink / blockquote.is-style-pink = pink note. */
.sn-prose blockquote, .sn-prose .sensa-callout { margin: 0 0 16px; padding: 18px 22px; border: 1px solid #D5E0D1; border-inline-start: 4px solid var(--sn-sage, #6F8A6A); border-radius: var(--sn-radius-md); background-color: var(--sn-sage-50, #EEF3EC); color: var(--sn-ink); font-style: normal; }
.sn-prose blockquote.is-style-pink, .sn-prose .sensa-callout--pink { border-color: #EBD3E1; border-inline-start-color: var(--sn-primary); background-color: var(--sn-primary-50); }
.sn-prose blockquote > :last-child, .sn-prose .sensa-callout > :last-child { margin-block-end: 0; }
/* Contact card. */
.sn-ccard { padding: clamp(22px, 3vw, 32px); border: 1px solid var(--sn-border); border-radius: var(--sn-radius-lg); background-color: var(--sn-surface); box-shadow: 0 1px 2px rgba(34, 26, 30, 0.05); }
.sn-ccard__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 5px 12px; border-radius: var(--sn-radius-pill); background-color: var(--sn-bg-subtle); color: var(--sn-ink); font-size: 13px; font-weight: 600; }
.sn-ccard__dot { inline-size: 8px; block-size: 8px; border-radius: 50%; background-color: var(--sn-sage, #6F8A6A); }
body .elementor .sn-legacy .sn-ccard h2 { margin: 0 0 8px; font-size: 26px; color: var(--sn-primary-800); }
body .elementor .sn-legacy .sn-ccard__text { margin: 0 0 20px; color: var(--sn-ink-muted); }
.sn-ccard__btns { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 1024px) {
	.elementor-12440 .sn-two-col { grid-template-columns: minmax(0, 1fr); }
	/* Sidebar → one horizontal row of page chips above the content; no image. */
	.sn-cnav { padding: 0; border: 0; background: none; }
	.sn-cnav__title, .sn-cnav__media, .sn-cnav__chev, .sn-cnav__dot { display: none; }
	.sn-cnav ul { flex-direction: row; gap: 8px; overflow-x: auto; margin-inline: -16px; padding: 2px 16px; scrollbar-width: none; }
	.sn-cnav ul::-webkit-scrollbar { display: none; }
	body .elementor .sn-sidebar a.sn-cnav__link { flex: none; padding: 8px 14px; border: 1px solid var(--sn-border); border-radius: var(--sn-radius-pill); background-color: var(--sn-surface); font-size: 14px; white-space: nowrap; }
	.sn-ccard__btns .sn-cta { flex: 1 1 100%; }
}

/* ---------- 52. 404: pill search, chips + "למתחילים" on one row, 3-column picks ---------- */
[data-elementor-type="error-404"] .sn-searchbox { inline-size: 100%; max-inline-size: 600px; margin-inline: auto; }
body [data-elementor-type="error-404"] .sn-legacy .sn-sfield__input { border-radius: var(--sn-radius-pill); }
/* The C2 grid's wrappers step aside so the 6 chips and the beginners chip share one centred, wrapping row. */
body .elementor .elementor-element-sn8chips { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 10px; }
body .elementor .elementor-element-sn8chips > .elementor-widget, body .elementor .elementor-element-sn8chips > .elementor-widget > .elementor-widget-container,
body .elementor .elementor-element-sn8chips .elementor-loop-container:has(> .e-loop-item.elementor-12313),
body .elementor .elementor-element-sn8chips .elementor-shortcode { display: contents; }
.elementor .elementor-element-sn8chips a.sn-chip--beginners { display: inline-flex; align-items: center; gap: 6px; border-color: var(--sn-primary-100); background-color: var(--sn-primary-50); color: var(--sn-primary); font-weight: 600; }
[data-elementor-type="error-404"] [data-id="26516558"] { gap: 24px; }
@media (max-width: 767px) {
	/* 2 columns on phones: the third card would sit alone. */
	[data-elementor-type="error-404"] [data-id="6e786b42"] .e-loop-item:nth-child(3) { display: none; }
}

/* ---------- 53. Buttons on dark panels (sn-bg-dark, plum bands): outline/secondary buttons turn on-dark ----------
   The Phase 0.2 sn-legacy outline rule paints .sensa-button ink with !important, and the V4 secondary class is ink too:
   inside any dark surface both became invisible unless the element had its own override. */
body .elementor .sn-bg-dark .sn-btn--secondary, body .elementor .sn-bg-dark .sn-btn--ghost,
body .elementor .sn-bg-dark .sn-legacy .sensa-button, body .elementor .sn-bg-dark .sensa-button,
body .elementor .sn-cband .sensa-button, body .elementor .sn-dband .sensa-button {
	color: #FFFFFF !important; border-color: rgba(255, 255, 255, 0.6); background-color: transparent;
}
body .elementor .sn-bg-dark .sn-btn--secondary:hover, body .elementor .sn-bg-dark .sn-btn--ghost:hover,
body .elementor .sn-bg-dark .sn-legacy .sensa-button:hover, body .elementor .sn-bg-dark .sensa-button:hover,
body .elementor .sn-cband .sensa-button:hover, body .elementor .sn-dband .sensa-button:hover {
	color: #FFFFFF !important; border-color: #FFFFFF; background-color: rgba(255, 255, 255, 0.1);
}
body .elementor .sn-bg-dark .sn-legacy a:not(.sn-cta):not(.sensa-button):not(.elementor-button) { color: #FFFFFF; }
/* Icons inside buttons follow the button text (the discretion button's arrow was plum on plum — "faint"). */
body .elementor .sn-bg-dark .sensa-button .sensa-icon, body .elementor .sn-bg-dark .sn-cta .sensa-icon,
body .elementor .sn-cband .sensa-icon, body .elementor .sn-dband .sensa-icon, .sensa-button--on-dark .sensa-icon { color: inherit; stroke: currentColor; }

/* ---------- 54. Header search: Phosphor line magnifier instead of the solid Font Awesome glyph ---------- */
.elementor-location-header .elementor-search-form__toggle .e-font-icon-svg-container svg,
.elementor-location-header .elementor-search-form__icon .e-font-icon-svg-container svg { opacity: 0; }
.elementor-location-header .elementor-search-form__toggle .e-font-icon-svg-container,
.elementor-location-header .elementor-search-form__icon .e-font-icon-svg-container { position: relative; }
.elementor-location-header .elementor-search-form__toggle .e-font-icon-svg-container::after,
.elementor-location-header .elementor-search-form__icon .e-font-icon-svg-container::after {
	content: ""; position: absolute; inset-block-start: 50%; inset-inline-start: 50%; inline-size: 16px; block-size: 16px; transform: translate(50%, -50%); background: currentColor;
	-webkit-mask: var(--sn-ico-search) center / contain no-repeat; mask: var(--sn-ico-search) center / contain no-repeat;
}
.elementor-location-header .elementor-search-form__toggle .e-font-icon-svg-container::after { inline-size: 22px; block-size: 22px; }

/* ---------- 55. Mobile menu: the Elementor dropdown becomes a side drawer under the header (sn-stitch.js §15) ----------
   Elementor's "stretch" JS writes an inline width/left/top on the dropdown, hence the !important on those. */
@media (max-width: 1024px) {
	.elementor-location-header .elementor-nav-menu--toggle .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		position: fixed; top: var(--sn-drawer-top, 92px) !important; bottom: 0; left: auto !important; right: 0 !important; inline-size: min(86vw, 360px) !important; max-block-size: none; block-size: auto;
		margin: 0; overflow-y: auto; overscroll-behavior: contain; background-color: var(--sn-surface); z-index: 1000;
		transform: translateX(100%); transform-origin: right; transition: transform 250ms ease, visibility 0s linear 250ms; visibility: hidden;
		box-shadow: -8px 0 32px rgba(34, 26, 30, 0.16);
	}
	.elementor-location-header .elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		transform: translateX(0); visibility: visible; transition: transform 250ms ease, visibility 0s;
	}
	.elementor-location-header .elementor-nav-menu--dropdown .elementor-nav-menu { padding: 8px 0 24px; }
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item { padding: 14px 20px; font-size: 17px; font-weight: 600; border-bottom: 1px solid var(--sn-border); }
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item { padding: 12px 36px 12px 20px; font-size: 15px; border-bottom: 1px solid var(--sn-border); }
	.elementor-location-header .elementor-nav-menu--dropdown .sn-nav-pill a.elementor-item { color: var(--sn-primary); }
	/* Overlay behind the drawer (a click on it closes the drawer — sn-stitch.js §15). z 85: under the sticky header (z 90), whose stacking context holds the drawer. */
	html.sn-drawer-open body { overflow: hidden; }
	.sn-drawer-scrim { position: fixed; inset-inline: 0; inset-block-end: 0; inset-block-start: var(--sn-drawer-top, 92px); z-index: 85; background-color: rgba(34, 26, 30, 0.45); opacity: 0; pointer-events: none; transition: opacity 250ms; }
	html.sn-drawer-open .sn-drawer-scrim { opacity: 1; pointer-events: auto; }
}

/* ---------- 56. Checkout footer links: the "·" ends a line instead of starting the wrapped one ---------- */
.sn-checkout-links li + li::before { content: none; }
.sn-checkout-links li:not(:last-child)::after { content: "·"; padding-inline: 10px; color: var(--sn-ink-muted); opacity: .6; }
