/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.202608211015
Updated: 2026-08-21 10:15:00

*/

/* -------------------------------------------------------------------------
   Sequential reveal — hide from first paint, show when .app-animation--in
   ------------------------------------------------------------------------- */

.app-animation.elementor-invisible,
.app-animation .elementor-invisible,
.elementor-loop-container .elementor-invisible,
ul.products .elementor-invisible {
	visibility: visible !important;
}

.app-animation.animated,
.app-animation .animated,
.elementor-loop-container .animated,
ul.products .animated {
	animation: none !important;
	animation-name: none !important;
}

html.app-anim .app-animation > *,
html.app-anim .elementor-loop-container > .e-loop-item,
html.app-anim ul.products > li.product {
	opacity: 0;
	transform: translate3d(0, 56px, 0);
}

html.app-anim .app-animation.app-animation--in > *,
html.app-anim .elementor-loop-container.app-animation--in > .e-loop-item,
html.app-anim ul.products.app-animation--in > li.product {
	opacity: 1 !important;
	transform: translate3d(0, 0, 0) !important;
	transition:
		opacity var(--app-fade-duration, 2.8s) cubic-bezier(0.25, 0.1, 0.25, 1),
		transform var(--app-move-duration, 1.2s) cubic-bezier(0.25, 0.1, 0.25, 1);
	transition-delay: var(--app-anim-delay, 0ms);
}

