/* BYS Core — ויכלכל יוסף. Values match the previous Jet widgets 1:1. */
:root {
	--bys-primary: #3B180E;
	--bys-secondary: #733517;
	--bys-accent: #BE6929;
	--bys-cream: #FEF4DB;
	--bys-font: almoni, sans-serif;
	--bys-font-title: kedem, almoni, sans-serif;
}

html.bys-no-scroll { overflow: hidden; }

/* ---------- Mega menu: desktop ---------- */
.bys-mm { font-family: var(--bys-font); }
.bys-mm__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bys-mm__item { padding: 5px 10px; }
.bys-mm__link {
	display: block;
	font-family: var(--bys-font);
	font-size: 1vw;
	line-height: 1.5;
	font-weight: 400;
	color: #000;
	text-decoration: none;
	white-space: nowrap;
	transition: color .15s;
}
.bys-mm__item:hover > .bys-mm__link,
.bys-mm__item.is-open > .bys-mm__link,
.bys-mm__link:focus-visible { color: var(--bys-accent); }
.bys-mm__item.is-current > .bys-mm__link { color: var(--bys-accent); }
.bys-mm__panel {
	position: fixed;
	right: 0;
	left: 0;
	z-index: 9990;
}
.bys-mm__panel[hidden] { display: none; }
.bys-mm__panel-inner {
	background: #fff;
	padding: 10px 20px;
}

/* ---------- Mega menu: mobile drawer ---------- */
.bys-mmm__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--bys-primary);
	cursor: pointer;
}
.bys-mmm__toggle:hover, .bys-mmm__toggle:focus { background: transparent; }
.bys-mmm__toggle img { width: 28px; height: 28px; }
.bys-mmm__icon-close { display: none; }
.bys-mmm.is-open .bys-mmm__icon-open { display: none; }
.bys-mmm.is-open .bys-mmm__icon-close { display: inline-flex; }
.bys-mmm__burger, .bys-mmm__burger::before, .bys-mmm__burger::after {
	display: block;
	width: 24px;
	height: 2px;
	background: currentColor;
	position: relative;
	content: "";
}
.bys-mmm__burger::before { position: absolute; top: -7px; }
.bys-mmm__burger::after { position: absolute; top: 7px; }

.bys-mmm__overlay {
	position: fixed;
	inset: 0;
	z-index: 99990;
	background: rgba(0, 0, 0, .5);
}
.bys-mmm__overlay[hidden], .bys-mmm__drawer[hidden] { display: none; }
/* Drawer — JetMenu mobile "slide-out" (container 300px, inner padding 20px). */
.bys-mmm__drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 99991;
	width: 300px;
	max-width: 100%;
	height: 100%;
	overflow-y: auto;
	padding: 20px;
	background: #fff;
	font-family: almoni, sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: #333;
	transform: translateX(100%);
	transition: transform .3s ease;
}
.bys-mmm__drawer.is-in { transform: translateX(0); }
body.admin-bar .bys-mmm__drawer { top: 46px; height: calc(100% - 46px); }

