/**
 * Yumeki Addon — all frontend styles (single file)
 * Version: 2.6.0 — mobile: no grid zoom / hover steal; tap navigates
 */

/* --------------------------------------------------------------------------
 * Site
 * -------------------------------------------------------------------------- */
a {
	color: #000;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
	color: #000 !important;
}

/* Grid cards — hover zoom (from customizer; class on Elementor container) */
.grid-element-zoom,
.e-con.grid-element-zoom {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	min-height: 420px;
}

/* Category zoom grid — 2 columns between tablet and small desktop */
@media (min-width: 1024px) and (max-width: 1280px) {
	.e-con:has(> .e-con.grid-element-zoom),
	.e-con:has(> .grid-element-zoom),
	.e-grid:has(.e-con.grid-element-zoom),
	.e-grid:has(.grid-element-zoom) {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		--e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.grid-element-zoom,
	.e-con.grid-element-zoom {
		aspect-ratio: 4 / 5;
		min-height: 400px;
		max-height: 680px !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: unset !important;
	}
}

.grid-element-zoom::before,
.e-con.grid-element-zoom::before {
	content: "";
	position: absolute;
	inset: 0;
	background: inherit;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	transform: scale(1);
	transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1);
	z-index: 0;
	will-change: transform;
	pointer-events: none;
}

.grid-element-zoom > *,
.e-con.grid-element-zoom > * {
	position: relative;
	z-index: 1;
}

/* Fallback: image widget inside grid card */
.grid-element-zoom .elementor-widget-image img,
.e-con.grid-element-zoom .elementor-widget-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* Hover zoom — desktop only (touch :hover steals the first tap) */
@media (hover: hover) and (pointer: fine) {
	.grid-element-zoom:hover::before,
	.e-con.grid-element-zoom:hover::before {
		transform: scale(1.08);
	}

	.grid-element-zoom:hover .elementor-widget-image img,
	.e-con.grid-element-zoom:hover .elementor-widget-image img {
		transform: scale(1.08);
	}
}

/* Mobile / touch: no zoom motion, tap navigates immediately */
@media (max-width: 767px), (hover: none) {
	.grid-element-zoom::before,
	.e-con.grid-element-zoom::before,
	.grid-element-zoom .elementor-widget-image img,
	.e-con.grid-element-zoom .elementor-widget-image img {
		transform: none !important;
		transition: none !important;
		will-change: auto;
	}
}

/* Text editor styled as button (class: yumeki-btn on widget) */
.yumeki-btn.elementor-widget-text-editor {
	width: auto !important;
	max-width: max-content;
	flex: 0 0 auto !important;
}