@media (prefers-reduced-motion: reduce) {
	html.app-anim .app-animation > *,
	html.app-anim .elementor-loop-container > .e-loop-item,
	html.app-anim ul.products > li.product,
	html.app-anim .app-animation.app-animation--in > *,
	html.app-anim .elementor-loop-container.app-animation--in > .e-loop-item,
	html.app-anim ul.products.app-animation--in > li.product {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* Mobile: skip sequential reveal so taps hit links immediately */
@media (max-width: 767px) {
	html.app-anim .app-animation > *,
	html.app-anim .elementor-loop-container > .e-loop-item,
	html.app-anim ul.products > li.product,
	html.app-anim .app-animation.app-animation--in > *,
	html.app-anim .elementor-loop-container.app-animation--in > .e-loop-item,
	html.app-anim ul.products.app-animation--in > li.product {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* -------------------------------------------------------------------------
   Elementor dividers — grow in like sabo-tea .feature-row__heading:before
   Line starts collapsed, expands to full Elementor width on scroll.
   Thick bar, tight to the heading below (no padding / margin-bottom).
   ------------------------------------------------------------------------- */

.elementor-widget-divider {
	--divider-border-width: 6px !important;
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
}

.elementor-widget-divider .elementor-divider {
	padding-block-start: 0 !important;
	padding-block-end: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.elementor-widget-divider .elementor-divider-separator {
	margin: 0 !important;
	border-block-start-width: 3px !important;
	max-width: 80px !important;
	width: 80px !important;
}

html.app-anim .elementor-widget-divider .elementor-divider-separator {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.5s ease-out;
}

html.app-anim .elementor-widget-divider.has-animated .elementor-divider-separator {
	transform: scaleX(1);
}

/* Center / right-aligned dividers grow from their alignment edge */
html.app-anim .elementor-widget-divider.elementor-align-center .elementor-divider-separator {
	transform-origin: center center;
}

html.app-anim .elementor-widget-divider.elementor-align-right .elementor-divider-separator {
	transform-origin: right center;
}

@media (prefers-reduced-motion: reduce) {
	html.app-anim .elementor-widget-divider .elementor-divider-separator,
	html.app-anim .elementor-widget-divider.has-animated .elementor-divider-separator {
		transform: none !important;
		transition: none !important;
	}
}

/* -------------------------------------------------------------------------
   Content lists — breathing room between items (text editor only)
   Does not touch nav menus, product grids, or other widget lists.
   ------------------------------------------------------------------------- */

.elementor-widget-text-editor ul > li,
.elementor-widget-text-editor ol > li {
	margin-bottom: 0.85em;
}

.elementor-widget-text-editor ul > li:last-child,
.elementor-widget-text-editor ol > li:last-child {
	margin-bottom: 0;
}

/* -------------------------------------------------------------------------
   Nav menu — growing underline (sabo-tea style)
   Header only — center-out line on top-level + dropdown/sub items.
   ------------------------------------------------------------------------- */

.elementor-location-header .elementor-nav-menu a.elementor-item,
.elementor-location-header .elementor-nav-menu a.elementor-sub-item {
	position: relative;
	text-decoration: none;
}

/*
   Desktop flyout (Shoppa nu / Om Yumeki):
   - Elementor: border-inline-start: 8px on dropdown links (uneven L/R)
   - SmartMenus: inline min-width / max-width / width on .sub-menu
   All overrides use !important so they beat Elementor + inline styles.
*/
@media (min-width: 1025px) {
	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li > ul.sub-menu.elementor-nav-menu--dropdown,
	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li > ul.sub-menu.elementor-nav-menu--dropdown.sm-nowrap {
		width: max-content !important;
		min-width: max-content !important;
		max-width: none !important;
		box-sizing: border-box !important;
		padding-top: 0.5em !important;
		padding-bottom: 0.5em !important;
		padding-left: 1.25em !important;
		padding-right: 1.25em !important;
		overflow-x: hidden !important;
	}

	.elementor-location-header .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown > .menu-item,
	.elementor-location-header .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown > li {
		width: max-content !important;
		max-width: none !important;
		min-width: 0 !important;
		flex-grow: 0 !important;
		display: block !important;
	}

	.elementor-location-header .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item,
	.elementor-location-header .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item:hover,
	.elementor-location-header .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item:focus,
	.elementor-location-header .elementor-nav-menu--main ul.elementor-nav-menu--dropdown a,
	.elementor-location-header .elementor-nav-menu--main ul.elementor-nav-menu--dropdown a:hover,
	.elementor-location-header .elementor-nav-menu--main ul.elementor-nav-menu--dropdown a:focus {
		width: max-content !important;
		max-width: none !important;
		min-width: 0 !important;
		flex-grow: 0 !important;
		display: block !important;
		box-sizing: border-box !important;
		border: 0 !important;
		border-left: 0 !important;
		border-inline-start: 0 !important;
		border-inline-start-width: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-inline: 0 !important;
		padding-inline-start: 0 !important;
		padding-inline-end: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Underline = label width only; clip if anything still overflows */
	.elementor-location-header .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item::after {
		left: 0 !important;
		right: auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* Drawer + open dropdowns: shrink link to label so the line matches the word */
.elementor-location-header .elementor-nav-menu--dropdown .elementor-nav-menu > li > a.elementor-item,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item,
.elementor-location-header .elementor-nav-menu .sub-menu a.elementor-sub-item {
	width: max-content !important;
	max-width: 100% !important;
}

.elementor-location-header .elementor-nav-menu a.elementor-item::after,
.elementor-location-header .elementor-nav-menu a.elementor-sub-item::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0.15em !important;
	width: auto !important;
	max-width: 100% !important;
	height: 1px !important;
	margin: 0 !important;
	background-color: currentColor !important;
	opacity: 1 !important;
	transform: scaleX(0) !important;
	transform-origin: center center !important;
	transition: transform 0.25s ease !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

.elementor-location-header .elementor-nav-menu a.elementor-item:hover::after,
.elementor-location-header .elementor-nav-menu a.elementor-item:focus::after,
.elementor-location-header .elementor-nav-menu a.elementor-sub-item:hover::after,
.elementor-location-header .elementor-nav-menu a.elementor-sub-item:focus::after {
	transform: scaleX(1) !important;
}

@media (prefers-reduced-motion: reduce) {
	.elementor-location-header .elementor-nav-menu a.elementor-item::after,
	.elementor-location-header .elementor-nav-menu a.elementor-sub-item::after {
		transition: none !important;
	}
}

/* -------------------------------------------------------------------------
   Category cards — Avantcha-style silver sweep on hover
   Box frame + black fill live on .yumeki-btn p (yumeki-addon). Do not add
   a second border on the widget wrapper — that caused the double frame.
   ------------------------------------------------------------------------- */

.yumeki-btn.elementor-widget-text-editor p {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

/* Silver lining that crosses the existing box frame on hover */
.yumeki-btn.elementor-widget-text-editor p::before {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 70%;
	height: 100%;
	opacity: 0.55;
	background-image: linear-gradient(
		90deg,
		transparent,
		hsla(0, 0%, 100%, 0.65),
		transparent
	);
	transform: skew(-20deg);
	pointer-events: none;
	z-index: 2;
}

.yumeki-btn.elementor-widget-text-editor:focus-within p::before,
a.grid-element-zoom:focus-visible .yumeki-btn.elementor-widget-text-editor p::before {
	animation: yumeki-btn-sweep 1.3s ease-out;
}

@media (hover: hover) and (pointer: fine) {
	.yumeki-btn.elementor-widget-text-editor:hover p::before,
	a.grid-element-zoom:hover .yumeki-btn.elementor-widget-text-editor p::before {
		animation: yumeki-btn-sweep 1.3s ease-out;
	}
}

/* Single “Lägg i varukorg” — beat yumeki-addon global button rule
   Addon: body :is(…,.single_add_to_cart_button,…):not(…×4)
   { background: transparent; color: #000 } → hover black/white.
   Keep black + white always; silver sweep on hover. */
body button.single_add_to_cart_button.button.alt:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body button.single_add_to_cart_button.button[type="submit"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body button.single_add_to_cart_button.button.alt:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover,
body button.single_add_to_cart_button.button.alt:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus,
body button.single_add_to_cart_button.button[type="submit"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover,
body button.single_add_to_cart_button.button[type="submit"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus,
body form.cart button.single_add_to_cart_button.button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body form.cart button.single_add_to_cart_button.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 form.cart button.single_add_to_cart_button.button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus {
	position: relative;
	overflow: hidden;
	z-index: 1;
	background-color: #000 !important;
	background-image: none !important;
	border: 1px solid #000 !important;
	color: #fff !important;
	box-shadow: none !important;
}

body button.single_add_to_cart_button.button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input)::before {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 70%;
	height: 100%;
	opacity: 0.55;
	background-image: linear-gradient(
		90deg,
		transparent,
		hsla(0, 0%, 100%, 0.65),
		transparent
	);
	transform: skew(-20deg);
	pointer-events: none;
	z-index: 2;
}

body button.single_add_to_cart_button.button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover::before,
body button.single_add_to_cart_button.button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus::before {
	animation: yumeki-btn-sweep 1.3s ease-out;
}

/* Hide WooCommerce loading spinner + “added” checkmark on add-to-cart buttons */
body.woocommerce a.button.loading::after,
body.woocommerce button.button.loading::after,
body.woocommerce input.button.loading::after,
body.woocommerce #respond input#submit.loading::after,
body.woocommerce a.button.added::after,
body.woocommerce button.button.added::after,
body.woocommerce input.button.added::after,
body.woocommerce #respond input#submit.added::after,
body .woocommerce a.button.loading::after,
body .woocommerce button.button.loading::after,
body .woocommerce a.button.added::after,
body .woocommerce button.button.added::after,
body form.cart button.single_add_to_cart_button.button.loading::after,
body form.cart button.single_add_to_cart_button.button.added::after,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) a.button.loading::after,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) button.button.loading::after,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) input.button.loading::after,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) a.button.added::after,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) button.button.added::after,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) input.button.added::after,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) button.single_add_to_cart_button.loading::after,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) button.single_add_to_cart_button.added::after {
	content: none !important;
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	animation: none !important;
	width: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Don’t dim / extra-pad the button while Woo adds .loading */
body.woocommerce a.button.loading,
body.woocommerce button.button.loading,
body.woocommerce input.button.loading,
body form.cart button.single_add_to_cart_button.button.loading,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) a.button.loading,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) button.button.loading,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) button.single_add_to_cart_button.loading {
	opacity: 1 !important;
	padding-right: 1em !important;
}

/* -------------------------------------------------------------------------
   Fly-in mini-cart — footer CTAs + silver sweep
   ------------------------------------------------------------------------- */

.elementor-menu-cart__footer-buttons .elementor-button {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.elementor-menu-cart__footer-buttons .elementor-button .elementor-button-text {
	position: relative;
	z-index: 1;
}

.elementor-menu-cart__footer-buttons .elementor-button::before {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 70%;
	height: 100%;
	opacity: 0.55;
	background-image: linear-gradient(
		90deg,
		transparent,
		hsla(0, 0%, 100%, 0.65),
		transparent
	);
	transform: skew(-20deg);
	pointer-events: none;
	z-index: 2;
}

.elementor-menu-cart__footer-buttons .elementor-button:hover::before,
.elementor-menu-cart__footer-buttons .elementor-button:focus::before {
	animation: yumeki-btn-sweep 1.3s ease-out;
}

/* Visa varukorg — outline */
body .elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	background-color: transparent !important;
	border: 1px solid #000 !important;
	color: #000 !important;
}

body .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover,
body .elementor-menu-cart__footer-buttons .elementor-button--view-cart:focus {
	background-color: transparent !important;
	border-color: #000 !important;
	color: #000 !important;
}

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

/* Till kassan — always black / white; silver sweep on hover; stay black */
body .elementor-menu-cart__footer-buttons .elementor-button--checkout,
body .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover,
body .elementor-menu-cart__footer-buttons .elementor-button--checkout:focus {
	background-color: #000 !important;
	border: 1px solid #000 !important;
	color: #fff !important;
	box-shadow: none !important;
}

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

/* Mini-cart qty: one outer border (same idea as product qty) */
.yumeki-mini-qty__control {
	display: inline-flex;
	align-items: center;
	border: 1px solid #c6c3c3;
}

body .yumeki-mini-qty__control button.yumeki-mini-qty__btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body .yumeki-mini-qty__control button.yumeki-mini-qty__btn[type="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 .yumeki-mini-qty__control button.yumeki-mini-qty__btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 2em;
	min-height: 2em;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	color: inherit !important;
	box-shadow: none !important;
	font: inherit !important;
}

.yumeki-mini-qty__value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75em;
	padding: 0.2em 0.15em;
	border: 0;
	text-align: center;
}