.bys-mmm__drawer .bys-mmm__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 35px;
	margin: 0;
	padding: 0;
	border: 0;
}
.bys-mmm__drawer .bys-mmm__crumb {
	order: -1;
	flex: 1;
	font-family: almoni, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--bys-secondary);
}
.bys-mmm__drawer .bys-mmm__back,
.bys-mmm__drawer .bys-mmm__close,
.bys-mmm__drawer .bys-mmm__back:hover,
.bys-mmm__drawer .bys-mmm__close:hover,
.bys-mmm__drawer .bys-mmm__back:focus,
.bys-mmm__drawer .bys-mmm__close:focus {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none;
	outline: none;
	color: #733517;
	cursor: pointer;
}
.bys-mmm__drawer .bys-mmm__back[hidden], .bys-mmm__drawer .bys-mmm__close[hidden] { display: none; }
.bys-mmm__drawer .bys-mmm__close svg { width: 16px; height: 23px; fill: #733517; }
.bys-mmm__drawer .bys-mmm__back svg { width: 12px; height: 23px; fill: #733517; }

.bys-mmm__drawer .bys-mmm__list { margin: 0; padding: 0; list-style: none; }
.bys-mmm__level[hidden] { display: none; }
.bys-mmm__drawer .bys-mmm__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 10px 0;
}
.bys-mmm__drawer .bys-mmm__link,
.bys-mmm__drawer .bys-mmm__link:hover,
.bys-mmm__drawer .bys-mmm__link:focus {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	min-width: 0;
	height: 30px;
	margin: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none;
	outline: none;
	font-family: almoni, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 27px;
	color: #3b180e;
	text-align: start;
	text-decoration: none;
	cursor: pointer;
}
.bys-mmm__drawer .bys-mmm__arrow,
.bys-mmm__drawer .bys-mmm__arrow:hover,
.bys-mmm__drawer .bys-mmm__arrow:focus {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none;
	outline: none;
	cursor: pointer;
}
.bys-mmm__drawer .bys-mmm__arrow svg { width: 10px; height: 20px; fill: #3a3a3a; }
.bys-mmm__drawer .bys-mmm__sub { padding: 0; }

/* ---------- Live search ---------- */
.bys-search { position: relative; font-family: var(--bys-font); }
.bys-search__form {
	display: flex;
	align-items: stretch;
	margin: 0;
	border-radius: 50px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}
.bys-search__field {
	flex: 1;
	min-width: 0;
	height: 42px;
	padding: 7px 15px 7px 0;
	border: 0 !important;
	border-radius: 0 50px 50px 0 !important;
	background: #fff;
	font-family: var(--bys-font);
	font-size: 20px;
	line-height: 26px;
	color: #000;
	outline: none;
	box-shadow: none !important;
}
.bys-search__field::placeholder { color: rgba(0, 0, 0, .37); }
.bys-search__field::-webkit-search-cancel-button { display: none; }
.bys-search__submit {
	flex: 0 0 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	padding: 11px 15px;
	border: 0;
	border-radius: 50px 0 0 50px;
	background: var(--bys-primary);
	color: #fff;
	cursor: pointer;
}
.bys-search__submit:hover, .bys-search__submit:focus { background: var(--bys-secondary); }
.bys-search__submit svg { width: 18px; height: 18px; fill: currentColor; }

.bys-search__results {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	left: 0;
	z-index: 9995;
	min-width: 280px;
	max-height: 70vh;
	overflow-y: auto;
	padding: 10px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
}
.bys-search__results[hidden] { display: none; }
.bys-search__count, .bys-search__empty { margin: 0 0 6px; font-size: 15px; color: var(--bys-secondary); }
.bys-search__list { margin: 0; padding: 0; list-style: none; }
.bys-search__item {
	display: grid;
	grid-template-columns: 60px 1fr;
	grid-template-rows: auto auto;
	column-gap: 12px;
	align-items: center;
	padding: 6px;
	border-radius: 8px;
	color: var(--bys-primary);
	text-decoration: none;
}
.bys-search__item:hover, .bys-search__item:focus { background: var(--bys-cream); }
.bys-search__item img { grid-row: span 2; width: 60px; height: 60px; object-fit: cover; border-radius: 6px; }
.bys-search__title { font-size: 16px; line-height: 1.3; }
.bys-search__price { font-size: 15px; color: var(--bys-accent); }
.bys-search__price del { opacity: .6; }
.bys-search__all {
	display: block;
	margin-top: 8px;
	padding: 10px;
	border-radius: 50px;
	background: var(--bys-primary);
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.bys-search__all:hover { background: var(--bys-secondary); color: #fff; }

/* ---------- Wishlist ---------- */
.bys-wl-count {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 45px;
	height: 45px;
	margin-top: 3px;
	padding-top: 7px;
	border-radius: 50px;
	background: var(--bys-secondary);
	font-family: var(--bys-font);
	font-weight: 100;
	text-decoration: none;
	box-sizing: border-box;
}
.bys-wl-count__num {
	position: absolute;
	top: -6px;
	right: 0;
	min-width: 10px;
	font-size: 18px;
	line-height: 1;
	color: var(--bys-secondary);
}
.bys-wl-count__icon { width: 30px; height: 30px; fill: #fff; }
@media (max-width: 767px) {
	.bys-wl-count { width: 35px; height: 35px; margin-top: 0; padding-top: 7px; }
	.bys-wl-count__icon { width: 20px; height: 20px; }
}

.bys-wl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--bys-secondary);
	cursor: pointer;
}
.bys-wl-btn:hover, .bys-wl-btn:focus { background: transparent; color: var(--bys-accent); }
.bys-wl-btn svg { width: 22px; height: 22px; fill: currentColor; }
.bys-wl-btn__fill { display: none; }
.bys-wl-btn.is-active .bys-wl-btn__fill { display: inline; }
.bys-wl-btn.is-active .bys-wl-btn__outline { display: none; }

.bys-wishlist__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.bys-wishlist__empty { font-family: var(--bys-font); font-size: 20px; color: var(--bys-secondary); text-align: center; }
@media (max-width: 1024px) { .bys-wishlist__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .bys-wishlist__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* Hello Elementor styles every <button> (pink border / background on hover) — neutralise for BYS controls. */
.bys-search .bys-search__submit,
.bys-mmm .bys-mmm__toggle,
.bys-mmm__drawer button,
.bys-wl-btn {
	border: 0 !important;
	border-radius: 0;
	box-shadow: none;
	text-transform: none;
}
.bys-search .bys-search__submit,
.bys-search .bys-search__submit:hover,
.bys-search .bys-search__submit:focus {
	border-radius: 50px 0 0 50px;
	background: var(--bys-primary) !important;
	color: #fff !important;
}
.bys-search .bys-search__submit:hover { background: var(--bys-secondary) !important; }
.bys-wl-btn { border-radius: 50%; }

/* ---------- Popups (quick view) — sizing and close button come from the popup's settings ---------- */
.bys-popup {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	transition: opacity .25s ease;
}
.bys-popup.is-open { opacity: 1; }
.bys-popup__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.bys-popup__container {
	position: relative;
	width: var(--bys-popup-width, 800px);
	max-width: 100%;
	height: var(--bys-popup-height, auto);
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	background: #fff;
	transition: transform .3s ease;
}
.bys-popup--zoom-in .bys-popup__container { transform: scale(.85); }
.bys-popup--zoom-in.is-open .bys-popup__container { transform: scale(1); }
.bys-popup--fade .bys-popup__container { transform: none; }
.bys-popup__content { padding: 20px; }
/* JetPopup close button: top/right corner (right even in RTL), 16px icon. */
.bys-popup .bys-popup__close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--bys-popup-close-size, 34px);
	height: var(--bys-popup-close-size, 34px);
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	background: var(--bys-popup-close-bg, #3B180E) !important;
	color: var(--bys-popup-close-color, #fff) !important;
	line-height: 1;
	cursor: pointer;
	transition: all .2s ease;
}
.bys-popup .bys-popup__close svg { width: 16px; height: auto; }
.bys-popup .bys-popup__close:hover { background: var(--bys-popup-close-hover, #733517) !important; }
.bys-popup .bys-popup__close:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.bys-popup__spinner {
	width: 40px;
	height: 40px;
	margin: 60px auto;
	border: 3px solid var(--bys-cream);
	border-top-color: var(--bys-secondary);
	border-radius: 50%;
	animation: bys-spin .8s linear infinite;
}
@keyframes bys-spin { to { transform: rotate(360deg); } }
.bys-popup-target { cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
	.bys-popup, .bys-popup__container { transition: none; }
}

/* ---------- 1:1 with the live header (values measured on breslev-shop.co.il) ----------
   Theme/kit styles for <a>, <button>, <input> were overriding these, hence the specificity. */
.elementor .bys-mm .bys-mm__link,
.bys-mm .bys-mm__list .bys-mm__link {
	font-family: almoni, sans-serif;
	font-size: 1vw;
	line-height: 1.5;
	font-weight: 400;
	color: #000;
}
.bys-mm .bys-mm__list .bys-mm__item:hover > .bys-mm__link,
.bys-mm .bys-mm__list .bys-mm__item.is-open > .bys-mm__link { color: var(--bys-accent); }
.bys-mm .bys-mm__list .bys-mm__item.is-current > .bys-mm__link { color: var(--bys-accent); }
.bys-mm .bys-mm__item { display: flex; gap: 5px; padding: 5px 10px; }

.bys-search .bys-search__form { box-shadow: none; border-radius: 0; }
.bys-search input.bys-search__field {
	height: 42px;
	padding: 7px 15px 7px 0 !important;
	border: 0 !important;
	border-radius: 0 50px 50px 0 !important;
	background: #fff !important;
	box-shadow: 0 0 10px rgba(0, 0, 0, .1) !important;
	font-family: almoni, sans-serif;
	font-size: 20px;
	line-height: 26px;
	min-height: 0;
}
.bys-search .bys-search__form .bys-search__submit {
	flex: 0 0 50px;
	width: 50px;
	height: 42px;
	min-height: 0;
	padding: 11px 15px !important;
	font-size: 20px;
	line-height: 1;
}
.bys-search .bys-search__submit svg { width: 20px; height: 20px; }

/* Mobile menu toggle — JetMenu's size on live: 35×35 box, 28px icon, no button chrome. */
.bys-mmm .bys-mmm__toggle,
.bys-mmm .bys-mmm__toggle:hover,
.bys-mmm .bys-mmm__toggle:focus {
	width: 35px;
	height: 35px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none;
}
.bys-mmm .bys-mmm__toggle svg { display: block; width: 28px; height: 28px; }
.bys-mmm__icon-open, .bys-mmm.is-open .bys-mmm__icon-close { display: inline-flex; }

/* Header: JetCW 'hide empty count' + JetMenu mobile toggle keeps its 35px box. */
.bys-wl-count--hide-empty[data-count="0"] .bys-wl-count__num { display: none; }
.elementor .elementor-element.elementor-element-2d7a9c0 { width: 35px; min-width: 35px; }


/* Carousels before their script runs (WP Rocket delays it until the first interaction): lay the
   cards out as the slider will (one row, --columns per view) so nothing jumps when it starts. */
.jet-listing-grid__slider:not(.swiper-initialized) > .jet-listing-grid__items {
	display: flex;
	flex-wrap: nowrap;
	overflow: hidden;
}
.jet-listing-grid .jet-listing-grid__slider.swiper-lib:not(.swiper-initialized) > .jet-listing-grid__items > .jet-listing-grid__item.swiper-slide {
	flex: 0 0 calc((100% - 20px) / var(--columns, 1)); /* the wrapper is 20px wider than the slider (Jet margin) */
	max-width: calc((100% - 20px) / var(--columns, 1));
}
/* Home "scroll down" Lottie arrow (512x512 animation): keep its square box before the animation loads. */
.elementor-element-27df4ac .e-lottie__animation { aspect-ratio: 1 / 1; }

/* Product options: the tick (V) of a ticked option. The plugin drew it with a whole icon font
   (Font Awesome, loaded for this one glyph); the same check mark as an SVG mask, same size/colour. */
.tc-extra-product-options .tc-epo-style-wrapper .tm-epo-style::after {
	content: "";
	font-family: inherit;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E") center / 70% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E") center / 70% no-repeat;
}

/* Product page + quick view: the price sits on the right like the rest of the column (the widget
   prints it left-to-right, so "start" put it on the left). */
.elementor-element-62d0913 .price,
.elementor-element-2861646 .price { text-align: right; }

/* ---------- Product page: variation choices as buttons (modules/product-page.php) ---------- */
.single-product form.variations_form table.variations,
.single-product form.variations_form table.variations tbody,
.single-product form.variations_form table.variations tr,
.single-product form.variations_form table.variations th,
.single-product form.variations_form table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	text-align: right;
}
.single-product form.variations_form table.variations { margin: 0 0 8px; }
.single-product form.variations_form table.variations tr { margin: 0 0 18px; }
.single-product form.variations_form table.variations th.label {
	margin: 0 0 8px;
	line-height: 1.3;
}
.single-product form.variations_form table.variations th.label label {
	font-family: almoni, sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: #3b180e;
}
.bys-sw__current { font-weight: 400; color: #733517; }
/* WooCommerce's dropdown stays (its script does the matching) but out of sight. */
.single-product form.variations_form table.variations td.value select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0;
	pointer-events: none;
}
.bys-sw { display: flex; flex-wrap: wrap; gap: 8px; }
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .bys-sw button.bys-sw__opt,
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .bys-sw button.bys-sw__opt:focus {
	min-height: 42px;
	padding: 8px 18px;
	border: 1px solid #d8c7b4;
	border-radius: 30px;
	background: #fff;
	color: #3b180e;
	font-family: almoni, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color .15s, background-color .15s, color .15s;
}
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .bys-sw button.bys-sw__opt:hover { border-color: #3b180e; background: #fff; color: #3b180e; }
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .bys-sw button.bys-sw__opt:focus-visible { outline: 2px solid #be6929; outline-offset: 2px; }
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .bys-sw button.bys-sw__opt.is-selected,
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .bys-sw button.bys-sw__opt.is-selected:hover {
	border-color: #3b180e;
	background: #3b180e;
	color: #fff;
}
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart .bys-sw button.bys-sw__opt.is-unavailable:not(.is-selected) {
	opacity: .45;
	text-decoration: line-through;
}
/* One value only: shown as text on the name's line. */
.single-product form.variations_form table.variations tr:has(.bys-sw--single) {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: baseline;
	column-gap: 6px;
	margin-bottom: 14px;
}
.single-product form.variations_form table.variations tr:has(.bys-sw--single) th.label { margin: 0; }
.single-product form.variations_form table.variations tr:has(.bys-sw--single) th.label label::after { content: ":"; }
.single-product form.variations_form table.variations tr:has(.bys-sw--single) .bys-sw__current { display: none; }
.bys-sw__fixed { font-family: almoni, sans-serif; font-size: 17px; color: #733517; }
.single-product .variations_form .reset_variations {
	display: inline-block;
	margin-top: 10px;
	font-size: 15px;
	color: #733517;
	text-decoration: underline;
}
/* The chosen variation's price replaces the range at the top — no second price under the choices. */
.single-product .single_variation .woocommerce-variation-price { display: none; }

/* The heart beside "add to cart". */
.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.single-product form.cart .bys-cart-row-wl { display: flex; align-items: center; }
.single-product form.cart .bys-cart-row-wl .elementor-widget { width: auto; margin: 0; }
.single-product form.cart .tc-extra-product-options,
.single-product form.cart .tc-totals-form { flex: 0 0 100%; max-width: 100%; }

/* Mega menu: category card on the panel's empty side (modules/mega-menu.php bys_mega_promo). */
/* Beside the links, in the panel's empty left side (the template keeps its own layout); wide
   screens only, where that side is always free. */
.bys-mm__panel-inner { position: relative; }
@media (max-width: 1279px) { .bys-mm__promo { display: none !important; } }
.bys-mm__promo {
	position: absolute;
	top: 22px;
	left: max(24px, calc((100% - 1380px) / 2));
	width: 300px;
	display: block;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #fbf6ee;
	text-decoration: none;
}
.bys-mm__promo-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.bys-mm__promo:hover .bys-mm__promo-img { transform: scale(1.04); }
.bys-mm__promo-text {
	position: absolute;
	inset: auto 0 0 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 40px 18px 14px;
	background: linear-gradient(to top, rgba(59, 24, 14, .85), rgba(59, 24, 14, 0));
	color: #fff;
	text-align: right;
}
.bys-mm__promo-title { font-family: kedem, almoni, sans-serif; font-size: 24px; font-weight: 700; line-height: 1.1; }
.bys-mm__promo-cta { font-family: almoni, sans-serif; font-size: 16px; opacity: .95; }

/* ---------- Home: category glide of floating round pictures (listing.php bys_catstrip_html) ---------- */
.bys-catstrip {
	position: relative;
	overflow: hidden;
	padding: 14px 0 10px;
	touch-action: pan-y;           /* phones: up/down scrolls the page, sideways drags the row */
	user-select: none;
	-webkit-user-select: none;
	cursor: grab;
}
.bys-catstrip.is-dragging { cursor: grabbing; }
.bys-catstrip.is-dragging .bys-catstrip__link { pointer-events: none; }
.bys-catstrip__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 34px;
	width: max-content;
	margin: 0;
	padding: 10px 0 14px;
	list-style: none;
	will-change: transform;
}
.bys-catstrip__item { flex: 0 0 auto; margin: 0; }
.bys-catstrip__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	width: 140px;
	text-decoration: none;
	color: #3b180e;
	-webkit-user-drag: none;
}
/* Minimal: no frame — a white ring, one soft shadow, and a slow float, each at its own pace. */
.bys-catstrip__img {
	display: block;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 0 0 5px #fff, 0 18px 32px -14px rgba(59, 24, 14, .38);
	animation: bys-float 5.5s ease-in-out infinite;
	transition: transform .35s ease, box-shadow .35s ease;
}
.bys-catstrip__item:nth-child(3n+2) .bys-catstrip__img { animation-duration: 6.4s; animation-delay: -1.8s; }
.bys-catstrip__item:nth-child(3n+3) .bys-catstrip__img { animation-duration: 4.8s; animation-delay: -3.1s; }
@keyframes bys-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }
.bys-catstrip__pic { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; pointer-events: none; }
.bys-catstrip__link:hover .bys-catstrip__img,
.bys-catstrip__link:focus-visible .bys-catstrip__img { box-shadow: 0 0 0 5px #fff, 0 0 0 6px #e6d3bd, 0 24px 38px -14px rgba(59, 24, 14, .45); }
.bys-catstrip__link:hover .bys-catstrip__pic { transform: scale(1.07); }
.bys-catstrip__name {
	font-family: almoni, sans-serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.25;
	text-align: center;
	color: #3b180e;
}
@media (max-width: 767px) {
	.bys-catstrip { padding: 8px 0 4px; }
	.bys-catstrip__list { gap: 18px; }
	.bys-catstrip__link { width: 98px; gap: 9px; }
	.bys-catstrip__img { width: 92px; height: 92px; box-shadow: 0 0 0 4px #fff, 0 12px 22px -10px rgba(59, 24, 14, .36); }
	.bys-catstrip__name { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .bys-catstrip__img { animation: none; } }

/* ---------- Sales / UX (modules/conversion.php) ---------- */
.bys-topbar {
	position: relative;
	overflow: hidden;
	min-height: 34px;
	padding: 0 16px;
	background: #3b180e;
	color: #fef4db;
	font-family: almoni, sans-serif;
	font-size: 15px;
	line-height: 34px;
	text-align: center;
}
.bys-topbar__track { display: flex; justify-content: center; gap: 0; }
.bys-topbar__msg { white-space: nowrap; }
.bys-topbar__msg + .bys-topbar__msg::before { content: "·"; margin: 0 14px; opacity: .55; }
/* Phones and tablets: one message at a time, taking turns every 4 s (CSS only). */
@media (max-width: 1100px) {
	.bys-topbar { font-size: 14px; }
	.bys-topbar__track { position: relative; height: 34px; }
	.bys-topbar__msg { position: absolute; inset: 0; opacity: 0; animation: bys-topbar-3 12s infinite; animation-delay: calc(var(--i) * 4s); }
	.bys-topbar--2 .bys-topbar__msg { animation-name: bys-topbar-2; animation-duration: 8s; }
	.bys-topbar--1 .bys-topbar__msg { opacity: 1; animation: none; }
	.bys-topbar__msg + .bys-topbar__msg::before { content: none; }
}
@keyframes bys-topbar-3 { 0%, 30% { opacity: 1; transform: none; } 33%, 100% { opacity: 0; transform: translateY(-6px); } }
@keyframes bys-topbar-2 { 0%, 45% { opacity: 1; transform: none; } 50%, 100% { opacity: 0; transform: translateY(-6px); } }
@media (max-width: 1100px) and (prefers-reduced-motion: reduce) {
	.bys-topbar__msg { animation: none; }
	.bys-topbar__msg:first-child { opacity: 1; }
}

/* Delivery date under "add to cart". */
.bys-eta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	padding: 10px 14px;
	border-radius: 12px;
	background: #f3f8ef;
	color: #2f4a22;
	font-family: almoni, sans-serif;
	font-size: 16px;
	line-height: 1.35;
}
.bys-eta svg { width: 20px; height: 20px; flex: none; fill: none; stroke: #4c7a35; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bys-eta strong { font-weight: 700; }
.bys-trust a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

.bys-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
	font-family: almoni, sans-serif;
	font-size: 15px;
	color: #5a3a2c;
}
.bys-trust li { display: flex; align-items: center; gap: 6px; margin: 0; }
.bys-trust svg { width: 18px; height: 18px; fill: none; stroke: #be6929; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.bys-price-from { display: inline-block; unicode-bidi: isolate; }
.bys-price-from__txt { font-size: .7em; font-weight: 400; }

.bys-card-tag {
	display: inline-block;
	max-width: 100%;
	text-align: center;
	margin-top: 6px;
	padding: 2px 10px;
	border-radius: 20px;
	background: #fbf1e3;
	color: #733517;
	font-family: almoni, sans-serif;
	font-size: 12.5px;
	line-height: 1.4;
	padding-top: 3px;
	padding-bottom: 3px;
}

/* Product description: a few lines on phones, "קרא עוד" opens the rest. */
@media (max-width: 767px) {
	.bys-desc-clamp:not(.is-open):not(.is-short) {
		display: -webkit-box;
		-webkit-line-clamp: 4;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
}
.bys-desc-more,
.elementor-widget-container + button.bys-desc-more,
body button.bys-desc-more:hover,
body button.bys-desc-more:focus,
body button.bys-desc-more {
	display: none;
	margin: 4px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: #733517;
	font-family: almoni, sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
	min-height: 0;
	box-shadow: none;
}
@media (max-width: 767px) { body button.bys-desc-more { display: inline-block; } }

/* Sticky "add to cart" (phones only). */
.bys-sticky-atc { display: none; }
@media (max-width: 767px) {
	.bys-sticky-atc:not([hidden]) {
		position: fixed;
		right: 0;
		left: 0;
		bottom: 0;
		z-index: 9980;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		box-shadow: 0 -4px 16px rgba(59, 24, 14, .12);
		font-family: almoni, sans-serif;
	}
	.bys-sticky-atc__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
	.bys-sticky-atc__name { font-size: 14px; color: #5a3a2c; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.bys-sticky-atc__price { font-size: 18px; font-weight: 700; color: #3b180e; }
	.bys-sticky-atc .bys-sticky-atc__btn,
	.bys-sticky-atc .bys-sticky-atc__btn:hover,
	.bys-sticky-atc .bys-sticky-atc__btn:focus {
		flex: none;
		padding: 12px 22px;
		border: 0;
		border-radius: 30px;
		background: #3b180e;
		color: #fff;
		font-family: almoni, sans-serif;
		font-size: 17px;
		font-weight: 700;
	}
	body.bys-sticky-on .joinchat,
	body.bys-sticky-on .xoo-wsc-basket { transform: translateY(-72px); transition: transform .2s; }
}

/* Checkout: country (Israel only) out of sight; empty cart. */
.woocommerce form .bys-hidden-field { display: none !important; }
.bys-empty-cart { margin: 24px 0 8px; }
.bys-empty-cart__title { font-family: kedem, almoni, sans-serif; font-size: 26px; color: #3b180e; text-align: center; margin: 0 0 18px; }

/* ---------- "משלימים את הסט" under add to cart (modules/complete-set.php) ---------- */
.bys-complete { margin: 22px 0 0; }
.bys-complete__title { margin: 0 0 10px; font-family: almoni, sans-serif; font-size: 18px; font-weight: 700; color: #3b180e; }
.bys-complete__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.bys-complete__item {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid #eee2d4;
	border-radius: 14px;
	background: #fff;
}
.bys-complete__img img { width: 64px; height: 64px; object-fit: contain; border-radius: 10px; background: #fbf6ee; display: block; }
.bys-complete__body { display: flex; flex-direction: column; min-width: 0; }
.bys-complete__name { font-family: almoni, sans-serif; font-size: 15px; line-height: 1.3; color: #3b180e; text-decoration: none; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bys-complete__name:hover { color: #733517; }
.bys-complete__price { font-family: almoni, sans-serif; font-size: 15px; font-weight: 700; color: #733517; }
.bys-complete__price .bys-price-from__txt { font-size: .8em; }
.bys-complete .bys-complete__add,
.bys-complete .bys-complete__add:hover,
.bys-complete .bys-complete__add:focus {
	padding: 7px 14px;
	border: 1px solid #3b180e;
	border-radius: 30px;
	background: #fff;
	color: #3b180e;
	font-family: almoni, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
}
.bys-complete .bys-complete__add:hover { background: #3b180e; color: #fff; }
.bys-complete .bys-complete__add.added { background: #3b180e; color: #fff; }
.bys-complete .added_to_cart { display: none; }

/* Checkout: note under the email field (modules/abandoned-cart.php). */
.bys-cart-note { display: block; margin-top: 4px; font-size: 13px; color: #8a7a70; line-height: 1.4; }

/* 404 page (templates/404.php) and the empty cart's button. */
.bys-404 { padding: 48px 0 56px; }
.bys-404__inner { max-width: 640px; margin: 0 auto; padding: 0 16px; text-align: center; display: grid; gap: 12px; justify-items: center; }
.bys-404__code { margin: 0; font-family: kedem, almoni, sans-serif; font-size: 64px; line-height: 1; color: #e6d3bd; }
.bys-404__title { margin: 0; font-family: kedem, almoni, sans-serif; font-size: 34px; color: #3b180e; }
.bys-404__lead { margin: 0 0 8px; font-family: almoni, sans-serif; font-size: 18px; color: #5a3a2c; }
.bys-404__search { width: 100%; max-width: 480px; margin-bottom: 18px; }
.bys-404__home { text-align: center; margin: 18px 0 0; }
.bys-404 .bys-404__btn,
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .return-to-shop .button:hover {
	display: inline-block;
	padding: 12px 30px;
	border: 0;
	border-radius: 30px;
	background: #3b180e;
	color: #fff;
	font-family: almoni, sans-serif;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
}
.bys-404 .bys-404__btn:hover, .woocommerce-cart .return-to-shop .button:hover { background: #733517; color: #fff; }
.woocommerce-cart .return-to-shop { text-align: center; }