.yumeki-btn .elementor-widget-container {
	display: inline-block;
	width: auto !important;
	max-width: max-content;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.yumeki-btn p {
	display: inline-block;
	margin: 0 !important;
	padding: 0.5rem 1rem !important;
	background-color: transparent !important;
	border: 2px solid #fff !important;
	border-radius: 0 !important;
	color: #fff !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.yumeki-btn:focus-within p {
	background-color: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
}

@media (hover: hover) and (pointer: fine) {
	.yumeki-btn:hover p,
	a.grid-element-zoom:hover .yumeki-btn p,
	.grid-element-zoom:hover .yumeki-btn p {
		background-color: #000 !important;
		border-color: #000 !important;
		color: #fff !important;
	}
}

/* Grid cards — center CTA (button + yumeki-btn) */
a.grid-element-zoom.e-flex,
.e-con.grid-element-zoom.e-flex {
	justify-content: center !important;
	align-items: center !important;
}

.grid-element-zoom .yumeki-btn.elementor-widget-text-editor,
a.grid-element-zoom .yumeki-btn.elementor-widget-text-editor {
	align-self: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Grid cards — category buttons */
.grid-element-zoom .elementor-element .elementor-button,
.e-con.grid-element-zoom .elementor-element .elementor-button {
	background-color: transparent !important;
	border: 2px solid #fff !important;
	border-radius: 0 !important;
	color: #fff !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.grid-element-zoom .elementor-element .elementor-button:focus,
.e-con.grid-element-zoom .elementor-element .elementor-button:focus {
	background-color: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

.grid-element-zoom .elementor-element .elementor-button:focus .elementor-button-text,
.e-con.grid-element-zoom .elementor-element .elementor-button:focus .elementor-button-text {
	color: #fff !important;
}

@media (hover: hover) and (pointer: fine) {
	.grid-element-zoom .elementor-element .elementor-button:hover,
	.e-con.grid-element-zoom .elementor-element .elementor-button:hover {
		background-color: #000 !important;
		border-color: #000 !important;
		color: #fff !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	.grid-element-zoom .elementor-element .elementor-button:hover .elementor-button-text,
	.e-con.grid-element-zoom .elementor-element .elementor-button:hover .elementor-button-text {
		color: #fff !important;
	}
}

/* Elementor Loop Grid — equal-height images + zoom (class: element-zoom on featured image) */
.elementor-loop-container.elementor-grid {
	align-items: stretch;
}

.elementor-loop-container.elementor-grid .e-loop-item > a.e-con,
.elementor-loop-container.elementor-grid .e-loop-item > .e-con {
	height: 100%;
}

.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-theme-post-featured-image,
.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-image {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	min-height: 280px;
	line-height: 0;
}

.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-theme-post-featured-image img,
.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1);
	will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
	.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-theme-post-featured-image:hover img,
	.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-image:hover img {
		transform: scale(1.08);
	}
}

@media (max-width: 767px), (hover: none) {
	.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-theme-post-featured-image img,
	.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-image img {
		transform: none !important;
		transition: none !important;
		will-change: auto;
	}
}

/* Elementor Loop Grid — title + price row (no price wrap) */
.e-loop-item.product.type-product .product-loop-info {
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 0.75rem;
	padding: 10px;
	margin: 0;
}

.e-loop-item.product.type-product .product-loop-info .elementor-widget-theme-post-title,
.e-loop-item.product.type-product .product-loop-info .elementor-widget-woocommerce-product-price {
	align-self: flex-start;
	margin: 0;
}

.e-loop-item.product.type-product .product-loop-info .elementor-widget-theme-post-title {
	flex: 1 1 auto;
	min-width: 0;
}

.e-loop-item.product.type-product .product-loop-info .elementor-widget-woocommerce-product-price {
	flex: 0 0 auto;
	flex-shrink: 0;
}

.e-loop-item.product.type-product .product-loop-info .elementor-widget-theme-post-title .elementor-widget-container,
.e-loop-item.product.type-product .product-loop-info .elementor-widget-woocommerce-product-price .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.e-loop-item.product.type-product .product-loop-info .elementor-heading-title,
.e-loop-item.product.type-product .product-loop-info .price {
	margin: 0 !important;
	margin-block: 0 !important;
	padding: 0 !important;
	line-height: 1.3;
}

.e-loop-item.product.type-product .product-loop-info .price .amount,
.e-loop-item.product.type-product .product-loop-info .price bdi {
	line-height: inherit;
	display: inline;
	vertical-align: top;
}

.e-loop-item.product.type-product .product-loop-info .price,
.e-loop-item.product.type-product .product-loop-info .price .amount,
.e-loop-item.product.type-product .product-loop-info .price bdi,
.e-loop-item.product.type-product .product-loop-info .woocommerce-Price-amount,
.e-loop-item.product.type-product .product-loop-info .woocommerce-Price-currencySymbol {
	white-space: nowrap;
	word-break: keep-all;
}

/* Header — tighter main nav between tablet and small desktop */
@media (min-width: 1024px) and (max-width: 1260px) {
	.elementor-location-header .elementor-nav-menu--main .elementor-item,
	.elementor-location-header .elementor-nav-menu .elementor-item {
		font-size: 17px !important;
	}

	.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu a,
	.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu a.highlighted,
	.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu a:focus,
	.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu a:hover {
		padding: 13px 6px !important;
	}
}

/* Header — cart left of burger menu on tablet/mobile (DOM order is menu then cart) */
@media (max-width: 1024px) {
	.meny-icon-container {
		display: flex;
		flex-direction: row;
		align-items: center;
	}

	.meny-icon-container > .elementor-widget-woocommerce-menu-cart {
		order: 1;
	}

	.meny-icon-container > .elementor-widget-nav-menu {
		order: 2;
		position: relative;
		top: -8px;
	}

	.elementor-nav-menu--stretch .elementor-nav-menu__container.elementor-nav-menu--dropdown,
	.elementor-nav-menu__container.elementor-nav-menu--dropdown {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: auto !important;
		width: 100vw !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		height: 100vh !important;
		height: 100dvh !important;
		margin: 0 !important;
		padding-top: 0 !important;
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
		transform: none !important;
		z-index: 99998 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		box-sizing: border-box !important;
		background-color: #fff !important;
	}

	.elementor-nav-menu--dropdown .elementor-nav-menu,
	.elementor-nav-menu--dropdown .elementor-nav-menu > li,
	.elementor-nav-menu--dropdown .elementor-nav-menu a {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-nav-menu--dropdown .elementor-item {
		white-space: normal !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown ul.elementor-nav-menu,
	.meny-icon-container .elementor-nav-menu--dropdown ul.elementor-nav-menu {
		margin-top: 140px;
	}

	/* Logged-in: WordPress admin bar — header mobile menu only */
	body.admin-bar .elementor-location-header .elementor-nav-menu--dropdown ul.elementor-nav-menu,
	body.admin-bar .meny-icon-container .elementor-nav-menu--dropdown ul.elementor-nav-menu {
		margin-top: 180px;
	}

	.elementor-nav-menu a,
	.elementor-nav-menu a:focus,
	.elementor-nav-menu a:hover {
		padding: 10px 20px 10px 0;
	}

	.elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="true"] {
		display: none !important;
	}
}

.elementor-menu-cart__toggle.elementor-button-wrapper {
	z-index: 999;
	position: relative;
}

/* --------------------------------------------------------------------------
 * Order received (thank you) page
 * -------------------------------------------------------------------------- */

body.woocommerce-order-received ul.woocommerce-order-overview.woocommerce-thankyou-order-details {
	display: none !important;
}

body.woocommerce-order-received .wp-block-heading {
	display: none !important;
}

/* --------------------------------------------------------------------------
 * My Account (.yumeki-my-account wrapper + page body classes)
 * -------------------------------------------------------------------------- */

.yumeki-my-account .woocommerce-MyAccount-navigation,
.yumeki-my-account .woocommerce-MyAccount-content {
	font-size: calc(1em + 2px);
}

.yumeki-my-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.yumeki-my-account .woocommerce-MyAccount-navigation li {
	margin-bottom: 0.75rem;
}

.yumeki-my-account .woocommerce-MyAccount-navigation li:last-child {
	margin-bottom: 0;
}

.yumeki-my-account .woocommerce-MyAccount-navigation a,
.yumeki-my-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button) {
	color: #000;
	text-decoration: none;
}

.yumeki-my-account .woocommerce-MyAccount-navigation a:hover,
.yumeki-my-account .woocommerce-MyAccount-navigation a:focus,
.yumeki-my-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):hover,
.yumeki-my-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-Button):focus {
	color: #000 !important;
	text-decoration: none;
}

.yumeki-my-account .woocommerce-MyAccount-content h2,
.yumeki-my-account .woocommerce-MyAccount-content .woocommerce-Address-title h2 {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.3;
}

.yumeki-my-account .woocommerce-EditAccountForm fieldset {
	margin-bottom: 1.5rem;
}

.yumeki-my-account .woocommerce-EditAccountForm button[name="save_account_details"],
.yumeki-my-account .woocommerce-EditAccountForm .woocommerce-Button--save {
	margin-top: 1.5rem !important;
}

.yumeki-my-account .password-input {
	position: relative;
	display: block;
	width: 100%;
}

.yumeki-my-account .password-input .woocommerce-Input--password,
.yumeki-my-account .password-input .input-text {
	width: 100%;
	box-sizing: border-box;
	padding-right: 2.75rem !important;
	margin: 0;
}

/* --------------------------------------------------------------------------
 * WooCommerce notices (added to cart, etc.)
 * -------------------------------------------------------------------------- */

body .woocommerce-error,
body .woocommerce-info,
body .woocommerce-message {
	background-color: #f7f7f7 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	outline: none !important;
	box-shadow: none !important;
}

body .woocommerce-message {
	border-top: 3px solid #37553c !important;
	font-weight: 500 !important;
	padding-left: 1em !important;
}

body .woocommerce-message::before {
	display: none !important;
	content: none !important;
}

body .woocommerce-message .button,
body .woocommerce-message a.button,
body .woocommerce-message .button.wc-forward,
body .woocommerce-message a.button.wc-forward {
	font-weight: 500 !important;
}

/* --------------------------------------------------------------------------
 * WooCommerce Blocks — cart page
 * -------------------------------------------------------------------------- */

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart {
	font-family: "Marcellus", sans-serif;
	font-size: 1.0625rem;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart .wc-block-components-product-name a,
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__wrap a {
	color: #000 !important;
	text-decoration: none !important;
	font-size: 1.125rem;
	font-weight: 400;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-product-name a:hover,
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__wrap a:hover {
	color: #4f7049 !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-cart .wc-block-components-product-metadata p,
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__quantity,
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-cart .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-cart .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-cart .wc-block-components-formatted-money-amount {
	font-family: "Marcellus", sans-serif;
	font-size: 1.0625rem;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.25rem;
	font-weight: 600;
}

body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button {
	background: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 0;
	color: #000 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	font-family: "Marcellus", sans-serif;
	font-size: 1.125rem;
	font-weight: 400;
	padding: 0.85em 1.25em;
}

body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button .wc-block-components-button__text {
	color: #000 !important;
	text-decoration: none !important;
	font-size: 1.125rem;
}

body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:focus {
	background: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:hover .wc-block-components-button__text,
body.woocommerce-cart .wc-block-cart__submit-button.wc-block-components-button:focus .wc-block-components-button__text {
	color: #fff !important;
	text-decoration: none !important;
}

/* Empty cart — message only (hide icon, separator, "New in store") */
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	display: none !important;
	content: none !important;
	height: 0 !important;
	margin: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > *:not(.wc-block-cart__empty-cart__title) {
	display: none !important;
}

/* Fallback if products / dots sit outside the empty-cart block */
body.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) .wc-block-product-new,
body.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) .wp-block-separator.is-style-dots {
	display: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	margin: 2rem 0 3rem;
	text-align: center;
}

/* Empty cart — "New in store" product grid (kept for if section is re-enabled) */
body.woocommerce-cart .wc-block-product-new.wc-block-grid {
	width: 100%;
}

body.woocommerce-cart .wc-block-product-new.wc-block-grid .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	margin: 0 !important;
	padding: 0;
	width: 100% !important;
	max-width: none !important;
	flex: none !important;
	text-align: left;
}

body.woocommerce-cart .wc-block-product-new.has-4-columns .wc-block-grid__product {
	max-width: none !important;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-link {
	display: block;
	width: 100%;
	max-width: none !important;
	text-decoration: none !important;
	color: inherit;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-image {
	position: relative;
	display: block;
	width: 100% !important;
	max-width: none !important;
	overflow: hidden;
	aspect-ratio: 340 / 425;
	min-height: 200px;
	line-height: 0;
	margin: 0 0 0.75rem;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-image img {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 100%;
	object-fit: cover;
	object-position: center center;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1);
	will-change: transform;
	margin: 0;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product:hover .wc-block-grid__product-image img {
	transform: scale(1.08);
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-title {
	margin: 0 0 0.35rem;
	padding: 0;
	font-family: "Marcellus", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.3;
	color: #000 !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-link:hover .wc-block-grid__product-title {
	color: #000 !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-price {
	margin: 0 0 0.75rem;
	padding: 0;
	font-size: 1rem;
	font-weight: 400;
	color: #000;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-price .amount,
body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-price .woocommerce-Price-currencySymbol {
	font-weight: 400;
	color: #000;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-add-to-cart {
	margin: 0;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link {
	display: inline-block;
	margin: 0;
	padding: 0.6em 1.2em;
	background: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	color: #000 !important;
	font-family: "Marcellus", sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	line-height: 1.4;
	text-decoration: none !important;
	text-align: center;
	box-shadow: none !important;
	white-space: nowrap;
}

body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.woocommerce-cart .wc-block-product-new .wc-block-grid__product-add-to-cart .wp-block-button__link:focus {
	background: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

@media (max-width: 1023px) {
	body.woocommerce-cart .wc-block-product-new.wc-block-grid .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

@media (max-width: 640px) {
	body.woocommerce-cart .wc-block-product-new.wc-block-grid .wc-block-grid__products {
		grid-template-columns: 1fr;
	}
}

.wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-components-product-metadata__description{
	display: none;
}

.added_to_cart.wc-forward{
	margin-left: 10px;
}

.elementor-widget-woocommerce-product-price p.price {
    padding: 0;
    margin: 0;
}



/* --------------------------------------------------------------------------
 * Yumeki product data
 * -------------------------------------------------------------------------- */

.yumeki-flavour-profile {
	max-width: 760px;
}

.yumeki-flavour-profile > h3 {
	display: none;
}

.yumeki-recommended {
	margin-bottom: 40px;
}

.yumeki-recommended-bar {
	position: relative;
	height: 12px;
	border-radius: 999px;
	margin: 1px 0 12px;
	background: linear-gradient(
		to right,
		#F5F2EB 0%,
		#F5F2EB 25%,
		#a7bd72 25%,
		#a7bd72 50%,
		#69a000 50%,
		#69a000 75%,
		#426600 75%,
		#426600 100%
	);
}

.yumeki-recommended-marker {
	position: absolute;
	top: -32px;
	left: 0;
	width: 0;
	height: 0;
	background: transparent;
	border: 0;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
	border-top: 18px solid #000;
	border-radius: 0;
	transform: translateX(-50%);
}

.yumeki-recommended-labels {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	text-align: center;
	font-weight: 600;
}

.yumeki-recommended-label {
	color: #999;
}

.yumeki-recommended-label.is-active {
	color: #000;
}

.yumeki-flavour-row {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 24px;
	align-items: center;
	margin: 10px 0;
	font-size: 21px;
}

.yumeki-flavour-bar {
	height: 20px;
	background: #e9e9e7;
	border-radius: 999px;
	overflow: hidden;
}

.yumeki-flavour-bar span {
	display: block;
	height: 100%;
	background: #4f7049;
	border-radius: 999px;
}

.wc-block-cart-item__product .wc-block-components-product-metadata__description {
	display: none; 
}

/* --------------------------------------------------------------------------
 * Product information list
 * -------------------------------------------------------------------------- */

.yumeki-product-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 760px;
}

.yumeki-product-list .yumeki-product-info-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: start;
	gap: 15px;
	width: 100%;
	box-sizing: border-box;
}

.yumeki-product-list .yumeki-product-info-row__label {
	flex: 0 0 42%;
	width: 42%;
	max-width: 42%;
	min-width: 0;
	font-weight: 600;
}

.yumeki-product-list .yumeki-product-info-row__value {
	flex: 0 0 58%;
	width: 58%;
	max-width: 58%;
	min-width: 0;
}

/* --------------------------------------------------------------------------
 * Elementor nested accordion
 * -------------------------------------------------------------------------- */

.elementor-widget-n-accordion .e-n-accordion-item.yumeki-accordion-item--empty {
	display: none !important;
}

.single-product .elementor-widget-n-accordion,
.single-product .elementor-widget-n-accordion .yumeki-recommended,
.single-product .elementor-widget-n-accordion .yumeki-flavour-profile,
.single-product .elementor-widget-n-accordion .yumeki-product-list {
	font-family: "Marcellus", sans-serif;
}

.single-product .elementor-widget-n-accordion .e-n-accordion {
	border: 0;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item {
	border: 0 !important;
	border-bottom: 1px solid #d5d2d2 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item:last-child {
	border-bottom: 0 !important;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item + .e-n-accordion-item {
	border-top: 0 !important;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 16px 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	list-style: none;
	font-family: "Marcellus", sans-serif;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item-title::-webkit-details-marker,
.single-product .elementor-widget-n-accordion .e-n-accordion-item-title::marker {
	display: none;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item-title-header {
	flex: 1 1 auto;
	min-width: 0;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item-title-text {
	font-weight: 600;
	font-size: 0.95rem;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item-title-icon,
.single-product .elementor-widget-n-accordion .elementor-accordion-icon {
	display: none !important;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item-title::after {
	content: "+";
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	font-size: 1.25rem;
	line-height: 1;
	font-weight: 400;
}

.single-product .elementor-widget-n-accordion details[open] > .e-n-accordion-item-title::after {
	content: "-";
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item > [role="region"],
.single-product .elementor-widget-n-accordion .e-n-accordion-item > .e-con {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item .e-con-inner,
.single-product .elementor-widget-n-accordion .e-n-accordion-item .elementor-element.e-con-full.e-flex.e-con.e-child,
.single-product .elementor-widget-n-accordion .e-n-accordion-item .elementor-element.e-con-boxed.e-flex.e-con.e-child,
.single-product .elementor-widget-n-accordion .e-n-accordion-item [role="region"].elementor-element.e-con,
.single-product .elementor-widget-n-accordion .e-n-accordion-item .elementor-widget-shortcode,
.single-product .elementor-widget-n-accordion .e-n-accordion-item .elementor-widget-shortcode > .elementor-widget-container,
.single-product .elementor-widget-n-accordion .e-n-accordion-item .elementor-shortcode {
	margin: 0 !important;
	padding: 0 !important;
}

.single-product .elementor-widget-n-accordion .e-n-accordion-item > [role="region"]::before,
.single-product .elementor-widget-n-accordion .e-n-accordion-item > [role="region"]::after,
.single-product .elementor-widget-n-accordion .e-con::before,
.single-product .elementor-widget-n-accordion .e-con::after {
	display: none !important;
}

/* --------------------------------------------------------------------------
 * Shop archive — hide sorting and result count
 * -------------------------------------------------------------------------- */

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering,
body.woocommerce-shop .wc-block-product-results-count,
body.post-type-archive-product .wc-block-product-results-count,
body.tax-product_cat .wc-block-product-results-count,
body.tax-product_tag .wc-block-product-results-count,
body.woocommerce-shop .wc-block-catalog-sorting,
body.post-type-archive-product .wc-block-catalog-sorting,
body.tax-product_cat .wc-block-catalog-sorting,
body.tax-product_tag .wc-block-catalog-sorting {
	display: none !important;
}

/* --------------------------------------------------------------------------
 * Page content — list spacing (header/footer use separate templates)
 * -------------------------------------------------------------------------- */

.page-content ul,
.page-content ol {
	padding-top: 1rem;
	padding-bottom: 1rem;
}

/* --------------------------------------------------------------------------
 * Shop archive — product grid
 * -------------------------------------------------------------------------- */

body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after,
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.tax-product_tag ul.products::before,
body.tax-product_tag ul.products::after {
	display: none !important;
}

body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	padding: 0;
	float: none !important;
	clear: none !important;
	text-align: left;
}

body.woocommerce-shop ul.products .woocommerce-loop-product__link,
body.post-type-archive-product ul.products .woocommerce-loop-product__link,
body.tax-product_cat ul.products .woocommerce-loop-product__link,
body.tax-product_tag ul.products .woocommerce-loop-product__link {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 0.5rem;
	text-decoration: none;
	color: inherit;
}

body.woocommerce-shop ul.products .yumeki-loop-product-image,
body.post-type-archive-product ul.products .yumeki-loop-product-image,
body.tax-product_cat ul.products .yumeki-loop-product-image,
body.tax-product_tag ul.products .yumeki-loop-product-image {
	grid-column: 1;
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 340 / 425;
	line-height: 0;
}

body.woocommerce-shop ul.products .yumeki-loop-product-image img,
body.post-type-archive-product ul.products .yumeki-loop-product-image img,
body.tax-product_cat ul.products .yumeki-loop-product-image img,
body.tax-product_tag ul.products .yumeki-loop-product-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: center center;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1);
	will-change: transform;
	margin: 0;
}

body.woocommerce-shop ul.products li.product:hover .yumeki-loop-product-image img,
body.post-type-archive-product ul.products li.product:hover .yumeki-loop-product-image img,
body.tax-product_cat ul.products li.product:hover .yumeki-loop-product-image img,
body.tax-product_tag ul.products li.product:hover .yumeki-loop-product-image img,
body.woocommerce-shop ul.products .woocommerce-loop-product__link:hover .yumeki-loop-product-image img,
body.post-type-archive-product ul.products .woocommerce-loop-product__link:hover .yumeki-loop-product-image img,
body.tax-product_cat ul.products .woocommerce-loop-product__link:hover .yumeki-loop-product-image img,
body.tax-product_tag ul.products .woocommerce-loop-product__link:hover .yumeki-loop-product-image img {
	transform: scale(1.08);
}

body.woocommerce-shop ul.products .woocommerce-loop-product__title,
body.post-type-archive-product ul.products .woocommerce-loop-product__title,
body.tax-product_cat ul.products .woocommerce-loop-product__title,
body.tax-product_tag ul.products .woocommerce-loop-product__title {
	grid-column: 1;
	margin: 0;
	padding: 0;
	font-family: "Marcellus", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.3;
	color: #000;
}

body.woocommerce-shop ul.products .woocommerce-loop-product__link .price,
body.post-type-archive-product ul.products .woocommerce-loop-product__link .price,
body.tax-product_cat ul.products .woocommerce-loop-product__link .price,
body.tax-product_tag ul.products .woocommerce-loop-product__link .price {
	grid-column: 1;
	margin: 0;
	padding: 0;
	justify-self: start;
	font-family: "Marcellus", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	color: #000;
}

body.woocommerce-shop ul.products .woocommerce-loop-product__link .price .amount,
body.post-type-archive-product ul.products .woocommerce-loop-product__link .price .amount,
body.tax-product_cat ul.products .woocommerce-loop-product__link .price .amount,
body.tax-product_tag ul.products .woocommerce-loop-product__link .price .amount {
	font-weight: 400;
	color: #000;
}

body.woocommerce-shop ul.products li.product > .button,
body.woocommerce-shop ul.products li.product > a.add_to_cart_button,
body.post-type-archive-product ul.products li.product > .button,
body.post-type-archive-product ul.products li.product > a.add_to_cart_button,
body.tax-product_cat ul.products li.product > .button,
body.tax-product_cat ul.products li.product > a.add_to_cart_button,
body.tax-product_tag ul.products li.product > .button,
body.tax-product_tag ul.products li.product > a.add_to_cart_button {
	display: inline-block;
	margin-top: 0.75rem;
	padding: 0.6em 1.2em;
	background: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 0;
	color: #000 !important;
	font-family: "Marcellus", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	box-shadow: none !important;
}

body.woocommerce-shop ul.products li.product > .button:hover,
body.woocommerce-shop ul.products li.product > a.add_to_cart_button:hover,
body.post-type-archive-product ul.products li.product > .button:hover,
body.post-type-archive-product ul.products li.product > a.add_to_cart_button:hover,
body.tax-product_cat ul.products li.product > .button:hover,
body.tax-product_cat ul.products li.product > a.add_to_cart_button:hover,
body.tax-product_tag ul.products li.product > .button:hover,
body.tax-product_tag ul.products li.product > a.add_to_cart_button:hover {
	background: #000 !important;
	color: #fff !important;
	border-color: #000 !important;
}

body.woocommerce-shop ul.products .star-rating,
body.post-type-archive-product ul.products .star-rating,
body.tax-product_cat ul.products .star-rating,
body.tax-product_tag ul.products .star-rating {
	display: none !important;
}

/* --------------------------------------------------------------------------
 * Single product — related products (Elementor WC widget)
 * -------------------------------------------------------------------------- */

.single-product .related.products ul.products li.product {
	margin: 0;
	padding: 0;
	text-align: left;
}

.single-product .related.products li.product > .button,
.single-product .related.products li.product > a.add_to_cart_button {
	display: none !important;
}

.single-product .related.products .woocommerce-loop-product__link {
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: 1rem;
	row-gap: 0.75rem;
	text-decoration: none;
	color: #000;
}

.single-product .related.products .yumeki-loop-product-image {
	grid-column: 1 / -1;
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	line-height: 0;
}

.single-product .related.products .yumeki-loop-product-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1);
	will-change: transform;
	margin: 0;
}

.single-product .related.products li.product:hover .yumeki-loop-product-image img,
.single-product .related.products .woocommerce-loop-product__link:hover .yumeki-loop-product-image img {
	transform: scale(1.08);
}

.single-product .related.products .woocommerce-loop-product__title {
	grid-column: 1;
	margin: 0;
	padding: 0;
	font-family: "Marcellus", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.3;
	color: #000;
}

.single-product .related.products .woocommerce-loop-product__link .price {
	grid-column: 2;
	margin: 0;
	padding: 0;
	justify-self: end;
	align-self: start;
	font-family: "Marcellus", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	color: #000;
}

.single-product .related.products .woocommerce-loop-product__link .price .amount {
	font-weight: 400;
}

.single-product .related.products .star-rating,
.single-product .related.products .onsale {
	display: none !important;
}

.single_add_to_cart_button.button {
	border: 1px solid #000 !important;
}
/* --------------------------------------------------------------------------
 * Responsive
 * -------------------------------------------------------------------------- */

@media (max-width: 1023px) {
	body.woocommerce-shop ul.products,
	body.post-type-archive-product ul.products,
	body.tax-product_cat ul.products,
	body.tax-product_tag ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

@media (max-width: 640px) {
	body.woocommerce-shop ul.products,
	body.post-type-archive-product ul.products,
	body.tax-product_cat ul.products,
	body.tax-product_tag ul.products {
		grid-template-columns: 1fr;
	}

	.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-theme-post-featured-image,
	.elementor-loop-container.elementor-grid .e-loop-item .element-zoom.elementor-widget-image {
		min-height: 220px;
	}

	.single-product .related.products .yumeki-loop-product-image,
	body.woocommerce-shop ul.products .yumeki-loop-product-image,
	body.post-type-archive-product ul.products .yumeki-loop-product-image,
	body.tax-product_cat ul.products .yumeki-loop-product-image,
	body.tax-product_tag ul.products .yumeki-loop-product-image {
		min-height: 220px;
	}

	.yumeki-flavour-row {
		grid-template-columns: 1fr;
		gap: 12px;
		margin: 18px 0;
		font-size: 18px;
	}

	.yumeki-product-list .yumeki-product-info-row {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0.35em;
	}

	.yumeki-product-list .yumeki-product-info-row__label {
		flex: 0 0 auto;
		width: auto;
		max-width: none;
		white-space: nowrap;
	}

	.yumeki-product-list .yumeki-product-info-row__value {
		flex: 1 1 auto;
		width: auto;
		max-width: none;
		min-width: 0;
	}
}

/* --------------------------------------------------------------------------
 * Site global (moved from customizer — load last in this file)
 * -------------------------------------------------------------------------- */

body,
.wp-block-heading {
	font-family: "Marcellus", sans-serif; !important;
}

@media (min-width: 1024px) {
	.elementor-nav-menu--stretch .elementor-nav-menu__container.elementor-nav-menu--dropdown {
		position: absolute !important;
		z-index: 9 !important;
		top: -130px !important;
		padding-top: 210px !important;
		height: 100vh !important;
	}
}

.elementor-menu-toggle {
	position: relative !important;
	z-index: 99999 !important;
	top: 8px !important;
	background-color: transparent !important;
}

@media (max-width: 1024px) {
	.yukemi-branding {
		position: relative !important;
		z-index: 99999 !important;
	}
}

footer.elementor.elementor-49.elementor-location-footer {
	margin-top: 4rem !important;
}


button.wc-block-cart-item__remove-link {
	border: none !important;
	background: transparent !important;
}

button.wc-block-cart-item__remove-link:hover,
button.wc-block-cart-item__remove-link:focus {
	background: transparent !important;
	color: inherit !important;
}

/* Shop, cart, checkout — numbers/prices in Marcellus */
body.woocommerce-shop :is(bdi, .amount, .price, .woocommerce-Price-amount, .woocommerce-Price-currencySymbol, .woocommerce-result-count, input.qty, input[type="number"], .quantity .qty, .wc-block-components-formatted-money-amount, .wc-block-components-totals-item__value, .wc-block-components-quantity-selector__input, .wc-block-components-product-price, .order-total, .cart-subtotal, .product-quantity),
body.post-type-archive-product :is(bdi, .amount, .price, .woocommerce-Price-amount, .woocommerce-Price-currencySymbol, .woocommerce-result-count, input.qty, input[type="number"], .quantity .qty, .wc-block-components-formatted-money-amount, .wc-block-components-totals-item__value, .wc-block-components-quantity-selector__input, .wc-block-components-product-price, .order-total, .cart-subtotal, .product-quantity),
body.tax-product_cat :is(bdi, .amount, .price, .woocommerce-Price-amount, .woocommerce-Price-currencySymbol, .woocommerce-result-count, input.qty, input[type="number"], .quantity .qty, .wc-block-components-formatted-money-amount, .wc-block-components-totals-item__value, .wc-block-components-quantity-selector__input, .wc-block-components-product-price, .order-total, .cart-subtotal, .product-quantity),
body.tax-product_tag :is(bdi, .amount, .price, .woocommerce-Price-amount, .woocommerce-Price-currencySymbol, .woocommerce-result-count, input.qty, input[type="number"], .quantity .qty, .wc-block-components-formatted-money-amount, .wc-block-components-totals-item__value, .wc-block-components-quantity-selector__input, .wc-block-components-product-price, .order-total, .cart-subtotal, .product-quantity),
body.woocommerce-cart :is(bdi, .amount, .price, .woocommerce-Price-amount, .woocommerce-Price-currencySymbol, .woocommerce-result-count, input.qty, input[type="number"], .quantity .qty, .wc-block-components-formatted-money-amount, .wc-block-components-totals-item__value, .wc-block-components-quantity-selector__input, .wc-block-components-product-price, .order-total, .cart-subtotal, .product-quantity),
body.woocommerce-checkout :is(bdi, .amount, .price, .woocommerce-Price-amount, .woocommerce-Price-currencySymbol, .woocommerce-result-count, input.qty, input[type="number"], .quantity .qty, .wc-block-components-formatted-money-amount, .wc-block-components-totals-item__value, .wc-block-components-quantity-selector__input, .wc-block-components-product-price, .order-total, .cart-subtotal, .product-quantity),
body.woocommerce-account :is(.woocommerce-orders-table, .woocommerce-table--order-details, .woocommerce-MyAccount-content table) :is(td, th, a, time, .amount, .woocommerce-Price-amount, bdi) {
	font-family: "Marcellus", sans-serif; !important;
	font-variant-numeric: lining-nums;
}

/* Buttons — global (last; wins over theme / scoped rules) */
body :is(
	[type="button"],
	[type="submit"],
	button,
	.button,
	a.button,
	.add_to_cart_button,
	.wp-block-button__link,
	.wc-block-cart__submit-button,
	.single_add_to_cart_button,
	.checkout-button
):not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input) {
	background-color: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	color: #000 !important;
	display: inline-block;
	font-family: "Marcellus", sans-serif; !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	padding: 0.5rem 1rem !important;
	text-align: center;
	text-decoration: none !important;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
	-webkit-user-select: none;
	user-select: none;
	white-space: nowrap;
	box-shadow: none !important;
}

body :is(
	[type="button"],
	[type="submit"],
	button,
	.button,
	a.button,
	.add_to_cart_button,
	.wp-block-button__link,
	.wc-block-cart__submit-button,
	.single_add_to_cart_button,
	.checkout-button
):not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover,
body :is(
	[type="button"],
	[type="submit"],
	button,
	.button,
	a.button,
	.add_to_cart_button,
	.wp-block-button__link,
	.wc-block-cart__submit-button,
	.single_add_to_cart_button,
	.checkout-button
):not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus {
	background-color: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

body .wc-block-cart__submit-button:hover .wc-block-components-button__text,
body .wc-block-cart__submit-button:focus .wc-block-components-button__text {
	color: #fff !important;
}

/* Form fields */
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea {
	border-radius: 0 !important;
	font-family: "Marcellus", sans-serif; !important;
	box-sizing: border-box;
	max-width: 100%;
}

/* --------------------------------------------------------------------------
 * Cart & checkout — prevent horizontal scroll on mobile
 * -------------------------------------------------------------------------- */

@media (max-width: 1023px) {
	body.woocommerce-cart,
	body.woocommerce-checkout {
		overflow-x: hidden;
	}

	body.woocommerce-cart .entry-content,
	body.woocommerce-checkout .entry-content,
	body.woocommerce-cart .wp-block-post-content,
	body.woocommerce-checkout .wp-block-post-content,
	body.woocommerce-cart .e-con,
	body.woocommerce-checkout .e-con,
	body.woocommerce-cart .e-con-inner,
	body.woocommerce-checkout .e-con-inner {
		max-width: 100%;
		min-width: 0;
	}

	body.woocommerce-cart .wc-block-cart,
	body.woocommerce-checkout .wp-block-woocommerce-checkout,
	body.woocommerce-checkout .wc-block-checkout {
		max-width: 100%;
		min-width: 0;
		overflow-x: clip;
	}

	body.woocommerce-checkout .wc-block-components-main,
	body.woocommerce-checkout .wc-block-components-sidebar,
	body.woocommerce-checkout .wc-block-components-form,
	body.woocommerce-checkout .wc-block-checkout__main,
	body.woocommerce-checkout .wc-block-checkout__sidebar,
	body.woocommerce-checkout .wc-block-components-checkout-step__container,
	body.woocommerce-checkout .wc-block-components-panel,
	body.woocommerce-checkout .wc-block-components-totals-wrapper,
	body.woocommerce-cart .wc-block-components-sidebar-layout,
	body.woocommerce-cart .wc-block-cart__main {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
		box-sizing: border-box;
	}

	body.woocommerce-cart :is(button, .button, .wp-block-button__link, [type="submit"]),
	body.woocommerce-checkout :is(button, .button, .wp-block-button__link, [type="submit"]) {
		white-space: normal !important;
		max-width: 100%;
	}

	/* display:block lets overflow-x work, but breaks table layout on
	   order-received (same woocommerce-checkout body class) — exclude it. */
	body.woocommerce-checkout:not(.woocommerce-order-received) table,
	body.woocommerce-cart table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}

	body.woocommerce-order-received table.shop_table,
	body.woocommerce-order-received table.woocommerce-table--order-details {
		display: table;
		width: 100%;
		max-width: 100%;
		table-layout: fixed;
		box-sizing: border-box;
	}

	body.woocommerce-order-received table.shop_table th,
	body.woocommerce-order-received table.shop_table td,
	body.woocommerce-order-received table.woocommerce-table--order-details th,
	body.woocommerce-order-received table.woocommerce-table--order-details td {
		word-break: break-word;
	}

	body.woocommerce-order-received table.shop_table .product-total,
	body.woocommerce-order-received table.shop_table tfoot td,
	body.woocommerce-order-received table.woocommerce-table--order-details .woocommerce-table__product-total,
	body.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
		width: 35%;
		text-align: right;
	}
}

/* WooCommerce notices — no focus/hover outline (after global button rules) */
body .woocommerce-error:hover,
body .woocommerce-error:focus,
body .woocommerce-error:focus-within,
body .woocommerce-error:active,
body .woocommerce-info:hover,
body .woocommerce-info:focus,
body .woocommerce-info:focus-within,
body .woocommerce-info:active,
body .woocommerce-message:hover,
body .woocommerce-message:focus,
body .woocommerce-message:focus-within,
body .woocommerce-message:active {
	outline: none !important;
	box-shadow: none !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
}

body .woocommerce-message:hover,
body .woocommerce-message:focus,
body .woocommerce-message:focus-within,
body .woocommerce-message:active {
	border-top: 3px solid #37553c !important;
	border-top-color: #37553c !important;
}

body .woocommerce-message .button.wc-forward,
body .woocommerce-message a.button.wc-forward,
body .woocommerce-message .button.wc-forward:hover,
body .woocommerce-message .button.wc-forward:focus,
body .woocommerce-message .button.wc-forward:active,
body .woocommerce-message .button.wc-forward:focus-visible,
body .woocommerce-message a.button.wc-forward:hover,
body .woocommerce-message a.button.wc-forward:focus,
body .woocommerce-message a.button.wc-forward:active,
body .woocommerce-message a.button.wc-forward:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

/* Links — override theme hover (#336); exclude buttons + footer */
body a:hover:not(
		:is(
			.button,
			.elementor-button,
			.wp-block-button__link,
			.wc-block-components-button__link,
			.wc-forward,
			.add_to_cart_button,
			.checkout-button,
			.single_add_to_cart_button,
			.wc-block-cart__submit-button,
			.wc-block-components-button,
			.wp-element-button,
			.woocommerce-Button,
			.show-password-input
		)
	):not(.elementor-location-footer a),
body a:active:not(
		:is(
			.button,
			.elementor-button,
			.wp-block-button__link,
			.wc-block-components-button__link,
			.wc-forward,
			.add_to_cart_button,
			.checkout-button,
			.single_add_to_cart_button,
			.wc-block-cart__submit-button,
			.wc-block-components-button,
			.wp-element-button,
			.woocommerce-Button,
			.show-password-input
		)
	):not(.elementor-location-footer a),
body a:focus:not(
		:is(
			.button,
			.elementor-button,
			.wp-block-button__link,
			.wc-block-components-button__link,
			.wc-forward,
			.add_to_cart_button,
			.checkout-button,
			.single_add_to_cart_button,
			.wc-block-cart__submit-button,
			.wc-block-components-button,
			.wp-element-button,
			.woocommerce-Button,
			.show-password-input
		)
	):not(.elementor-location-footer a) {
	color: #000;
}

/*
 * Elementor flyout cart footer
 * Override Elementor CSS variables + hard !important (beats post-*.css widget settings)
 */
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__main,
body .elementor-widget-woocommerce-menu-cart .elementor-element {
	--view-cart-button-text-color: #000000;
	--view-cart-button-background-color: transparent;
	--view-cart-button-hover-text-color: #ffffff;
	--view-cart-button-hover-background-color: #000000;
	--checkout-button-text-color: #ffffff;
	--checkout-button-background-color: #000000;
	--checkout-button-hover-text-color: #ffffff;
	--checkout-button-hover-background-color: #000000;
}

body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart {
	background: transparent !important;
	background-color: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	color: #000 !important;
	box-shadow: none !important;
}

body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:hover,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:focus,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:focus-visible,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:hover,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:focus,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:focus-visible {
	background: #000 !important;
	background-color: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
}

body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:hover .elementor-button-text,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:focus .elementor-button-text,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:focus-visible .elementor-button-text,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:hover .elementor-button-text,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:focus .elementor-button-text,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart:focus-visible .elementor-button-text {
	color: #fff !important;
}

body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:hover,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:focus,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:focus-visible,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:hover,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:focus,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:focus-visible {
	background: #000 !important;
	background-color: #000 !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	color: #fff !important;
	box-shadow: none !important;
}

body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout .elementor-button-text,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:hover .elementor-button-text,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:focus .elementor-button-text,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout .elementor-button-text,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:hover .elementor-button-text,
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--checkout:focus .elementor-button-text {
	color: #fff !important;
}

a.elementor-button.elementor-button--checkout.elementor-size-md {
	background: #000 !important;
}

/* Buttons — white text on black hover (wins over link rule above) */
body :is(
		.button,
		a.button,
		button.button,
		.wp-block-button__link,
		a.wp-block-button__link,
		.wc-block-components-button__link,
		.wc-forward,
		a.wc-forward,
		.added_to_cart,
		.checkout-button,
		.single_add_to_cart_button,
		.wc-block-cart__submit-button,
		.wc-block-components-button,
		.wp-element-button,
		.woocommerce-Button,
		button[type="submit"]
	):not(.show-password-input):hover,
body :is(
		.button,
		a.button,
		button.button,
		.wp-block-button__link,
		a.wp-block-button__link,
		.wc-block-components-button__link,
		.wc-forward,
		a.wc-forward,
		.added_to_cart,
		.checkout-button,
		.single_add_to_cart_button,
		.wc-block-cart__submit-button,
		.wc-block-components-button,
		.wp-element-button,
		.woocommerce-Button,
		button[type="submit"]
	):not(.show-password-input):focus,
body :is(
		.button,
		a.button,
		button.button,
		.wp-block-button__link,
		a.wp-block-button__link,
		.wc-block-components-button__link,
		.wc-forward,
		a.wc-forward,
		.added_to_cart,
		.checkout-button,
		.single_add_to_cart_button,
		.wc-block-cart__submit-button,
		.wc-block-components-button,
		.wp-element-button,
		.woocommerce-Button,
		button[type="submit"]
	):not(.show-password-input):active {
	color: #fff !important;
	background-color: #000 !important;
	border-color: #000 !important;
}

/* Password reveal — no button chrome (after global button rules) */
.yumeki-my-account .password-input .show-password-input,
.yumeki-my-account .password-input button.show-password-input {
	position: absolute !important;
	top: 50% !important;
	right: 0 !important;
	bottom: auto !important;
	left: auto !important;
	transform: translateY(-50%);
	width: 2.5rem !important;
	height: 2.5rem !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	box-shadow: none !important;
	outline: none !important;
	color: transparent !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.yumeki-my-account .password-input .show-password-input:hover,
.yumeki-my-account .password-input .show-password-input:focus,
.yumeki-my-account .password-input .show-password-input:active,
.yumeki-my-account .password-input .show-password-input:focus-visible {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	color: transparent !important;
}
