/*
Theme Name: Bridge Child
Version: 3.5.1
Template: bridge
*/
@import url("../bridge/style.css");

/* ??? Tokens ??? */
:root {
	--ef-ink: #141414;
	--ef-muted: #737373;
	--ef-line: #e6e2dd;
	--ef-cream: #f8f5f1;
	--ef-white: #ffffff;
	--ef-red: #292828;
	--ef-red-soft: rgba(41, 40, 40, 0.1);
	--ef-font: "Onest", "Segoe UI", sans-serif;
	--ef-max: 1440px;
	--ef-pad: 24px;
	--ef-bar: 88px;
	--ef-logo: 52px;
	--ef-icon: 22px;
	--ef-radius: 999px;
	--ef-btn-h: 40px;
	--ef-btn-lift: translateY(-2px);
	--ef-btn-press: scale(0.96);
	--ef-btn-shadow: 0 10px 22px rgba(41, 40, 40, 0.16);
	--ef-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
	--ef-icon-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E");
	--ef-icon-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' x2='20' y1='6' y2='6'/%3E%3Cline x1='4' x2='20' y1='12' y2='12'/%3E%3Cline x1='4' x2='20' y1='18' y2='18'/%3E%3C/svg%3E");
}

/* ??? Button motion: PC hover lift (no bg change), mobile press ??? */
.ef-home-hero__cta,
.ef-mobile-hero__cta,
.ef-about__cta,
.ef-card__atc,
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce #respond input#submit,
body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page input.button,
body .woocommerce a.button,
body .woocommerce button.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
body.single-product form.cart .single_add_to_cart_button,
body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart .return-to-shop a.button,
body.woocommerce-cart .coupon .button,
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart a.checkout-button,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button {
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	transform: translateY(0) scale(1);
	transition: transform 0.18s ease, box-shadow 0.18s ease !important;
	will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
	.ef-home-hero__cta:hover,
	.ef-mobile-hero__cta:hover,
	.ef-about__cta:hover,
	.ef-card__atc:hover,
	body.woocommerce a.button:hover,
	body.woocommerce button.button:hover,
	body.woocommerce input.button:hover,
	body.woocommerce #respond input#submit:hover,
	body.woocommerce-page a.button:hover,
	body.woocommerce-page button.button:hover,
	body.woocommerce-page input.button:hover,
	body .woocommerce a.button:hover,
	body .woocommerce button.button:hover,
	.woocommerce ul.products li.product .button:hover,
	.woocommerce ul.products li.product a.button:hover,
	body.single-product form.cart .single_add_to_cart_button:hover,
	body.woocommerce-cart .return-to-shop .button:hover,
	body.woocommerce-cart .return-to-shop a.button:hover,
	body.woocommerce-cart .coupon .button:hover,
	body.woocommerce-cart button[name="update_cart"]:hover,
	body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
	body.woocommerce-cart a.checkout-button:hover,
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button:hover {
		transform: var(--ef-btn-lift) !important;
		box-shadow: var(--ef-btn-shadow) !important;
	}
}

@media (hover: none), (pointer: coarse) {
	.ef-home-hero__cta:active,
	.ef-home-hero__cta.is-pressed,
	.ef-mobile-hero__cta:active,
	.ef-mobile-hero__cta.is-pressed,
	.ef-about__cta:active,
	.ef-about__cta.is-pressed,
	.ef-card__atc:active,
	.ef-card__atc.is-pressed,
	body.woocommerce a.button:active,
	body.woocommerce a.button.is-pressed,
	body.woocommerce button.button:active,
	body.woocommerce button.button.is-pressed,
	body.woocommerce input.button:active,
	body.woocommerce-page a.button:active,
	body.woocommerce-page button.button:active,
	.woocommerce ul.products li.product .button:active,
	body.single-product form.cart .single_add_to_cart_button:active,
	body.woocommerce-cart .return-to-shop .button:active,
	body.woocommerce-cart .coupon .button:active,
	body.woocommerce-cart button[name="update_cart"]:active,
	body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active,
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button:active,
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button.is-pressed {
		transform: var(--ef-btn-press) !important;
		box-shadow: none !important;
		transition-duration: 0.08s !important;
	}
}

/* Site-wide type: Onest everywhere (keep icon fonts) */
html {
	font-family: var(--ef-font) !important;
}

body,
body.bridge,
body.woocommerce,
body.woocommerce-page {
	--e-global-typography-primary-font-family: "Onest", "Segoe UI", sans-serif;
	--e-global-typography-secondary-font-family: "Onest", "Segoe UI", sans-serif;
	--e-global-typography-text-font-family: "Onest", "Segoe UI", sans-serif;
	--e-global-typography-accent-font-family: "Onest", "Segoe UI", sans-serif;
	font-family: var(--ef-font) !important;
}

body *:not(i):not(svg):not(path):not(script):not(style):not(br):not(hr):not(img):not(video):not(canvas):not(iframe):not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fad):not([class*="fa-"]):not(.eicon):not([class*="eicon"]):not(.dashicons):not([class*="dashicons"]):not(.qode_icon_font_awesome):not(.qode_icon_dripicons):not(.qode_icon_linea_icons):not(.qode_icon_simple_line_icons):not(.qode_icon_elegant_icons):not(.woocommerce-Price-currencySymbol) {
	font-family: var(--ef-font) !important;
}

button,
input,
select,
textarea,
.woocommerce,
.elementor,
.elementor-widget,
.elementor-heading-title,
.elementor-widget-text-editor,
.qbutton,
h1, h2, h3, h4, h5, h6,
.product_title,
.woocommerce ul.products li.product .product-info h6,
.wc-block-components-product-name,
a.wc-block-components-product-name {
	font-family: var(--ef-font) !important;
}

/* Cart / checkout line titles = catalog card titles */
.ef-card__title,
.ef-cart__name,
.ef-cart__name a,
body.woocommerce-cart table.shop_table td.product-name a,
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart a.wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-checkout a.wc-block-components-product-name,
body.woocommerce-checkout .product-name a,
body.woocommerce-checkout td.product-name a,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-name,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-name a,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item a:not(.remove):not(.elementor-menu-cart__product-image) {
	font-family: var(--ef-font) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--ef-ink) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
}

/* ??? Header shell ??? */
body.easyfood-elementor-header {
	padding-top: var(--ef-offset, var(--ef-bar));
	overflow-x: clip;
}

html,
body.easyfood-elementor-header {
	max-width: 100%;
}

body.easyfood-elementor-header .wrapper,
body.easyfood-elementor-header .content,
body.easyfood-elementor-header .content .content_inner,
body.easyfood-elementor-header .full_width,
body.easyfood-elementor-header .full_width_inner,
body.easyfood-elementor-header .elementor,
body.easyfood-elementor-header .elementor-section,
body.easyfood-elementor-header .wp-block-themepunch-revslider,
body.easyfood-elementor-header sr7-module {
	max-width: 100%;
	box-sizing: border-box;
}

body.easyfood-elementor-header .wp-block-themepunch-revslider,
body.easyfood-elementor-header sr7-module {
	overflow: hidden !important;
}

body.easyfood-elementor-header header.page_header {
	display: none !important;
}

.elementor-location-header {
	position: fixed !important;
	top: var(--ef-admin, 0px);
	left: 0;
	right: 0;
	z-index: 9999;
	background: rgba(255, 255, 255, 0.96);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--ef-line);
	box-shadow: 0 4px 20px rgba(20, 20, 20, 0.04);
}

.elementor-location-header.ef-is-scrolled {
	--ef-bar: 76px;
	--ef-logo: 48px;
	box-shadow: 0 8px 28px rgba(20, 20, 20, 0.08);
}

.elementor-location-header > .elementor-element {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.elementor-location-header .e-con-boxed > .e-con-inner {
	max-width: var(--ef-max) !important;
	margin: 0 auto !important;
	padding: 0 var(--ef-pad) !important;
	box-sizing: border-box !important;
}

/* 3-column grid: logo | nav | tools */
.elementor-location-header > .elementor-element > .e-con-inner {
	display: grid !important;
	grid-template-columns: auto 1fr auto !important;
	align-items: center !important;
	column-gap: 40px !important;
	min-height: var(--ef-bar) !important;
}

.elementor-location-header > .elementor-element > .e-con-inner > .e-con {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
}

.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(1) {
	justify-self: start;
	grid-column: 1;
	min-width: 140px;
}

.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(2) {
	justify-self: center;
}

.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(2) > .e-con-inner {
	display: contents;
}

.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(3) {
	justify-self: end;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 6px 8px 6px 14px;
	background: var(--ef-cream);
	border: 1px solid var(--ef-line);
	border-radius: 999px;
}

.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(3) > .e-con-inner {
	display: contents;
}

/* Logo */
.ef-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	line-height: 0;
}

.ef-logo img {
	display: block !important;
	height: var(--ef-logo) !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
}

/* Nav pill */
.elementor-location-header .elementor-menu-toggle {
	display: none;
	padding: 0 !important;
	line-height: 0 !important;
}

.elementor-location-header .elementor-menu-toggle svg {
	display: none !important;
}

.elementor-location-header .elementor-nav-menu--main > ul {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 5px;
	background: var(--ef-cream);
	border: 1px solid var(--ef-line);
	border-radius: 999px;
	list-style: none;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item {
	font-family: var(--ef-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--ef-ink) !important;
	padding: 11px 22px !important;
	border-radius: 999px;
	transition: color 0.15s ease, background 0.15s ease;
	white-space: nowrap;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active:not([data-ef-addresses="1"]):not([data-ef-delivery="1"]):not([data-ef-franchise="1"]) {
	color: var(--ef-red) !important;
	background: var(--ef-white);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.elementor-location-header .elementor-nav-menu--main a[data-ef-addresses="1"]:not(:hover),
.elementor-location-header .elementor-nav-menu--main a[data-ef-delivery="1"]:not(:hover),
.elementor-location-header .elementor-nav-menu--main a[data-ef-franchise="1"]:not(:hover) {
	color: var(--ef-ink) !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Catalog submenu (desktop hover; open while cursor is on item OR panel) */
.elementor-location-header .elementor-nav-menu--main .menu-item-has-children,
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown {
	position: relative;
}

/* Extend hover hit-area down into the panel without a visible ::after caret */
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown:hover,
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown.ef-catalog-open {
	padding-bottom: 14px;
	margin-bottom: -14px;
}

.elementor-location-header .elementor-nav-menu--main .menu-item-has-children > .sub-menu,
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown > .sub-menu {
	position: absolute !important;
	top: 100% !important;
	left: 50% !important;
	right: auto !important;
	min-width: 240px;
	max-width: min(320px, 80vw);
	max-height: min(70vh, 420px) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	margin: 0 !important;
	padding: 8px !important;
	list-style: none !important;
	background: #fff !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 14px !important;
	box-shadow: 0 16px 40px rgba(20, 20, 20, 0.12) !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%) translateY(4px);
	transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
	z-index: 10020;
}

.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu,
.elementor-location-header .elementor-nav-menu--main .menu-item-has-children.ef-catalog-open > .sub-menu,
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown:hover > .sub-menu,
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown:focus-within > .sub-menu,
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown.ef-catalog-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

.elementor-location-header .elementor-nav-menu--main .sub-menu .menu-item,
.elementor-location-header .elementor-nav-menu--main .sub-menu li {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-item,
.elementor-location-header .elementor-nav-menu--main .sub-menu a {
	display: block !important;
	width: 100% !important;
	padding: 10px 12px !important;
	margin: 0 0 2px !important;
	border-radius: 10px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #141414 !important;
	-webkit-text-fill-color: #141414 !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	white-space: normal !important;
	text-align: left !important;
}

.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .sub-menu a:hover,
.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--main .sub-menu a.elementor-item-active {
	background: #f8f5f1 !important;
	color: #292828 !important;
	-webkit-text-fill-color: #292828 !important;
}

/* Hide theme/Elementor caret triangles & default arrows; one custom chevron only */
.elementor-location-header .sub-arrow,
.elementor-location-header .elementor-nav-menu .sub-arrow {
	display: none !important;
}

.elementor-location-header .elementor-nav-menu--main .menu-item-has-children::before,
.elementor-location-header .elementor-nav-menu--main .menu-item-has-children::after,
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown::before,
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown::after,
.elementor-location-header .elementor-nav-menu--main .sub-menu::before,
.elementor-location-header .elementor-nav-menu--main .sub-menu::after,
.elementor-location-header .elementor-nav-menu--dropdown.sub-menu::before,
.elementor-location-header .elementor-nav-menu--dropdown.sub-menu::after,
.elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown::before,
.elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
}

.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown > .elementor-item {
	position: relative;
	padding-right: 30px !important;
}

.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown > .elementor-item::after {
	content: '' !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: absolute !important;
	right: 12px;
	top: 50%;
	width: 7px !important;
	height: 7px !important;
	margin-top: -5px;
	border: 0 !important;
	border-right: 2px solid #141414 !important;
	border-bottom: 2px solid #141414 !important;
	background: none !important;
	transform: rotate(45deg);
	pointer-events: none;
	z-index: 2;
}

.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown:hover > .elementor-item::after,
.elementor-location-header .elementor-nav-menu--main .ef-has-catalog-dropdown.ef-catalog-open > .elementor-item::after {
	border-right-color: #292828 !important;
	border-bottom-color: #292828 !important;
}

/* Search in toolbar */
.elementor-location-header .elementor-widget-search-form .elementor-search-form__container {
	display: flex !important;
	align-items: center !important;
	height: 40px;
	min-height: 40px;
	width: 220px;
	max-width: 220px;
	border: 1px solid var(--ef-line) !important;
	background: var(--ef-cream) !important;
	border-radius: 999px !important;
	padding: 0 4px 0 14px !important;
	box-shadow: none !important;
}

.elementor-location-header .elementor-widget-search-form .elementor-search-form__input {
	font-family: var(--ef-font) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--ef-ink) !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 4px 0 0 !important;
}

.elementor-location-header .elementor-widget-search-form .elementor-search-form__input::placeholder {
	color: var(--ef-muted) !important;
	opacity: 1 !important;
	font-family: var(--ef-font) !important;
}

.elementor-location-header .elementor-widget-search-form .elementor-search-form__submit {
	background: transparent;
	border: 0;
	color: var(--ef-ink) !important;
	padding: 0 8px 0 0;
}

.elementor-location-header .elementor-widget-search-form .elementor-search-form__submit .e-font-icon-svg-container {
	display: none !important;
}

.elementor-location-header .elementor-search-form__submit::after,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button .elementor-button-icon::before,
.elementor-location-header .elementor-menu-toggle::before {
	content: "";
	display: block;
	width: var(--ef-icon);
	height: var(--ef-icon);
	background: #141414;
	flex-shrink: 0;
	-webkit-mask: center / var(--ef-icon) var(--ef-icon) no-repeat;
	mask: center / var(--ef-icon) var(--ef-icon) no-repeat;
}

.elementor-location-header .elementor-search-form__submit::after {
	-webkit-mask-image: var(--ef-icon-search);
	mask-image: var(--ef-icon-search);
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button .elementor-button-icon::before {
	-webkit-mask-image: var(--ef-icon-cart);
	mask-image: var(--ef-icon-cart);
}

.elementor-location-header .elementor-menu-toggle::before {
	-webkit-mask-image: var(--ef-icon-menu);
	mask-image: var(--ef-icon-menu);
}

/* Cart ? plain icon, no circle */
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle.elementor-button-wrapper,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_wrapper {
	margin: 0;
	padding: 0;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ef-ink) !important;
	transition: color 0.15s ease;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button:hover {
	background: transparent !important;
	color: var(--ef-red) !important;
	transform: none;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button .elementor-button-text {
	display: none !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button .elementor-button-icon svg {
	display: none !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button .elementor-button-icon {
	position: relative;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--ef-icon);
	height: var(--ef-icon);
	margin: 0 !important;
	flex-shrink: 0;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button .elementor-button-icon-qty {
	position: absolute;
	top: -4px;
	right: -6px;
	min-width: 17px;
	height: 17px;
	line-height: 17px;
	font-size: 10px;
	font-weight: 700;
	background: var(--ef-red) !important;
	color: #fff !important;
	border-radius: 999px;
	border: 2px solid var(--ef-cream);
}

/* Social */
.ef-social {
	display: flex;
	align-items: center;
	gap: 4px;
	padding-left: 4px;
	border-left: 1px solid var(--ef-line);
	margin-left: 2px;
}

.ef-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: var(--ef-ink);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.ef-social a svg {
	width: 18px;
	height: 18px;
}

.ef-social a:hover {
	color: #fff;
}

.ef-social a:first-child:hover {
	background: linear-gradient(45deg, #f09433, #dc2743);
}

.ef-social a:last-child:hover {
	background: #229ed9;
}

/* Dropdown */
.elementor-location-header .elementor-nav-menu--dropdown {
	background: var(--ef-white);
	border: 1px solid var(--ef-line);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
	padding: 8px;
}

/* Force readable hover/active ? Elementor often paints active link white */
body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item,
body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
	font-family: var(--ef-font) !important;
	font-weight: 700 !important;
	padding: 12px 16px !important;
	border-radius: 12px !important;
	color: #141414 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	text-shadow: none !important;
	opacity: 1 !important;
	-webkit-text-fill-color: #141414 !important;
}

body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:focus,
body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.highlighted,
body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:focus,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.highlighted {
	color: #292828 !important;
	background: #f8f5f1 !important;
	background-color: #f8f5f1 !important;
	-webkit-text-fill-color: #292828 !important;
	box-shadow: none !important;
}

/* Desktop main pill ? clear hover */
body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--main a.elementor-item:hover,
body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--main a.elementor-item.elementor-item-active:not([data-ef-addresses="1"]):not([data-ef-delivery="1"]):not([data-ef-franchise="1"]) {
	color: #292828 !important;
	-webkit-text-fill-color: #292828 !important;
	background: #fff !important;
}

/* ??? Addresses popup ??? */
.ef-addresses-popup {
	position: fixed;
	inset: 0;
	z-index: 100020;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.ef-addresses-popup.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Lock page scroll while any site popup is open (desktop + mobile).
   Bridge/qode often scrolls via html — body overflow alone is not enough on PC. */
html.ef-popup-scroll-lock,
html.ef-popup-scroll-lock body,
body.ef-popup-scroll-lock,
body.ef-addresses-popup-open,
body.ef-delivery-popup-open,
body.ef-franchise-popup-open {
	overflow: hidden !important;
	overscroll-behavior: none;
}

html.ef-popup-scroll-lock body,
body.ef-popup-scroll-lock {
	position: fixed !important;
	left: 0;
	right: 0;
	width: 100%;
}

.ef-addresses-popup.is-open,
.ef-addresses-popup.is-open .ef-addresses-popup__dialog {
	touch-action: auto;
	overscroll-behavior: contain;
}

.ef-delivery-popup__row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 6px;
	cursor: default;
	pointer-events: none;
	user-select: text;
	border-radius: 0;
	background: transparent !important;
}

.ef-delivery-popup__text {
	font-weight: 700 !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
}

.ef-delivery-popup__note {
	display: block;
	margin-top: 2px;
	font-family: var(--ef-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--ef-muted);
}

.ef-delivery-popup__row:hover,
.ef-delivery-popup .ef-addresses-popup__link:hover,
.ef-delivery-popup__item:hover {
	background: transparent !important;
}

.ef-popup-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--ef-cream);
	color: var(--ef-red);
}

.ef-popup-ico__glyph,
.ef-popup-ico__glyph svg {
	display: block;
	width: 22px;
	height: 22px;
}

.ef-popup-ico__label {
	display: block;
	font-family: var(--ef-font);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	color: var(--ef-red);
	text-transform: uppercase;
}

.ef-popup-ico__label--taxi {
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ef-popup-ico__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1 1 auto;
	gap: 2px;
}

.ef-popup-ico__ext {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	margin-top: 8px;
	color: var(--ef-muted);
	opacity: 0.55;
	transition: opacity 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.ef-popup-ico__ext .ef-popup-ico__glyph,
.ef-popup-ico__ext svg {
	width: 16px;
	height: 16px;
}

.ef-addresses-popup__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.ef-addresses-popup__dialog {
	position: relative;
	width: 100%;
	max-width: 480px;
	background: var(--ef-white);
	border-radius: 18px;
	padding: 28px 22px 16px;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18);
	border: 1px solid var(--ef-line);
}

.ef-addresses-popup__close {
	position: absolute;
	top: 12px;
	right: 14px;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 50%;
	background: var(--ef-cream);
	font-size: 24px;
	cursor: pointer;
}

.ef-addresses-popup__title {
	margin: 0 0 6px;
	font-family: var(--ef-font);
	font-size: 22px;
	font-weight: 700;
	color: var(--ef-ink);
}

.ef-addresses-popup__subtitle {
	margin: 0 0 18px;
	color: var(--ef-muted);
	font-family: var(--ef-font);
	font-size: 16px;
	line-height: 1.4;
}

.ef-addresses-popup__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ef-addresses-popup__item {
	border-bottom: 1px solid #f0f0f0;
}

.ef-addresses-popup__item:last-child {
	border-bottom: 0;
}

.ef-addresses-popup__link {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px 6px;
	text-decoration: none;
	color: inherit;
	border-radius: 12px;
	transition: background 0.15s ease;
}

.ef-addresses-popup__link:hover {
	background: var(--ef-cream);
}

.ef-addresses-popup__link:hover .ef-popup-ico__ext {
	opacity: 1;
	color: var(--ef-red);
	transform: translate(1px, -1px);
}

.ef-addresses-popup__name {
	display: block;
	font-family: var(--ef-font);
	font-weight: 800;
	font-size: 16px;
	line-height: 1.3;
	color: var(--ef-ink);
	margin-bottom: 0;
}

.ef-addresses-popup__address {
	display: block;
	font-size: 13px;
	line-height: 1.4;
	color: var(--ef-muted);
}

/* Franchise popup */
.ef-franchise-popup__dialog {
	max-width: 420px;
	padding: 32px 26px 28px;
	text-align: center;
}

.ef-franchise-popup__icon {
	display: flex;
	justify-content: center;
	margin: 4px 0 16px;
}

.ef-franchise-popup__icon .ef-popup-ico {
	width: 56px;
	height: 56px;
	flex-basis: 56px;
	border-radius: 16px;
}

.ef-franchise-popup__icon .ef-popup-ico__glyph,
.ef-franchise-popup__icon .ef-popup-ico__glyph svg {
	width: 26px;
	height: 26px;
}

.ef-franchise-popup__title {
	text-align: center;
	margin-bottom: 10px !important;
}

.ef-franchise-popup__text {
	text-align: center;
	margin: 0 0 18px !important;
	max-width: 28em;
	margin-left: auto !important;
	margin-right: auto !important;
}

.ef-franchise-popup__phone {
	display: inline-block;
	margin: 0 0 20px;
	font-family: var(--ef-font);
	font-size: clamp(22px, 4vw, 28px);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.2;
	color: var(--ef-ink) !important;
	text-decoration: none !important;
	border-bottom: 2px solid var(--ef-line);
	padding-bottom: 2px;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.ef-franchise-popup__phone:hover {
	color: var(--ef-red) !important;
	border-bottom-color: var(--ef-red);
}

.ef-franchise-popup__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 26px;
	border-radius: 999px;
	background: var(--ef-red) !important;
	color: #fff !important;
	font-family: var(--ef-font);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	box-shadow: var(--ef-btn-shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.15s ease;
}

.ef-franchise-popup__cta:hover {
	color: #fff !important;
	transform: var(--ef-btn-lift);
}

.ef-franchise-popup__cta:active {
	transform: var(--ef-btn-press);
}

.ef-franchise-popup__cta-ico {
	display: inline-flex;
	color: #fff;
}

.ef-franchise-popup__cta-ico .ef-popup-ico__glyph,
.ef-franchise-popup__cta-ico .ef-popup-ico__glyph svg {
	display: block;
	width: 18px;
	height: 18px;
}

/* ??? Home hero (all viewports; replaces RevSlider) ??? */
.elementor-widget-slider_revolution,
.elementor-element:has(> .elementor-widget-slider_revolution),
.elementor-element:has(.elementor-widget-slider_revolution) {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.ef-home-hero-shell {
	padding: 16px var(--ef-pad) 0;
	box-sizing: border-box;
}

.ef-home-hero,
.ef-mobile-hero {
	display: block;
	position: relative;
	width: 100%;
	max-width: var(--ef-max);
	/* Banner art is 1920×800; keep that ratio, but never shorter than text needs */
	aspect-ratio: 12 / 5;
	min-height: 300px;
	margin: 0 auto;
	overflow: hidden;
	background: #1a1410;
	border-radius: 20px;
}

.ef-home-hero picture,
.ef-mobile-hero picture {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.ef-home-hero__image,
.ef-mobile-hero__image {
	/* Bridge sets img { height: auto } — force cover fill or a dark gap appears */
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center;
}

.ef-home-hero__overlay,
.ef-mobile-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(20, 20, 20, 0.78) 0%, rgba(20, 20, 20, 0.45) 42%, rgba(20, 20, 20, 0.18) 100%),
		linear-gradient(180deg, rgba(20, 20, 20, 0.12) 0%, rgba(20, 20, 20, 0.08) 55%, rgba(20, 20, 20, 0.35) 100%);
}

.ef-home-hero__content,
.ef-mobile-hero__content {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	min-height: 0;
	max-width: none;
	width: auto;
	height: auto;
	margin: 0;
	padding: clamp(32px, 5vw, 64px) clamp(22px, 4vw, 48px);
	box-sizing: border-box;
}

.ef-home-hero__tag,
.ef-mobile-hero__tag {
	margin: 0 0 10px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	font-family: var(--ef-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.ef-home-hero__title,
.ef-mobile-hero__title {
	margin: 0 0 18px;
	max-width: 18ch;
	color: #fff;
	font-family: var(--ef-font);
	font-size: clamp(28px, 4.5vw, 52px);
	font-weight: 700;
	line-height: 1.08;
	text-transform: none;
}

.ef-home-hero__cta,
.ef-mobile-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 12px;
	background: var(--ef-red);
	color: #fff !important;
	font-family: var(--ef-font);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid transparent;
	box-sizing: border-box;
}

.ef-home-hero__actions,
.ef-mobile-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.ef-home-hero__cta--sales,
.ef-mobile-hero__cta.ef-home-hero__cta--sales {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.72);
	color: #fff !important;
	backdrop-filter: blur(6px);
}

.ef-home-hero__cta:hover,
.ef-mobile-hero__cta:hover {
	background: var(--ef-red);
	color: #fff !important;
}

.ef-home-hero__cta--sales:hover,
.ef-mobile-hero__cta.ef-home-hero__cta--sales:hover {
	background: rgba(255, 255, 255, 0.24);
	border-color: #fff;
	color: #fff !important;
}

/* ??? Category grid ??? */
.ef-category-section {
	padding: 48px var(--ef-pad) 56px;
}

.ef-category-section__inner {
	max-width: var(--ef-max);
	margin: 0 auto;
}

.ef-category-section__title {
	margin: 0 0 32px;
	font-family: var(--ef-font);
	font-size: 32px;
	font-weight: 700;
	text-align: center;
}

.ef-category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.ef-category-card {
	display: block;
	position: relative;
	text-decoration: none;
	color: #fff;
	transition: transform 0.2s ease;
}

.ef-category-card:hover {
	transform: translateY(-3px);
}

.ef-category-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1;
	border-radius: 16px;
	overflow: hidden;
	background: #1a1410;
}

.ef-category-card__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.ef-category-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.ef-category-card:hover .ef-category-card__image {
	transform: scale(1.04);
}

.ef-category-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.72) 100%);
	pointer-events: none;
}

.ef-category-card__title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	padding: 14px 12px;
	font-family: var(--ef-font);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	color: #fff;
	line-height: 1.25;
}