/* Content buttons (not site header/footer) — same silver sweep */
body .elementor:not(.elementor-location-footer):not(.elementor-location-header) a.elementor-button,
body main a.button,
body main button.button:not(.yumeki-qty-btn):not(.yumeki-mini-qty__btn),
body .elementor-widget-woocommerce-product-add-to-cart a.button,
body .products a.button.add_to_cart_button {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

body .elementor:not(.elementor-location-footer):not(.elementor-location-header) a.elementor-button::before,
body main a.button::before,
body main button.button:not(.yumeki-qty-btn):not(.yumeki-mini-qty__btn)::before,
body .elementor-widget-woocommerce-product-add-to-cart a.button::before,
body .products a.button.add_to_cart_button::before {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 70%;
	height: 100%;
	opacity: 0.55;
	background-image: linear-gradient(
		90deg,
		transparent,
		hsla(0, 0%, 100%, 0.65),
		transparent
	);
	transform: skew(-20deg);
	pointer-events: none;
	z-index: 2;
}

body .elementor:not(.elementor-location-footer):not(.elementor-location-header) a.elementor-button:hover::before,
body .elementor:not(.elementor-location-footer):not(.elementor-location-header) a.elementor-button:focus::before,
body main a.button:hover::before,
body main a.button:focus::before,
body main button.button:not(.yumeki-qty-btn):not(.yumeki-mini-qty__btn):hover::before,
body main button.button:not(.yumeki-qty-btn):not(.yumeki-mini-qty__btn):focus::before,
body .products a.button.add_to_cart_button:hover::before,
body .products a.button.add_to_cart_button:focus::before {
	animation: yumeki-btn-sweep 1.3s ease-out;
}

@keyframes yumeki-btn-sweep {
	from {
		left: -80%;
	}
	to {
		left: 150%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yumeki-btn.elementor-widget-text-editor:hover p::before,
	.yumeki-btn.elementor-widget-text-editor:focus-within p::before,
	a.grid-element-zoom:hover .yumeki-btn.elementor-widget-text-editor p::before,
	a.grid-element-zoom:focus-visible .yumeki-btn.elementor-widget-text-editor p::before,
	body button.single_add_to_cart_button.button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover::before,
	body button.single_add_to_cart_button.button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus::before,
	.elementor-menu-cart__footer-buttons .elementor-button:hover::before,
	.elementor-menu-cart__footer-buttons .elementor-button:focus::before,
	body .elementor:not(.elementor-location-footer):not(.elementor-location-header) a.elementor-button:hover::before,
	body main a.button:hover::before,
	body main button.button:hover::before,
	body .products a.button.add_to_cart_button:hover::before,
	body .wc-block-components-checkout-place-order-button:hover::before,
	body .wc-block-components-checkout-place-order-button:focus::before,
	body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover::before,
	body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus::before,
	body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover::before,
	body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus::before,
	body .wc-block-components-address-card__edit:hover::before,
	body .wc-block-components-address-card__edit:focus::before {
		animation: none;
	}
}

/* -------------------------------------------------------------------------
   Product use labels — top-right on gallery images
   Colors matched to reference: koicha / usucha / latte / bakning
   ------------------------------------------------------------------------- */

.yumeki-product-image-with-labels,
.yumeki-loop-product-image,
.e-loop-item.product .element-zoom.elementor-widget-theme-post-featured-image,
.e-loop-item.product .elementor-widget-theme-post-featured-image {
	position: relative;
}

.yumeki-use-labels {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.28rem;
	pointer-events: none;
}

.yumeki-use-label {
	display: inline-block;
	padding: 0.48em 0.78em;
	border-radius: 2px;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

.yumeki-use-label--koicha {
	background-color: #426600;
	color: #fff;
}

.yumeki-use-label--usucha {
	background-color: #69a000;
	color: #fff;
}

.yumeki-use-label--latte {
	background-color: #a7bd72;
	color: #fff;
}

.yumeki-use-label--bakning {
	background-color: #F5F2EB;
	color: #1a1a1a;
}

@media (max-width: 767px) {
	.yumeki-use-labels {
		top: 0.45rem;
		right: 0.45rem;
		gap: 0.2rem;
	}

	.yumeki-use-label {
		font-size: 0.58rem;
		padding: 0.18em 0.45em;
	}
}

.yumeki-product-list {
    padding-bottom: 1rem;
}

/* -------------------------------------------------------------------------
   Typography — Marcellus (brief)
   ------------------------------------------------------------------------- */

:root {
	--yumeki-font: "Marcellus";
}

body,
button,
input,
select,
textarea,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.woocommerce,
.woocommerce-page,
.woocommerce :is(button, input, select, textarea, label, th, td),
[class^="wc-block-"],
[class*=" wc-block-"],
.elementor-menu-cart__main,
.elementor-menu-cart__main *,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	font-family: var(--yumeki-font), serif !important;
}

/* -------------------------------------------------------------------------
   Header — home (no scroll): transparent fixed overlay
   Home scrolled / any inner page (incl. sticky): white background
   ------------------------------------------------------------------------- */

.elementor-location-header {
	position: relative;
	z-index: 9999;
	box-shadow: none !important;
	color: #000000;
}

.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-heading-title,
.elementor-location-header .elementor-icon,
.elementor-location-header .elementor-menu-cart__toggle_button {
	color: #000000;
}

/* Homepage only: fixed overlay on the hero (transparent until scroll) */
body.home .elementor-location-header,
body.front-page .elementor-location-header {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	--yumeki-header-alpha: 0;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

body.home .elementor-location-header .elementor-sticky__spacer,
body.home .elementor-location-header ~ .elementor-sticky__spacer,
body.front-page .elementor-location-header .elementor-sticky__spacer,
body.front-page .elementor-location-header ~ .elementor-sticky__spacer {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.admin-bar.home .elementor-location-header,
body.admin-bar.front-page .elementor-location-header {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar.home .elementor-location-header,
	body.admin-bar.front-page .elementor-location-header {
		top: 46px !important;
	}
}

body.home .elementor-location-header:not(.yumeki-header--scrolled) .e-con,
body.home .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent,
body.home .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent[data-settings*='sticky'],
body.home .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent.elementor-sticky,
body.home .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent.elementor-sticky--active,
body.home .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent.elementor-sticky--effects,
body.home .elementor-location-header:not(.yumeki-header--scrolled) .elementor-section,
body.home .elementor-location-header:not(.yumeki-header--scrolled) .elementor-container,
body.home .elementor-location-header:not(.yumeki-header--scrolled) .elementor-widget-wrap,
body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .e-con,
body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent,
body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent[data-settings*='sticky'],
body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent.elementor-sticky,
body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent.elementor-sticky--active,
body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .e-con.e-parent.elementor-sticky--effects,
body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .elementor-section,
body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .elementor-container,
body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .elementor-widget-wrap {
	/* No z-index here — it traps the logo under the open mobile menu */
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	transition: none !important;
}

/* Home scrolled: white only on the header / sticky bar — not nested cells
   (nested whites flash before the full bar fills in) */
body.home .elementor-location-header.yumeki-header--scrolled,
body.front-page .elementor-location-header.yumeki-header--scrolled,
body.home .elementor-location-header.yumeki-header--scrolled > .e-con.e-parent,
body.home .elementor-location-header.yumeki-header--scrolled .e-con.e-parent[data-settings*='sticky'],
body.home .elementor-location-header.yumeki-header--scrolled .e-con.e-parent.elementor-sticky,
body.home .elementor-location-header.yumeki-header--scrolled .e-con.e-parent.elementor-sticky--active,
body.home .elementor-location-header.yumeki-header--scrolled .e-con.e-parent.elementor-sticky--effects,
body.front-page .elementor-location-header.yumeki-header--scrolled > .e-con.e-parent,
body.front-page .elementor-location-header.yumeki-header--scrolled .e-con.e-parent[data-settings*='sticky'],
body.front-page .elementor-location-header.yumeki-header--scrolled .e-con.e-parent.elementor-sticky,
body.front-page .elementor-location-header.yumeki-header--scrolled .e-con.e-parent.elementor-sticky--active,
body.front-page .elementor-location-header.yumeki-header--scrolled .e-con.e-parent.elementor-sticky--effects {
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;
	box-shadow: none !important;
}

body.home .elementor-location-header.yumeki-header--scrolled .e-con.e-parent .e-con,
body.home .elementor-location-header.yumeki-header--scrolled .elementor-section,
body.home .elementor-location-header.yumeki-header--scrolled .elementor-container,
body.home .elementor-location-header.yumeki-header--scrolled .elementor-widget-wrap,
body.front-page .elementor-location-header.yumeki-header--scrolled .e-con.e-parent .e-con,
body.front-page .elementor-location-header.yumeki-header--scrolled .elementor-section,
body.front-page .elementor-location-header.yumeki-header--scrolled .elementor-container,
body.front-page .elementor-location-header.yumeki-header--scrolled .elementor-widget-wrap {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* Inner pages: solid white header (incl. nested sticky containers) */
body:not(.home):not(.front-page) .elementor-location-header,
body:not(.home):not(.front-page) .elementor-location-header .e-con,
body:not(.home):not(.front-page) .elementor-location-header .e-con.e-parent,
body:not(.home):not(.front-page) .elementor-location-header .e-con.e-parent[data-settings*='sticky'],
body:not(.home):not(.front-page) .elementor-location-header .e-con.e-parent.elementor-sticky,
body:not(.home):not(.front-page) .elementor-location-header .e-con.e-parent.elementor-sticky--active,
body:not(.home):not(.front-page) .elementor-location-header .e-con.e-parent.elementor-sticky--effects,
body:not(.home):not(.front-page) .elementor-location-header .elementor-section,
body:not(.home):not(.front-page) .elementor-location-header .elementor-container,
body:not(.home):not(.front-page) .elementor-location-header .elementor-widget-wrap {
	background: #ffffff !important;
	background-color: #ffffff !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* Keep open mobile nav panels solid white */
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown {
	background: #ffffff !important;
	background-color: #ffffff !important;
}

/* Keep product gallery zoom under the sticky header */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	z-index: 2;
}

/* Mini cart above burger; close (X) above open mobile menu */
.elementor-menu-cart__main {
	width: 400px;
}

.elementor-location-header .elementor-widget-woocommerce-menu-cart,
.elementor-location-header .elementor-menu-cart__container,
.elementor-location-header .elementor-menu-cart__main,
.elementor-menu-cart__container,
.elementor-menu-cart__main,
.elementor-menu-cart__wrapper {
	z-index: 100000 !important;
}

.elementor-location-header .elementor-menu-toggle,
.elementor-menu-toggle {
	position: relative !important;
	z-index: 10000 !important; /* below open cart */
}

/* When menu is open, toggle becomes close — sit above fullscreen nav (99998) */
.elementor-location-header .elementor-menu-toggle.elementor-active,
.elementor-menu-toggle.elementor-active,
.elementor-location-header .elementor-menu-toggle[aria-expanded="true"],
.elementor-menu-toggle[aria-expanded="true"] {
	z-index: 100001 !important;
}

/* Logo z-index: high only while mobile nav is open (class from header-scroll.js) */
@media (max-width: 1024px) {
	.elementor-location-header .yukemi-branding,
	.elementor-location-header .elementor-widget-theme-site-logo {
		position: relative !important;
		z-index: 1 !important;
	}

	/* Must beat body.home … :not(.scrolled) .e-con { z-index: 10000 } */
	html.yumeki-nav-open .elementor-location-header .yukemi-branding,
	html.yumeki-nav-open .elementor-location-header .elementor-widget-theme-site-logo,
	html.yumeki-nav-open body.home .elementor-location-header .yukemi-branding,
	html.yumeki-nav-open body.home .elementor-location-header .elementor-widget-theme-site-logo,
	html.yumeki-nav-open body.front-page .elementor-location-header .yukemi-branding,
	html.yumeki-nav-open body.front-page .elementor-location-header .elementor-widget-theme-site-logo,
	html.yumeki-nav-open body.home .elementor-location-header:not(.yumeki-header--scrolled) .yukemi-branding,
	html.yumeki-nav-open body.front-page .elementor-location-header:not(.yumeki-header--scrolled) .yukemi-branding,
	body.yumeki-nav-open .elementor-location-header .yukemi-branding,
	body.yumeki-nav-open .elementor-location-header .elementor-widget-theme-site-logo,
	body.home.yumeki-nav-open .elementor-location-header:not(.yumeki-header--scrolled) .yukemi-branding,
	body.front-page.yumeki-nav-open .elementor-location-header:not(.yumeki-header--scrolled) .yukemi-branding {
		z-index: 100002 !important;
	}

	/* Cart open always wins — logo under cart overlay */
	html.elementor-menu-cart--shown .elementor-location-header .yukemi-branding,
	html.elementor-menu-cart--shown .elementor-location-header .elementor-widget-theme-site-logo,
	.elementor-location-header:has(.elementor-menu-cart--shown) .yukemi-branding,
	.elementor-location-header:has(.elementor-menu-cart--shown) .elementor-widget-theme-site-logo {
		z-index: 99997 !important;
	}
}

/* -------------------------------------------------------------------------
   Quantity +/- — one outer border; beat yumeki-addon global button rule
   Addon: body :is(button,[type=button],…):not(…×4) { border:1px solid #000 !important }
   Specificity ~ (0,5,1). Ours must exceed that with !important.
   ------------------------------------------------------------------------- */

.quantity:has(.yumeki-qty-btn),
.quantity:has(.yumeki-qty__btn) {
	border: 1px solid #c6c3c3;
}

.yumeki-qty {
	display: inline-flex;
	align-items: center;
	gap: 0;
	border: 0;
}

.yumeki-qty .qty,
.yumeki-qty input.qty,
.quantity:has(.yumeki-qty-btn) .qty,
.quantity:has(.yumeki-qty-btn) input.qty {
	width: 2.5em;
	min-width: 2.5em;
	margin: 0;
	padding: 0.35em 0.15em;
	border: 0;
	border-radius: 0;
	background: transparent;
	text-align: center;
	font-family: inherit;
	-moz-appearance: textfield;
	appearance: textfield;
}

.yumeki-qty .qty::-webkit-outer-spin-button,
.yumeki-qty .qty::-webkit-inner-spin-button,
.quantity:has(.yumeki-qty-btn) .qty::-webkit-outer-spin-button,
.quantity:has(.yumeki-qty-btn) .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body form.cart .quantity button.yumeki-qty-btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body form.cart .quantity button.yumeki-qty__btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body .woocommerce-mini-cart .quantity button.yumeki-qty-btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body .woocommerce-mini-cart .quantity button.yumeki-qty__btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body .elementor-menu-cart__product .quantity button.yumeki-qty-btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body .elementor-menu-cart__product .quantity button.yumeki-qty__btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 2.25em;
	min-height: 2.25em;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

body form.cart .quantity button.yumeki-qty-btn[type="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 form.cart .quantity button.yumeki-qty-btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus,
body form.cart .quantity button.yumeki-qty__btn[type="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 form.cart .quantity button.yumeki-qty__btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus,
body .woocommerce-mini-cart .quantity button.yumeki-qty-btn[type="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 .woocommerce-mini-cart .quantity button.yumeki-qty-btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus,
body .elementor-menu-cart__product .quantity button.yumeki-qty-btn[type="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 .elementor-menu-cart__product .quantity button.yumeki-qty-btn[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus {
	opacity: 0.65;
	border: 0 !important;
	border-color: transparent !important;
	background-color: transparent !important;
	color: inherit !important;
	box-shadow: none !important;
}

body .quantity button.yumeki-qty-btn:focus-visible,
body .quantity button.yumeki-qty__btn:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: -2px;
}

/* -------------------------------------------------------------------------
   Free-shipping progress (mini-cart / side cart)
   ------------------------------------------------------------------------- */

.yumeki-free-shipping {
	margin: 0 0 1rem;
	padding: 0 0 0.85rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.yumeki-free-shipping[hidden] {
	display: none !important;
}

.yumeki-free-shipping__text {
	margin: 0 0 0.55rem;
	font-size: 0.9rem;
	line-height: 1.35;
}

.yumeki-free-shipping__text strong {
	font-weight: 700;
}

.yumeki-free-shipping__track {
	height: 3px;
	overflow: hidden;
	background: rgba(0, 0, 0, 0.1);
}

.yumeki-free-shipping__fill {
	display: block;
	height: 100%;
	background: #000;
	transition: width 0.35s ease;
}

.yumeki-free-shipping.is-complete .yumeki-free-shipping__fill {
	background: #445c1a;
}

/* -------------------------------------------------------------------------
   Cart badge — hide count when empty
   ------------------------------------------------------------------------- */

.elementor-button-icon-qty.yumeki-cart-badge--empty {
	display: none !important;
}

/* -------------------------------------------------------------------------
   Rekommenderas för — active bold, inactive grey
   ------------------------------------------------------------------------- */

.yumeki-recommended-marker {
	display: none;
}

.yumeki-recommended-label.is-active {
	font-weight: 700;
	opacity: 1;
	color: #000;
}

.yumeki-recommended-label.is-inactive {
	font-weight: 400;
	opacity: 0.45;
	color: #6b6b6b;
}

/* -------------------------------------------------------------------------
   Content links — underline only inline body copy in text/content widgets
   (p a / li a). Not product grids, headings, header, footer, or buttons.
   ------------------------------------------------------------------------- */

.elementor-widget-text-editor p a,
.elementor-widget-text-editor li a,
.elementor-widget-theme-post-content p a,
.elementor-widget-theme-post-content li a,
.elementor-widget-woocommerce-product-content p a,
.elementor-widget-woocommerce-product-content li a,
.elementor-widget-woocommerce-product-short-description p a,
.elementor-widget-woocommerce-product-short-description li a,
.woocommerce-Tabs-panel p a,
.woocommerce-Tabs-panel li a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.elementor-widget-text-editor p a:hover,
.elementor-widget-text-editor p a:focus,
.elementor-widget-text-editor li a:hover,
.elementor-widget-text-editor li a:focus,
.elementor-widget-theme-post-content p a:hover,
.elementor-widget-theme-post-content p a:focus,
.elementor-widget-theme-post-content li a:hover,
.elementor-widget-theme-post-content li a:focus,
.elementor-widget-woocommerce-product-content p a:hover,
.elementor-widget-woocommerce-product-content p a:focus,
.elementor-widget-woocommerce-product-content li a:hover,
.elementor-widget-woocommerce-product-content li a:focus,
.elementor-widget-woocommerce-product-short-description p a:hover,
.elementor-widget-woocommerce-product-short-description p a:focus,
.elementor-widget-woocommerce-product-short-description li a:hover,
.elementor-widget-woocommerce-product-short-description li a:focus,
.woocommerce-Tabs-panel p a:hover,
.woocommerce-Tabs-panel p a:focus,
.woocommerce-Tabs-panel li a:hover,
.woocommerce-Tabs-panel li a:focus {
	opacity: 0.7;
}

/* Headings, product grids, chrome — never content underlines */
:is(h1, h2, h3, h4, h5, h6) a,
a:is(.h1, .h2, .h3, .h4, .h5, .h6),
.elementor-heading-title a,
.elementor-widget-heading a,
ul.products a,
.e-loop-item a,
a.grid-element-zoom,
.grid-element-zoom a,
.yumeki-btn.elementor-widget-text-editor a,
.yumeki-btn.elementor-widget-text-editor p a,
.elementor-location-header a,
.elementor-location-footer a,
.elementor-nav-menu a,
.elementor-button,
.elementor-button-link,
a.button,
a.wp-element-button {
	text-decoration: none;
}

/* -------------------------------------------------------------------------
   Checkout extras
   ------------------------------------------------------------------------- */

.wc-block-checkout__guest-checkout-notice {
	display: none;
}

.yumeki-newsletter-optin {
	margin: 1rem 0;
}

/*
 * Slutför beställning — black / white + silver sweep.
 * Beat yumeki-addon: body :is(button,…):not(…×4) { background: transparent !important }
 * Specificity must exceed (0,5,1).
 */
body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body button.wc-block-components-checkout-place-order-button[type="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 button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus,
body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):active {
	position: relative;
	overflow: hidden;
	z-index: 1;
	display: flex;
	max-width: max-content;
	background-color: #000 !important;
	background-image: none !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
}

body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input) .wc-block-components-button__text,
body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input) .wc-block-components-checkout-place-order-button__text,
body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover .wc-block-components-button__text,
body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus .wc-block-components-button__text,
body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover .wc-block-components-checkout-place-order-button__text,
body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus .wc-block-components-checkout-place-order-button__text {
	position: relative;
	z-index: 1;
	color: #fff !important;
}

body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input)::before {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 70%;
	height: 100%;
	opacity: 0.55;
	background-image: linear-gradient(
		90deg,
		transparent,
		hsla(0, 0%, 100%, 0.65),
		transparent
	);
	transform: skew(-20deg);
	pointer-events: none;
	z-index: 2;
}

body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover::before,
body button.wc-block-components-checkout-place-order-button[type="button"]:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus::before {
	animation: yumeki-btn-sweep 1.3s ease-out;
}

/*
 * Varukorg — Gå till kassan: black / white + silver sweep.
 * Beat plugin transparent rule on .wc-block-cart__submit-button.
 */
body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body a.wc-block-cart__submit-button.wc-block-components-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 a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus,
body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):active {
	position: relative;
	overflow: hidden;
	z-index: 1;
	background-color: #000 !important;
	background-image: none !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
}

body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input) .wc-block-components-button__text,
body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover .wc-block-components-button__text,
body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus .wc-block-components-button__text {
	position: relative;
	z-index: 1;
	color: #fff !important;
}

body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input)::before {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 70%;
	height: 100%;
	opacity: 0.55;
	background-image: linear-gradient(
		90deg,
		transparent,
		hsla(0, 0%, 100%, 0.65),
		transparent
	);
	transform: skew(-20deg);
	pointer-events: none;
	z-index: 2;
}

body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover::before,
body a.wc-block-cart__submit-button.wc-block-components-button:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus::before {
	animation: yumeki-btn-sweep 1.3s ease-out;
}

/* Redigera (address card) — silver sweep only */
body .wc-block-components-address-card__edit {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

body .wc-block-components-address-card__edit::before {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 70%;
	height: 100%;
	opacity: 0.55;
	background-image: linear-gradient(
		90deg,
		transparent,
		hsla(0, 0%, 100%, 0.65),
		transparent
	);
	transform: skew(-20deg);
	pointer-events: none;
	z-index: 2;
}

body .wc-block-components-address-card__edit:hover::before,
body .wc-block-components-address-card__edit:focus::before {
	animation: yumeki-btn-sweep 1.3s ease-out;
}

/* -------------------------------------------------------------------------
   Gravity Forms — newsletter field + silver sweep on submit
   GF framework owns .button::before/::after for icons (content: var(--gf-ctrl-btn-icon)).
   Kill those on submit, then run silver sweep on ::after via transform
   (do NOT use left:!important — that blocks @keyframes yumeki-btn-sweep).
   ------------------------------------------------------------------------- */

#gform_wrapper_2 input[type="email"] {
	max-width: 300px !important;
	width: 100%;
	border: 1px solid lightgray;
}

.gform-theme.gform-theme--framework.gform_wrapper button.gform_button.button,
.gform_wrapper button.gform_button.button {
	position: relative !important;
	overflow: hidden !important;
	isolation: isolate;
	z-index: 1;
}

/* Disable GF icon ::before on submit */
.gform-theme.gform-theme--framework.gform_wrapper button.gform_button.button::before,
.gform_wrapper button.gform_button.button::before {
	content: none !important;
	display: none !important;
	font-family: inherit !important;
	--gf-local-content: none !important;
}

/*
 * Silver sweep on ::after.
 * Animate transform (not left) so !important layout props cannot freeze the effect.
 */
.gform-theme.gform-theme--framework.gform_wrapper button.gform_button.button::after,
.gform_wrapper button.gform_button.button::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: 0 !important;
	right: auto !important;
	bottom: auto !important;
	left: 0 !important;
	width: 70% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0.55 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	font-family: inherit !important;
	color: transparent !important;
	speak: normal !important;
	background-image: linear-gradient(
		90deg,
		transparent,
		hsla(0, 0%, 100%, 0.65),
		transparent
	) !important;
	background-color: transparent !important;
	border: 0 !important;
	/* no !important on transform — keyframes must be able to animate it */
	transform: translateX(-140%) skew(-20deg);
	pointer-events: none !important;
	z-index: 2 !important;
	--gf-local-content: none !important;
	--gf-local-color: transparent !important;
}

.gform-theme.gform-theme--framework.gform_wrapper button.gform_button.button:hover::after,
.gform-theme.gform-theme--framework.gform_wrapper button.gform_button.button:focus::after,
.gform_wrapper button.gform_button.button:hover::after,
.gform_wrapper button.gform_button.button:focus::after {
	animation: yumeki-gform-btn-sweep 1.3s ease-out !important;
}

@keyframes yumeki-gform-btn-sweep {
	from {
		transform: translateX(-140%) skew(-20deg);
	}
	to {
		transform: translateX(220%) skew(-20deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gform-theme.gform-theme--framework.gform_wrapper button.gform_button.button:hover::after,
	.gform-theme.gform-theme--framework.gform_wrapper button.gform_button.button:focus::after,
	.gform_wrapper button.gform_button.button:hover::after,
	.gform_wrapper button.gform_button.button:focus::after {
		animation: none !important;
	}
}

/* -------------------------------------------------------------------------
   Order received — full-width details table on mobile
   Addon sets checkout tables to display:block (overflow), which also hits
   order-received and leaves the table shrink-wrapped inside its border.
   ------------------------------------------------------------------------- */
@media (max-width: 1023px) {
	body.woocommerce-checkout.woocommerce-order-received table.shop_table,
	body.woocommerce-checkout.woocommerce-order-received table.woocommerce-table--order-details {
		display: table !important;
		width: 100% !important;
		max-width: 100%;
		table-layout: fixed;
		box-sizing: border-box;
		overflow-x: visible;
	}

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

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

/* Hide empty / “added to cart” notices */
.woocommerce-message:has(a.wc-forward),
.woocommerce-message:empty {
	display: none !important;
}

.yumeki-checkout-coupon__title {
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
}

a.added_to_cart.wc-forward {
    display: none;
}

.woocommerce div.product form.cart::after {
    display: none;
}

.gfield_required.gfield_required_custom,
.gform_required_legend,
.gform_wrapper .gform_required_legend {
	display: none !important;
}

.woocommerce-order {
    padding-left: 16px;
    padding-right: 16px;
}

/* PhotoSwipe gallery arrows — beat yumeki-addon global button rule
   Addon: body :is(button,[type="button"],…):not(…×4)
   { background: transparent; color: #000 } → hover black/white.
   Keep black fill + light arrow in every state. */
body button.pswp__button.pswp__button--arrow--left:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body button.pswp__button.pswp__button--arrow--right:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input),
body button.pswp__button.pswp__button--arrow--left:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover,
body button.pswp__button.pswp__button--arrow--right:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):hover,
body button.pswp__button.pswp__button--arrow--left:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus,
body button.pswp__button.pswp__button--arrow--right:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):focus,
body button.pswp__button.pswp__button--arrow--left:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):active,
body button.pswp__button.pswp__button--arrow--right:not(.elementor-menu-toggle):not(.wc-block-cart-item__remove-link):not(.wc-block-components-quantity-selector__button):not(.show-password-input):active {
	background-color: #000 !important;
	border-color: #000 !important;
	color: #f5f5f5 !important;
	box-shadow: none !important;
}

body .pswp__button--arrow--left svg,
body .pswp__button--arrow--right svg,
body .pswp__button--arrow--left svg path,
body .pswp__button--arrow--right svg path {
	fill: #f5f5f5 !important;
	stroke: #f5f5f5 !important;
	color: #f5f5f5 !important;
}

#c-txt .cc-link {
    border: none !important;
    padding: 8px 0 0 0 !important;
    text-decoration: underline !important;
	background-color: transparent !important;
	color: #000 !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	font-family: inherit !important;
	text-align: left !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	text-decoration-thickness: 1px !important;
	text-decoration-color: #000 !important;
}

#s-cnt .b-bn .b-tl.exp {
    cursor: pointer;
    padding-left: 1.5rem !important;
}

.cc_div .act .b-bn .exp:before, .cc_div .b-bn .exp:before {
    left: 0.5em;
}