/* Shop page — category carousel (aligned to product grid) */
.ef-shop-cats {
	--ef-shop-cats-gap: 12px;
	--ef-shop-cats-n: 7;
	width: 100%;
	max-width: none;
	margin: 0 0 28px;
	padding: 0;
	box-sizing: border-box;
}

.ef-shop-cats__viewport {
	position: relative;
}

.ef-shop-cats__track {
	display: flex;
	gap: var(--ef-shop-cats-gap);
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 2px 0 14px;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scrollbar-width: thin;
	scrollbar-color: var(--ef-ink) var(--ef-line);
}

.ef-shop-cats__track::-webkit-scrollbar {
	height: 5px;
}

.ef-shop-cats__track::-webkit-scrollbar-track {
	background: var(--ef-line);
	border-radius: 999px;
}

.ef-shop-cats__track::-webkit-scrollbar-thumb {
	background: var(--ef-ink);
	border-radius: 999px;
}

.ef-shop-cats__track::-webkit-scrollbar-thumb:hover {
	background: #000;
}

.ef-shop-cats__item {
	flex: 0 0 calc((100% - (var(--ef-shop-cats-n) - 1) * var(--ef-shop-cats-gap)) / var(--ef-shop-cats-n));
	width: calc((100% - (var(--ef-shop-cats-n) - 1) * var(--ef-shop-cats-gap)) / var(--ef-shop-cats-n));
	min-width: 0;
	scroll-snap-align: start;
}

.ef-shop-cats__item.is-active .ef-category-card__media {
	outline: 2px solid var(--ef-ink);
	outline-offset: 2px;
}

.ef-shop-cats__item .ef-category-card__title {
	font-size: clamp(11px, 0.85vw, 13px);
	padding: 10px 6px;
}

.ef-shop-cats__nav {
	display: none;
}

/* Place carousel under catalog heading */
.ef-catalog-heading + .ef-shop-cats {
	margin-top: -8px;
}

/* ??? About block (homepage) ??? */
.ef-about {
	scroll-margin-top: calc(var(--ef-offset, var(--ef-bar)) + var(--ef-admin, 0px) + 12px);
	padding: 24px var(--ef-pad) 72px;
	background:
		linear-gradient(180deg, transparent 0%, rgba(248, 245, 241, 0.65) 28%, rgba(248, 245, 241, 0.65) 100%);
}

.ef-about__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
	max-width: var(--ef-max);
	margin: 0 auto;
}

.ef-about__media {
	position: relative;
	min-height: 320px;
	border-radius: 20px;
	overflow: hidden;
	background: #1a1410;
	aspect-ratio: 4 / 3;
}

.ef-about__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.ef-about__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.45s ease;
}

.ef-about:hover .ef-about__image {
	transform: scale(1.03);
}

.ef-about__content {
	padding: 8px 0 8px 8px;
}

.ef-about__eyebrow {
	margin: 0 0 10px;
	font-family: var(--ef-font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ef-red);
}

.ef-about__title {
	margin: 0 0 14px;
	max-width: 16ch;
	font-family: var(--ef-font);
	font-size: clamp(26px, 3.4vw, 40px);
	font-weight: 800;
	line-height: 1.12;
	color: var(--ef-ink);
}

.ef-about__text {
	margin: 0 0 18px;
	max-width: 38em;
	font-family: var(--ef-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.55;
	color: var(--ef-muted);
}

.ef-about__points {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.ef-about__points li {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 12px;
	border: 1px solid var(--ef-line);
	border-radius: 999px;
	background: #fff;
	font-family: var(--ef-font);
	font-size: 13px;
	font-weight: 700;
	color: var(--ef-ink);
}

.ef-about__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.ef-about__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 12px;
	background: var(--ef-red);
	color: #fff !important;
	font-family: var(--ef-font);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}

.ef-about__cta:hover {
	background: var(--ef-red);
	color: #fff !important;
}

.ef-about__cta:active {
	/* mobile press handled by shared motion rules */
}

.ef-about__link {
	font-family: var(--ef-font);
	font-size: 14px;
	font-weight: 700;
	color: var(--ef-ink) !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(20, 20, 20, 0.25);
	padding-bottom: 2px;
}

.ef-about__link:hover {
	color: var(--ef-red) !important;
	border-bottom-color: var(--ef-red);
}

@media (max-width: 900px) {
	.ef-about__inner {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ef-about__media {
		min-height: 0;
		aspect-ratio: 16 / 10;
		border-radius: 16px;
	}

	.ef-about__content {
		padding: 0;
	}

	.ef-about__title {
		max-width: none;
	}
}

.ef-search-suggestions {
	position: fixed;
	min-width: 280px;
	max-height: min(360px, 55vh);
	overflow-x: hidden;
	overflow-y: auto;
	padding: 6px;
	background: #fff;
	border: 1px solid var(--ef-line);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(20, 20, 20, 0.12);
	z-index: 100010;
	font-family: var(--ef-font);
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: var(--ef-ink) var(--ef-line);
}

.ef-search-suggestions::-webkit-scrollbar {
	width: 5px;
}

.ef-search-suggestions::-webkit-scrollbar-track {
	background: var(--ef-line);
	border-radius: 999px;
}

.ef-search-suggestions::-webkit-scrollbar-thumb {
	background: var(--ef-ink);
	border-radius: 999px;
}

.ef-search-suggestions[hidden] {
	display: none !important;
}

.ef-search-suggestions__loading,
.ef-search-suggestions__empty {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--ef-cream);
	color: var(--ef-muted);
	font-family: var(--ef-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
}

.ef-search-suggestions__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 12px;
	text-decoration: none !important;
	color: var(--ef-ink) !important;
	border: 0;
	border-bottom: 0;
	transition: background 0.15s ease;
}

.ef-search-suggestions__item:hover,
.ef-search-suggestions__item:focus {
	background: var(--ef-cream);
	outline: none;
}

.ef-search-suggestions__thumb {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	overflow: hidden;
	flex-shrink: 0;
	background: var(--ef-cream);
	border: 1px solid var(--ef-line);
}

.ef-search-suggestions__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ef-search-suggestions__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.ef-search-suggestions__title {
	font-family: var(--ef-font);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ef-ink);
}

.ef-search-suggestions__price {
	font-family: var(--ef-font);
	font-size: 13px;
	color: var(--ef-red);
	font-weight: 700;
}

@media (max-width: 767px) {
	.ef-search-suggestions {
		left: 14px !important;
		right: 14px !important;
		width: auto !important;
		min-width: 0 !important;
		max-height: min(50vh, 340px);
		border-radius: 16px;
		padding: 8px;
		z-index: 100020;
	}
}

/* ??? Responsive ??? */
@media (max-width: 1100px) {
	.elementor-location-header > .elementor-element > .e-con-inner {
		column-gap: 24px !important;
	}

	.elementor-location-header .elementor-nav-menu--main .elementor-item {
		padding: 10px 16px !important;
		font-size: 14px;
	}

	.elementor-location-header .elementor-widget-search-form .elementor-search-form__container {
		width: 180px;
		max-width: 180px;
	}
}

@media (max-width: 900px) {
	.ef-category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	:root {
		--ef-bar: 60px;
		--ef-logo: 40px;
		--ef-pad: 16px;
	}

	.elementor-location-header .e-con-boxed > .e-con-inner {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	/* Toolbar: logo | search | cart | menu */
	.elementor-location-header > .elementor-element > .e-con-inner {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		min-height: var(--ef-bar) !important;
		padding-bottom: 0 !important;
	}

	.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(1) {
		flex: 1 1 auto;
		order: 1;
		min-width: 0;
	}

	.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(3) {
		flex: 0 0 auto;
		order: 2;
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 0 !important;
		margin-left: auto;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
	}

	.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(3) > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 0 !important;
	}

	.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(2) {
		flex: 0 0 auto;
		order: 3;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
	}

	.elementor-location-header > .elementor-element > .e-con-inner > .e-con:nth-child(2) > .e-con-inner {
		display: flex !important;
	}

	.ef-logo {
		max-width: min(58vw, 180px);
	}

	.ef-logo img {
		height: var(--ef-logo) !important;
		width: auto !important;
		max-width: 100%;
	}

	.ef-social {
		display: none !important;
	}

	.elementor-location-header .elementor-nav-menu--main {
		display: none !important;
	}

	.elementor-location-header .elementor-widget-nav-menu {
		flex-shrink: 0;
	}

	.elementor-location-header .elementor-widget-search-form,
	.elementor-location-header .elementor-widget-woocommerce-menu-cart,
	.elementor-location-header .elementor-widget-nav-menu {
		display: flex !important;
		align-items: center !important;
		margin: 0 !important;
	}

	.elementor-location-header .elementor-widget-search-form .elementor-widget-container,
	.elementor-location-header .elementor-widget-woocommerce-menu-cart .elementor-widget-container,
	.elementor-location-header .elementor-widget-nav-menu .elementor-widget-container {
		padding: 0 !important;
		margin: 0 !important;
	}

	/* Search icon in toolbar */
	.elementor-location-header:not(.ef-search-open) .elementor-widget-search-form {
		width: 44px !important;
		height: 44px !important;
		flex-shrink: 0;
	}

	.elementor-location-header:not(.ef-search-open) .elementor-widget-search-form .elementor-search-form__container {
		width: 44px !important;
		height: 44px !important;
		min-height: 44px !important;
		max-width: 44px !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		border-radius: 10px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		cursor: pointer;
	}

	.elementor-location-header:not(.ef-search-open) .elementor-widget-search-form .elementor-search-form__input,
	.elementor-location-header:not(.ef-search-open) .ef-search-close {
		display: none !important;
	}

	.elementor-location-header:not(.ef-search-open) .elementor-search-form__submit {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		border: 0 !important;
		color: #141414 !important;
		pointer-events: none;
	}

	/* Search overlay panel */
	.ef-search-backdrop {
		position: fixed;
		inset: 0;
		z-index: 10000;
		background: rgba(20, 20, 20, 0.42);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease;
		/* no blur ? breaks focus/tap on inputs in some mobile browsers */
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	body.ef-search-active .ef-search-backdrop {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	/* Keep header + open search above the dim overlay */
	body.ef-search-active .elementor-location-header {
		z-index: 10002 !important;
	}

	.elementor-location-header.ef-search-open .elementor-widget-search-form {
		position: fixed !important;
		top: var(--ef-search-top, 60px) !important;
		left: 0 !important;
		right: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: auto !important;
		min-height: 0 !important;
		z-index: 10003 !important;
		margin: 0 !important;
		padding: 12px 14px !important;
		box-sizing: border-box !important;
		background: #fff !important;
		border-bottom: 1px solid var(--ef-line) !important;
		box-shadow: 0 10px 28px rgba(20, 20, 20, 0.1) !important;
		/* opacity-only ? transform animations break mobile input focus */
		animation: ef-search-fade 0.2s ease both;
		pointer-events: auto !important;
		overflow: visible !important;
	}

	@keyframes ef-search-fade {
		from {
			opacity: 0;
		}

		to {
			opacity: 1;
		}
	}

	.elementor-location-header.ef-search-open .elementor-widget-search-form search,
	.elementor-location-header.ef-search-open .elementor-widget-search-form form,
	.elementor-location-header.ef-search-open .elementor-widget-search-form .elementor-widget-container {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		overflow: visible !important;
		pointer-events: auto !important;
	}

	.elementor-location-header.ef-search-open .elementor-widget-search-form .elementor-search-form__container {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 48px !important;
		min-height: 48px !important;
		border: 1px solid var(--ef-line) !important;
		background: var(--ef-cream) !important;
		border-radius: 999px !important;
		padding: 0 6px 0 6px !important;
		gap: 4px;
		box-shadow: none !important;
		overflow: visible !important;
		pointer-events: auto !important;
	}

	.elementor-location-header.ef-search-open .elementor-widget-search-form .elementor-search-form__input {
		display: block !important;
		visibility: visible !important;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		flex: 1 1 auto !important;
		width: 100% !important;
		min-width: 8rem !important;
		max-width: none !important;
		height: 46px !important;
		min-height: 46px !important;
		margin: 0 !important;
		padding: 0 8px !important;
		opacity: 1 !important;
		clip: auto !important;
		clip-path: none !important;
		overflow: visible !important;
		font-family: var(--ef-font) !important;
		font-size: 16px !important;
		font-weight: 500 !important;
		line-height: 46px !important;
		color: var(--ef-ink) !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		outline: none !important;
		pointer-events: auto !important;
		-webkit-appearance: none !important;
		appearance: none !important;
		transform: none !important;
		z-index: 2 !important;
	}

	.elementor-location-header.ef-search-open .elementor-widget-search-form .elementor-search-form__input::placeholder {
		color: var(--ef-muted) !important;
		opacity: 1 !important;
	}

	.elementor-location-header.ef-search-open .elementor-search-form__submit {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 40px !important;
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		border: 0 !important;
		color: #141414 !important;
		pointer-events: auto !important;
		position: relative !important;
		z-index: 1 !important;
	}

	.elementor-location-header.ef-search-open .ef-search-close {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex: 0 0 36px !important;
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		margin: 0 !important;
		padding: 0;
		border: 0;
		border-radius: 999px;
		background: rgba(20, 20, 20, 0.06);
		color: var(--ef-ink);
		cursor: pointer;
		pointer-events: auto !important;
		position: relative !important;
		z-index: 3 !important;
	}

	.ef-search-close {
		display: none;
	}

	.ef-search-close::before {
		content: "";
		display: block;
		width: 16px;
		height: 16px;
		background: currentColor;
		-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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' x2='6' y1='6' y2='18'/%3E%3Cline x1='6' x2='18' y1='6' y2='18'/%3E%3C/svg%3E") center / 16px 16px 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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' x2='6' y1='6' y2='18'/%3E%3Cline x1='6' x2='18' y1='6' y2='18'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
	}

	.ef-search-close:hover {
		background: rgba(20, 20, 20, 0.1);
		color: var(--ef-ink);
	}

	/* Black icons */
	.elementor-location-header .elementor-menu-toggle,
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button,
	.elementor-location-header .elementor-search-form__submit {
		color: #141414 !important;
	}

	.elementor-location-header .elementor-menu-toggle::before,
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button .elementor-button-icon::before,
	.elementor-location-header .elementor-search-form__submit::after {
		background: #141414 !important;
	}

	/* Unified icon buttons */
	.elementor-location-header .elementor-menu-toggle,
	.elementor-location-header:not(.ef-search-open) .elementor-widget-search-form .elementor-search-form__container,
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		max-width: 44px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 10px !important;
		background: transparent !important;
		box-shadow: none !important;
		flex-shrink: 0;
	}

	.elementor-location-header .elementor-menu-toggle:hover,
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button:hover,
	.elementor-location-header:not(.ef-search-open) .elementor-widget-search-form .elementor-search-form__container:hover {
		background: var(--ef-cream) !important;
		color: #141414 !important;
	}

	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button .elementor-button-text {
		display: none !important;
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
	}

	/* Cart badge */
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button .elementor-button-icon-qty {
		top: 4px;
		right: 4px;
		border-color: var(--ef-white);
	}

	.elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter="0"] {
		display: none !important;
	}

	/* Mobile burger panel ? scrollable; do NOT target nested .sub-menu */
	.elementor-location-header .ef-burger-panel,
	.elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown,
	.elementor-location-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown:not(.sub-menu) {
		position: fixed !important;
		top: calc(var(--ef-offset, var(--ef-bar)) + var(--ef-admin, 0px)) !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100vw !important;
		max-height: calc(100dvh - var(--ef-offset, var(--ef-bar)) - var(--ef-admin, 0px) - 8px) !important;
		height: auto !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-y;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 0 16px 16px !important;
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1) !important;
		padding: 10px 12px 14px !important;
		background: #fff !important;
		z-index: 9998;
	}

	body.ef-mobile-nav-open,
	body.ef-mini-cart-open {
		overflow: hidden !important;
	}

	/* Nested catalog list stays in normal flow inside the scrollable panel */
	.elementor-location-header .elementor-nav-menu--dropdown ul.sub-menu,
	.elementor-location-header ul.sub-menu.elementor-nav-menu--dropdown {
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		max-width: none !important;
		max-height: none !important;
		height: auto !important;
		overflow: visible !important;
		box-shadow: none !important;
		border-radius: 0 !important;
		background: transparent !important;
		padding: 0 0 0 10px !important;
		margin: 0 0 6px !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .elementor-nav-menu {
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item,
	body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item {
		display: block !important;
		font-family: var(--ef-font) !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
		padding: 14px 16px !important;
		margin: 0 0 4px !important;
		border-radius: 12px !important;
		color: #141414 !important;
		background: transparent !important;
		background-color: transparent !important;
		box-shadow: none !important;
		-webkit-text-fill-color: #141414 !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
	.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:focus,
	.elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
	.elementor-location-header .elementor-nav-menu--dropdown .elementor-item.highlighted,
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:focus,
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.highlighted,
	body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
	body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
	body.easyfood-elementor-header .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.highlighted {
		color: #292828 !important;
		background: #f8f5f1 !important;
		background-color: #f8f5f1 !important;
		-webkit-text-fill-color: #292828 !important;
		box-shadow: none !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown a[data-ef-addresses="1"],
	.elementor-location-header .elementor-nav-menu--dropdown a[data-ef-addresses="1"].elementor-item-active,
	.elementor-location-header .elementor-nav-menu--dropdown a[data-ef-delivery="1"],
	.elementor-location-header .elementor-nav-menu--dropdown a[data-ef-delivery="1"].elementor-item-active,
	.elementor-location-header .elementor-nav-menu--dropdown a[data-ef-franchise="1"],
	.elementor-location-header .elementor-nav-menu--dropdown a[data-ef-franchise="1"].elementor-item-active {
		color: #141414 !important;
		-webkit-text-fill-color: #141414 !important;
		background: transparent !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown a[data-ef-addresses="1"]:hover,
	.elementor-location-header .elementor-nav-menu--dropdown a[data-ef-delivery="1"]:hover,
	.elementor-location-header .elementor-nav-menu--dropdown a[data-ef-franchise="1"]:hover {
		color: #292828 !important;
		-webkit-text-fill-color: #292828 !important;
		background: #f8f5f1 !important;
	}

	/* Nested catalog: closed by default, open on click (.ef-catalog-open) */
	.elementor-location-header .elementor-nav-menu--dropdown .sub-menu,
	.elementor-location-header .elementor-nav-menu--dropdown .ef-has-catalog-dropdown > .sub-menu {
		display: none !important;
		position: static !important;
		width: 100% !important;
		margin: 0 0 6px !important;
		padding: 0 0 0 10px !important;
		border: 0 !important;
		border-left: 2px solid var(--ef-line) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
		max-height: none !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .ef-has-catalog-dropdown.ef-catalog-open > .sub-menu,
	.elementor-location-header .elementor-nav-menu--dropdown .menu-item-has-children.ef-catalog-open > .sub-menu {
		display: block !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .sub-menu .elementor-item,
	.elementor-location-header .elementor-nav-menu--dropdown .sub-menu a {
		font-size: 15px !important;
		font-weight: 600 !important;
		padding: 10px 14px !important;
		color: #141414 !important;
		-webkit-text-fill-color: #141414 !important;
		background: transparent !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .sub-menu .elementor-item:hover,
	.elementor-location-header .elementor-nav-menu--dropdown .sub-menu a:hover {
		color: #292828 !important;
		-webkit-text-fill-color: #292828 !important;
		background: #f8f5f1 !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .ef-has-catalog-dropdown > .elementor-item,
	.elementor-location-header .elementor-nav-menu--dropdown .menu-item-has-children > .elementor-item {
		margin-bottom: 2px !important;
		position: relative !important;
		padding-right: 40px !important;
		overflow: visible !important;
	}

	/* Always-visible chevron (not only after click / .highlighted) */
	.elementor-location-header .elementor-nav-menu--dropdown .ef-has-catalog-dropdown > .elementor-item::after,
	.elementor-location-header .elementor-nav-menu--dropdown .menu-item-has-children > .elementor-item::after,
	.elementor-location-header .elementor-nav-menu--dropdown .ef-has-catalog-dropdown > a.elementor-item::after,
	.elementor-location-header .elementor-nav-menu--dropdown .menu-item-has-children > a.elementor-item::after {
		content: '' !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: absolute !important;
		right: 14px !important;
		top: 50% !important;
		left: auto !important;
		width: 8px !important;
		height: 8px !important;
		margin: -6px 0 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-right: 2px solid #141414 !important;
		border-bottom: 2px solid #141414 !important;
		background: none !important;
		box-shadow: none !important;
		transform: rotate(45deg) !important;
		transition: transform 0.15s ease, border-color 0.15s ease;
		pointer-events: none !important;
		z-index: 2;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .ef-has-catalog-dropdown.ef-catalog-open > .elementor-item::after,
	.elementor-location-header .elementor-nav-menu--dropdown .menu-item-has-children.ef-catalog-open > .elementor-item::after,
	.elementor-location-header .elementor-nav-menu--dropdown .ef-has-catalog-dropdown.highlighted > .elementor-item::after,
	.elementor-location-header .elementor-nav-menu--dropdown .menu-item-has-children.highlighted > .elementor-item::after {
		margin-top: -2px !important;
		transform: rotate(225deg) !important;
		border-right-color: #292828 !important;
		border-bottom-color: #292828 !important;
	}

	/* Mini-cart panel — compact dropdown under cart icon */
	:is(.elementor-location-header .elementor-menu-cart__container, .elementor-menu-cart__container.ef-mini-cart-portal) {
		position: absolute !important;
		top: calc(100% + 8px) !important;
		left: auto !important;
		right: 0 !important;
		width: min(320px, calc(100vw - 24px)) !important;
		max-width: calc(100vw - 24px) !important;
		margin: 0 !important;
		z-index: 10030;
	}

	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__main {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		border-radius: 18px;
		box-shadow: 0 18px 48px rgba(20, 20, 20, 0.12);
		padding: 0;
	}

	.ef-home-hero-shell {
		padding: 12px 14px 0;
	}

	.ef-home-hero,
	.ef-mobile-hero {
		border-radius: 16px;
		min-height: 280px;
	}

	.ef-home-hero__content,
	.ef-mobile-hero__content {
		padding: 28px 18px 26px;
	}

	.ef-home-hero__image,
	.ef-mobile-hero__image {
		object-position: center center;
	}

	.ef-home-hero__title,
	.ef-mobile-hero__title {
		max-width: 12ch;
		font-size: clamp(26px, 8vw, 32px);
	}

	.ef-home-hero__cta,
	.ef-mobile-hero__cta {
		min-height: 46px;
		padding: 0 20px;
	}

	/* Category grid */
	.ef-category-section {
		padding: 28px 14px 44px;
	}

	.ef-category-section__inner {
		padding: 0;
		width: 100%;
	}

	.ef-category-section__title {
		font-size: 18px;
		margin-bottom: 14px;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	.ef-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		width: 100%;
	}

	.ef-about {
		padding: 8px 14px 48px;
	}

	.ef-about__eyebrow {
		font-size: 12px;
	}

	.ef-about__title {
		font-size: 24px;
		margin-bottom: 10px;
	}

	.ef-about__text {
		font-size: 15px;
		margin-bottom: 14px;
	}

	.ef-about__points {
		gap: 6px;
		margin-bottom: 16px;
	}

	.ef-about__points li {
		min-height: 30px;
		font-size: 12px;
		padding: 0 10px;
	}

	.ef-about__cta {
		min-height: 46px;
		width: 100%;
	}

	.ef-about__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.ef-about__link {
		text-align: center;
	}

	.ef-category-card {
		min-width: 0;
	}

	.ef-category-card__media {
		border-radius: 14px;
	}

	.ef-category-card__title {
		font-size: 13px;
		padding: 12px 10px;
	}

	.ef-shop-cats {
		--ef-shop-cats-gap: 8px;
		--ef-shop-cats-n: 2;
		margin: 0 0 16px;
		padding: 0;
	}

	.ef-shop-cats__viewport {
		padding: 0;
	}

	.ef-shop-cats__track {
		gap: var(--ef-shop-cats-gap);
		padding: 2px 0 4px;
		scrollbar-width: none;
	}

	.ef-shop-cats__track::-webkit-scrollbar {
		display: none;
	}

	.ef-shop-cats__item {
		flex: 0 0 calc((100% - (var(--ef-shop-cats-n) - 1) * var(--ef-shop-cats-gap)) / var(--ef-shop-cats-n));
		width: calc((100% - (var(--ef-shop-cats-n) - 1) * var(--ef-shop-cats-gap)) / var(--ef-shop-cats-n));
		max-width: none;
	}

	.ef-shop-cats__item .ef-category-card__media {
		border-radius: 14px;
	}

	.ef-shop-cats__item .ef-category-card__title {
		font-size: 12px;
		padding: 10px 8px;
	}

	.ef-shop-cats__nav {
		display: none;
		position: absolute;
		top: 50%;
		z-index: 3;
		width: 36px;
		height: 36px;
		margin: 0;
		padding: 0;
		border: 1px solid var(--ef-line);
		border-radius: 50%;
		background: #fff;
		color: var(--ef-ink);
		box-shadow: 0 4px 14px rgba(20, 20, 20, 0.1);
		transform: translateY(-58%);
		align-items: center;
		justify-content: center;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.ef-shop-cats.is-scrollable .ef-shop-cats__nav {
		display: inline-flex;
	}

	.ef-shop-cats__nav:disabled {
		opacity: 0.35;
		cursor: default;
		pointer-events: none;
	}

	.ef-shop-cats__nav--prev {
		left: 4px;
	}

	.ef-shop-cats__nav--next {
		right: 4px;
	}

	.ef-shop-cats__nav:active {
		transform: translateY(-58%) scale(0.96);
	}
}

/* ??? Product card ??? */
.ef-product-composition {
	margin-top: 12px;
}

.ef-product-composition__title {
	margin: 0 0 8px;
	font-family: var(--ef-font, "Onest", sans-serif);
	font-size: 16px;
	font-weight: 700;
	color: var(--ef-ink, #141414);
}

.ef-product-composition__text,
.ef-product-composition__text p {
	margin: 0;
	font-family: var(--ef-font, "Onest", sans-serif);
	font-size: 14px;
	line-height: 1.6;
	color: var(--ef-ink, #141414);
}

.ef-product-nutrition,
.ef-product-cooking {
	font-family: var(--ef-font, "Onest", sans-serif);
	font-size: 14px;
	line-height: 1.65;
	color: var(--ef-ink, #141414);
}

.ef-kbzhv-table {
	width: 100%;
	max-width: 420px;
	border-collapse: collapse;
	margin: 0;
	font-size: 14px;
	color: var(--ef-ink, #141414);
}

.ef-kbzhv-table th,
.ef-kbzhv-table td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--ef-line, #e6e2dd);
	text-align: left;
	color: var(--ef-ink, #141414);
}

.ef-kbzhv-table th {
	font-weight: 700;
	color: var(--ef-ink, #141414);
	background: var(--ef-cream, #f8f5f1);
}

.ef-kbzhv-table tr:last-child th,
.ef-kbzhv-table tr:last-child td {
	border-bottom: 0;
}

.ef-product-cooking p {
	margin: 0 0 10px;
}

.ef-product-cooking p:last-child {
	margin-bottom: 0;
}

/* Product page ? hide Bridge title/breadcrumb banner */
body.single-product .title_outer {
	display: none !important;
}

/* Product page ? black text, no grey Bridge defaults */
body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .panel p,
body.single-product .woocommerce-tabs .panel li,
body.single-product #tab-description,
body.single-product #tab-additional_information,
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description p,
body.single-product .summary .product_title,
body.single-product .woocommerce-tabs ul.tabs li a {
	color: #141414 !important;
	font-style: normal !important;
}

body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .panel p,
body.single-product .ef-product-composition__text,
body.single-product .ef-product-cooking,
body.single-product .ef-product-cooking p,
body.single-product .ef-product-nutrition {
	font-family: var(--ef-font, "Onest", sans-serif) !important;
}

/* Bridge tabs-on-bottom adds huge top padding (50px) before КБЖВ / cooking tabs */
body.single-product.qode-product-single-tabs-on-bottom .q_tabs,
body.woocommerce.single-product.qode-product-single-tabs-on-bottom .q_tabs {
	padding: 20px 0 28px !important;
}

body.single-product.qode-product-single-tabs-on-bottom .q_tabs #tab-description,
body.woocommerce.single-product.qode-product-single-tabs-on-bottom .q_tabs #tab-description {
	text-align: left !important;
}

/* Product tabs — same button style on desktop + mobile */
body.single-product .q_tabs .tabs-nav {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 10px !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	text-align: left !important;
}

body.single-product .q_tabs .tabs-nav li {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product .q_tabs .tabs-nav li a {
	display: block !important;
	box-sizing: border-box !important;
	padding: 12px 22px !important;
	text-align: center !important;
	font-family: var(--ef-font, "Onest", sans-serif) !important;
	font-size: 15px !important;
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #141414 !important;
	border: 1px solid var(--ef-line, #e6e2dd) !important;
	border-radius: 12px !important;
	background: #fff !important;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

body.single-product .q_tabs .tabs-nav li a:hover {
	border-color: #141414 !important;
	color: #141414 !important;
}

body.single-product .q_tabs .tabs-nav li.active a,
body.single-product .q_tabs .tabs-nav li.active a:hover {
	border-color: #141414 !important;
	background: #141414 !important;
	color: #fff !important;
}

body.single-product .q_tabs .tabs-container {
	padding-top: 4px !important;
	text-align: left !important;
}

/* Desktop product photo — Bridge leaves 114px for thumbs, so image sits too far right */
@media (min-width: 769px) {
	body.single-product .container_inner.default_template_holder,
	body.single-product .container_inner.default_template_holder[style],
	body.single-product .content,
	body.single-product .content .container,
	body.single-product .container_inner {
		padding-top: 8px !important;
		margin-top: 0 !important;
	}

	body.single-product div.product,
	body.single-product div.product .images,
	body.single-product .woocommerce-product-gallery {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	body.single-product.qode-product-single-tabs-on-bottom .product .images:not(.qode-add-gallery-and-zoom-support) .woocommerce-product-gallery__image:first-child,
	body.single-product.qode-product-single-tabs-on-bottom .product .images:not(.qode-add-gallery-and-zoom-support).woocommerce-product-gallery--with-images .woocommerce-product-gallery__image:first-child,
	body.single-product .woocommerce-product-gallery__image:first-child,
	body.single-product .woocommerce-product-gallery__image {
		padding: 0 !important;
		margin: 0 auto !important;
		float: none !important;
		position: relative !important;
		left: auto !important;
		right: auto !important;
	}

	body.single-product.qode-product-single-tabs-on-bottom .product:not(.qode-product-with-gallery) .images.qode-add-gallery-and-zoom-support,
	body.single-product.qode-product-single-tabs-on-bottom .product .images.qode-add-gallery-and-zoom-support .flex-viewport {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}

	body.single-product .woocommerce-product-gallery,
	body.single-product div.product .images {
		text-align: center !important;
	}

	body.single-product .woocommerce-product-gallery__wrapper {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		margin: 0 auto !important;
	}

	body.single-product .woocommerce-product-gallery__image a,
	body.single-product .woocommerce-product-gallery__image img {
		display: block !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 100% !important;
		height: auto !important;
	}

	/* Hide empty/absolute thumb slots that reserve left gutter */
	body.single-product.qode-product-single-tabs-on-bottom .product .images:not(.qode-add-gallery-and-zoom-support).woocommerce-product-gallery--with-images .woocommerce-product-gallery__image:not(:first-child) {
		display: none !important;
	}
}

@media (max-width: 768px) {
	body.single-product.qode-product-single-tabs-on-bottom .q_tabs,
	body.woocommerce.single-product.qode-product-single-tabs-on-bottom .q_tabs {
		padding: 4px 0 16px !important;
		margin-top: 0 !important;
	}

	body.single-product .summary form.cart {
		margin-bottom: 0 !important;
	}

	/* Mobile: stacked buttons, start closed; open + scroll on tap */
	body.single-product .q_tabs.ef-tabs-collapsed .tabs-container {
		display: none !important;
	}

	body.single-product .q_tabs .tabs-nav {
		flex-direction: column !important;
		gap: 6px !important;
		margin-bottom: 0 !important;
	}

	body.single-product .q_tabs .tabs-nav li {
		width: 100% !important;
	}

	body.single-product .q_tabs .tabs-nav li a {
		width: 100% !important;
		padding: 10px 14px !important;
	}

	body.single-product .q_tabs.ef-tabs-open .tabs-container {
		display: block !important;
		padding-top: 10px !important;
	}
}

/* ???????????????????????????????????????
   Mini-cart (Elementor Pro menu-cart)
   ??????????????????????????????????????? */
body.ef-mini-cart-open {
	overflow: hidden !important;
}

.elementor-location-header .elementor-widget-woocommerce-menu-cart,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_wrapper,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle.elementor-button-wrapper {
	position: relative !important;
}

:is(.elementor-location-header .elementor-menu-cart__container, .elementor-menu-cart__container.ef-mini-cart-portal) {
	font-family: var(--ef-font);
	overscroll-behavior: contain;
	/* Anchor to the cart icon; open leftward so it never clips the right edge */
	position: absolute !important;
	top: calc(100% + 8px) !important;
	right: 0 !important;
	left: auto !important;
	inset-inline-end: 0 !important;
	inset-inline-start: auto !important;
	width: min(380px, calc(100vw - 24px)) !important;
	max-width: calc(100vw - 24px) !important;
	margin: 0 !important;
	transform: none !important;
	translate: none !important;
	z-index: 10030 !important;
	box-sizing: border-box !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__main {
	background: var(--ef-white) !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 48px rgba(20, 20, 20, 0.12) !important;
	padding: 0 !important;
	overflow: hidden;
	height: auto !important;
	min-height: 0 !important;
	max-height: min(70vh, 520px);
	display: flex;
	flex-direction: column;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__close-button {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	z-index: 2;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	padding: 0 !important;
	border-radius: 999px !important;
	background: var(--ef-cream) !important;
	border: 1px solid var(--ef-line) !important;
	box-shadow: none !important;
	cursor: pointer;
	font-size: 0 !important;
	line-height: 0 !important;
	color: var(--ef-muted) !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__close-button:hover {
	background: var(--ef-red-soft) !important;
	border-color: rgba(41, 40, 40, 0.25) !important;
	color: var(--ef-red) !important;
}

/* Shrink Elementor?s default X bars */
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__close-button i,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__close-button svg {
	display: none !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__close-button::before,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__close-button::after {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 10px !important;
	height: 1.5px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 1px !important;
	background: currentColor !important;
	transform-origin: center !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__close-button::before {
	transform: translate(-50%, -50%) rotate(45deg) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__close-button::after {
	transform: translate(-50%, -50%) rotate(-45deg) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	min-height: 0;
	flex: 0 1 auto;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__products,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart {
	margin: 0 !important;
	padding: 20px 18px 8px !important;
	list-style: none !important;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	max-height: min(46vh, 360px);
}

.ef-mini-cart-clear {
	margin: 0 !important;
	padding: 4px 18px 12px !important;
	text-align: center;
}

.ef-mini-cart-clear__btn {
	appearance: none;
	border: 0;
	background: none;
	padding: 0;
	margin: 0;
	font-family: var(--ef-font, "Onest", sans-serif) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: #292828 !important;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.ef-mini-cart-clear__btn:hover,
.ef-mini-cart-clear__btn:focus {
	color: #1a1919 !important;
}

.ef-mini-cart-clear__btn.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item {
	display: grid !important;
	grid-template-columns: 64px 1fr auto;
	grid-template-areas:
		"thumb name remove"
		"thumb meta remove"
		"thumb price remove";
	column-gap: 12px;
	row-gap: 4px;
	align-items: start;
	padding: 14px 0 !important;
	border-bottom: 1px solid var(--ef-line) !important;
	background: transparent !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product:last-child,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item:last-child {
	border-bottom: 0 !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-image,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item a:not(.remove) img {
	grid-area: thumb;
	width: 64px !important;
	height: 64px !important;
	border-radius: 12px;
	object-fit: cover;
	background: var(--ef-cream);
	border: 1px solid var(--ef-line);
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-image {
	display: block;
	overflow: hidden;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-name,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item a:not(.remove):not(.elementor-menu-cart__product-image) {
	grid-area: name;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-name a {
	color: inherit !important;
	text-decoration: none !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-name a:hover {
	color: var(--ef-red) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-price,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item .quantity,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-Price-amount {
	font-family: var(--ef-font) !important;
	color: var(--ef-ink) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-price,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item .quantity {
	grid-area: meta;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--ef-muted) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-price .amount,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item .amount {
	color: var(--ef-ink) !important;
	font-weight: 700 !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product .remove,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item .remove {
	grid-area: remove;
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	border: 1px solid var(--ef-line) !important;
	background: var(--ef-cream) !important;
	color: var(--ef-muted) !important;
	font-size: 16px !important;
	line-height: 26px !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product .remove:hover,
:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart-item .remove:hover {
	background: var(--ef-red) !important;
	border-color: var(--ef-red) !important;
	color: #fff !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .woocommerce-mini-cart__empty-message {
	margin: 0;
	padding: 36px 24px 28px;
	text-align: center;
	font-family: var(--ef-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--ef-ink);
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__subtotal {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 !important;
	padding: 16px 18px !important;
	border-top: 1px solid var(--ef-line);
	background: var(--ef-cream);
	font-family: var(--ef-font) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--ef-ink) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__subtotal .amount {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 14px 18px 18px !important;
	background: var(--ef-cream);
	border-top: 0 !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px;
	padding: 12px 14px !important;
	border-radius: 12px !important;
	font-family: var(--ef-font) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	text-align: center;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	background: var(--ef-white) !important;
	color: var(--ef-ink) !important;
	border: 1px solid var(--ef-line) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover {
	border-color: var(--ef-ink) !important;
	background: var(--ef-white) !important;
	color: var(--ef-ink) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button--checkout {
	background: var(--ef-red) !important;
	color: #fff !important;
	border: 1px solid var(--ef-red) !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
	background: var(--ef-red) !important;
	border-color: var(--ef-red) !important;
	color: #fff !important;
}

@media (min-width: 768px) {
	/* Allow dropdown to paint outside tight header flex wrappers */
	.elementor-location-header .elementor-widget-woocommerce-menu-cart,
	.elementor-location-header .elementor-widget-woocommerce-menu-cart .elementor-widget-container,
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_wrapper,
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle.elementor-button-wrapper {
		overflow: visible !important;
	}

	/* Keep dropdown inside viewport on mid/laptop widths */
	:is(.elementor-location-header .elementor-menu-cart__container, .elementor-menu-cart__container.ef-mini-cart-portal) {
		right: 0 !important;
		left: auto !important;
		width: min(380px, calc(100vw - 24px)) !important;
		max-width: calc(100vw - 24px) !important;
		transform: none !important;
	}

	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__main {
		width: 100% !important;
		max-width: 100% !important;
	}
}

@media (min-width: 1025px) {
	:is(.elementor-location-header .elementor-menu-cart__container, .elementor-menu-cart__container.ef-mini-cart-portal) {
		width: min(380px, calc(100vw - 32px)) !important;
		max-width: calc(100vw - 32px) !important;
	}
}

/* Mobile: compact cart window (not full-bleed) + burger above cart hits */
@media (max-width: 767px) {
	.elementor-location-header .elementor-widget-woocommerce-menu-cart:not(.elementor-menu-cart--shown) .elementor-menu-cart__container {
		pointer-events: none !important;
	}

	body.ef-mini-cart-open :is(.elementor-location-header .elementor-menu-cart__container, .elementor-menu-cart__container.ef-mini-cart-portal),
	.elementor-location-header .elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .elementor-menu-cart__container,
	.elementor-menu-cart__container.ef-mini-cart-portal,
	body.ef-mini-cart-open .ef-mini-cart-portal {
		pointer-events: auto !important;
		position: fixed !important;
		width: min(320px, calc(100vw - 24px)) !important;
		max-width: calc(100vw - 24px) !important;
		margin: 0 !important;
		transform: none !important;
		translate: none !important;
		z-index: 100040 !important;
		visibility: visible !important;
		opacity: 1 !important;
		box-sizing: border-box !important;
	}

	.ef-mini-cart-portal .elementor-menu-cart__main,
	body.ef-mini-cart-open .ef-mini-cart-portal .elementor-menu-cart__main {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: min(70vh, 480px) !important;
		margin: 0 !important;
		border-radius: 18px !important;
		border: 1px solid var(--ef-line) !important;
		box-sizing: border-box !important;
		box-shadow: 0 18px 48px rgba(20, 20, 20, 0.12) !important;
		overflow: hidden !important;
	}

	.ef-mini-cart-portal .widget_shopping_cart_content {
		flex: 0 1 auto !important;
		min-height: 0 !important;
	}

	.ef-mini-cart-portal .elementor-menu-cart__footer-buttons {
		grid-template-columns: 1fr 1fr !important;
	}

	.ef-mini-cart-portal .elementor-menu-cart__products,
	.ef-mini-cart-portal .woocommerce-mini-cart {
		max-height: min(40vh, 280px) !important;
	}

	body.ef-mobile-nav-open .elementor-location-header .ef-burger-panel,
	body.ef-mobile-nav-open .elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown,
	body.ef-mobile-nav-open .elementor-location-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown:not(.sub-menu) {
		z-index: 10050 !important;
		pointer-events: auto !important;
	}

	body.ef-mobile-nav-open .elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
	body.ef-mobile-nav-open .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item {
		pointer-events: auto !important;
		position: relative;
		z-index: 1;
	}

	body.ef-mobile-nav-open .elementor-location-header .elementor-widget-woocommerce-menu-cart,
	body.ef-mobile-nav-open :is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_wrapper,
	body.ef-mobile-nav-open :is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle.elementor-button-wrapper,
	body.ef-mobile-nav-open :is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__toggle_button {
		z-index: 1 !important;
		pointer-events: none !important;
	}

	body.ef-mobile-nav-open .ef-mini-cart-portal {
		pointer-events: auto !important;
		z-index: 100040 !important;
	}

	body.ef-mobile-nav-open .elementor-location-header .elementor-menu-toggle {
		position: relative;
		z-index: 10051 !important;
		pointer-events: auto !important;
	}
}

@media (max-width: 1024px) {
	/* Keep dropdown compact — do not stretch to ~full viewport height */
	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__main {
		height: auto !important;
		min-height: 0 !important;
		max-height: min(70vh, 520px) !important;
		border-radius: 18px !important;
		border-left: 1px solid var(--ef-line) !important;
		border-right: 1px solid var(--ef-line) !important;
	}

	:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons {
		grid-template-columns: 1fr 1fr;
	}
}

/* ???????????????????????????????????????
   Cart page
   ??????????????????????????????????????? */
body.woocommerce-cart .title_outer {
	display: none !important;
}

body.woocommerce-cart .content .container,
body.woocommerce-cart .content_inner,
body.woocommerce-cart .woocommerce {
	font-family: var(--ef-font);
	color: var(--ef-ink);
}

body.woocommerce-cart .woocommerce {
	max-width: 1100px;
	margin: 0 auto;
	padding: 28px var(--ef-pad) 64px;
	box-sizing: border-box;
}

/* Empty cart */
body.woocommerce-cart .empty-cart-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 42vh;
	padding: 48px 24px;
	border-radius: 22px;
	background:
		radial-gradient(ellipse 80% 60% at 50% 0%, rgba(41, 40, 40, 0.08), transparent 60%),
		linear-gradient(180deg, #fffefb 0%, var(--ef-cream) 100%);
	border: 1px solid var(--ef-line);
	text-align: center;
}

body.woocommerce-cart .wc-empty-cart-message {
	margin: 0;
	width: 100%;
}

body.woocommerce-cart .cart-empty.woocommerce-info {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: var(--ef-font) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-cart .cart-empty.woocommerce-info::before {
	display: none !important;
}

body.woocommerce-cart .return-to-shop {
	margin: 0 !important;
}

body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart .return-to-shop a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 28px !important;
	border-radius: 14px !important;
	border: 0 !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background 0.2s ease, transform 0.15s ease;
}

body.woocommerce-cart .return-to-shop .button:hover,
body.woocommerce-cart .return-to-shop a.button:hover {
	background: var(--ef-red) !important;
	transform: translateY(-1px);
}

/* Filled cart layout */
body.woocommerce-cart form.woocommerce-cart-form {
	margin: 0 0 28px;
}

body.woocommerce-cart table.shop_table {
	width: 100%;
	border: 1px solid var(--ef-line) !important;
	border-radius: 18px;
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
	background: var(--ef-white);
	box-shadow: 0 10px 32px rgba(20, 20, 20, 0.05);
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td {
	border-color: var(--ef-line) !important;
	border-top: 0 !important;
	padding: 16px 18px !important;
	font-family: var(--ef-font) !important;
	color: var(--ef-ink) !important;
	vertical-align: middle;
}

body.woocommerce-cart table.shop_table thead th {
	background: var(--ef-cream) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ef-muted) !important;
}

body.woocommerce-cart table.shop_table td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	border: 1px solid var(--ef-line);
	background: var(--ef-cream);
	color: var(--ef-muted) !important;
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
	background: var(--ef-red);
	border-color: var(--ef-red);
	color: #fff !important;
}

body.woocommerce-cart table.shop_table td.product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	border-radius: 12px;
	object-fit: cover;
	border: 1px solid var(--ef-line);
	background: var(--ef-cream);
}

body.woocommerce-cart table.shop_table td.product-name a {
	font-weight: 700;
	color: var(--ef-ink) !important;
	text-decoration: none;
}

body.woocommerce-cart table.shop_table td.product-name a:hover {
	color: var(--ef-red) !important;
}

body.woocommerce-cart table.shop_table .quantity .qty {
	width: 64px;
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid var(--ef-line);
	border-radius: 10px;
	background: var(--ef-white);
	font-family: var(--ef-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--ef-ink);
	text-align: center;
}

body.woocommerce-cart table.shop_table td.product-subtotal,
body.woocommerce-cart table.shop_table td.product-price {
	font-weight: 700;
	white-space: nowrap;
}

body.woocommerce-cart table.shop_table td.actions {
	background: #fffefb;
}

body.woocommerce-cart .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

body.woocommerce-cart .coupon .input-text {
	min-height: 44px;
	padding: 10px 14px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 12px !important;
	background: var(--ef-white) !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	color: var(--ef-ink) !important;
	box-shadow: none !important;
}

body.woocommerce-cart .coupon .button,
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart a.checkout-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 20px !important;
	border-radius: 12px !important;
	border: 1px solid transparent !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

body.woocommerce-cart .coupon .button,
body.woocommerce-cart button[name="update_cart"] {
	background: var(--ef-white) !important;
	border-color: var(--ef-line) !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-cart .coupon .button:hover,
body.woocommerce-cart button[name="update_cart"]:hover {
	border-color: var(--ef-ink) !important;
	transform: translateY(-1px);
}

body.woocommerce-cart .cart-collaterals {
	margin-top: 8px;
}

body.woocommerce-cart .cart_totals {
	width: 100%;
	max-width: 420px;
	margin-left: auto;
	padding: 8px 0 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body.ef-cart-page .cart_totals,
body.ef-cart-page .ef-cart .cart_totals {
	max-width: none !important;
	margin-left: 0 !important;
	width: 100% !important;
	float: none !important;
}

body.woocommerce-cart .cart_totals > h2 {
	margin: 0 0 16px !important;
	padding: 0 !important;
	font-family: var(--ef-font) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-cart .cart_totals table {
	width: 100%;
	border: 0 !important;
	margin: 0 0 18px;
}

body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td {
	padding: 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ef-line) !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	color: var(--ef-ink) !important;
	background: transparent !important;
}

body.woocommerce-cart .cart_totals tr:last-child th,
body.woocommerce-cart .cart_totals tr:last-child td {
	border-bottom: 0 !important;
	padding-top: 16px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart a.checkout-button {
	width: 100%;
	min-height: 50px !important;
	background: var(--ef-red) !important;
	border-color: var(--ef-red) !important;
	color: #fff !important;
	border-radius: 14px !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart a.checkout-button:hover {
	background: var(--ef-red) !important;
	border-color: var(--ef-red) !important;
	transform: translateY(-1px);
}

@media (max-width: 768px) {
	body.woocommerce-cart .woocommerce {
		padding: 16px 16px 48px;
	}

	body.woocommerce-cart .cart-empty.woocommerce-info {
		font-size: 18px !important;
	}

	body.woocommerce-cart table.shop_table_responsive tr {
		margin-bottom: 14px;
		border: 1px solid var(--ef-line);
		border-radius: 16px;
		background: var(--ef-white);
		overflow: hidden;
	}

	/* Totals: no white cards per row ? just divider lines */
	body.woocommerce-cart .cart_totals table.shop_table_responsive tr,
	body.ef-cart-page .cart_totals table.shop_table_responsive tr {
		margin-bottom: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		overflow: visible !important;
	}

	body.woocommerce-cart .cart_totals {
		max-width: none;
	}

	body.woocommerce-cart .coupon {
		width: 100%;
	}

	body.woocommerce-cart .coupon .input-text {
		flex: 1 1 100%;
	}
}

/* ???????????????????????????????????????
   Site-wide buttons + quantity (pill)
   ??????????????????????????????????????? */

/* Hide wishlist + quick view clutter */
.qwfw-add-to-wishlist-wrapper,
.qwfw-add-to-wishlist,
.yith-wcwl-add-to-wishlist,
.wishlist-fragment,
a.add_to_wishlist,
.tinv-wraper.tinv-wishlist,
.qqvfw-quick-view-button-wrapper,
.qqvfw-quick-view-button {
	display: none !important;
}

/* Shared Woo buttons ? same look as header pills */
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce #respond input#submit,
body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page input.button,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.qode-pl-holder .qode-pli-add-to-cart a,
body.single-product form.cart .single_add_to_cart_button,
body.single-product .summary .single_add_to_cart_button,
body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart .return-to-shop a.button,
body.woocommerce-cart .coupon .button,
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart a.checkout-button,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: var(--ef-btn-h) !important;
	height: auto !important;
	padding: 8px 18px !important;
	border: 0 !important;
	border-radius: var(--ef-radius) !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease, color 0.2s ease, border-color 0.2s ease !important;
}

body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce #respond input#submit:hover,
body.woocommerce-page a.button:hover,
body.woocommerce-page button.button:hover,
body.woocommerce-page input.button:hover,
body .woocommerce a.button:hover,
body .woocommerce button.button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.qode-pl-holder .qode-pli-add-to-cart a:hover,
body.single-product form.cart .single_add_to_cart_button:hover,
body.single-product .summary .single_add_to_cart_button:hover,
body.woocommerce-cart .return-to-shop .button:hover,
body.woocommerce-cart .return-to-shop a.button:hover,
body.woocommerce-cart .coupon .button:hover,
body.woocommerce-cart button[name="update_cart"]:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart a.checkout-button:hover,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button:hover {
	/* keep fill ? motion comes from shared hover lift */
}

/* Secondary outlined buttons */
body.woocommerce a.button:not(.alt):not(.checkout-button):not(.add_to_cart_button):not(.product_type_simple):not(.single_add_to_cart_button):not(.added_to_cart):not(.wc-forward),
body.woocommerce button.button:not(.alt):not([name="add-to-cart"]),
body.woocommerce-cart .coupon .button,
body.woocommerce-cart button[name="update_cart"],
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	background: var(--ef-white) !important;
	color: var(--ef-ink) !important;
	border: 1px solid var(--ef-line) !important;
}

body.woocommerce a.button:not(.alt):not(.checkout-button):not(.add_to_cart_button):not(.product_type_simple):not(.single_add_to_cart_button):not(.added_to_cart):not(.wc-forward):hover,
body.woocommerce button.button:not(.alt):not([name="add-to-cart"]):hover,
body.woocommerce-cart .coupon .button:hover,
body.woocommerce-cart button[name="update_cart"]:hover,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover {
	background: var(--ef-white) !important;
	color: var(--ef-ink) !important;
	border-color: var(--ef-ink) !important;
}

/* Primary red ? add to cart / checkout / cart CTA */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_simple,
.qode-pl-holder .qode-pli-add-to-cart a,
body.single-product form.cart .single_add_to_cart_button,
body.woocommerce a.button.alt,
body.woocommerce button.button.alt,
body.woocommerce input.button.alt,
body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__footer-buttons .elementor-button--checkout {
	background: var(--ef-red) !important;
	color: #fff !important;
	border: 0 !important;
}

/* ???????????????????????????????????????
   Shop cards ? reference layout (no weight/time/desc)
   ??????????????????????????????????????? */

/* Shop ? full-width product block (no 75/25 sidebar squeeze) */
body.post-type-archive-product .two_columns_75_25,
body.tax-product_cat .two_columns_75_25,
body.woocommerce-shop .two_columns_75_25,
body.post-type-archive-product .woocommerce_with_sidebar,
body.tax-product_cat .woocommerce_with_sidebar,
body.woocommerce-shop .woocommerce_with_sidebar {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}

body.post-type-archive-product .two_columns_75_25 > .column1,
body.tax-product_cat .two_columns_75_25 > .column1,
body.woocommerce-shop .two_columns_75_25 > .column1,
body.post-type-archive-product .two_columns_75_25 .column_inner,
body.tax-product_cat .two_columns_75_25 .column_inner,
body.woocommerce-shop .two_columns_75_25 .column_inner {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

body.post-type-archive-product .two_columns_75_25 > .column2,
body.tax-product_cat .two_columns_75_25 > .column2,
body.woocommerce-shop .two_columns_75_25 > .column2,
body.post-type-archive-product aside.sidebar,
body.tax-product_cat aside.sidebar,
body.woocommerce-shop aside.sidebar,
body.post-type-archive-product .sidebar,
body.tax-product_cat .sidebar,
body.woocommerce-shop .sidebar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.post-type-archive-product .container_inner.default_template_holder,
body.tax-product_cat .container_inner.default_template_holder,
body.woocommerce-shop .container_inner.default_template_holder,
body.post-type-archive-product .container_inner > .container,
body.post-type-archive-product .content .container,
body.tax-product_cat .container_inner > .container,
body.tax-product_cat .content .container,
body.woocommerce-shop .content .container,
body.post-type-archive-product .container,
body.tax-product_cat .container,
body.woocommerce-shop .container {
	max-width: min(1760px, calc(100vw - 48px)) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	padding-top: 0 !important;
	padding-bottom: 24px !important;
	box-sizing: border-box !important;
	float: none !important;
}

body.post-type-archive-product .content,
body.tax-product_cat .content,
body.woocommerce-shop .content,
body.post-type-archive-product .content_inner,
body.tax-product_cat .content_inner,
body.woocommerce-shop .content_inner,
body.post-type-archive-product .container_inner,
body.tax-product_cat .container_inner,
body.woocommerce-shop .container_inner {
	margin-left: auto !important;
	margin-right: auto !important;
	float: none !important;
}

body.post-type-archive-product .full_width .full_width_inner,
body.tax-product_cat .full_width .full_width_inner {
	max-width: min(1760px, calc(100vw - 48px)) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
}

body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.woocommerce-shop ul.products {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* 5 products per row */
body.woocommerce ul.products,
body.woocommerce-page ul.products,
body.tax-product_cat ul.products,
body.post-type-archive-product ul.products,
body.single-product ul.products {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 22px 16px !important;
	margin: 0 0 40px !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after {
	display: none !important;
	content: none !important;
}

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.single-product ul.products li.product {
	position: relative !important;
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: left;
}

@media (max-width: 1280px) {
	body.woocommerce ul.products,
	body.woocommerce-page ul.products,
	body.tax-product_cat ul.products,
	body.post-type-archive-product ul.products,
	body.single-product ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1100px) {
	body.woocommerce ul.products,
	body.woocommerce-page ul.products,
	body.tax-product_cat ul.products,
	body.post-type-archive-product ul.products,
	body.single-product ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	body.woocommerce ul.products,
	body.woocommerce-page ul.products,
	body.tax-product_cat ul.products,
	body.post-type-archive-product ul.products,
	body.single-product ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px 8px !important;
	}

	body.post-type-archive-product .container_inner.default_template_holder,
	body.tax-product_cat .container_inner.default_template_holder,
	body.woocommerce-shop .container_inner.default_template_holder,
	body.post-type-archive-product .container_inner > .container,
	body.post-type-archive-product .content .container,
	body.tax-product_cat .container_inner > .container,
	body.tax-product_cat .content .container,
	body.woocommerce-shop .content .container,
	body.post-type-archive-product .container,
	body.tax-product_cat .container,
	body.woocommerce-shop .container,
	body.post-type-archive-product .full_width .full_width_inner,
	body.tax-product_cat .full_width .full_width_inner {
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
		padding-top: 0 !important;
	}

	/* Product page — same wide mobile gutters as catalog */
	body.single-product .container_inner.default_template_holder,
	body.single-product .container_inner > .container,
	body.single-product .content .container,
	body.single-product .container,
	body.single-product .full_width .full_width_inner {
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
		padding-top: 0 !important;
		box-sizing: border-box !important;
		float: none !important;
	}

	/* Kill Bridge inline padding-top:100px (header offset already on body) */
	body.single-product .container_inner.default_template_holder[style],
	body.single-product .content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	body.single-product .content,
	body.single-product .content_inner,
	body.single-product .container_inner {
		margin-left: auto !important;
		margin-right: auto !important;
		float: none !important;
	}

	body.single-product .column_inner,
	body.single-product .two_columns_75_25 > .column1,
	body.single-product .two_columns_50_50 > .column1,
	body.single-product .two_columns_50_50 > .column2,
	body.single-product div.product .images,
	body.single-product div.product .summary {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.single-product div.product .images,
	body.single-product div.product .woocommerce-product-gallery,
	body.single-product div.product .summary {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Compact product photo — less height so title/price/tabs fit on first screen */
	body.single-product .woocommerce-product-gallery {
		opacity: 1 !important;
		max-width: 168px !important;
		width: 44vw !important;
		margin: 0 auto 6px !important;
	}

	body.single-product .woocommerce-product-gallery__wrapper,
	body.single-product .woocommerce-product-gallery__image,
	body.single-product .woocommerce-product-gallery__image a,
	body.single-product .woocommerce-product-gallery__image img,
	body.single-product .woocommerce-product-gallery__image--placeholder,
	body.single-product .woocommerce-product-gallery__image--placeholder img {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 auto !important;
	}

	body.single-product.qode-product-gallery-slider-on-mobile .product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
	body.single-product.qode-product-gallery-slider-on-mobile .product .images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image--placeholder {
		display: block !important;
	}

	body.single-product.qode-product-gallery-slider-on-mobile .product .images .qode-product-gallery-slider {
		display: none !important;
	}

	body.single-product.qode-product-single-tabs-on-bottom .product .summary,
	body.single-product .summary,
	body.single-product .qode-single-product-summary {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	body.single-product .summary .product-categories,
	body.single-product .summary .qode-sp-separator,
	body.single-product .summary .separator {
		display: none !important;
	}

	body.single-product .summary .product_title {
		margin: 0 0 4px !important;
		font-size: clamp(18px, 5.2vw, 22px) !important;
		line-height: 1.15 !important;
	}

	body.single-product .summary p.price,
	body.single-product div.product .summary .price {
		margin: 0 0 6px !important;
	}

	body.single-product .ef-product-composition {
		margin-top: 0 !important;
		margin-bottom: 8px !important;
	}

	body.single-product .ef-product-composition__title {
		margin: 0 0 2px !important;
		font-size: 13px !important;
	}

	body.single-product .ef-product-composition__text,
	body.single-product .ef-product-composition__text p {
		font-size: 12.5px !important;
		line-height: 1.4 !important;
	}

	body.single-product .ef-product-composition__text p {
		margin: 0 0 4px !important;
	}

	body.single-product .ef-product-composition__text p:last-child {
		margin-bottom: 0 !important;
	}

	body.single-product form.cart {
		margin: 0 0 8px !important;
	}

	body.single-product .product_meta {
		margin-top: 8px !important;
		padding: 8px 0 !important;
	}

	body.post-type-archive-product .column_inner,
	body.tax-product_cat .column_inner,
	body.woocommerce-shop .column_inner,
	body.post-type-archive-product .two_columns_75_25 > .column1,
	body.tax-product_cat .two_columns_75_25 > .column1,
	body.woocommerce-shop .two_columns_75_25 > .column1 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.ef-catalog-heading {
		margin: 8px 0 12px !important;
		padding: 0 !important;
	}

	.ef-catalog-heading__title {
		font-size: 22px !important;
	}

	/* Compact product cards — 2-up mobile grid */
	.ef-card {
		border-radius: 14px;
		box-shadow: 0 4px 14px rgba(20, 20, 20, 0.04);
	}

	.ef-card:hover {
		transform: none;
	}

	.ef-card__media {
		aspect-ratio: 1 / 1;
	}

	.ef-card__body {
		gap: 8px;
		padding: 10px;
	}

	.ef-card__title {
		min-height: 0;
		font-size: 13px;
		line-height: 1.25;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.ef-card__row {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 8px;
		width: 100%;
	}

	.ef-card__price {
		font-size: 15px;
		width: 100%;
		white-space: nowrap;
	}

	.ef-card__qty {
		display: inline-flex;
		width: 100%;
		height: 34px;
		flex: 0 0 auto;
		min-width: 0;
		box-sizing: border-box;
	}

	.ef-card__qty-btn {
		flex: 0 0 34px;
		width: 34px;
	}

	.ef-card__qty-input {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
	}

	.ef-card__qty-btn,
	.ef-card__qty-input {
		height: 34px;
		min-height: 34px;
		font-size: 13px;
	}

	.ef-card__actions {
		width: 100%;
		margin-top: 0;
	}

	.ef-card__atc,
	body.woocommerce ul.products li.product .ef-card__atc,
	body.woocommerce-page ul.products li.product a.ef-card__atc,
	body.woocommerce ul.products li.product a.button.ef-card__atc {
		width: 100% !important;
		min-width: 0 !important;
		min-height: 38px !important;
		height: 38px !important;
		max-height: 38px !important;
		border-radius: 10px !important;
	}
}

/* Hide Bridge title/breadcrumb banner on catalog */
body.post-type-archive-product .title_outer,
body.tax-product_cat .title_outer,
body.tax-product_tag .title_outer,
body.woocommerce-shop .title_outer,
body.post-type-archive-product .title,
body.tax-product_cat .title,
body.woocommerce-shop .title,
body.post-type-archive-product .breadcrumb,
body.tax-product_cat .breadcrumb,
body.woocommerce-shop .breadcrumb,
body.post-type-archive-product .breadcrumbs,
body.tax-product_cat .breadcrumbs,
body.woocommerce-shop .breadcrumbs,
body.post-type-archive-product .title_holder,
body.tax-product_cat .title_holder,
body.woocommerce-shop .title_holder {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

/* Kill Bridge inline padding-top on catalog containers */
body.post-type-archive-product .container_inner.default_template_holder[style],
body.tax-product_cat .container_inner.default_template_holder[style],
body.tax-product_tag .container_inner.default_template_holder[style],
body.woocommerce-shop .container_inner.default_template_holder[style],
body.post-type-archive-product .content,
body.tax-product_cat .content,
body.woocommerce-shop .content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Catalog text heading ? tight under header */
.ef-catalog-heading {
	display: block !important;
	visibility: visible !important;
	margin: 12px 0 14px !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	clear: both !important;
	position: relative !important;
	z-index: 2 !important;
}

.ef-catalog-heading__title {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--ef-font) !important;
	font-size: clamp(24px, 4vw, 32px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	color: var(--ef-ink) !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

/* Hide catalog count + sorting */
body.woocommerce .woocommerce-result-count,
body.woocommerce-page .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.woocommerce .woocommerce-ordering,
body.woocommerce-page .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering,
body.woocommerce .woocommerce-products-header__title.page-title + .woocommerce-result-count,
body.woocommerce .woocommerce-products-header {
	display: none !important;
}

/* Hide Bridge / plugin extras on cards */
body.woocommerce ul.products li.product .qqvfw-quick-view-button-wrapper,
body.woocommerce ul.products li.product .qwfw-add-to-wishlist-wrapper,
body.woocommerce ul.products .star-rating,
body.woocommerce ul.products .onsale,
body.woocommerce ul.products .product-categories {
	display: none !important;
}

/* Card shell */
.ef-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--ef-white);
	border: 1px solid var(--ef-line);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(20, 20, 20, 0.05);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ef-card:hover {
	box-shadow: 0 12px 32px rgba(20, 20, 20, 0.1);
	transform: translateY(-2px);
}

.ef-card__media {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	background: #f3f1ee;
	overflow: hidden;
}

.ef-card__media img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	margin: 0 !important;
}

.ef-card__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1 1 auto;
	padding: 16px 16px 16px;
	box-sizing: border-box;
}

.ef-card__title {
	display: block;
	margin: 0;
	min-height: 2.6em;
	font-family: var(--ef-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ef-ink) !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.ef-card__title:hover {
	color: var(--ef-red) !important;
}

.ef-card__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
}

.ef-card__price {
	font-family: var(--ef-font);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	color: var(--ef-ink);
	white-space: nowrap;
}

.ef-card__price.is-empty {
	min-height: 1em;
}

.ef-card__price .amount,
.ef-card__price del,
.ef-card__price ins {
	background: none !important;
	text-decoration: none;
}

.ef-card__qty {
	display: inline-flex;
	align-items: stretch;
	height: 40px;
	border: 1px solid var(--ef-line);
	border-radius: 12px;
	background: var(--ef-white);
	overflow: hidden;
	flex-shrink: 0;
}

.ef-card__qty-btn {
	width: 36px;
	border: 0;
	background: transparent;
	color: var(--ef-ink);
	font-family: var(--ef-font);
	font-size: 17px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.ef-card__qty-btn:hover {
	background: var(--ef-cream);
	color: var(--ef-red);
}

.ef-card__qty-input {
	width: 40px;
	border: 0;
	border-left: 1px solid var(--ef-line);
	border-right: 1px solid var(--ef-line);
	background: transparent;
	font-family: var(--ef-font);
	font-size: 15px;
	font-weight: 700;
	color: var(--ef-ink);
	text-align: center;
	-moz-appearance: textfield;
}

.ef-card__qty-input::-webkit-outer-spin-button,
.ef-card__qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ef-card__actions {
	margin-top: 2px;
	width: 100%;
}

.ef-card__atc,
body.woocommerce ul.products li.product .ef-card__atc,
body.woocommerce-page ul.products li.product a.ef-card__atc,
body.woocommerce ul.products li.product a.button.ef-card__atc {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transform: none;
	opacity: 1 !important;
	visibility: visible !important;
	box-sizing: border-box !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease !important;
	will-change: transform;
	-webkit-tap-highlight-color: transparent;
	user-select: none;
}

.ef-card__atc:hover,
body.woocommerce ul.products li.product .ef-card__atc:hover {
	background: var(--ef-red) !important;
	color: #fff !important;
}

.ef-card__atc:active,
body.woocommerce ul.products li.product .ef-card__atc:active,
body.woocommerce ul.products li.product a.button.ef-card__atc:active {
	background: var(--ef-red) !important;
	color: #fff !important;
}

.ef-card__atc.loading,
body.woocommerce ul.products li.product .ef-card__atc.loading {
	pointer-events: none !important;
	opacity: 0.88 !important;
}

.ef-card__atc.loading .ef-card__cart-icon,
body.woocommerce ul.products li.product .ef-card__atc.loading .ef-card__cart-icon {
	animation: ef-atc-pulse 0.55s ease-in-out infinite;
}

.ef-card__atc.is-pressed,
body.woocommerce ul.products li.product .ef-card__atc.is-pressed {
	/* press motion from shared rules */
}

@keyframes ef-atc-pulse {
	0%,
	100% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(0.86);
		opacity: 0.75;
	}
}

.ef-card__cart-icon {
	display: block;
	width: 22px;
	height: 22px;
}

/* Hide Woo ???????????? ?????? under the red icon button */
body.woocommerce ul.products li.product .added_to_cart,
body.woocommerce-page ul.products li.product .added_to_cart,
body.woocommerce ul.products li.product a.added_to_cart.wc-forward,
body.woocommerce ul.products li.product .ef-card .added_to_cart,
body.woocommerce ul.products li.product .ef-card__actions .added_to_cart,
body.woocommerce ul.products li.product .ef-card__actions a.wc-forward,
.ef-card .added_to_cart,
.ef-product-card .added_to_cart {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	position: absolute !important;
	clip: rect(0, 0, 0, 0) !important;
}

.ef-card__actions {
	position: relative;
	overflow: hidden;
}

/* Keep ATC as icon-only even after AJAX */
body.woocommerce ul.products li.product .ef-card__atc,
body.woocommerce ul.products li.product a.button.ef-card__atc.added {
	font-size: 0 !important;
	line-height: 0 !important;
	overflow: hidden !important;
}

body.woocommerce ul.products li.product .ef-card__atc .ef-card__cart-icon,
body.woocommerce ul.products li.product a.button.ef-card__atc .ef-card__cart-icon {
	font-size: 0;
}

/* ??? Add-to-cart toast ??? */
.ef-toast {
	position: fixed;
	left: 50%;
	bottom: 22px;
	z-index: 100050;
	width: min(420px, calc(100vw - 24px));
	transform: translateX(-50%) translateY(16px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.ef-toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
	pointer-events: auto;
}

.ef-toast[hidden] {
	display: none !important;
}

.ef-toast__card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 12px 12px 14px;
	border: 1px solid var(--ef-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(20, 20, 20, 0.16);
	font-family: var(--ef-font);
}

.ef-toast__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--ef-red);
	color: #fff;
}

.ef-toast__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1 1 auto;
}

.ef-toast__title {
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--ef-ink);
}

.ef-toast__sub {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ef-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ef-toast__link {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	background: var(--ef-cream);
	color: var(--ef-ink) !important;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none !important;
	white-space: nowrap;
}

.ef-toast__link:hover {
	background: var(--ef-red);
	color: #fff !important;
}

.ef-toast__close {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--ef-muted);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.ef-toast__close:hover {
	background: rgba(20, 20, 20, 0.06);
	color: var(--ef-ink);
}

@media (max-width: 767px) {
	.ef-toast {
		bottom: 14px;
		width: calc(100vw - 20px);
	}
}

/* While JS rebuilds ? hide broken Bridge overlay */
body.woocommerce ul.products li.product:not(.ef-product-card) .add-to-cart-button-outer,
body.woocommerce ul.products li.product:not(.ef-product-card) .qqvfw-quick-view-button-wrapper {
	display: none !important;
}

/* ???????????????????????????????????????
   Product page ? qty = button height
   ??????????????????????????????????????? */
body.single-product form.cart {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: center !important;
	gap: 10px;
	margin: 18px 0 8px !important;
}

body.single-product form.cart .quantity.buttons_added,
body.single-product form.cart .quantity,
body.single-product #content .quantity.buttons_added,
body.woocommerce.single-product .quantity.buttons_added {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	flex: 0 0 auto !important;
	width: auto !important;
	height: var(--ef-btn-h) !important;
	min-height: var(--ef-btn-h) !important;
	max-height: var(--ef-btn-h) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: var(--ef-radius) !important;
	background: var(--ef-white) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

body.single-product form.cart .quantity .minus,
body.single-product form.cart .quantity .plus,
body.single-product .quantity.buttons_added .minus,
body.single-product .quantity.buttons_added .plus,
body.woocommerce.single-product .quantity .minus,
body.woocommerce.single-product .quantity .plus,
body.woocommerce.single-product #content .quantity .minus,
body.woocommerce.single-product #content .quantity .plus {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	float: none !important;
	width: 40px !important;
	min-width: 40px !important;
	max-width: 40px !important;
	height: var(--ef-btn-h) !important;
	min-height: var(--ef-btn-h) !important;
	max-height: var(--ef-btn-h) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--ef-ink) !important;
	font-family: var(--ef-font) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	cursor: pointer;
}

body.single-product form.cart .quantity .minus:hover,
body.single-product form.cart .quantity .plus:hover,
body.single-product .quantity.buttons_added .minus:hover,
body.single-product .quantity.buttons_added .plus:hover {
	background: var(--ef-cream) !important;
	color: var(--ef-red) !important;
}

body.single-product form.cart .quantity .qty,
body.single-product .quantity.buttons_added .qty,
body.woocommerce.single-product .quantity .qty,
body.woocommerce.single-product #content .quantity input.qty,
body.woocommerce.single-product .quantity input.qty {
	display: block !important;
	float: none !important;
	width: 44px !important;
	min-width: 44px !important;
	height: var(--ef-btn-h) !important;
	min-height: var(--ef-btn-h) !important;
	max-height: var(--ef-btn-h) !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 0 !important;
	border-left: 1px solid var(--ef-line) !important;
	border-right: 1px solid var(--ef-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: var(--ef-btn-h) !important;
	color: var(--ef-ink) !important;
	text-align: center !important;
	box-shadow: none !important;
	-moz-appearance: textfield;
	box-sizing: border-box !important;
}

body.single-product form.cart .quantity .qty::-webkit-outer-spin-button,
body.single-product form.cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.single-product form.cart .single_add_to_cart_button,
body.single-product .summary .single_add_to_cart_button,
body.woocommerce.single-product form.cart .single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 140px !important;
	max-width: 260px !important;
	height: var(--ef-btn-h) !important;
	min-height: var(--ef-btn-h) !important;
	max-height: var(--ef-btn-h) !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: var(--ef-radius) !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-transform: none !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

/* Product page price ? same as shop card */
body.single-product .summary p.price,
body.single-product div.product .summary .price,
body.woocommerce.single-product .summary .price {
	display: block !important;
	margin: 10px 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-family: var(--ef-font) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	color: var(--ef-ink) !important;
	white-space: nowrap;
}

body.single-product .summary p.price .amount,
body.single-product .summary .price .amount,
body.single-product .summary .price bdi,
body.single-product .summary .price .woocommerce-Price-currencySymbol {
	font-family: var(--ef-font) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
	background: none !important;
}

body.single-product .summary .price del,
body.single-product .summary .price ins {
	background: none !important;
	text-decoration: none;
}

body.single-product .summary .price:empty,
body.single-product .summary p.price:empty {
	display: none;
}

/* Cart qty ? match button system */
body.woocommerce-cart .quantity {
	display: inline-flex !important;
	align-items: stretch !important;
	height: var(--ef-btn-h) !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: var(--ef-radius) !important;
	overflow: hidden;
	background: var(--ef-white) !important;
}

body.woocommerce-cart .quantity .qty {
	height: var(--ef-btn-h) !important;
	border: 0 !important;
	border-radius: 0 !important;
}

/* Inputs / coupon */
body.woocommerce-cart .coupon .input-text,
body.woocommerce input.input-text,
body.woocommerce-page input.input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	border-radius: var(--ef-radius) !important;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-cart .empty-cart-wrapper {
	border-radius: 22px;
}

body.woocommerce-cart .cart_totals {
	border-radius: 0;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__main {
	border-radius: 18px !important;
}

:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-image,
:is(.elementor-location-header, .ef-mini-cart-portal) .elementor-menu-cart__product-image img {
	border-radius: 14px !important;
}

@media (max-width: 600px) {
	body.single-product form.cart {
		flex-wrap: wrap;
	}

	body.single-product form.cart .single_add_to_cart_button,
	body.single-product .summary .single_add_to_cart_button {
		width: 100% !important;
		max-width: none !important;
	}
}

/* ???????????????????????????????????????
   Cart page (/cart-2) ? WooCommerce Blocks
   ??????????????????????????????????????? */
body.woocommerce-cart .title_outer,
body.page-id-4740 .title_outer {
	display: none !important;
}

body.woocommerce-cart .container_inner.default_template_holder,
body.page-id-4740 .container_inner.default_template_holder,
body.woocommerce-cart .content .container,
body.page-id-4740 .content .container {
	max-width: min(1100px, calc(100vw - 32px)) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 28px 16px 64px !important;
	box-sizing: border-box !important;
	font-family: var(--ef-font) !important;
	color: var(--ef-ink);
	float: none !important;
}

body.woocommerce-cart .content,
body.woocommerce-cart .content_inner,
body.page-id-4740 .content,
body.page-id-4740 .content_inner {
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	float: none !important;
	text-align: left;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart,
body.page-id-4740 .wp-block-woocommerce-cart {
	font-family: var(--ef-font) !important;
	color: var(--ef-ink) !important;
	width: 100% !important;
	max-width: 1100px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Empty state */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
body.woocommerce-cart .wc-block-cart__empty-cart__title {
	text-align: center;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	padding: 48px 28px 40px;
	border: 1px solid var(--ef-line);
	border-radius: 22px;
	background:
		radial-gradient(ellipse 80% 60% at 50% 0%, rgba(41, 40, 40, 0.08), transparent 60%),
		linear-gradient(180deg, #fffefb 0%, var(--ef-cream) 100%);
}

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading {
	margin: 0 !important;
	font-family: var(--ef-font) !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator {
	width: 64px !important;
	max-width: 64px !important;
	margin: 4px auto 8px !important;
	border: 0 !important;
	border-top: 2px solid var(--ef-line) !important;
	background: none !important;
	opacity: 1 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2.wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	margin: 8px 0 0 !important;
	font-family: var(--ef-font) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
}

/* Filled cart layout */
body.woocommerce-cart .wc-block-cart.is-large,
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart table.wc-block-cart-items {
	font-family: var(--ef-font) !important;
}

body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-cart .wc-block-cart.is-large {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	gap: 24px;
	align-items: start;
	width: 100% !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wc-block-cart__main {
	min-width: 0 !important;
	width: 100% !important;
}

/* Solid product cards instead of fragile table */
body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart .wc-block-cart-items {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

body.woocommerce-cart table.wc-block-cart-items thead,
body.woocommerce-cart .wc-block-cart-items__header {
	display: none !important;
}

body.woocommerce-cart table.wc-block-cart-items tbody,
body.woocommerce-cart .wc-block-cart-items__rows {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	width: 100% !important;
}

body.woocommerce-cart .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 76px minmax(0, 1fr) auto !important;
	grid-template-areas: "image product total" !important;
	align-items: center !important;
	gap: 14px 16px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 14px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 16px !important;
	background: var(--ef-white) !important;
	box-shadow: 0 8px 22px rgba(20, 20, 20, 0.05) !important;
	box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart-items__row td,
body.woocommerce-cart table.wc-block-cart-items td {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	vertical-align: middle;
	font-family: var(--ef-font) !important;
	color: var(--ef-ink) !important;
	overflow: hidden;
}

body.woocommerce-cart .wc-block-cart-item__image {
	grid-area: image !important;
}

body.woocommerce-cart .wc-block-cart-item__product {
	grid-area: product !important;
	min-width: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__total {
	grid-area: total !important;
	justify-self: end !important;
	text-align: right !important;
	white-space: nowrap !important;
}

body.woocommerce-cart .wc-block-cart-item__image a,
body.woocommerce-cart .wc-block-components-product-image {
	display: block !important;
	width: 76px !important;
	height: 76px !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	border: 1px solid var(--ef-line) !important;
	background: var(--ef-cream) !important;
}

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart .wc-block-components-product-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	border: 0 !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart a.wc-block-components-product-name {
	display: block !important;
	margin: 0 0 6px !important;
	white-space: normal !important;
	overflow-wrap: anywhere;
}

body.woocommerce-cart .wc-block-components-product-name:hover {
	color: var(--ef-red) !important;
}

body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-product-price .amount {
	display: inline-block !important;
	margin: 0 0 10px !important;
	font-family: var(--ef-font) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity,
body.woocommerce-cart .wc-block-cart-item__wrap {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__total .amount {
	margin: 0 !important;
	font-size: 17px !important;
	font-weight: 800 !important;
}

/* Qty in block cart */
body.woocommerce-cart .wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: stretch !important;
	flex: 0 0 auto !important;
	height: 40px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 12px !important;
	overflow: hidden;
	background: var(--ef-white) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
body.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	height: 40px !important;
	min-height: 40px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-family: var(--ef-font) !important;
	font-weight: 700 !important;
	color: var(--ef-ink) !important;
	box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	width: 36px !important;
	min-width: 36px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	width: 40px !important;
	border-left: 1px solid var(--ef-line) !important;
	border-right: 1px solid var(--ef-line) !important;
	text-align: center !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart button.wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 999px !important;
	background: var(--ef-cream) !important;
	color: var(--ef-muted) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart button.wc-block-cart-item__remove-link:hover {
	background: var(--ef-red) !important;
	border-color: var(--ef-red) !important;
	color: #fff !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link svg {
	width: 16px !important;
	height: 16px !important;
}

/* Totals card */
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-sidebar {
	padding: 22px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 18px !important;
	background: linear-gradient(180deg, #fffefb 0%, var(--ef-cream) 100%) !important;
	box-shadow: 0 10px 32px rgba(20, 20, 20, 0.05);
}

body.woocommerce-cart .wc-block-cart-order-summary__title,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block,
body.woocommerce-cart .wc-block-components-totals-wrapper .wc-block-components-totals-item__label {
	font-family: var(--ef-font) !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 14px !important;
	font-weight: 600 !important;
}

body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-item__value .amount {
	font-family: var(--ef-font) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item .amount {
	font-size: 18px !important;
}

/* Buttons in block cart */
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-checkout-place-order-button,
body.woocommerce-cart a.wc-block-components-button,
body.woocommerce-cart button.wc-block-components-button,
body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-cart .wc-block-components-totals-coupon__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 48px !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	padding: 12px 20px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	white-space: normal !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	hyphens: none !important;
	word-break: normal !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	transition: background 0.2s ease, transform 0.15s ease !important;
}

body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	background: var(--ef-red) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-button:not(.contained):not(.wc-block-cart__submit-button) {
	background: var(--ef-white) !important;
	color: var(--ef-ink) !important;
	border: 1px solid var(--ef-line) !important;
}

body.woocommerce-cart .wc-block-cart__submit,
body.woocommerce-cart .wc-block-cart__submit-container,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block {
	margin-top: 14px;
	width: 100% !important;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
body.woocommerce-cart .wc-block-components-checkout-place-order-button,
body.woocommerce-cart a.wc-block-components-checkout-place-order-button {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 52px !important;
	padding: 14px 18px !important;
	border-radius: 14px !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	border: 0 !important;
	font-size: 15px !important;
	line-height: 1.3 !important;
	white-space: normal !important;
}

body.woocommerce-cart .wc-block-components-button__text {
	white-space: normal !important;
	text-align: center !important;
}

body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-components-totals-coupon__form input {
	min-height: 44px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: var(--ef-radius) !important;
	font-family: var(--ef-font) !important;
	box-shadow: none !important;
}

/* New products grid on empty cart */
body.woocommerce-cart .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-cart .wc-block-grid__product {
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--ef-line);
	border-radius: 18px;
	overflow: hidden;
	background: var(--ef-white);
	box-shadow: 0 8px 24px rgba(20, 20, 20, 0.05);
}

body.woocommerce-cart .wc-block-grid__product-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: #f3f1ee;
}

body.woocommerce-cart .wc-block-grid__product-title {
	padding: 12px 12px 0;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-cart .wc-block-grid__product-price {
	padding: 8px 12px 0;
	font-family: var(--ef-font) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart {
	padding: 12px !important;
	margin-top: auto;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link {
	width: 100% !important;
}

body.woocommerce-cart .qwfw-add-to-wishlist-wrapper {
	display: none !important;
}

@media (max-width: 900px) {
	body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
	body.woocommerce-cart .wc-block-cart.is-large {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-cart .wc-block-cart-items__row {
		grid-template-columns: 68px minmax(0, 1fr) !important;
		grid-template-areas:
			"image product"
			"total total" !important;
	}

	body.woocommerce-cart .wc-block-cart-item__total {
		justify-self: start !important;
		text-align: left !important;
		padding-top: 4px !important;
		border-top: 1px solid var(--ef-line) !important;
		width: 100% !important;
	}

	body.woocommerce-cart .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 520px) {
	body.woocommerce-cart .wc-block-cart__empty-cart__title,
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading {
		font-size: 20px !important;
	}

	body.woocommerce-cart .wc-block-grid__products {
		grid-template-columns: 1fr !important;
	}
}

/* ???????????????????????????????????????
   EasyFood custom cart (.ef-cart)
   Edit templates: woocommerce/cart/*.php
   ??????????????????????????????????????? */
body.ef-cart-page .title_outer,
body.woocommerce-cart.ef-cart-page .title_outer {
	display: none !important;
}

body.ef-cart-page .container_inner.default_template_holder,
body.ef-cart-page .content .container {
	max-width: min(1180px, calc(100vw - 32px)) !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 32px 16px 80px !important;
	box-sizing: border-box !important;
	float: none !important;
}

@media (max-width: 900px) {
	body.ef-cart-page .container_inner.default_template_holder,
	body.ef-cart-page .content .container,
	body.woocommerce-cart.ef-cart-page .container_inner.default_template_holder,
	body.woocommerce-cart.ef-cart-page .content .container {
		max-width: 100% !important;
		padding: 20px 12px 64px !important;
	}
}

.ef-cart,
.ef-cart * {
	box-sizing: border-box;
}

.ef-cart,
form.ef-cart.woocommerce-cart-form {
	display: block !important;
	width: 100% !important;
	float: none !important;
	font-family: var(--ef-font);
	color: var(--ef-ink);
}

.ef-cart__layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 20px;
	align-items: stretch;
	width: 100% !important;
}

.ef-cart__main,
.ef-cart__aside {
	min-width: 0 !important;
	width: 100% !important;
}

.ef-cart__main {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.ef-cart__aside {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	height: auto !important;
	min-height: 100% !important;
	position: relative !important;
	top: auto !important;
}

.ef-cart__aside .cart-collaterals,
.ef-cart .cart-collaterals,
.ef-cart__collaterals {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.ef-cart__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1 1 auto;
}

.ef-cart__item {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 16px;
	border: 1px solid var(--ef-line);
	border-radius: 16px;
	background: #fff;
}

.ef-cart__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ef-cart__thumb,
.ef-cart__thumb a,
.ef-cart__thumb img {
	display: block;
	width: 92px;
	height: 92px;
	max-width: 92px;
	border-radius: 12px;
	overflow: hidden;
	background: #f3f1ed;
	flex-shrink: 0;
}

.ef-cart__thumb {
	min-width: 92px;
}

.ef-cart__thumb a {
	width: 100%;
	height: 100%;
}

.ef-cart__thumb img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border: 0;
}

.ef-cart__name {
	margin: 0 0 4px;
}

.ef-cart__name a:hover {
	color: var(--ef-red) !important;
}

.ef-cart__price {
	margin: 0 0 12px;
	font-family: var(--ef-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--ef-muted);
}

.ef-cart__price .amount {
	font-weight: 700;
	color: var(--ef-ink);
}

.ef-cart__controls {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 8px !important;
	width: auto !important;
	max-width: 100%;
}

/* Compact qty ? Bridge often forces .quantity { width:100% } */
.ef-cart__controls .quantity,
body.ef-cart-page .ef-cart__controls .quantity {
	display: inline-grid !important;
	grid-template-columns: 32px 36px 32px !important;
	align-items: center !important;
	flex: 0 0 auto !important;
	width: 100px !important;
	min-width: 100px !important;
	max-width: 100px !important;
	height: 36px !important;
	margin: 0 !important;
	float: none !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 999px !important;
	overflow: hidden;
	background: #fff !important;
}

.ef-cart__controls .quantity .minus,
.ef-cart__controls .quantity .plus,
.ef-cart__controls .quantity .qty,
body.ef-cart-page .ef-cart__controls .quantity .minus,
body.ef-cart-page .ef-cart__controls .quantity .plus,
body.ef-cart-page .ef-cart__controls .quantity .qty {
	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--ef-ink) !important;
	box-shadow: none !important;
	line-height: 36px !important;
}

.ef-cart__controls .quantity .minus,
.ef-cart__controls .quantity .plus {
	width: 32px !important;
	min-width: 32px !important;
	cursor: pointer;
}

.ef-cart__controls .quantity .qty {
	width: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	border-left: 1px solid var(--ef-line) !important;
	border-right: 1px solid var(--ef-line) !important;
	text-align: center !important;
	-moz-appearance: textfield;
}

.ef-cart__controls .quantity .qty::-webkit-outer-spin-button,
.ef-cart__controls .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ef-cart__remove,
body.ef-cart-page .ef-cart__remove.remove {
	display: inline-flex !important;
	flex: 0 0 36px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	min-width: 36px !important;
	height: 36px !important;
	margin: 0 !important;
	float: none !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--ef-muted) !important;
	font-size: 20px !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ef-cart__remove:hover {
	background: var(--ef-red) !important;
	border-color: var(--ef-red) !important;
	color: #fff !important;
}

.ef-cart__line-total {
	display: none !important;
}

.ef-cart__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 14px;
	padding: 0;
	border: 0;
	background: transparent;
}

.ef-cart__coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	width: 100%;
}

.ef-cart__coupon .input-text {
	flex: 1 1 160px;
	min-height: 44px;
	padding: 10px 16px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 999px !important;
	font-family: var(--ef-font) !important;
	box-shadow: none !important;
	background: #fff !important;
}

.ef-cart__coupon .button {
	min-height: 44px !important;
	padding: 10px 18px !important;
	border-radius: 999px !important;
	border: 0 !important;
	background: var(--ef-ink) !important;
	color: #fff !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	cursor: pointer;
}

.ef-cart__coupon .button:hover {
	background: #000 !important;
}

/* Hide ???????? ?????? ? qty auto-submits via JS */
.ef-cart__update,
body.ef-cart-page button[name="update_cart"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.ef-cart__aside,
.ef-cart__totals {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	float: none !important;
	clear: none !important;
}

.ef-cart__totals,
body.ef-cart-page .cart_totals,
body.ef-cart-page .ef-cart__totals.cart_totals,
body.woocommerce-cart.ef-cart-page .cart_totals {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	padding: 8px 0 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
	box-sizing: border-box !important;
	position: relative !important;
	top: auto !important;
	align-self: stretch !important;
}

.ef-cart__totals-title,
body.ef-cart-page .cart_totals > h2,
body.ef-cart-page .ef-cart__totals-title {
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-family: var(--ef-font) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
	line-height: 1.3 !important;
	white-space: normal !important;
}

.ef-cart__totals-table,
body.ef-cart-page .cart_totals table.shop_table {
	display: table !important;
	width: 100% !important;
	table-layout: fixed !important;
	border: 0 !important;
	margin: 0 0 20px !important;
	background: transparent !important;
	box-shadow: none !important;
}

.ef-cart__totals-table tr,
body.ef-cart-page .cart_totals table.shop_table tr {
	background: transparent !important;
}

.ef-cart__totals-table th,
.ef-cart__totals-table td,
body.ef-cart-page .cart_totals table.shop_table th,
body.ef-cart-page .cart_totals table.shop_table td {
	display: table-cell !important;
	width: auto !important;
	padding: 14px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ef-line) !important;
	background: transparent !important;
	font-family: var(--ef-font) !important;
	font-size: 15px !important;
	color: var(--ef-ink) !important;
	vertical-align: top !important;
	white-space: normal !important;
	word-break: break-word !important;
}

.ef-cart__totals-table th,
body.ef-cart-page .cart_totals table.shop_table th {
	width: 45% !important;
	padding-right: 10px !important;
	font-weight: 600 !important;
	text-align: left !important;
	color: var(--ef-muted) !important;
}

.ef-cart__totals-table td,
body.ef-cart-page .cart_totals table.shop_table td {
	width: 55% !important;
	text-align: right !important;
	font-weight: 700 !important;
}

.ef-cart__totals-table tr:last-child th,
.ef-cart__totals-table tr:last-child td,
body.ef-cart-page .cart_totals table.shop_table tr.order-total th,
body.ef-cart-page .cart_totals table.shop_table tr.order-total td {
	border-bottom: 0 !important;
	padding-top: 4px !important;
	padding-bottom: 18px !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
}

/* Match line-item price typeface (Woo often falls back on ₴ / bdi) */
.ef-cart__price .amount,
.ef-cart__price .woocommerce-Price-amount,
.ef-cart__price .woocommerce-Price-currencySymbol,
.ef-cart__totals .amount,
.ef-cart__totals .woocommerce-Price-amount,
.ef-cart__totals .woocommerce-Price-amount bdi,
.ef-cart__totals .woocommerce-Price-currencySymbol,
body.ef-cart-page .cart_totals .amount,
body.ef-cart-page .cart_totals .woocommerce-Price-amount,
body.ef-cart-page .cart_totals .woocommerce-Price-amount bdi,
body.ef-cart-page .cart_totals .woocommerce-Price-currencySymbol {
	font-family: var(--ef-font) !important;
	font-style: normal !important;
	font-weight: 700 !important;
	color: var(--ef-ink) !important;
	letter-spacing: 0 !important;
}

body.ef-cart-page .cart_totals tr.order-total .amount,
body.ef-cart-page .cart_totals tr.order-total .woocommerce-Price-amount,
body.ef-cart-page .cart_totals tr.order-total .woocommerce-Price-amount bdi,
body.ef-cart-page .cart_totals tr.order-total .woocommerce-Price-currencySymbol,
.ef-cart__totals-table tr.order-total .amount,
.ef-cart__totals-table tr.order-total .woocommerce-Price-amount,
.ef-cart__totals-table tr.order-total .woocommerce-Price-amount bdi,
.ef-cart__totals-table tr.order-total .woocommerce-Price-currencySymbol {
	font-size: 18px !important;
	font-weight: 800 !important;
}

/* Subtotal + shipping rows removed from template; keep CSS fallback */
body.ef-cart-page .cart_totals tr.cart-subtotal,
body.ef-cart-page .cart_totals tr.woocommerce-shipping-totals,
body.ef-cart-page .cart_totals tr.shipping {
	display: none !important;
}

.ef-cart__checkout {
	margin-top: auto !important;
	padding: 0 !important;
	width: 100% !important;
	overflow: visible !important;
}

.ef-cart__checkout .checkout-button,
.ef-cart__checkout a.checkout-button,
body.ef-cart-page .wc-proceed-to-checkout a.checkout-button,
body.ef-cart-page a.checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 52px !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	padding: 14px 18px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	font-family: var(--ef-font) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-decoration: none !important;
	text-align: center !important;
	white-space: normal !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}

.ef-cart__checkout .checkout-button:hover,
.ef-cart__checkout a.checkout-button:hover,
body.ef-cart-page .wc-proceed-to-checkout a.checkout-button:hover,
body.ef-cart-page a.checkout-button:hover {
	background: var(--ef-red) !important;
	color: #fff !important;
}

/* Empty */
.ef-cart--empty {
	max-width: 640px;
	margin: 0 auto;
}

.ef-cart__empty-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	padding: 56px 28px;
	border: 1px solid var(--ef-line);
	border-radius: 20px;
	background: #fff;
	text-align: center;
}

.ef-cart__empty-card .cart-empty,
.ef-cart__empty-card .woocommerce-info {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: var(--ef-font) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
}

.ef-cart__empty-card .cart-empty::before,
.ef-cart__empty-card .woocommerce-info::before {
	display: none !important;
}

.ef-cart__empty-cta {
	margin: 0 !important;
}

.ef-cart__empty-cta .button {
	display: inline-flex !important;
	min-height: 48px !important;
	padding: 12px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

@media (max-width: 900px) {
	.ef-cart__layout {
		grid-template-columns: 1fr !important;
		gap: 16px;
	}

	.ef-cart__aside,
	.ef-cart__totals {
		position: static;
	}

	.ef-cart__item {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 12px;
		padding: 12px;
		align-items: start;
	}

	.ef-cart__thumb {
		width: 72px;
		height: 72px;
		min-width: 72px;
		max-width: 72px;
	}

	.ef-cart__thumb a,
	.ef-cart__thumb img {
		width: 72px;
		height: 72px;
		max-width: 72px;
		border-radius: 10px;
	}

	.ef-cart__info {
		min-width: 0;
		overflow: hidden;
	}

	.ef-cart__name,
	.ef-cart__name a {
		font-size: 15px !important;
		line-height: 1.25 !important;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.ef-cart__price {
		margin: 0 0 10px;
		font-size: 14px;
	}
}

/* ???????????????????????????????????????
   Checkout (/checkout-2/) ? Blocks
   ??????????????????????????????????????? */
body.ef-checkout-page,
body.woocommerce-checkout {
	font-family: var(--ef-font) !important;
}

/* Empty checkout — only when cart is empty (do not restyle validation errors) */
body.ef-checkout--empty .woocommerce-notices-wrapper:has(.woocommerce-error),
body.woocommerce-checkout:has(.ef-checkout-empty__text) .woocommerce-notices-wrapper:has(.woocommerce-error) {
	max-width: 640px;
	margin: 0 auto 24px;
}

body.ef-checkout--empty .woocommerce-error,
body.woocommerce-checkout:has(.ef-checkout-empty__text) .woocommerce-error {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 18px !important;
	max-width: 640px !important;
	margin: 0 auto 24px !important;
	padding: 56px 28px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 20px !important;
	background: #fff !important;
	box-shadow: none !important;
	list-style: none !important;
	text-align: center !important;
}

body.ef-checkout--empty .woocommerce-error::before,
body.woocommerce-checkout:has(.ef-checkout-empty__text) .woocommerce-error::before {
	display: none !important;
}

body.ef-checkout--empty .woocommerce-error li,
body.woocommerce-checkout:has(.ef-checkout-empty__text) .woocommerce-error li {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
}

body.ef-checkout--empty .ef-checkout-empty__text,
body.woocommerce-checkout .ef-checkout-empty__text {
	display: block !important;
	margin: 0 !important;
	font-family: var(--ef-font) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	color: var(--ef-ink) !important;
}

body.ef-checkout--empty a.ef-checkout-empty__btn,
body.ef-checkout--empty .woocommerce-error a.wc-backward,
body.woocommerce-checkout a.ef-checkout-empty__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 12px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

body.ef-checkout--empty a.ef-checkout-empty__btn:hover,
body.ef-checkout--empty .woocommerce-error a.wc-backward:hover,
body.woocommerce-checkout a.ef-checkout-empty__btn:hover {
	background: var(--ef-red) !important;
	color: #fff !important;
	opacity: 1;
}

/* Order summary: hide subtotal + shipping, keep ??????? */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-subtotal-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-shipping-block,
body.woocommerce-checkout .wc-block-components-totals-item.wc-block-components-totals-subtotal,
body.woocommerce-checkout .wc-block-components-totals-shipping {
	display: none !important;
}

/* Hide FREE / ??????????? next to shipping rates */
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
body.woocommerce-checkout .wc-block-components-local-pickup-select .wc-block-components-radio-control__secondary-label,
body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-formatted-money-amount {
	display: none !important;
}

/* Classic checkout table fallback */
body.woocommerce-checkout table.shop_table tr.cart-subtotal,
body.woocommerce-checkout table.shop_table tr.woocommerce-shipping-totals,
body.woocommerce-checkout table.shop_table tr.shipping {
	display: none !important;
}

/* Classic checkout form ? name/phone half, address+district full */
body.ef-checkout-page .ef-checkout-hidden,
body.woocommerce-checkout .ef-checkout-hidden,
body.woocommerce-checkout .woocommerce-billing-fields #billing_last_name_field,
body.woocommerce-checkout .woocommerce-billing-fields #billing_company_field,
body.woocommerce-checkout .woocommerce-billing-fields #billing_address_2_field,
body.woocommerce-checkout .woocommerce-billing-fields #billing_postcode_field,
body.woocommerce-checkout .woocommerce-billing-fields #billing_state_field,
body.woocommerce-checkout .woocommerce-billing-fields #billing_country_field,
body.woocommerce-checkout .woocommerce-billing-fields #billing_email_field,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #ship-to-different-address {
	display: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0 12px !important;
	font-family: var(--ef-font) !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::before,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
	float: none !important;
	clear: none !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .ef-checkout-half {
	width: calc(50% - 6px) !important;
	flex: 0 0 calc(50% - 6px) !important;
	max-width: calc(50% - 6px) !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .ef-checkout-full {
	width: 100% !important;
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

body.woocommerce-checkout .woocommerce-checkout .col2-set,
body.woocommerce-checkout form.checkout {
	font-family: var(--ef-font) !important;
}

body.woocommerce-checkout .form-row label {
	font-family: var(--ef-font) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea {
	width: 100% !important;
	min-height: 48px !important;
	padding: 12px 16px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 999px !important;
	font-family: var(--ef-font) !important;
	font-size: 15px !important;
	font-style: normal !important;
	color: var(--ef-ink) !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .form-row input.input-text::placeholder,
body.woocommerce-checkout .form-row textarea::placeholder {
	color: var(--ef-muted) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .ef-checkout-district,
body.woocommerce-checkout #billing_city_field {
	width: 100% !important;
	max-width: 100% !important;
}

body.woocommerce-checkout .ef-checkout-district select,
body.woocommerce-checkout #billing_city,
body.woocommerce-checkout select.ef-checkout-select,
body.woocommerce-checkout .form-row select {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px !important;
	padding: 12px 44px 12px 16px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 999px !important;
	font-family: var(--ef-font) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	color: var(--ef-ink) !important;
	background-color: #fff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23292828' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 18px 18px !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	cursor: pointer !important;
}

/* Empty district = same grey italic placeholder as inputs */
body.woocommerce-checkout #billing_city.ef-is-placeholder,
body.woocommerce-checkout select.ef-checkout-select.ef-is-placeholder {
	color: var(--ef-muted) !important;
	font-style: italic !important;
	font-weight: 400 !important;
}

body.woocommerce-checkout #billing_city option,
body.woocommerce-checkout select.ef-checkout-select option {
	color: var(--ef-ink);
	font-style: normal;
	font-weight: 600;
}

body.woocommerce-checkout #billing_city option[value=""],
body.woocommerce-checkout select.ef-checkout-select option[value=""] {
	color: var(--ef-muted);
	font-style: italic;
	font-weight: 400;
}

/* Bridge page title on checkout */
body.woocommerce-checkout .title_outer .page_title,
body.woocommerce-checkout .title_outer h1,
body.ef-checkout-page .title_outer .page_title,
body.ef-checkout-page .title_outer h1 {
	font-family: var(--ef-font) !important;
}

body.woocommerce-checkout .ef-checkout-district select:focus,
body.woocommerce-checkout #billing_city:focus,
body.woocommerce-checkout .form-row input.input-text:focus {
	border-color: var(--ef-ink) !important;
	outline: none !important;
}

body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .ef-checkout__section-title {
	font-family: var(--ef-font) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--ef-ink) !important;
	margin: 0 0 14px !important;
}

/* Checkout 2-col layout: form+ship+pay | order */
body.woocommerce-checkout form.checkout.ef-checkout,
body.woocommerce-checkout form.ef-checkout {
	display: block !important;
	width: 100% !important;
	max-width: min(1180px, 100%) !important;
	margin: 0 auto !important;
}

body.woocommerce-checkout .ef-checkout__layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr) !important;
	gap: 28px !important;
	align-items: start !important;
	width: 100% !important;
}

body.woocommerce-checkout .ef-checkout__main,
body.woocommerce-checkout .ef-checkout__aside {
	min-width: 0 !important;
	width: 100% !important;
}

body.woocommerce-checkout .ef-checkout__aside {
	position: sticky;
	top: calc(var(--ef-offset, 88px) + 16px);
	padding: 20px;
	border: 1px solid var(--ef-line);
	border-radius: 16px;
	background: #fff;
}

body.woocommerce-checkout .ef-checkout__shipping,
body.woocommerce-checkout .ef-checkout__payment-wrap {
	margin-top: 28px;
}

body.woocommerce-checkout .ef-checkout__section-title {
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Match shipping: no extra gap under «Оплата» heading */
body.woocommerce-checkout .ef-checkout__payment-wrap #payment,
body.woocommerce-checkout .ef-checkout__payment,
body.woocommerce-checkout #payment.woocommerce-checkout-payment {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .ef-checkout__payment ul.payment_methods {
	margin: 0 0 16px !important;
	padding: 0 !important;
	list-style: none !important;
	border: 0 !important;
}

/* Hide Woo ????????????? / Shipping? label above rates */
body.woocommerce-checkout .ef-checkout__shipping-methods th,
body.woocommerce-checkout .ef-checkout__shipping-methods .woocommerce-shipping-totals > th,
body.woocommerce-checkout .ef-checkout__shipping .woocommerce-shipping-destination,
body.woocommerce-checkout .ef-checkout__shipping .shipping-calculator-button {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

body.woocommerce-checkout .ef-checkout__shipping-methods table,
body.woocommerce-checkout .ef-checkout__shipping-methods tbody,
body.woocommerce-checkout .ef-checkout__shipping-methods tr,
body.woocommerce-checkout .ef-checkout__shipping-methods td {
	display: block !important;
	width: 100% !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}

body.woocommerce-checkout .ef-checkout__shipping-methods ul#shipping_method,
body.woocommerce-checkout .ef-checkout__shipping-methods ul.woocommerce-shipping-methods {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

body.woocommerce-checkout .ef-checkout__shipping-methods li {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	font-family: var(--ef-font) !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
	cursor: pointer;
}

body.woocommerce-checkout .ef-checkout__shipping-methods li:has(input:checked) {
	border-color: var(--ef-ink) !important;
	background: #faf9f7 !important;
	box-shadow: 0 0 0 1px var(--ef-ink);
}

body.woocommerce-checkout .ef-checkout__shipping-methods li label {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--ef-ink) !important;
	cursor: pointer !important;
}

body.woocommerce-checkout .ef-checkout__shipping-methods .amount,
body.woocommerce-checkout .ef-checkout__shipping-methods .woocommerce-Price-amount {
	display: none !important;
}

/* Dark radios (shipping + payment) */
body.woocommerce-checkout .ef-checkout__shipping-methods input[type="radio"],
body.woocommerce-checkout .ef-checkout__payment input[type="radio"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	margin: 0 !important;
	border: 2px solid #cfc9c2 !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: none !important;
	outline: none !important;
	cursor: pointer !important;
	accent-color: var(--ef-ink);
}

body.woocommerce-checkout .ef-checkout__shipping-methods input[type="radio"]:checked,
body.woocommerce-checkout .ef-checkout__payment input[type="radio"]:checked {
	border-color: var(--ef-ink) !important;
	background:
		radial-gradient(circle at center, var(--ef-ink) 0 45%, transparent 48%) !important;
}

body.woocommerce-checkout .ef-checkout__payment ul.payment_methods {
	margin: 0 0 16px !important;
	padding: 0 !important;
	list-style: none !important;
	border: 0 !important;
}

body.woocommerce-checkout .ef-checkout__payment ul.payment_methods > li {
	margin: 0 0 10px !important;
	padding: 14px 16px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
}

body.woocommerce-checkout .ef-checkout__payment ul.payment_methods > li:has(input:checked) {
	border-color: var(--ef-ink) !important;
	box-shadow: 0 0 0 1px var(--ef-ink);
}

body.woocommerce-checkout .ef-checkout__payment ul.payment_methods > li > label {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	font-family: var(--ef-font) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--ef-ink) !important;
	cursor: pointer !important;
}

body.woocommerce-checkout .ef-checkout__payment .payment_box {
	margin: 12px 0 0 !important;
	padding: 12px 14px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--ef-cream) !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: var(--ef-muted) !important;
}

body.woocommerce-checkout .ef-checkout__payment .payment_box::before {
	display: none !important;
}

body.woocommerce-checkout .ef-checkout__payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce-privacy-policy-link,
body.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

body.woocommerce-checkout .ef-checkout__submit,
body.woocommerce-checkout #place_order {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 14px 18px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ef-red) !important;
	color: #fff !important;
	font-family: var(--ef-font) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
}

body.woocommerce-checkout .ef-checkout__review-table {
	width: 100% !important;
	border: 0 !important;
	margin: 0 !important;
}

body.woocommerce-checkout .ef-checkout__review-table th,
body.woocommerce-checkout .ef-checkout__review-table td {
	padding: 10px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ef-line) !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	background: transparent !important;
	vertical-align: top !important;
}

body.woocommerce-checkout .ef-checkout__review-table thead {
	display: none !important;
}

body.woocommerce-checkout .ef-checkout__review-table .product-name {
	text-align: left !important;
	font-weight: 700 !important;
	color: var(--ef-ink) !important;
}

body.woocommerce-checkout .ef-checkout__review-table .product-total,
body.woocommerce-checkout .ef-checkout__review-table tfoot td {
	text-align: right !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
}

body.woocommerce-checkout .ef-checkout__review-table tr.order-total th,
body.woocommerce-checkout .ef-checkout__review-table tr.order-total td {
	border-bottom: 0 !important;
	padding-top: 14px !important;
	font-size: 17px !important;
	font-weight: 800 !important;
}

/* Same typeface for line prices + «Разом до сплати» (Woo ₴/bdi fallback) */
body.woocommerce-checkout .ef-checkout__review-table .amount,
body.woocommerce-checkout .ef-checkout__review-table .woocommerce-Price-amount,
body.woocommerce-checkout .ef-checkout__review-table .woocommerce-Price-amount bdi,
body.woocommerce-checkout .ef-checkout__review-table .woocommerce-Price-currencySymbol {
	font-family: var(--ef-font) !important;
	font-style: normal !important;
	font-weight: 700 !important;
	color: var(--ef-ink) !important;
	letter-spacing: 0 !important;
}

body.woocommerce-checkout .ef-checkout__review-table tr.order-total .amount,
body.woocommerce-checkout .ef-checkout__review-table tr.order-total .woocommerce-Price-amount,
body.woocommerce-checkout .ef-checkout__review-table tr.order-total .woocommerce-Price-amount bdi,
body.woocommerce-checkout .ef-checkout__review-table tr.order-total .woocommerce-Price-currencySymbol {
	font-size: 17px !important;
	font-weight: 800 !important;
}

body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col-1,
body.woocommerce-checkout .col-2 {
	width: 100% !important;
	float: none !important;
}

@media (max-width: 900px) {
	body.woocommerce-checkout .ef-checkout__layout {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		width: 100% !important;
	}

	body.woocommerce-checkout .ef-checkout__aside {
		position: static;
		order: -1;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-checkout form.checkout.ef-checkout,
	body.woocommerce-checkout form.ef-checkout {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	body.ef-checkout-page .container_inner.default_template_holder,
	body.ef-checkout-page .content .container,
	body.woocommerce-checkout .container_inner.default_template_holder,
	body.woocommerce-checkout .content .container,
	body.woocommerce-checkout .content .container_inner {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 16px 12px 48px !important;
		box-sizing: border-box !important;
		float: none !important;
	}

	body.woocommerce-checkout .content,
	body.woocommerce-checkout .content_inner,
	body.ef-checkout-page .content,
	body.ef-checkout-page .content_inner {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
	}

	body.woocommerce-checkout .ef-checkout__main,
	body.woocommerce-checkout .ef-checkout__aside,
	body.woocommerce-checkout .ef-checkout__shipping-methods li,
	body.woocommerce-checkout .ef-checkout__payment ul.payment_methods > li,
	body.woocommerce-checkout .ef-checkout__submit,
	body.woocommerce-checkout #place_order {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}



/* ═══════════════════════════════════════
   Thank you / order received
   ═══════════════════════════════════════ */
body.woocommerce-order-received .title_outer,
body.woocommerce-checkout.woocommerce-order-received .title_outer {
	display: none !important;
}

body.woocommerce-order-received .container_inner.default_template_holder,
body.woocommerce-order-received .content .container {
	max-width: min(920px, 100%) !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 28px 20px 72px !important;
	box-sizing: border-box !important;
	float: none !important;
}

.ef-thankyou {
	font-family: var(--ef-font) !important;
	color: var(--ef-ink);
}

.ef-thankyou__hero {
	margin: 0 0 24px;
	padding: 28px 24px;
	border-radius: 20px;
	background:
		linear-gradient(180deg, #fff 0%, var(--ef-cream) 100%);
	border: 1px solid var(--ef-line);
	text-align: left;
}

.ef-thankyou__eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ef-muted);
}

.ef-thankyou__title {
	margin: 0 0 10px;
	font-family: var(--ef-font) !important;
	font-size: clamp(26px, 4vw, 36px);
	font-weight: 800;
	line-height: 1.15;
	color: var(--ef-ink);
	text-transform: none !important;
}

.ef-thankyou__lead {
	margin: 0;
	max-width: 36em;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--ef-muted);
}

.ef-thankyou__meta {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 28px !important;
	padding: 0 !important;
	list-style: none !important;
	border: 0 !important;
}

.ef-thankyou__meta::before,
.ef-thankyou__meta::after {
	display: none !important;
	content: none !important;
}

.ef-thankyou__meta li {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 14px !important;
	background: #fff !important;
	float: none !important;
	width: auto !important;
	text-transform: none !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
}

.ef-thankyou__meta-label,
.ef-thankyou__meta li > span:first-child {
	display: block;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ef-muted) !important;
}

.ef-thankyou__meta li strong {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--ef-ink) !important;
}

.ef-thankyou__grid .woocommerce-order-details,
.ef-thankyou__customer {
	margin: 0 0 18px;
	padding: 20px;
	border: 1px solid var(--ef-line);
	border-radius: 16px;
	background: #fff;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow: hidden;
	float: none !important;
}

.ef-thankyou__customer .col2-set,
.ef-thankyou__customer .col-1,
.ef-thankyou__customer .col-2,
.ef-thankyou__customer .woocommerce-columns,
.ef-thankyou__customer .woocommerce-column,
.ef-thankyou__address,
.ef-thankyou__address-card {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

.ef-thankyou__customer-address,
.ef-thankyou__customer address {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ef-thankyou__contact-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ef-thankyou__contact-row {
	display: grid;
	grid-template-columns: minmax(110px, 34%) minmax(0, 1fr);
	gap: 12px;
	align-items: baseline;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--ef-line);
}

.ef-thankyou__contact-row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.ef-thankyou__contact-row:first-child {
	padding-top: 0;
}

.ef-thankyou__contact-label {
	font-family: var(--ef-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ef-muted);
}

.ef-thankyou__contact-value {
	font-family: var(--ef-font);
	font-size: 15px;
	font-weight: 700;
	color: var(--ef-ink);
	overflow-wrap: anywhere;
	word-break: break-word;
}

@media (max-width: 520px) {
	.ef-thankyou__contact-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}

/* Hide leftover total rows if default template leaks through */
body.woocommerce-order-received .woocommerce-table--order-details tr.cart_subtotal,
body.woocommerce-order-received .woocommerce-table--order-details tr.cart-subtotal,
body.woocommerce-order-received .woocommerce-table--order-details tr.shipping,
body.woocommerce-order-received .woocommerce-table--order-details tr.payment_method,
.ef-thankyou .woocommerce-table--order-details tr.cart_subtotal,
.ef-thankyou .shop_table tfoot tr.cart_subtotal,
.ef-thankyou .shop_table tfoot tr.shipping,
.ef-thankyou .shop_table tfoot tr.payment_method {
	display: none !important;
}

.ef-thankyou .woocommerce-order-details__title,
.ef-thankyou .woocommerce-column__title,
.ef-thankyou h2 {
	margin: 0 0 14px !important;
	font-family: var(--ef-font) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase !important;
	color: var(--ef-ink) !important;
}

.ef-thankyou .woocommerce-table--order-details,
.ef-thankyou .shop_table {
	width: 100% !important;
	border: 0 !important;
	margin: 0 !important;
}

.ef-thankyou .woocommerce-table--order-details th,
.ef-thankyou .woocommerce-table--order-details td,
.ef-thankyou .shop_table th,
.ef-thankyou .shop_table td {
	padding: 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ef-line) !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	background: transparent !important;
	vertical-align: top !important;
}

.ef-thankyou .woocommerce-table--order-details tfoot tr:last-child th,
.ef-thankyou .woocommerce-table--order-details tfoot tr:last-child td,
.ef-thankyou .shop_table tfoot tr:last-child th,
.ef-thankyou .shop_table tfoot tr:last-child td {
	border-bottom: 0 !important;
	padding-top: 16px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
}

.ef-thankyou address {
	font-style: normal !important;
	font-family: var(--ef-font) !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
	color: var(--ef-ink) !important;
}

.ef-thankyou .woocommerce-customer-details--phone,
.ef-thankyou .woocommerce-customer-details--email {
	margin: 8px 0 0 !important;
	color: var(--ef-muted) !important;
}

/* Never show shipping address on thank-you */
body.woocommerce-order-received .woocommerce-column--shipping-address,
body.woocommerce-order-received .woocommerce-customer-details .col-2,
.ef-thankyou .woocommerce-column--shipping-address {
	display: none !important;
}

/* Hide leftover BACS instruction above order details */
.ef-thankyou .woocommerce-bacs-bank-details,
.ef-thankyou__details > p,
.ef-thankyou__details > .woocommerce-notice {
	display: none !important;
}

.ef-thankyou__back {
	margin: 28px 0 0;
	text-align: center;
}

.ef-thankyou__back-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	background: var(--ef-red);
	color: #fff !important;
	font-family: var(--ef-font);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}

.ef-thankyou__back-link:hover {
	color: #fff !important;
}

@media (max-width: 767px) {
	body.woocommerce-order-received .container_inner.default_template_holder,
	body.woocommerce-order-received .content .container {
		max-width: 100% !important;
		padding: 16px 12px 56px !important;
	}

	.ef-thankyou__hero {
		padding: 22px 18px;
		border-radius: 16px;
	}

	.ef-thankyou__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px;
	}

	.ef-thankyou__grid .woocommerce-order-details,
	.ef-thankyou__customer {
		padding: 16px;
		border-radius: 14px;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.ef-thankyou__back-link {
		width: 100%;
	}
}

/* ==========================================================================
   Mini-cart layout restore (AO-safe, no :is() — portaled cart on body)
   ========================================================================== */
body.ef-mini-cart-open .elementor-menu-cart__container,
.elementor-menu-cart__container.ef-mini-cart-portal {
	font-family: var(--ef-font) !important;
	box-sizing: border-box !important;
}

body.ef-mini-cart-open .elementor-menu-cart__main,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__main {
	background: var(--ef-white) !important;
	border: 1px solid var(--ef-line) !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 48px rgba(20, 20, 20, 0.12) !important;
	padding: 0 !important;
	overflow: hidden !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: min(70vh, 520px) !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
}

body.ef-mini-cart-open .elementor-menu-cart__product,
body.ef-mini-cart-open .woocommerce-mini-cart-item,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__product,
.elementor-menu-cart__container.ef-mini-cart-portal .woocommerce-mini-cart-item {
	display: grid !important;
	grid-template-columns: 64px minmax(0, 1fr) 28px !important;
	grid-template-areas:
		"thumb name remove"
		"thumb meta remove" !important;
	column-gap: 12px !important;
	row-gap: 4px !important;
	align-items: start !important;
	padding: 14px 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--ef-line) !important;
	background: transparent !important;
	position: relative !important;
	float: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

body.ef-mini-cart-open .elementor-menu-cart__product-image,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__product-image {
	grid-area: thumb !important;
	display: block !important;
	width: 64px !important;
	height: 64px !important;
	margin: 0 !important;
	overflow: hidden !important;
	border-radius: 12px !important;
	border: 1px solid var(--ef-line) !important;
	background: var(--ef-cream) !important;
	float: none !important;
	position: static !important;
}

body.ef-mini-cart-open .elementor-menu-cart__product-image img,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__product-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}

body.ef-mini-cart-open .elementor-menu-cart__product-name,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__product-name {
	grid-area: name !important;
	margin: 0 !important;
	padding: 0 8px 0 0 !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	font-family: var(--ef-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--ef-ink) !important;
}

body.ef-mini-cart-open .elementor-menu-cart__product-price,
body.ef-mini-cart-open .woocommerce-mini-cart-item .quantity,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__product-price,
.elementor-menu-cart__container.ef-mini-cart-portal .woocommerce-mini-cart-item .quantity {
	grid-area: meta !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: var(--ef-font) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	color: var(--ef-muted) !important;
	white-space: normal !important;
}

body.ef-mini-cart-open .elementor-menu-cart__product-price .amount,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__product-price .amount {
	color: var(--ef-ink) !important;
	font-weight: 700 !important;
}

body.ef-mini-cart-open .elementor-menu-cart__product .remove,
body.ef-mini-cart-open .woocommerce-mini-cart-item .remove,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__product .remove,
.elementor-menu-cart__container.ef-mini-cart-portal .woocommerce-mini-cart-item .remove {
	grid-area: remove !important;
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	float: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 999px !important;
	border: 1px solid var(--ef-line) !important;
	background: var(--ef-cream) !important;
	color: var(--ef-muted) !important;
	font-size: 16px !important;
	line-height: 1 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

body.ef-mini-cart-open .elementor-menu-cart__products,
body.ef-mini-cart-open .woocommerce-mini-cart,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__products,
.elementor-menu-cart__container.ef-mini-cart-portal .woocommerce-mini-cart {
	margin: 0 !important;
	padding: 20px 18px 8px !important;
	list-style: none !important;
}

body.ef-mini-cart-open .elementor-menu-cart__subtotal,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__subtotal {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	margin: 0 !important;
	padding: 16px 18px !important;
	border-top: 1px solid var(--ef-line) !important;
	background: var(--ef-cream) !important;
}

body.ef-mini-cart-open .elementor-menu-cart__footer-buttons,
.elementor-menu-cart__container.ef-mini-cart-portal .elementor-menu-cart__footer-buttons {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 14px 18px 18px !important;
	background: var(--ef-cream) !important;
	border-top: 0 !important;
}
