/* ============================================
   MUUS Custom Styles
   Dark premium theme for Yakutian knives
   ============================================ */

/* --- Global --- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	overflow-x: clip;
	overscroll-behavior-x: none;
	scroll-behavior: smooth;
}

body {
	overflow-x: clip;
	overscroll-behavior-x: none;
	width: 100%;
	max-width: 100vw;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: clamp(0.95rem, 2.2vw, 1rem);
}

::selection {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
}

img {
	max-width: 100%;
	height: auto;
}

/* --- Fluid Typography --- */
.wp-block-heading:where(h1),
.entry-title,
h1.wp-block-post-title {
	font-size: clamp(1.75rem, 5vw, 3rem);
}

.wp-block-heading:where(h2) {
	font-size: clamp(1.375rem, 4vw, 2.25rem);
}

.wp-block-heading:where(h3) {
	font-size: clamp(1.125rem, 3vw, 1.5rem);
}

/* --- Announcement Bar --- */
.muus-announcement-bar {
	position: relative;
	z-index: 99;
}

/* --- Header --- */
header.wp-block-template-part {
	position: sticky;
	top: -61px;
	z-index: 100;
}

header.wp-block-template-part > * + * {
	margin-top: 0 !important;
}

.muus-header {
	background-color: var(--wp--preset--color--background) !important;
}

/* 3-column balanced header: logo | nav (centered) | actions */
.muus-header > .wp-block-group {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.muus-header > .wp-block-group > .wp-block-group:first-child,
.muus-header > .wp-block-group > .muus-header-actions {
	flex: 1;
	min-width: 0;
}

.muus-header > .wp-block-group > .muus-header-actions {
	justify-content: flex-end;
}

.muus-header .muus-primary-nav {
	flex: 0 0 auto;
}

.muus-header .wp-block-site-title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}

.muus-header .wp-block-site-title a:hover {
	color: var(--wp--preset--color--primary);
}

/* --- Navigation --- */
.wp-block-navigation a {
	text-decoration: none !important;
}

.wp-block-navigation a:hover {
	color: var(--wp--preset--color--primary) !important;
}

.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--background);
}

/* --- Hero --- */
.muus-hero {
	margin-top: -1.5rem !important;
}

.muus-hero .wp-block-cover {
	overflow: hidden;
}

.muus-hero .wp-block-cover .wp-block-cover__image-background {
	filter: brightness(0.35);
}

.muus-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 1;
}

.muus-hero .wp-block-cover::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 120px;
	background: linear-gradient(to top, var(--wp--preset--color--background), transparent);
	pointer-events: none;
}

/* --- Hero Display Font --- */
.muus-hero h1.has-heading-font-family,
.muus-hero h1,
.muus-about-hero h1.has-heading-font-family,
.muus-about-hero h1 {
	font-family: var(--wp--preset--font-family--display) !important;
}

/* --- Story Section (Cover Block) --- */
.muus-story .wp-block-cover__image-background {
	filter: brightness(0.4);
}

/* --- Product Cards (Product Collection block) --- */

/* Card container — no border, clean look */
.wc-block-product-template > li > .wp-block-group {
	height: 100%;
	background: transparent !important;
	border: none !important;
	overflow: hidden;
	transition: none;
}

/* Lang switcher cloned into nav by mobile-menu.js — show only in mobile overlay */
.muus-menu-lang {
	display: none;
}
.muus-primary-nav.is-open .muus-menu-lang {
	display: block;
}

/* Card: gold title color (needs extra specificity to beat WooCommerce inherit !important) */
.wp-site-blocks .wc-block-product-template .wp-block-post-title a,
.wp-site-blocks .muus-product-card .wp-block-post-title a,
.wp-site-blocks .wp-block-woocommerce-related-products .wp-block-post-title a {
	color: var(--wp--preset--color--primary) !important;
}

/* Card: remove WP default blockGap between image and text */
.muus-product-card.wp-block-group > :where(:not(.is-style-sticky):not(:first-child)) {
	margin-block-start: 0;
}

/* Image wrapper — rounded, overflow hidden for zoom */
.wc-block-product-template .wc-block-components-product-image {
	border-radius: 16px;
	overflow: hidden;
	position: relative;
}

.wc-block-product-template .wc-block-components-product-image img {
	aspect-ratio: 2 / 3;
	object-fit: cover;
	width: 100%;
	transition: transform 0.5s ease;
}

.wc-block-product-template > li:hover .wc-block-components-product-image img {
	transform: scale(1.05);
}

/* Product title — uppercase, bold, left-aligned */
.wc-block-product-template .wp-block-post-title,
.wc-block-product-template .wc-block-components-product-name {
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--text) !important;
	text-decoration: none !important;
	text-align: left !important;
	margin-top: 0.75rem !important;
	margin-bottom: 0 !important;
}

.wc-block-product-template .wp-block-post-title a,
.wc-block-product-template .wc-block-components-product-name a {
	text-decoration: none !important;
	color: inherit !important;
	transition: color 0.3s ease;
}

.wc-block-product-template > li:hover .wp-block-post-title a,
.wc-block-product-template > li:hover .wc-block-components-product-name a {
	color: var(--wp--preset--color--primary) !important;
}

/* Product excerpt — thin, muted subtitle */
.wc-block-product-template .wp-block-post-excerpt {
	text-align: left !important;
	margin-top: 0.2rem !important;
	margin-bottom: 0 !important;
}

.wc-block-product-template .wp-block-post-excerpt__excerpt {
	font-size: 0.8rem !important;
	font-weight: 400;
	color: var(--wp--preset--color--text-muted) !important;
	margin-bottom: 0;
	line-height: 1.4;
	transition: color 0.3s ease;
}

.wc-block-product-template > li:hover .wp-block-post-excerpt__excerpt {
	color: var(--wp--preset--color--text) !important;
}

.wc-block-product-template .wp-block-post-excerpt__more-link {
	display: none;
}

/* Product price — bold, left-aligned, same spacing as other lines */
.wc-block-product-template .wp-block-woocommerce-product-price {
	margin-top: 0.2rem !important;
}

.wc-block-product-template .wc-block-components-product-price {
	color: var(--wp--preset--color--text) !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	text-align: left !important;
	margin-top: 0 !important;
}

/* --- Product Card Gallery Carousel --- */
.muus-card-gallery {
	position: relative;
}

.muus-card-gallery a {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 16px;
}

.muus-gallery-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.muus-gallery-img.active {
	position: relative;
	opacity: 1;
	pointer-events: auto;
}

/* Arrows */
.muus-gallery-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	background: rgba(0, 0, 0, 0.5);
	border: none;
	border-radius: 50%;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.3s ease, background 0.2s ease;
	padding: 0;
	backdrop-filter: blur(4px);
}

.muus-card-gallery:hover .muus-gallery-arrow {
	opacity: 1;
}

.muus-gallery-arrow:hover {
	background: rgba(0, 0, 0, 0.75);
}

.muus-gallery-prev {
	left: 10px;
}

.muus-gallery-next {
	right: 10px;
}

/* Dots */
.muus-gallery-dots {
	position: absolute;
	bottom: 12px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	gap: 6px;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.muus-card-gallery:hover .muus-gallery-dots {
	opacity: 1;
}

.muus-gallery-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.4);
	transition: background 0.2s ease;
}

.muus-gallery-dot.active {
	background: #fff;
}

/* Add to cart button */
.muus-add-to-cart {
	position: absolute;
	bottom: 12px;
	right: 12px;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 4px;
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 50px;
	padding: 8px 14px;
	color: #fff;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.3s ease, transform 0.3s ease, background 0.2s ease;
}

.muus-card-gallery:hover .muus-add-to-cart {
	opacity: 1;
	transform: translateY(0);
}

.muus-add-to-cart:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border-color: var(--wp--preset--color--primary);
}

.muus-add-to-cart.added {
	background: rgba(40, 167, 69, 0.8) !important;
	border-color: rgba(40, 167, 69, 0.8) !important;
	color: #fff !important;
}

.muus-add-to-cart svg {
	flex-shrink: 0;
}

/* --- WooCommerce Product Grid (classic blocks) --- */
.wc-block-grid__product {
	background-color: transparent;
	border: none;
	transition: none;
}

.wc-block-grid__product:hover {
	transform: none;
}

.wc-block-grid__product-image {
	border-radius: 16px;
	overflow: hidden;
}

.wc-block-grid__product-image img {
	aspect-ratio: 2 / 3;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.wc-block-grid__product:hover .wc-block-grid__product-image img {
	transform: scale(1.05);
}

.wc-block-grid__product-title {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.9rem;
	font-weight: 400;
	transition: color 0.3s ease;
}

.wc-block-grid__product:hover .wc-block-grid__product-title {
	color: var(--wp--preset--color--text);
}

.wc-block-grid__product-price {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

/* --- WooCommerce Buttons --- */
.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product .add_to_cart_button,
.single-product .single_add_to_cart_button,
.woocommerce .button {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: none;
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 600;
	font-size: 0.85rem;
	padding: 0.75rem 2rem;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.wc-block-grid__product .wp-block-button__link:hover,
.wc-block-grid__product .add_to_cart_button:hover,
.single-product .single_add_to_cart_button:hover,
.woocommerce .button:hover {
	background-color: var(--wp--preset--color--text);
	color: var(--wp--preset--color--background);
}

/* --- Single Product Page (Morakniv structure) --- */

/* Columns: 0 gap, right column gets internal padding (like Morakniv) */
.muus-product-columns {
	gap: 0 !important;
}

.muus-product-columns > .wp-block-column:last-child {
	padding-left: 30px;
}

.muus-product-about > .wp-block-columns {
	gap: 0 !important;
}

.muus-product-about > .wp-block-columns > .wp-block-column:last-child {
	padding-left: 30px;
}

/* Gallery: square, fills column, transparent bg (like Morakniv) */
.muus-single-product .wp-block-woocommerce-product-image-gallery {
	max-width: 100% !important;
	width: 100% !important;
}

.muus-single-product .woocommerce-product-gallery {
	width: 100% !important;
	max-width: 100% !important;
	background-color: var(--wp--preset--color--background, #111);
}

.muus-single-product .woocommerce-product-gallery .flex-viewport {
	width: 100% !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	clip-path: inset(0);
	background-color: var(--wp--preset--color--background, #111);
	border: 0 !important;
	margin: 0 !important;
}

.muus-single-product .woocommerce-product-gallery .flexslider,
.woocommerce div.product div.images .flexslider {
	width: 100% !important;
	border: 0 !important;
	border-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.muus-single-product .woocommerce-product-gallery .slides {
	width: 100% !important;
}

.muus-single-product .woocommerce-product-gallery .slides > li {
	width: 100% !important;
	background-color: var(--wp--preset--color--background, #111);
	border: none !important;
	outline: none !important;
}

/* Prevent zoom plugin from flashing white */
.muus-single-product .zoomImg {
	background-color: var(--wp--preset--color--background, #111) !important;
}

.muus-single-product .woocommerce-product-gallery__image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: var(--wp--preset--color--background, #111);
	border: none !important;
	outline: none !important;
}

.muus-single-product .woocommerce-product-gallery__image a {
	display: block;
	width: 100% !important;
	height: 100% !important;
	background-color: var(--wp--preset--color--background, #111);
	border: none !important;
	outline: none !important;
}

.muus-single-product .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	border-radius: 0;
	border: none !important;
	outline: none !important;
}

/* Gallery: zoom trigger — "+" in circle (high specificity to override WooCommerce) */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50%;
	background: rgba(17, 17, 17, 0.7) !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 15;
	opacity: 0;
	transition: opacity 0.25s, background 0.2s;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	padding: 0 !important;
	text-indent: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger * {
	display: none !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before {
	content: '+' !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	position: static !important;
	width: 100% !important;
	height: 100% !important;
	border: none !important;
	border-radius: 0 !important;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1;
	color: #fff;
	top: auto !important;
	left: auto !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after {
	content: none !important;
	display: none !important;
}

.woocommerce div.product div.images:hover .woocommerce-product-gallery__trigger {
	opacity: 1;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover {
	background: rgba(17, 17, 17, 0.9) !important;
}

/* PhotoSwipe lightbox — bottom center navigation */
.pswp__bg {
	background: rgba(0, 0, 0, 0.95) !important;
}

.pswp__top-bar {
	display: none !important;
}

.pswp__caption {
	display: none !important;
}

/* Bottom nav: ← × → centered */
.pswp__bottom-nav {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 8px;
	z-index: 9999;
}

.pswp__bottom-nav .pswp__button {
	position: static !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.12) !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	margin: 0 !important;
	opacity: 1 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s;
	float: none !important;
}

.pswp__bottom-nav .pswp__button:hover {
	background-color: rgba(255, 255, 255, 0.25) !important;
}

/* Hide default arrow/close backgrounds */
.pswp__bottom-nav .pswp__button--arrow--left::before,
.pswp__bottom-nav .pswp__button--arrow--left::after,
.pswp__bottom-nav .pswp__button--arrow--right::before,
.pswp__bottom-nav .pswp__button--arrow--right::after,
.pswp__bottom-nav .pswp__button--close::before,
.pswp__bottom-nav .pswp__button--close::after {
	display: none !important;
	background: none !important;
}

/* SVG icons via background */
.pswp__bottom-nav .pswp__button--arrow--left {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 20px !important;
	background-color: rgba(255, 255, 255, 0.12) !important;
}

.pswp__bottom-nav .pswp__button--close {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 20px !important;
	background-color: rgba(255, 255, 255, 0.12) !important;
}

.pswp__bottom-nav .pswp__button--arrow--right {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 20px !important;
	background-color: rgba(255, 255, 255, 0.12) !important;
}

/* Keep arrow icons visible on hover */
.pswp__bottom-nav .pswp__button--arrow--left:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E") !important;
	background-color: rgba(255, 255, 255, 0.25) !important;
	opacity: 1 !important;
}

.pswp__bottom-nav .pswp__button--arrow--right:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") !important;
	background-color: rgba(255, 255, 255, 0.25) !important;
	opacity: 1 !important;
}

/* Override any default PhotoSwipe arrow hover/hide styles */
.pswp__button--arrow--left:hover,
.pswp__button--arrow--right:hover {
	visibility: visible !important;
	opacity: 1 !important;
}

/* Fix: FlexSlider sub-pixel gap (clone slide peeks through 0.5px on left) */
.muus-single-product .flex-viewport::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: var(--wp--preset--color--background, #111);
	z-index: 2;
	pointer-events: none;
}

/* Gallery: Flexslider arrows */
.muus-single-product .flex-viewport {
	position: relative;
	overflow: hidden;
}

.muus-single-product .flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.muus-single-product .flex-direction-nav a {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(17, 17, 17, 0.7);
	border: 1px solid var(--wp--preset--color--border);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.25s, background 0.2s;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	text-indent: -9999px;
	cursor: pointer;
	text-decoration: none;
}

.muus-single-product .flex-direction-nav a::after {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	text-indent: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.muus-single-product .flex-direction-nav a.flex-prev {
	left: 12px;
}

.muus-single-product .flex-direction-nav a.flex-prev::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E");
}

.muus-single-product .flex-direction-nav a.flex-next {
	right: 12px;
}

.muus-single-product .flex-direction-nav a.flex-next::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
}

.muus-single-product .flex-direction-nav a:hover {
	background: rgba(17, 17, 17, 0.9);
}

.muus-single-product .woocommerce-product-gallery:hover .flex-direction-nav a {
	opacity: 1;
}

.muus-single-product .flex-direction-nav a.flex-disabled {
	opacity: 0 !important;
	pointer-events: none;
}

/* Gallery: thumbnails — gap between main image and thumbs (Morakniv: 5px/5px) */
.muus-single-product .flex-control-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 10px !important;
	margin-bottom: 10px !important;
	padding: 0;
	list-style: none;
}

.muus-single-product .flex-control-thumbs li {
	flex: 0 0 88px;
	width: 88px;
	height: 88px;
	cursor: pointer;
	border: 2px solid transparent;
	transition: border-color 0.2s;
	overflow: hidden;
	background-color: transparent;
}

.muus-single-product .flex-control-thumbs li:has(img.flex-active) {
	border-color: var(--wp--preset--color--text);
}

.muus-single-product .flex-control-thumbs li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.6;
	transition: opacity 0.2s;
}

.muus-single-product .flex-control-thumbs li img.flex-active,
.muus-single-product .flex-control-thumbs li:hover img {
	opacity: 1;
}

.muus-single-product .woocommerce-product-gallery__image--placeholder {
	display: none;
}

/* SKU line */
.muus-product-sku-line {
	margin-top: 0 !important;
}

.muus-product-sku-line .wc-block-components-product-sku {
	font-size: 0.875rem;
	color: var(--wp--preset--color--text-muted);
}

/* Stock status: green/red dot */
.muus-stock-status {
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.25rem;
	color: var(--wp--preset--color--text);
}

.muus-stock-status::before {
	content: '';
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}

.muus-stock-status.in-stock::before {
	background-color: #56AD6A;
}

.muus-stock-status.out-of-stock::before {
	background-color: #e53935;
}

.muus-single-product .wp-block-woocommerce-add-to-cart-form .stock {
	display: none !important;
}

/* Product description in right column (like Morakniv) */
.muus-product-info .muus-product-description {
	color: var(--wp--preset--color--text);
}

.muus-product-info .muus-product-description p {
	margin-bottom: 1rem;
}

.muus-product-info .muus-product-description h2,
.muus-product-info .muus-product-description h3,
.muus-product-info .muus-product-description h4 {
	font-size: 0.95rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	margin-top: 1.25rem;
	margin-bottom: 0.5rem;
}

.muus-product-info .muus-product-description ul {
	padding-left: 1.25rem;
	margin-bottom: 1rem;
}

.muus-product-info .muus-product-description li {
	margin-bottom: 0.25rem;
}

/* Hide standalone price text in product info (price is shown inside the add-to-cart button) */
.muus-product-info > .wp-block-woocommerce-product-price .wc-block-components-product-price {
	display: none;
}

/* Add to cart: full-width, 46px height, uppercase with price (Morakniv) */
.muus-single-product .wp-block-woocommerce-add-to-cart-form {
	margin-top: 0.75rem;
}

.muus-single-product .wp-block-woocommerce-add-to-cart-form form.cart {
	display: block !important;
}

.muus-single-product .wp-block-woocommerce-add-to-cart-form form.cart .quantity,
.muus-single-product form.cart .quantity {
	display: none !important;
}

.muus-single-product .single_add_to_cart_button {
	width: 100% !important;
	display: block !important;
	text-align: center;
	height: 46px;
	padding: 0 2rem !important;
	font-size: 0.9rem !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: 0.075em;
	background-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--background) !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer;
	transition: background-color 0.2s;
}

.muus-single-product .single_add_to_cart_button:hover {
	background-color: var(--wp--preset--color--text) !important;
}

/* --- "About the Product" section --- */
.muus-product-about-image img {
	width: 100%;
	height: auto;
	display: block;
}

.muus-about-label {
	margin-bottom: 1.25rem;
}

.muus-about-label__tag {
	display: block;
	font-size: 0.75rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--text-muted);
	margin-bottom: 0.5rem;
}

.muus-about-label__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 2rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--text);
	margin: 0;
	line-height: 1.2;
}

.muus-product-about .wp-block-post-content {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--wp--preset--color--text);
}

.muus-product-about .wp-block-post-content p {
	margin-bottom: 1.25rem;
}

/* Description subheadings: Morakniv style */
.muus-product-about .wp-block-post-content h2,
.muus-product-about .wp-block-post-content h3,
.muus-product-about .wp-block-post-content h4 {
	font-size: 0.875rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-top: 1.75rem;
	margin-bottom: 0.5rem;
	color: var(--wp--preset--color--text);
}

/* --- Specs Accordion section --- */
.muus-product-specs .muus-product-about-image img {
	width: 100%;
	height: auto;
	display: block;
}

.muus-product-specs .woocommerce-tabs .tabs {
	display: none !important;
}

.muus-product-specs .woocommerce-tabs .panel {
	padding: 0;
}

/* Accordion headers: 1rem, clean, border-top between items */
.muus-accordion-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 0.95rem 0;
	border: none;
	border-top: 1px solid var(--wp--preset--color--border);
	background: none;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--text);
	transition: color 0.2s;
}

.muus-accordion-header:last-of-type {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.muus-accordion-header:hover {
	color: var(--wp--preset--color--primary);
}

.muus-accordion-title {
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}

.muus-accordion-icon {
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1;
	margin-right: 0.25rem;
}

.muus-accordion-panel {
	padding: 1rem 0 1.5rem;
	font-size: 0.9rem;
	line-height: 1.7;
	color: var(--wp--preset--color--text);
}

.muus-accordion-panel table {
	width: 100%;
	border-collapse: collapse;
}

.muus-accordion-panel table th,
.muus-accordion-panel table td {
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: 0.875rem;
	text-align: left;
}

.muus-accordion-panel table th {
	font-weight: 600;
	color: var(--wp--preset--color--text);
	width: 40%;
}

.muus-accordion-panel table td {
	color: var(--wp--preset--color--text-muted);
}

/* Specs section: right column padding (Morakniv: 30px left) */
.muus-product-specs > .wp-block-columns {
	gap: 0 !important;
}

.muus-product-specs > .wp-block-columns > .wp-block-column:last-child {
	padding-left: 30px;
}

/* Specs accordion — Morakniv style */
.muus-specs-accordion {
	width: 100%;
}

.muus-specs-accordion__item {
	border-top: 1px solid var(--wp--preset--color--border);
}

.muus-specs-accordion__item:last-child {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.muus-specs-accordion__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 15px 0;
	border: none;
	background: none;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--text);
	transition: color 0.2s;
}

.muus-specs-accordion__header:hover {
	color: var(--wp--preset--color--primary);
}

.muus-specs-accordion__title {
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}

.muus-specs-accordion__icon {
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1;
	display: inline-block;
	transition: transform 0.3s ease;
}

.muus-specs-accordion__item.is-open .muus-specs-accordion__icon {
	transform: rotate(45deg);
}

.muus-specs-accordion__panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
}

.muus-specs-accordion__content {
	padding: 0 0 1.5rem;
	font-size: 0.9rem;
	line-height: 1.7;
	color: var(--wp--preset--color--text);
}

.muus-specs-table {
	width: 100%;
	border-collapse: collapse;
}

.muus-specs-table th,
.muus-specs-table td {
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: 0.875rem;
	text-align: left;
}

.muus-specs-table th {
	font-weight: 600;
	color: var(--wp--preset--color--text);
	width: 40%;
}

.muus-specs-table td {
	color: var(--wp--preset--color--text-muted);
}

/* Reviews inside accordion */
.muus-specs-accordion__content .comment-respond {
	margin-top: 1.5rem;
}

.muus-specs-accordion__content #reviews h2,
.muus-specs-accordion__content .woocommerce-Reviews-title {
	display: none;
}

/* "No reviews yet" text */
.muus-specs-accordion__content .woocommerce-noreviews {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.9rem;
	margin-bottom: 1.5rem;
}

/* Review form title */
.muus-specs-accordion__content .comment-reply-title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--text);
	margin-bottom: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}

.muus-specs-accordion__content .comment-reply-title span {
	display: none;
}

/* Form notes */
.muus-specs-accordion__content .comment-notes {
	font-size: 0.8rem;
	color: var(--wp--preset--color--text-muted);
	margin-bottom: 1.25rem;
}

.muus-specs-accordion__content .required {
	color: var(--wp--preset--color--primary);
}

/* Rating stars */
.muus-specs-accordion__content .comment-form-rating {
	margin-bottom: 1.25rem;
}

.muus-specs-accordion__content .comment-form-rating > label {
	display: block;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--wp--preset--color--text);
	margin-bottom: 0.5rem;
}

.muus-specs-accordion__content .stars {
	display: flex;
	gap: 0.25rem;
}

.muus-specs-accordion__content .stars a {
	color: var(--wp--preset--color--text-muted);
	font-size: 1.25rem;
	text-decoration: none;
	transition: color 0.2s;
}

.muus-specs-accordion__content .stars a:hover,
.muus-specs-accordion__content .stars a.active {
	color: var(--wp--preset--color--primary);
}

/* Form fields: labels + inputs */
.muus-specs-accordion__content .comment-form label {
	display: block;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--wp--preset--color--text);
	margin-bottom: 0.4rem;
}

.muus-specs-accordion__content .comment-form input[type="text"],
.muus-specs-accordion__content .comment-form input[type="email"],
.muus-specs-accordion__content .comment-form textarea {
	width: 100%;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9rem;
	padding: 0.75rem 1rem;
	transition: border-color 0.2s;
	outline: none;
}

.muus-specs-accordion__content .comment-form input[type="text"]:focus,
.muus-specs-accordion__content .comment-form input[type="email"]:focus,
.muus-specs-accordion__content .comment-form textarea:focus {
	border-color: var(--wp--preset--color--primary);
}

.muus-specs-accordion__content .comment-form textarea {
	resize: vertical;
	min-height: 120px;
}

.muus-specs-accordion__content .comment-form p {
	margin-bottom: 1rem;
}

/* Name + Email side by side */
.muus-specs-accordion__content .comment-form-author,
.muus-specs-accordion__content .comment-form-email {
	display: inline-block;
	width: calc(50% - 0.5rem);
	vertical-align: top;
}

.muus-specs-accordion__content .comment-form-author {
	margin-right: 0.5rem;
}

/* Cookies consent */
.muus-specs-accordion__content .comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: var(--wp--preset--color--text-muted);
}

.muus-specs-accordion__content .comment-form-cookies-consent input[type="checkbox"] {
	accent-color: var(--wp--preset--color--primary);
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

/* Submit button */
.muus-specs-accordion__content .muus-review-submit,
.muus-specs-accordion__content .form-submit input[type="submit"] {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: none;
	padding: 0.75rem 2rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition: opacity 0.2s;
}

.muus-specs-accordion__content .muus-review-submit:hover,
.muus-specs-accordion__content .form-submit input[type="submit"]:hover {
	opacity: 0.85;
}

/* Related products cards — match homepage card spacing */
.wp-block-woocommerce-related-products .wp-block-post-title {
	margin-top: 0 !important;
	margin-bottom: 0.2rem !important;
}

.wp-block-woocommerce-related-products .wp-block-post-excerpt {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.wp-block-woocommerce-related-products .wp-block-post-excerpt__excerpt {
	margin-bottom: 0;
}

.wp-block-woocommerce-related-products .wp-block-woocommerce-product-price,
.wp-block-woocommerce-related-products .wp-block-woocommerce-product-price * {
	margin-top: 0.2rem !important;
	color: var(--wp--preset--color--text) !important;
}

/* Related products grid (vertical feed) */
.wp-block-woocommerce-related-products .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 1.5rem 1rem;
}

.wp-block-woocommerce-related-products .wp-block-post-template > li {
	min-width: 0;
}

/* Hide carousel arrows (no longer needed) */
.muus-related-arrow {
	display: none !important;
}

@media (max-width: 781px) {
	.wp-block-woocommerce-related-products .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* --- Cart & Checkout --- */
.woocommerce-cart table.cart,
.woocommerce-checkout .woocommerce-checkout-payment {
	background-color: var(--wp--preset--color--surface);
}

.woocommerce table.cart th,
.woocommerce table.cart td {
	border-color: var(--wp--preset--color--border);
	color: var(--wp--preset--color--text);
}

/* --- WooCommerce Blocks Checkout (Shopify-level dark) --- */
.wp-block-woocommerce-checkout {
	--checkout-bg: var(--wp--preset--color--background);
	--checkout-surface: var(--wp--preset--color--surface);
	--checkout-text: var(--wp--preset--color--text);
	--checkout-text-muted: var(--wp--preset--color--text-muted);
	--checkout-border: var(--wp--preset--color--border);
	--checkout-accent: var(--wp--preset--color--primary);
}

/* Hide password manager icons/popups on checkout */
.wc-block-checkout com-1password-op-small-icon,
.wc-block-checkout [data-lastpass-icon-root] {
	display: none !important;
}

/* Checkout page: hide default header/footer for clean checkout */
.woocommerce-page.woocommerce-checkout .wp-site-blocks > header,
.woocommerce-page.woocommerce-checkout .wp-site-blocks > footer {
	display: none !important;
}

/* Outer checkout wrapper — centered, max-width */
.wp-block-woocommerce-checkout {
	max-width: 1100px !important;
	margin: 0 auto !important;
	padding: 0 1.5rem 2rem !important;
}

/* Checkout logo header */
.wp-block-woocommerce-checkout::before {
	display: none !important;
}

.muus-checkout-logo-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 2rem 1.5rem 1.5rem;
	text-align: center;
	border-bottom: 1px solid var(--checkout-border);
}

.muus-checkout-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--wp--preset--color--text);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
}

.muus-checkout-logo__icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
}

.muus-checkout-logo:hover {
	color: var(--checkout-accent, #c8a97e);
}

/* Inner sidebar layout — preserve 2-column flex */
.wc-block-components-sidebar-layout.wc-block-checkout {
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.wc-block-components-sidebar-layout.wc-block-checkout::before {
	display: none !important;
}

/* Main form area */
.wc-block-checkout__main {
	padding-right: 2.5rem !important;
}

/* Section cards — each fieldset as a card */
.wc-block-checkout fieldset,
.wc-block-checkout__order-notes {
	background-color: var(--checkout-surface) !important;
	border: 1px solid var(--checkout-border) !important;
	border-radius: 8px !important;
	padding: 1.5rem !important;
	margin-bottom: 1.25rem !important;
}

/* Section headings */
.wc-block-checkout .wc-block-components-title,
.wc-block-checkout h2 {
	color: var(--checkout-text) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	font-family: var(--wp--preset--font-family--body) !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;
	margin-bottom: 1rem !important;
}

/* Hide duplicate fieldset legend (screen-reader text shown as heading) */
.wc-block-checkout fieldset > .screen-reader-text {
	position: absolute !important;
	clip: rect(0, 0, 0, 0) !important;
}

/* Input fields */
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout input[type="password"],
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox .components-combobox-control input,
.wc-block-components-form .wc-block-components-text-input input {
	background-color: var(--checkout-bg) !important;
	color: var(--checkout-text) !important;
	border: 1px solid var(--checkout-border) !important;
	border-radius: 6px !important;
	padding: 1.5rem 0.85rem 0.45rem !important;
	font-size: 0.875rem !important;
	transition: border-color 0.2s ease !important;
	line-height: 1.4 !important;
}

.wc-block-checkout select,
.wc-block-components-combobox .components-combobox-control input {
	background-color: var(--checkout-bg) !important;
	color: var(--checkout-text) !important;
	border-radius: 6px !important;
	padding: 1.5rem 0.85rem 0.45rem !important;
}

/* Labels — floating behavior */
.wc-block-components-text-input label,
.wc-block-components-combobox label {
	color: var(--checkout-text-muted) !important;
	position: absolute !important;
	top: 25px !important;
	transform: translateY(-50%) !important;
	left: 0.85rem !important;
	font-size: 0.875rem !important;
	transition: all 0.15s ease !important;
	pointer-events: none !important;
}

/* Label floats up when input has value or focus */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label.is-active,
.wc-block-components-combobox.is-active label,
.wc-block-components-text-input:focus-within label {
	top: 0.4rem !important;
	transform: none !important;
	font-size: 0.68rem !important;
	color: var(--checkout-accent) !important;
}

/* Focus state — accent border */
.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-checkout select:focus,
.wc-block-checkout textarea:focus {
	border-color: var(--checkout-accent) !important;
	box-shadow: 0 0 0 1px var(--checkout-accent) !important;
	outline: none !important;
}

/* Form field spacing */
.wc-block-checkout .wc-block-components-address-form > div,
.wc-block-checkout .wc-block-components-address-form > p {
	margin-bottom: 0.75rem !important;
}

/* Smart address form: enable flex ordering so address comes before city/state/postcode */
.wc-block-components-address-form {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
}

.wc-block-components-address-form > * {
	width: 100%;
	flex: 0 0 100%;
}

@media (min-width: 481px) {
	.wc-block-components-address-form .wc-block-components-address-form__first_name,
	.wc-block-components-address-form .wc-block-components-address-form__last_name,
	.wc-block-components-address-form .wc-block-components-address-form__muus-patronymic {
		flex: 1 1 0% !important;
		width: 0 !important;
		min-width: 0 !important;
	}
}
@media (max-width: 480px) {
	.wc-block-components-address-form .wc-block-components-address-form__first_name,
	.wc-block-components-address-form .wc-block-components-address-form__last_name,
	.wc-block-components-address-form .wc-block-components-address-form__muus-patronymic {
		flex: 0 0 100% !important;
		width: 100% !important;
	}
}

.wc-block-components-address-form .wc-block-components-address-form__first_name {
	order: -10 !important;
}

.wc-block-components-address-form .wc-block-components-address-form__last_name {
	order: -9 !important;
}

/* Patronymic field (RU only) — same row as first/last name */
.wc-block-components-address-form .wc-block-components-address-form__muus-patronymic {
	order: -8 !important;
	margin-top: 0 !important;
	height: 50px !important;
}
.wc-block-components-address-form__muus-patronymic input {
	height: 100% !important;
}

.wc-block-components-address-form__country {
	order: -7 !important;
}

.wc-block-components-address-form__address_1 {
	order: -6 !important;
}

/* Hidden auto-fill fields (city, state, postcode) — revealed by DaData or manual click */
.muus-auto-field-hidden {
	display: none !important;
}

.muus-auto-field-revealed {
	animation: muusFadeIn 0.3s ease;
}

@keyframes muusFadeIn {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}

/* "Enter address manually" link */
.muus-manual-address-btn {
	order: -2 !important;
	width: 100%;
	background: none;
	border: none;
	color: var(--checkout-muted, #999);
	font-size: 0.8rem;
	padding: 0;
	margin: -0.25rem 0 0.5rem;
	cursor: pointer;
	text-align: left;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.muus-manual-address-btn:hover {
	color: var(--checkout-accent, #c8a97e);
}

/* Fix white strips on country/region select dropdowns */
.wc-blocks-components-select__container {
	background-color: transparent !important;
}

/* Gold label for select dropdowns (country, region) to match text inputs */
.wc-blocks-components-select__label {
	color: var(--wp--preset--color--primary) !important;
}

/* Ensure consistent gap around country field */
.wc-block-components-address-form__country {
	margin-top: 0.75rem !important;
	margin-bottom: 0.75rem !important;
}

/* Order summary sidebar */
.wc-block-checkout__sidebar {
	background-color: var(--checkout-surface) !important;
	padding: 1.5rem !important;
	border-radius: 8px !important;
	border: 1px solid var(--checkout-border) !important;
	position: sticky !important;
	top: 2rem !important;
}

.wc-block-checkout__sidebar .wc-block-components-title,
.wc-block-checkout__sidebar h2,
.wc-block-components-order-summary .wc-block-components-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title,
.wc-block-components-checkout-order-summary__title-text {
	color: var(--checkout-text) !important;
	font-size: 1rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	font-weight: 600 !important;
}

/* Order summary */
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper {
	border-color: var(--checkout-border) !important;
}

/* Remove inner border on order summary — outer sidebar border is enough */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	border: none !important;
}

/* Uniform padding for all totals rows (Товары, Доставка, Промокод) */
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
	padding: 0.6rem 0 !important;
	margin: 0 !important;
}

/* Hide empty fee/discount blocks that create phantom gaps */
.wp-block-woocommerce-checkout-order-summary-fee-block:empty,
.wp-block-woocommerce-checkout-order-summary-discount-block:empty,
.wc-block-components-totals-wrapper:empty {
	display: none !important;
}

/* Remove border between subtotal and shipping */
.wp-block-woocommerce-checkout-order-summary-shipping-block {
	border-top: none !important;
}

/* Remove double line between shipping and coupon after sidebar reorder */
.wc-block-components-totals-wrapper:has(.wc-block-components-totals-coupon) {
	border-top: none !important;
}

/* Each product row — flex layout */
.wc-block-components-order-summary .wc-block-components-order-summary-item {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 12px 0 !important;
}

/* Product image — square thumbnail */
.wc-block-components-order-summary .wc-block-components-order-summary-item__image {
	display: block !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	width: 56px !important;
	height: 56px !important;
	min-width: 56px !important;
	background-color: #1a1a1a !important;
	flex-shrink: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
	float: none !important;
	position: relative !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__image img {
	width: 56px !important;
	height: 56px !important;
	max-width: 56px !important;
	object-fit: cover !important;
	display: block !important;
}

/* Description area — name + price in one row */
.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
	display: flex !important;
	flex: 1 !important;
	align-items: center !important;
	min-width: 0 !important;
	vertical-align: unset !important;
	padding: 0 !important;
	margin: 0 !important;
	color: var(--checkout-text-muted) !important;
	font-size: 0.8rem !important;
}

/* Product name */
.wc-block-components-order-summary-item__description h3 {
	margin: 0 !important;
	flex: 1 1 0% !important;
	min-width: 60px !important;
	color: #fff !important;
	word-break: break-word !important;
}

.wc-block-components-order-summary-item__description h3,
.wc-block-components-order-summary-item__description h3 a {
	color: #fff !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	text-transform: none !important;
	text-decoration: none !important;
	line-height: 1.35 !important;
	letter-spacing: 0.01em !important;
	transition: color 0.2s;
}

.wc-block-components-order-summary-item__description h3 a:hover {
	color: var(--checkout-accent, #c8a97e) !important;
}

.wc-block-components-order-summary-item__image a.muus-product-link {
	display: block;
}

.wc-block-components-order-summary-item {
	cursor: pointer;
}

.muus-qty-badge {
	color: var(--checkout-text-muted, #888) !important;
	font-size: 0.8rem !important;
	font-weight: 400 !important;
}

/* Hide unit price and metadata (total on the right is enough) */
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
.wc-block-components-order-summary-item__individual-price,
.wc-block-components-order-summary-item__description .wc-block-components-product-badge {
	display: none !important;
}

/* Total price — gold accent */
.wc-block-components-order-summary-item__total-price {
	color: var(--checkout-accent) !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	white-space: nowrap !important;
	padding-left: 12px !important;
}

/* Quantity badge — hide */
.wc-block-components-order-summary-item__quantity {
	display: none !important;
}

/* Totals */
.wc-block-components-totals-item__label {
	color: var(--checkout-text-muted) !important;
}

/* Hide shipping label in sidebar until JS strips parenthesized days — prevents flash */
.wc-block-components-totals-shipping .wc-block-components-totals-item__label {
	visibility: hidden;
}
.wc-block-components-totals-shipping .wc-block-components-totals-item__label.muus-clean {
	visibility: visible;
}

.wc-block-components-totals-item__value {
	color: var(--checkout-text) !important;
	font-weight: 600;
}

.wc-block-components-totals-wrapper:last-child {
	border-top: none !important;
}

.wc-block-components-totals-footer-item {
	border-top: 1px solid var(--checkout-border) !important;
	padding: 0.85rem 0 !important;
	margin: 0 !important;
}

/* Align Итого padding with other totals rows */
.wc-block-components-totals-footer-item.wc-block-components-totals-item {
	padding-left: 16px !important;
	padding-right: 16px !important;
}

.wc-block-checkout__sidebar .wc-block-components-totals-footer-item + .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
	padding: 0 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--checkout-text) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: var(--checkout-accent) !important;
}

/* Notices */
.wc-block-components-notice-banner {
	background-color: var(--checkout-surface) !important;
	color: var(--checkout-text) !important;
	border: 1px solid var(--checkout-border) !important;
	border-radius: 8px !important;
	padding: 1rem 1.25rem !important;
}

.wc-block-components-notice-banner.is-success {
	border-left: 3px solid var(--checkout-accent) !important;
}

.wc-block-components-notice-banner.is-error,
.wc-block-checkout__payment-method .wc-block-components-notice-banner {
	border-left: 3px solid #c0392b !important;
}

.wc-block-components-notice-banner.is-warning,
.wc-block-components-notice-banner.is-info {
	border-left: 3px solid var(--checkout-accent) !important;
}

.wc-block-components-notice-banner a {
	color: var(--checkout-accent) !important;
}

/* Validation errors */
.wc-block-components-validation-error {
	color: #e74c3c !important;
	font-size: 0.78rem !important;
	margin-top: 0.3rem !important;
}

/* Place Order button — full width, prominent */
.wc-block-components-checkout-place-order-button {
	background-color: var(--checkout-accent) !important;
	color: var(--checkout-bg) !important;
	border: none !important;
	border-radius: 6px !important;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 700;
	font-size: 0.9rem !important;
	padding: 1.1rem 2rem !important;
	transition: all 0.2s ease;
	width: 100%;
}

.wc-block-components-checkout-place-order-button:hover {
	background-color: var(--checkout-text) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

/* Actions row — button + return link */
.wc-block-checkout__actions_row {
	margin-top: 1.5rem !important;
	padding-top: 1.5rem !important;
	border-top: 1px solid var(--checkout-border) !important;
	display: flex;
	align-items: center;
	gap: 1rem;
}


/* Coupons */
.wc-block-components-totals-coupon__content input {
	background-color: var(--checkout-bg) !important;
	color: var(--checkout-text) !important;
	border: 1px solid var(--checkout-border) !important;
	border-radius: 6px !important;
}

.wc-block-components-totals-coupon__content button {
	background-color: var(--checkout-surface) !important;
	color: var(--checkout-text) !important;
	border: 1px solid var(--checkout-border) !important;
	border-radius: 6px !important;
	transition: border-color 0.2s ease;
}

.wc-block-components-totals-coupon__content button:hover {
	border-color: var(--checkout-accent) !important;
	color: var(--checkout-accent) !important;
}

/* Checkbox */
.wc-block-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input {
	accent-color: var(--checkout-accent);
}

.wc-block-checkout .wc-block-components-checkbox__label {
	color: var(--checkout-text-muted) !important;
	font-size: 0.85rem !important;
}

/* Hide guest checkout text */
.wc-block-checkout__guest-checkout,
.wc-block-checkout__guest-checkout-notice {
	display: none !important;
}

/* Terms text */
.wc-block-checkout__actions_row > span {
	color: var(--checkout-text-muted) !important;
	font-size: 0.78rem !important;
	line-height: 1.4 !important;
}

.wc-block-checkout__actions_row > span a {
	color: var(--checkout-accent) !important;
	text-decoration: underline !important;
}

/* Place Order button moved to sidebar */
.wc-block-checkout__sidebar .wc-block-checkout__actions {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0.85rem !important;
	border-top: 1px solid var(--checkout-border) !important;
}

.wc-block-checkout__sidebar .wc-block-checkout__actions_row {
	margin-top: 0 !important;
	padding-top: 0 !important;
	border-top: none !important;
}

.wc-block-checkout__sidebar .wc-block-components-checkout-place-order-button {
	font-size: 0.85rem !important;
	padding: 0.9rem 1.5rem !important;
	letter-spacing: 0.08em !important;
}

.wc-block-checkout__sidebar .wc-block-checkout__actions_row > span {
	font-size: 0.72rem !important;
}

.muus-checkout-legal {
	color: var(--checkout-text-muted, #888) !important;
	font-size: 0.7rem !important;
	line-height: 1.5 !important;
	margin-top: 0.35rem !important;
	text-align: center !important;
}

.muus-checkout-legal a {
	color: var(--checkout-text-muted, #888) !important;
	text-decoration: underline !important;
	transition: color 0.2s;
}

.muus-checkout-legal a:hover {
	color: var(--checkout-accent, #c8a97e) !important;
}

/* Hide default WC terms (replaced by custom legal text in sidebar) */
.wc-block-checkout__terms {
	display: none !important;
}

/* Shipping method radio buttons — card grid */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.75rem !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
	background-color: var(--checkout-surface) !important;
	border: 1.5px solid var(--checkout-border) !important;
	border-radius: 10px !important;
	padding: 1rem 1rem 1rem 3.5rem !important;
	margin-bottom: 0 !important;
	transition: border-color 0.2s ease, background-color 0.2s ease !important;
	outline: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	min-height: 72px !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:focus,
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:focus-within {
	outline: none !important;
	box-shadow: none !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:checked) {
	border-color: var(--checkout-accent) !important;
}

/* Hide native radio input */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__input {
	position: absolute !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	pointer-events: none !important;
}

/* Remove default WooCommerce highlight overlay on shipping and payment radio */
.wc-block-components-radio-control--highlight-checked::after,
.wc-block-components-radio-control__option::after {
	display: none !important;
}

/* Carrier icon placeholder (injected via JS) */
.muus-carrier-icon {
	position: absolute;
	left: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.muus-carrier-icon svg {
	width: 28px;
	height: 28px;
}

.muus-carrier-days {
	display: block;
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--checkout-text-muted, #888) !important;
	margin-top: 0.15rem;
}

/* ── CDEK Map Widget ── */
/* Reset dark checkout theme inside CDEK widget so map controls stay light */
.wp-block-shipping-cdek-map {
	border-radius: 12px;
	overflow: hidden;
	margin-top: 0.75rem;
}

#cdek-map {
	transition: height 0.3s ease, opacity 0.2s ease;
}

/* Search input — override dark checkout input styles */
.wp-block-shipping-cdek-map input[type="text"],
.wp-block-shipping-cdek-map input {
	background-color: #fff !important;
	color: #333 !important;
	border: 1px solid #ccc !important;
	border-radius: 8px !important;
	padding: 0.5rem 0.75rem !important;
	font-size: 0.875rem !important;
}

.wp-block-shipping-cdek-map input::placeholder {
	color: #999 !important;
}

/* "Выбрать" button inside CDEK widget — black text on green */
.wp-block-shipping-cdek-map button[class*="cdek-"],
#cdek-map button[class*="cdek-"] {
	color: #000 !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
}

/* Selected office info card */
.cdek-office-info {
	background: var(--checkout-surface, #1a1a1a) !important;
	color: var(--checkout-text, #e8e5e0) !important;
	border: 1px solid var(--checkout-border, #333) !important;
	border-radius: 8px !important;
	padding: 0.75rem 1rem !important;
	margin-top: 0.5rem;
	font-size: 0.85rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.cdek-office-info::before {
	filter: invert(1) !important;
}

/* "Выбрать пункт выдачи" / "Изменить ПВЗ" button */
.open-pvz-btn {
	background-color: var(--checkout-accent, #c8a97e) !important;
	border: none !important;
	border-radius: 8px !important;
	color: #111 !important;
	font-weight: 600 !important;
	padding: 0.65rem 1.25rem !important;
	cursor: pointer !important;
	font-size: 0.85rem !important;
	transition: opacity 0.2s ease !important;
}

.open-pvz-btn:hover {
	opacity: 0.85 !important;
}

.open-pvz-btn a {
	color: inherit !important;
	text-decoration: none !important;
}

/* Compact selected-office summary shown after map collapses */
.muus-selected-office {
	background: var(--checkout-surface, #1a1a1a);
	border: 1.5px solid var(--checkout-accent, #c8a97e);
	border-radius: 10px;
	padding: 0.85rem 1rem;
	margin-top: 0.75rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.muus-selected-office-icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	color: var(--checkout-accent, #c8a97e);
}

.muus-selected-office-details {
	flex: 1;
	min-width: 0;
}

.muus-selected-office-name {
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--checkout-text, #e8e5e0);
}

.muus-selected-office-address {
	font-size: 0.78rem;
	color: var(--checkout-text-muted, #888);
	margin-top: 0.15rem;
}

.muus-selected-office-change {
	color: var(--checkout-accent, #c8a97e);
	font-size: 0.78rem;
	font-weight: 500;
	cursor: pointer;
	flex-shrink: 0;
	text-decoration: none;
	border: none;
	background: none;
	padding: 0;
}

.muus-selected-office-change:hover {
	text-decoration: underline;
}

/* Label & price layout inside card */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__label {
	color: var(--checkout-text) !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control__description {
	color: var(--checkout-text-muted) !important;
	font-size: 0.78rem !important;
}

.wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
	color: var(--checkout-accent) !important;
	font-weight: 600 !important;
	font-size: 0.88rem !important;
}

/* ── Payment method cards — grid layout ── */
.wc-block-checkout__payment-method .wc-block-components-radio-control {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.75rem !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	background-color: var(--checkout-surface) !important;
	border: 1.5px solid var(--checkout-border) !important;
	border-radius: 10px !important;
	padding: 0 !important;
	overflow: hidden !important;
	transition: border-color 0.2s ease, background-color 0.2s ease !important;
	outline: none !important;
	box-shadow: none !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--checkout-accent) !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
	padding: 1rem 1.25rem !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
	min-height: 72px !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__input {
	position: absolute !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	pointer-events: none !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option-layout {
	width: 100% !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__label-group {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__label {
	color: var(--checkout-text) !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	flex: 1 !important;
}

/* Inner span with text + icon — flex row */
.wc-block-checkout__payment-method .wc-block-components-radio-control__label > span {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
}

/* Payment gateway icon */
.wc-block-checkout__payment-method .wc-block-components-radio-control__label img {
	float: none !important;
	margin: 0 !important;
	height: 26px !important;
	width: auto !important;
	object-fit: contain !important;
	flex-shrink: 0 !important;
}

/* Description text below the label */
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
	padding: 0.5rem 1.25rem 1rem !important;
	color: var(--checkout-text-muted) !important;
	font-size: 0.78rem !important;
	line-height: 1.4 !important;
	border-top: 1px solid var(--checkout-border) !important;
}

/* Mobile: stack payment cards vertically */
@media (max-width: 480px) {
	.wc-block-checkout__payment-method .wc-block-components-radio-control {
		grid-template-columns: 1fr !important;
	}
}

/* Generic radio controls (non-payment, non-shipping) */
.wc-block-components-radio-control__option {
	color: var(--checkout-text) !important;
}

.wc-block-components-radio-control__label,
.wc-block-components-radio-control__description {
	color: var(--checkout-text) !important;
}

.wc-block-components-radio-control__secondary-label {
	color: var(--checkout-accent) !important;
	font-weight: 600 !important;
}

/* Mobile: stack shipping cards vertically */
@media (max-width: 480px) {
	.wc-block-components-shipping-rates-control .wc-block-components-radio-control {
		grid-template-columns: 1fr !important;
	}
}

/* Shipping address compact display */
.wc-block-components-address-card {
	background-color: var(--checkout-bg) !important;
	border: 1px solid var(--checkout-border) !important;
	border-radius: 6px !important;
	padding: 0.85rem 1rem !important;
}

.wc-block-components-address-card__address-info span {
	color: var(--checkout-text) !important;
}

.wc-block-components-address-card__edit {
	color: var(--checkout-accent) !important;
	font-size: 0.85rem !important;
}

/* Phone field: hide in address section (moved to contact via JS) */
.wc-block-components-address-form__phone {
	display: none !important;
}

/* DaData Address Suggestions dropdown */
.muus-suggest-dropdown {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background-color: #222;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
	max-height: 280px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--border) transparent;
}

.muus-suggest-item {
	display: block;
	padding: 0.75rem 1rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #fff;
	cursor: pointer;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	transition: background-color 0.15s ease;
	white-space: normal !important;
	overflow-wrap: break-word;
	word-break: break-word;
}

.muus-suggest-item:last-child {
	border-bottom: none;
}

.muus-suggest-item:hover,
.muus-suggest-item--active {
	background-color: rgba(200, 169, 126, 0.15);
	color: var(--wp--preset--color--primary);
}

@media (max-width: 781px) {
	.muus-suggest-dropdown {
		max-height: 180px;
	}
	.muus-suggest-item {
		padding: 0.85rem 1rem;
		font-size: 0.95rem;
	}
}

/* Return to cart link — hidden */
.wc-block-components-checkout-return-to-cart-button {
	display: none !important;
}

/* Expand buttons (+ Add apartment, Add coupons) */
.wc-block-checkout button:not(.wc-block-components-checkout-place-order-button) {
	color: var(--checkout-text-muted) !important;
	font-size: 0.82rem !important;
}

.wc-block-components-totals-coupon button[aria-expanded] {
	color: var(--checkout-text) !important;
}

/* Mobile responsive */
@media (max-width: 781px) {
	/* Prevent iOS Safari auto-zoom on input focus (requires >= 16px) */
	.wc-block-checkout input[type="text"],
	.wc-block-checkout input[type="email"],
	.wc-block-checkout input[type="tel"],
	.wc-block-checkout input[type="number"],
	.wc-block-checkout input[type="password"],
	.wc-block-checkout select,
	.wc-block-checkout textarea,
	.wc-block-components-text-input input,
	.wc-block-components-text-input textarea,
	.wc-block-components-combobox .components-combobox-control input {
		font-size: 16px !important;
	}

	.wc-block-checkout__main {
		padding-right: 0 !important;
		order: 1;
	}

	.wc-block-checkout {
		padding: 1rem !important;
		display: flex !important;
		flex-direction: column !important;
	}

	.wc-block-checkout::before {
		font-size: 1.3rem;
		padding-bottom: 1rem;
		margin-bottom: 1.5rem;
		order: 0;
	}

	.wc-block-checkout fieldset {
		padding: 1.25rem 1rem !important;
	}

	.wc-block-checkout__sidebar {
		position: static !important;
		margin-top: 0.5rem;
		padding-top: 0 !important;
		order: 2;
	}

	.wc-block-components-checkout-order-summary__title {
		margin-top: 0 !important;
		padding-top: 0.75rem !important;
	}

	/* Hide duplicate order summary rendered inside the actions block on mobile */
	.wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block {
		display: none !important;
	}
}

/* --- Breadcrumbs --- */
.woocommerce-breadcrumb {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.8rem;
}

.woocommerce-breadcrumb a {
	color: var(--wp--preset--color--text-muted);
	text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
	color: var(--wp--preset--color--primary);
}

/* --- Footer --- */

/* Remove WordPress blockGap between all top-level site blocks */
.wp-site-blocks > *,
.wp-site-blocks > * > * {
	margin-block-start: 0 !important;
}

.muus-footer .is-style-no-bullets {
	list-style: none;
	padding-left: 0;
}

.muus-footer .is-style-no-bullets a {
	color: var(--wp--preset--color--text-muted);
	text-decoration: none;
	transition: color 0.15s ease;
}

.muus-footer .is-style-no-bullets a:hover {
	color: var(--wp--preset--color--primary);
}

/* Footer search/email form */
.muus-footer .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--border);
	background-color: transparent;
}

.muus-footer .wp-block-search__input {
	background-color: transparent;
	color: var(--wp--preset--color--text);
	border: none;
	font-size: 0.875rem;
}

.muus-footer .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--text-muted);
}

.muus-footer .wp-block-search__button {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: none;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.muus-footer .wp-block-search__button:hover {
	background-color: var(--wp--preset--color--text);
}

/* --- Outline Buttons Hover (Все товары, Узнать больше) --- */
.wp-block-button.is-style-outline .wp-block-button__link {
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--background) !important;
	border-color: var(--wp--preset--color--primary) !important;
}

/* --- Catalog Toolbar (sort + count + filter) --- */
.muus-catalog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 2rem;
	gap: 1rem;
}

.muus-catalog-toolbar__sort,
.muus-catalog-toolbar__filter {
	position: relative;
}

/* Shared button style for sort & filter */
.muus-sort-btn,
.muus-filter-btn {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	background: transparent;
	color: var(--wp--preset--color--text);
	border: 1px solid var(--wp--preset--color--border);
	padding: 0.5rem 1rem;
	font-size: 0.85rem;
	font-family: var(--wp--preset--font-family--body);
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s;
	white-space: nowrap;
}

.muus-sort-btn:hover,
.muus-filter-btn:hover {
	border-color: var(--wp--preset--color--primary);
}

.muus-sort-btn[aria-expanded="true"],
.muus-filter-btn[aria-expanded="true"] {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

.muus-sort-btn__chevron {
	transition: transform 0.2s;
}

.muus-sort-btn[aria-expanded="true"] .muus-sort-btn__chevron {
	transform: rotate(180deg);
}

/* Shared dropdown panel style */
.muus-sort-panel,
.muus-filter-panel {
	position: absolute;
	top: calc(100% + 0.5rem);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	min-width: 220px;
	z-index: 50;
	padding: 0.5rem 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
}

.muus-sort-panel {
	left: 0;
}

.muus-filter-panel {
	right: 0;
}

.muus-sort-panel.is-open,
.muus-filter-panel.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Shared link style for sort & filter options */
.muus-sort-link,
.muus-filter-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.6rem 1rem;
	color: var(--wp--preset--color--text);
	text-decoration: none;
	font-size: 0.85rem;
	transition: background 0.15s, color 0.15s;
}

.muus-sort-link:hover,
.muus-filter-link:hover {
	background: rgba(255, 255, 255, 0.05);
	color: var(--wp--preset--color--primary);
}

.muus-sort-link.is-active,
.muus-filter-link.is-active {
	color: var(--wp--preset--color--primary);
	font-weight: 500;
}

.muus-catalog-toolbar__count {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.85rem;
	white-space: nowrap;
}

.muus-filter-count {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.8rem;
	font-weight: 400;
}

@media (max-width: 781px) {
	.muus-catalog-toolbar {
		flex-wrap: wrap;
	}

	.muus-catalog-toolbar__count {
		order: -1;
		width: 100%;
		text-align: center;
		padding-bottom: 0.5rem;
	}

	.muus-catalog-toolbar__sort,
	.muus-catalog-toolbar__filter {
		flex: 1;
	}

	.muus-catalog-toolbar__filter {
		display: flex;
		justify-content: flex-end;
	}

	.muus-filter-panel {
		right: 0;
		left: auto;
	}
}

/* --- Mobile Catalog: tighter spacing --- */
@media (max-width: 781px) {
	.muus-catalog-header {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.muus-archive-title {
		margin-bottom: 0.25rem !important;
	}

	.muus-catalog {
		padding-top: 0.5rem !important;
	}

	.muus-catalog-toolbar {
		padding-bottom: 0.75rem;
	}

	.muus-catalog-toolbar__count {
		padding-bottom: 0.25rem;
	}
}

/* --- Mobile Catalog: 2-column grid --- */
@media (max-width: 781px) {
	/* 2 columns — override WooCommerce flex layout */
	.wc-block-product-template {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 12px !important;
	}

	/* Keep 2/3 aspect ratio, use cover */
	.muus-product-card .wc-block-components-product-image img {
		aspect-ratio: 2/3;
		object-fit: cover;
	}

	/* Hide description text */
	.muus-product-card .wp-block-post-excerpt {
		display: none;
	}

	/* Hide add-to-cart overlay button */
	.muus-product-card .muus-add-to-cart {
		display: none;
	}

	/* Show image carousel prev/next arrows on mobile */
	.muus-product-card .muus-gallery-arrow {
		display: flex;
		opacity: 1;
		width: 28px;
		height: 28px;
	}

	/* Truncate product title to 2 lines */
	.muus-product-card .wp-block-post-title {
		font-size: 0.75rem !important;
		-webkit-line-clamp: 2;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	/* Smaller price */
	.muus-product-card .wp-block-woocommerce-product-price {
		font-size: 0.8rem !important;
	}

	/* Tighter card padding */
	.muus-product-card {
		padding-bottom: 0.75rem !important;
	}
	.muus-product-card > .wp-block-group {
		padding-top: 0.5rem !important;
		padding-left: 0.15rem !important;
		padding-right: 0.15rem !important;
	}
}

/* Category label on product cards */
.muus-card-category {
	display: none;
}
@media (max-width: 781px) {
	.muus-card-category {
		display: none;
	}
}

/* --- Features Strip --- */
.muus-features .wp-block-column {
	text-align: center;
	position: relative;
	transition: transform 0.3s ease;
}

.muus-features .wp-block-column:hover {
	transform: translateY(-4px);
}

.muus-features .wp-block-column h3 {
	transition: color 0.3s ease;
}

.muus-features .wp-block-column h3::before {
	content: "";
	display: block;
	width: 36px;
	height: 36px;
	margin: 0 auto 0.75rem;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.85;
	transition: opacity 0.3s ease;
}

.muus-features .wp-block-column:hover h3::before {
	opacity: 1;
}

/* Ручная ковка — hammer (Lucide) */
.muus-features .wp-block-column:nth-child(1) h3::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24' fill='none' stroke='%23c8a97e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9'/%3E%3Cpath d='m18 15 4-4'/%3E%3Cpath d='m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5'/%3E%3C/svg%3E");
}

/* Из Якутии — map pin */
.muus-features .wp-block-column:nth-child(2) h3::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24' fill='none' stroke='%23c8a97e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

/* Доставка по России — truck */
.muus-features .wp-block-column:nth-child(3) h3::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24' fill='none' stroke='%23c8a97e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 3h15v13H1z'/%3E%3Cpath d='M16 8h4l3 3v5h-7V8z'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
}

/* Гарантия качества — shield check */
.muus-features .wp-block-column:nth-child(4) h3::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24' fill='none' stroke='%23c8a97e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}

.muus-features .wp-block-column:hover h3 {
	color: var(--wp--preset--color--primary) !important;
}

.muus-features .wp-block-column p {
	transition: color 0.3s ease;
}

.muus-features .wp-block-column:hover p {
	color: var(--wp--preset--color--text) !important;
}

.muus-features .wp-block-column + .wp-block-column::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 40px;
	width: 1px;
	background-color: var(--wp--preset--color--border);
}

/* --- Pagination (hidden — infinite scroll) --- */
.muus-pagination-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.muus-scroll-loader {
	display: flex;
	justify-content: center;
	padding: 2rem 0;
}
.muus-scroll-loader__spinner {
	width: 32px;
	height: 32px;
	border: 2px solid var(--wp--preset--color--border);
	border-top-color: var(--wp--preset--color--primary);
	border-radius: 50%;
	animation: muus-spin 0.7s linear infinite;
}
@keyframes muus-spin {
	to { transform: rotate(360deg); }
}

/* --- Pagination (fallback) --- */
.wp-block-query-pagination {
	gap: 0 !important;
}

.wp-block-query-pagination-numbers {
	display: flex;
	gap: 0;
}

.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 0.75rem;
	color: var(--wp--preset--color--text-muted);
	text-decoration: none;
	font-size: 0.95rem;
	border: 1px solid var(--wp--preset--color--border);
	margin-left: -1px;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.wp-block-query-pagination-numbers .page-numbers:first-child {
	margin-left: 0;
}

.wp-block-query-pagination-numbers .page-numbers:hover {
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	z-index: 1;
}

.wp-block-query-pagination-numbers .page-numbers.current {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border-color: var(--wp--preset--color--primary);
	font-weight: 600;
	z-index: 2;
}

.wp-block-query-pagination-numbers .page-numbers.dots {
	pointer-events: none;
	color: var(--wp--preset--color--text-muted);
}

.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 0.75rem;
	color: var(--wp--preset--color--text-muted);
	text-decoration: none;
	font-size: 1.25rem;
	font-weight: 300;
	border: 1px solid var(--wp--preset--color--border);
	margin-left: -1px;
	transition: background 0.2s, color 0.2s;
}

.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
.wp-block-query-pagination .wp-block-query-pagination-next:hover {
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
}

/* --- Notices --- */
.woocommerce-message,
.woocommerce-info {
	background-color: var(--wp--preset--color--surface);
	border-left-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--text);
}

.woocommerce-error {
	background-color: var(--wp--preset--color--surface);
	border-left-color: #e74c3c;
	color: var(--wp--preset--color--text);
}

/* --- Responsive --- */
@media (max-width: 781px) {
	.muus-features .wp-block-column + .wp-block-column::before {
		display: none;
	}

	.muus-features .wp-block-columns {
		flex-direction: column;
	}

	.muus-footer .wp-block-columns {
		gap: 2rem;
	}

	.single-product .wp-block-columns {
		flex-direction: column;
	}

	.single-product .wp-block-column[style*="flex-basis"] {
		flex-basis: 100% !important;
	}

	.muus-product-about,
	.muus-product-specs {
		margin-top: 2rem !important;
	}

	.muus-product-about > .wp-block-columns > .wp-block-column:last-child,
	.muus-product-specs > .wp-block-columns > .wp-block-column:last-child {
		padding-left: 0;
	}

	.muus-product-about > .wp-block-columns > .wp-block-column:last-child {
		margin-top: 2.5rem !important;
	}

	.muus-product-specs .muus-product-about-image {
		margin-bottom: 1.5rem;
	}

	.muus-single-product .woocommerce-product-gallery {
		width: 100%;
	}

	.muus-single-product .flex-control-thumbs li {
		flex: 0 0 72px;
		width: 72px;
		height: 72px;
	}
}

/* --- Language Switcher --- */
.muus-lang-switcher {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 0;
	align-items: center;
}

.muus-lang-switcher li {
	list-style: none;
}

.muus-lang-switcher li + li::before {
	content: "/";
	color: var(--wp--preset--color--border);
	font-size: 0.75rem;
	margin: 0 0.35rem;
}

.muus-lang-switcher a {
	color: var(--wp--preset--color--text-muted);
	text-decoration: none;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: color 0.3s ease;
}

.muus-lang-switcher a:hover,
.muus-lang-switcher .current-lang a {
	color: var(--wp--preset--color--primary);
}

/* --- Cart Icon --- */
.muus-cart-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--text);
	text-decoration: none;
	transition: color 0.2s ease;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font: inherit;
}

.muus-cart-icon:hover {
	color: var(--wp--preset--color--primary);
}

.muus-cart-badge {
	position: absolute;
	top: -6px;
	right: -8px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1;
	min-width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: transform 0.3s ease;
}

/* Badge pop animation */
.muus-badge-pop {
	animation: badgePop 0.3s ease;
}

@keyframes badgePop {
	0% { transform: scale(1); }
	50% { transform: scale(1.5); }
	100% { transform: scale(1); }
}

/* Cart icon bounce */
.muus-cart-bounce {
	animation: cartBounce 0.4s ease;
}

@keyframes cartBounce {
	0% { transform: scale(1); }
	30% { transform: scale(1.25); }
	60% { transform: scale(0.9); }
	100% { transform: scale(1); }
}

/* Fly-to-cart thumbnail */
.muus-fly-dot {
	position: fixed;
	width: 60px;
	height: 60px;
	border-radius: 10px;
	z-index: 10000;
	pointer-events: none;
	overflow: hidden;
	transition: transform 3s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 3s ease;
	box-shadow: 0 4px 20px rgba(200, 169, 126, 0.5);
	margin-left: -30px;
	margin-top: -30px;
}

/* --- Cart Drawer --- */
.muus-cart-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, visibility 0.2s ease;
	backdrop-filter: blur(2px);
}

.muus-cart-overlay[aria-hidden="false"] {
	opacity: 1;
	visibility: visible;
}

.muus-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	width: 420px;
	max-width: 100%;
	height: 100%;
	background-color: var(--wp--preset--color--background);
	z-index: 9999;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.18s cubic-bezier(0.2, 0, 0, 1);
	box-shadow: -4px 0 24px rgba(0, 0, 0, 0.3);
	will-change: transform;
}

.muus-cart-drawer[aria-hidden="false"] {
	transform: translateX(0);
}

body.muus-drawer-open {
	overflow: hidden;
}

/* Drawer header */
.muus-cart-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	flex-shrink: 0;
}

.muus-cart-drawer__header h2 {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--body);
}

.muus-cart-drawer__close {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--wp--preset--color--text-muted);
	padding: 4px;
	transition: color 0.2s ease;
}

.muus-cart-drawer__close:hover {
	color: var(--wp--preset--color--text);
}

/* Drawer body */
.muus-cart-drawer__body {
	flex: 1;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 1rem 1.5rem;
}

/* Dark scrollbar for cart body */
.muus-cart-drawer__body::-webkit-scrollbar {
	width: 4px;
}

.muus-cart-drawer__body::-webkit-scrollbar-track {
	background: transparent;
}

.muus-cart-drawer__body::-webkit-scrollbar-thumb {
	background-color: var(--wp--preset--color--border);
	border-radius: 4px;
}

.muus-cart-drawer__body {
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--border) transparent;
}

/* Loading spinner */
.muus-cart-drawer__loading {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem 0;
}

.muus-spinner {
	width: 28px;
	height: 28px;
	border: 2px solid var(--wp--preset--color--border);
	border-top-color: var(--wp--preset--color--primary);
	border-radius: 50%;
	animation: muusSpin 0.7s linear infinite;
}

@keyframes muusSpin {
	to { transform: rotate(360deg); }
}

/* Empty state */
.muus-cart-drawer__empty {
	text-align: center;
	color: var(--wp--preset--color--text-muted);
	font-size: 0.9rem;
	padding: 3rem 0;
}

/* Cart items */
.muus-cart-item {
	display: flex;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
	align-items: flex-start;
}

.muus-cart-item:last-child {
	border-bottom: none;
}

.muus-cart-item__img {
	display: block;
	width: 72px;
	height: 72px;
	flex-shrink: 0;
	border-radius: 8px;
	overflow: hidden;
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	text-decoration: none;
}

a.muus-cart-item__img:hover {
	border-color: var(--wp--preset--color--primary);
}

.muus-cart-item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

a.muus-cart-item__img:hover img {
	transform: scale(1.08);
}

.muus-cart-item__info {
	flex: 1;
	min-width: 0;
}

.muus-cart-item__name {
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--wp--preset--color--text);
	margin-bottom: 0.25rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-decoration: none;
}

a.muus-cart-item__name:hover {
	color: var(--wp--preset--color--primary);
}

.muus-cart-item__price {
	font-size: 0.8rem;
	color: var(--wp--preset--color--text-muted);
	margin-bottom: 0.5rem;
}

.muus-cart-item__controls {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.muus-cart-item__qty {
	display: flex;
	align-items: center;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
}

.muus-cart-item__qty button {
	background: none;
	border: none;
	color: var(--wp--preset--color--text);
	cursor: pointer;
	padding: 0.3rem 0.6rem;
	font-size: 0.9rem;
	line-height: 1;
	transition: color 0.2s ease;
}

.muus-cart-item__qty button:hover {
	color: var(--wp--preset--color--primary);
}

.muus-cart-item__qty-val {
	font-size: 0.8rem;
	min-width: 1.5rem;
	text-align: center;
	color: var(--wp--preset--color--text);
}

.muus-cart-item__remove {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--wp--preset--color--text-muted);
	padding: 4px;
	transition: color 0.2s ease;
}

.muus-cart-item__remove:hover {
	color: #e74c3c;
}

.muus-cart-item__total {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--wp--preset--color--text);
	white-space: nowrap;
	flex-shrink: 0;
	padding-top: 0.15rem;
}

/* Optimistic UI: fade-out + collapse on remove */
.muus-cart-item--removing {
	opacity: 0;
	transform: translateX(30px);
	transition: opacity 0.25s ease, transform 0.25s ease;
	pointer-events: none;
}

.muus-cart-item--collapsing {
	opacity: 0;
	max-height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	border: none !important;
	overflow: hidden;
	transition: max-height 0.2s ease, padding 0.2s ease, margin 0.2s ease;
	pointer-events: none;
}

/* Drawer footer */
.muus-cart-drawer__footer {
	padding: 1.25rem 1.5rem;
	border-top: 1px solid var(--wp--preset--color--border);
	flex-shrink: 0;
}

/* Coupon section */
.muus-cart-drawer__coupon {
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-bottom: 1rem;
}

.muus-cart-drawer__coupon-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--wp--preset--color--text);
	font-size: 0.85rem;
	font-weight: 500;
	padding: 0;
}

.muus-cart-drawer__coupon-toggle:hover {
	color: var(--wp--preset--color--primary);
}

.muus-cart-drawer__coupon-toggle svg {
	transition: transform 0.15s ease;
}

.muus-cart-drawer__coupon-toggle[aria-expanded="true"] svg {
	transform: rotate(45deg);
}

.muus-cart-drawer__coupon-form {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.muus-cart-drawer__coupon-input {
	flex: 1;
	background-color: transparent;
	color: var(--wp--preset--color--text);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	padding: 0.5rem 0.75rem;
	font-size: 0.8rem;
	outline: none;
}

.muus-cart-drawer__coupon-input:focus {
	border-color: var(--wp--preset--color--primary);
}

.muus-cart-drawer__coupon-input::placeholder {
	color: var(--wp--preset--color--text-muted);
}

.muus-cart-drawer__coupon-apply {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: none;
	border-radius: 4px;
	padding: 0.5rem 1rem;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.muus-cart-drawer__coupon-apply:hover {
	background-color: var(--wp--preset--color--text);
}

.muus-cart-drawer__coupon-msg {
	font-size: 0.75rem;
	margin-top: 0.5rem;
}

.muus-coupon-success {
	color: #2ecc71;
}

.muus-coupon-error {
	color: #e74c3c;
}

.muus-cart-drawer__coupon-applied {
	margin-top: 0.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.muus-coupon-tag {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	padding: 0.3rem 0.6rem;
	font-size: 0.75rem;
	color: var(--wp--preset--color--primary);
}

.muus-coupon-remove {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--wp--preset--color--text-muted);
	padding: 0;
	line-height: 1;
}

.muus-coupon-remove:hover {
	color: #e74c3c;
}

.muus-cart-drawer__subtotal {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
	font-size: 0.9rem;
	color: var(--wp--preset--color--text);
}

.muus-cart-drawer__subtotal-value {
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--wp--preset--color--primary);
}

.muus-cart-drawer__checkout-btn {
	display: block;
	width: 100%;
	text-align: center;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.9rem 1.5rem;
	border-radius: 4px;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.muus-cart-drawer__checkout-btn:hover {
	background-color: var(--wp--preset--color--text);
	transform: translateY(-1px);
}

/* Cart drawer mobile */
@media (max-width: 480px) {
	.muus-cart-drawer {
		width: 100%;
	}
}

/* --- Forms (WooCommerce) --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0;
	padding: 0.75rem;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--wp--preset--color--primary);
	outline: none;
}

/* --- Star Ratings --- */
.star-rating span::before {
	color: var(--wp--preset--color--primary) !important;
}

/* --- Primary Nav Menu (classic wp_nav_menu) --- */
.muus-primary-nav {
	display: flex;
	align-items: center;
}

.muus-nav-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 2rem;
	align-items: center;
}

.muus-nav-list li {
	list-style: none;
}

.muus-nav-list a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	transition: color 0.3s ease;
}

.muus-nav-list a:hover,
.muus-nav-list .current-menu-item a {
	color: var(--wp--preset--color--primary);
}

/* --- Mobile Menu Toggle --- */
.muus-menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	flex-direction: column;
	gap: 5px;
	z-index: 1001;
}

.muus-menu-toggle__bar {
	display: block;
	width: 24px;
	height: 2px;
	background-color: var(--wp--preset--color--text);
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.muus-menu-toggle[aria-expanded="true"] .muus-menu-toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.muus-menu-toggle[aria-expanded="true"] .muus-menu-toggle__bar:nth-child(2) {
	opacity: 0;
}

.muus-menu-toggle[aria-expanded="true"] .muus-menu-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.muus-menu-close {
	display: none;
}

@media (max-width: 781px) {
	.muus-menu-toggle {
		display: flex;
	}

	.muus-primary-nav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: var(--wp--preset--color--background);
		z-index: 9999;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.muus-primary-nav.is-open {
		display: flex;
	}

	.muus-menu-close {
		display: block;
		position: absolute;
		top: 1.25rem;
		right: 1.25rem;
		background: none;
		border: none;
		cursor: pointer;
		width: 32px;
		height: 32px;
		padding: 0;
	}

	.muus-menu-close span {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 24px;
		height: 2px;
		background-color: var(--wp--preset--color--text);
	}

	.muus-menu-close span:first-child {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.muus-menu-close span:last-child {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.muus-primary-nav .muus-nav-list {
		flex-direction: column;
		gap: 2.5rem;
		text-align: center;
	}

	.muus-primary-nav .muus-nav-list a {
		font-size: 1.5rem;
		letter-spacing: 0.15em;
	}

	/* Hide lang switcher in header on mobile */
	.muus-header-actions .muus-lang-switcher {
		display: none;
	}

	/* Lang switcher inside mobile menu */
	.muus-primary-nav .muus-menu-lang {
		position: absolute;
		bottom: 3rem;
		left: 50%;
		transform: translateX(-50%);
	}

	.muus-primary-nav .muus-menu-lang .muus-lang-switcher {
		display: flex;
		gap: 0;
		justify-content: center;
	}

	.muus-primary-nav .muus-menu-lang .muus-lang-switcher a {
		font-size: 1rem;
		letter-spacing: 0.1em;
	}

	body.muus-menu-open {
		overflow: hidden;
	}
}

/* --- Footer Content Block --- */
.muus-footer-columns .muus-footer-col ul {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.muus-footer-columns .muus-footer-col a {
	color: var(--wp--preset--color--text-muted);
	text-decoration: none;
	transition: color 0.15s ease;
}

.muus-footer-columns .muus-footer-col a:hover {
	color: var(--wp--preset--color--primary);
}

.muus-newsletter-form input::placeholder {
	color: var(--wp--preset--color--text-muted);
}

.muus-newsletter-form button:hover {
	background-color: var(--wp--preset--color--text) !important;
}

@media (max-width: 781px) {
	.muus-footer-columns {
		flex-direction: column;
		gap: 2rem !important;
	}
}

/* --- Focus-visible (keyboard accessibility) --- */
.muus-menu-toggle:focus-visible,
.muus-cart-drawer__close:focus-visible,
.muus-cart-item__remove:focus-visible,
.muus-cart-item__qty button:focus-visible,
.muus-cart-icon:focus-visible,
.muus-gallery-arrow:focus-visible,
.muus-gallery-dot:focus-visible,
.muus-sort-btn:focus-visible,
.muus-filter-btn:focus-visible,
.muus-sticky-cta__button:focus-visible,
.muus-cookie-banner__accept:focus-visible,
.muus-cookie-banner__close:focus-visible,
.muus-add-to-cart:focus-visible,
.pswp__button:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #c8a97e);
	outline-offset: 2px;
}

/* Form inputs — accent border on keyboard focus */
.wc-block-components-text-input input:focus-visible,
.wc-block-components-textarea:focus-visible,
.muus-specs-accordion__content .comment-form input:focus-visible,
.muus-specs-accordion__content .comment-form textarea:focus-visible,
.muus-cart-drawer__coupon-input:focus-visible,
.woocommerce form input:focus-visible,
.wc-block-components-radio-control__option:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #c8a97e);
	outline-offset: -2px;
}

/* --- Cookie Consent Banner --- */
.muus-cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10001;
	background-color: var(--wp--preset--color--surface);
	border-top: 1px solid var(--wp--preset--color--border);
	transform: translateY(100%);
	opacity: 0;
	transition: transform 0.4s ease, opacity 0.4s ease;
}

.muus-cookie-banner.is-visible {
	transform: translateY(0);
	opacity: 1;
}

.muus-cookie-banner__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 1rem 2rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.muus-cookie-banner__icon {
	flex-shrink: 0;
	color: var(--wp--preset--color--primary);
}

.muus-cookie-banner__text {
	flex: 1;
	font-size: 0.85rem;
	color: var(--wp--preset--color--text-muted);
	margin: 0;
	line-height: 1.4;
}

.muus-cookie-banner__text a {
	color: var(--wp--preset--color--text);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 0.15s ease;
}

.muus-cookie-banner__text a:hover {
	color: var(--wp--preset--color--primary);
}

.muus-cookie-banner__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.muus-cookie-banner__accept {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: none;
	padding: 0.6rem 1.5rem;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.muus-cookie-banner__accept:hover {
	background-color: var(--wp--preset--color--text);
}

.muus-cookie-banner__close {
	background: none;
	border: none;
	color: var(--wp--preset--color--text-muted);
	cursor: pointer;
	padding: 4px;
	transition: color 0.15s ease;
}

.muus-cookie-banner__close:hover {
	color: var(--wp--preset--color--text);
}

@media (max-width: 781px) {
	.muus-cookie-banner__inner {
		padding: 1rem;
		flex-wrap: wrap;
		gap: 0.75rem;
	}

	.muus-cookie-banner__text {
		flex-basis: calc(100% - 36px);
	}

	.muus-cookie-banner__actions {
		width: 100%;
		justify-content: flex-end;
	}
}

/* --- Contacts Page --- */

/* Hide page title and separator on contacts page */
body.page-id-98 .wp-block-post-title,
body.page-id-98 .wp-block-group > .wp-block-separator {
	display: none !important;
}

/* --- About Page --- */

/* Remove thin border lines between sections on content pages */
.entry-content > .wp-block-group.alignfull {
	border-bottom: none !important;
	border-top: none !important;
}

.muus-about-hero .wp-block-cover {
	min-height: 70vh !important;
}

.muus-about-hero .wp-block-cover__image-background {
	filter: brightness(0.3);
}

.muus-about-hero .wp-block-cover::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 120px;
	background: linear-gradient(to top, var(--wp--preset--color--background), transparent);
	pointer-events: none;
}

.muus-accent-line {
	width: 60px !important;
	max-width: 60px !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	border-bottom: 2px solid var(--wp--preset--color--primary) !important;
	opacity: 1 !important;
}

.muus-accent-line-center {
	width: 60px !important;
	max-width: 60px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	border-bottom: 2px solid var(--wp--preset--color--primary) !important;
	opacity: 1 !important;
}

.muus-about-image img {
	border-radius: 4px;
	transition: transform 0.5s ease;
}

.muus-about-image:hover img {
	transform: scale(1.02);
}

.muus-about-tradition .wp-block-cover {
	min-height: 50vh !important;
}

.muus-about-tradition .wp-block-cover__image-background {
	filter: brightness(0.25);
}

/* --- Mobile Header: hide announcement bar, fix sticky offset --- */
@media (max-width: 781px) {
	.muus-announcement-bar {
		display: none;
	}

	header.wp-block-template-part {
		top: 0;
	}

	.muus-header {
		border-bottom: 1px solid var(--wp--preset--color--border);
	}

	/* Header: hamburger left, logo center, actions right */
	.muus-header > .wp-block-group {
		padding-inline: 16px;
	}

	.muus-menu-toggle {
		order: 1;
		flex: 1;
	}

	.muus-header > .wp-block-group > .wp-block-group:first-child {
		order: 2;
		flex: 1;
		justify-content: center;
	}

	.muus-header .wp-block-site-logo {
		flex-shrink: 0;
		width: 36px;
	}

	.muus-header > .wp-block-group > .muus-header-actions {
		order: 3;
		flex: 1;
	}

	/* Global mobile content padding — keeps text/images from screen edges */
	.wp-site-blocks > .wp-block-group.alignfull,
	.wp-site-blocks > .wp-block-post-content > .wp-block-group.alignfull {
		padding-inline: 16px;
	}

	/* Full-bleed sections — no side padding */
	.muus-hero,
	.muus-features {
		padding-inline: 0 !important;
	}

	/* Fluid typography: tighter line-height on mobile */
	.wp-block-heading:where(h1),
	.wp-block-heading:where(h2) {
		line-height: 1.15;
		letter-spacing: -0.01em;
	}

	/* Tighter spacing + horizontal padding on product page */
	.muus-single-product {
		padding-top: 16px !important;
		padding-bottom: 16px !important;
		padding-inline: 16px;
	}

	.muus-product-about {
		padding-top: 2rem !important;
		padding-bottom: 16px !important;
	}

	.muus-about-label__title {
		font-size: 1.5rem;
	}

	.muus-product-specs {
		padding-top: 16px !important;
		padding-bottom: 16px !important;
	}
}

#catalog {
	scroll-margin-top: 100px;
}
@media (max-width: 781px) {
	#catalog {
		scroll-margin-top: 80px;
	}
}

/* --- Admin Bar Fix --- */
body.admin-bar .muus-header {
	top: 32px;
}

@media (max-width: 781px) {
	body.admin-bar .muus-header {
		top: 46px;
	}
}

/* --- Tables (dark theme) --- */
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
	border: none;
}

.wp-block-table table td {
	padding: 0.875rem 1.25rem;
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--text);
	font-size: 0.9rem;
	vertical-align: top;
}

.wp-block-table table tr:last-child td {
	border-bottom: none;
}

.wp-block-table table td:first-child {
	color: var(--wp--preset--color--text-muted);
	white-space: nowrap;
	width: 180px;
}

.wp-block-table.is-style-stripes table tbody tr:nth-child(odd) {
	background: transparent;
}

.wp-block-table.is-style-stripes table tbody tr:nth-child(even) {
	background: rgba(255, 255, 255, 0.03);
}

.wp-block-table figcaption {
	color: var(--wp--preset--color--text-muted);
}

/* --- Mobile Gallery: dots instead of thumbnails --- */
.muus-pdp-gallery-dots,
.muus-pdp-gallery-counter {
	display: none;
}

@media (max-width: 781px) {
	/* Hide thumbnail strip */
	.muus-single-product .flex-control-thumbs {
		display: none !important;
	}

	/* Hide fullscreen trigger */
	.muus-single-product .woocommerce-product-gallery__trigger {
		display: none !important;
	}

	/* Custom dot indicators */
	.muus-pdp-gallery-dots {
		display: flex;
		justify-content: center;
		gap: 6px;
		padding: 4px 0 8px;
	}

	/* Hide breadcrumbs on mobile */
	.wc-block-breadcrumbs,
	.woocommerce-breadcrumb {
		display: none !important;
	}
	.muus-pdp-gallery-dots__dot {
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: var(--wp--preset--color--border);
		border: none;
		padding: 0;
		cursor: pointer;
		transition: background 0.2s;
	}
	.muus-pdp-gallery-dots__dot.is-active {
		background: var(--wp--preset--color--primary);
	}

	/* Counter for >5 images */
	.muus-pdp-gallery-counter {
		display: block;
		text-align: center;
		padding: 8px 0;
		font-size: 0.8rem;
		color: var(--wp--preset--color--text-muted);
	}

	/* Gallery viewport full width, no padding */
	.muus-single-product .woocommerce-product-gallery .flex-viewport {
		aspect-ratio: auto;
	}

	.muus-single-product .woocommerce-product-gallery {
		margin-left: -16px !important;
		margin-right: -16px !important;
		width: calc(100% + 32px) !important;
		max-width: none !important;
	}

	.muus-single-product .woocommerce-product-gallery__image {
		aspect-ratio: 4 / 5;
		overflow: hidden;
		background: #111;
	}

	.muus-single-product .woocommerce-product-gallery__image img {
		object-fit: contain !important;
		width: 100% !important;
		height: 100% !important;
		background: #111;
	}

	/* Product columns stack */
	.muus-product-columns {
		flex-direction: column !important;
	}
	.muus-product-columns > .wp-block-column {
		flex-basis: 100% !important;
	}
	.muus-product-columns > .wp-block-column:last-child {
		padding-left: 0;
		padding-right: 0;
	}

	/* Hide stock status, separator, and excerpt on mobile (full description shown in about section) */
	.muus-product-info .muus-stock-status,
	.muus-product-info > .wp-block-separator,
	.muus-product-info .wp-block-post-excerpt {
		display: none !important;
	}

}

/* --- Sticky Add-to-Cart (mobile only) --- */
.muus-sticky-cta {
	display: none;
}

@media (max-width: 781px) {
	.muus-sticky-cta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 998;
		background: var(--wp--preset--color--background);
		border-top: 1px solid var(--wp--preset--color--border);
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		transform: translateY(100%);
		transition: transform 0.25s ease;
	}
	.muus-sticky-cta.is-visible {
		transform: translateY(0);
	}
	.muus-sticky-cta__price {
		font-size: 1.1rem;
		font-weight: 700;
		color: var(--wp--preset--color--primary);
	}
	.muus-sticky-cta__button {
		background: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--background);
		border: none;
		padding: 12px 24px;
		border-radius: 6px;
		font-size: 0.875rem;
		font-weight: 600;
		cursor: pointer;
		font-family: var(--wp--preset--font-family--body);
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}

	/* Hide when cart drawer is open */
	body.muus-drawer-open .muus-sticky-cta {
		display: none;
	}

	/* Add bottom padding to prevent content overlap */
	.muus-single-product {
		padding-bottom: 72px !important;
	}

	/* Footer: extra bottom padding so sticky bar doesn't cover it */
	.single-product .muus-footer-bottom {
		padding-bottom: 70px;
	}
}

/* --- Trust Signal: free shipping --- */
.muus-trust-shipping {
	font-size: 0.85rem;
	color: var(--wp--preset--color--text-muted);
	margin-top: 0.5rem;
}
.muus-trust-shipping svg {
	color: var(--wp--preset--color--primary);
}

/* --- Footer Accordion (mobile) --- */
.muus-footer__toggle {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text-muted);
	font-family: var(--wp--preset--font-family--body);
	background: none;
	border: none;
	width: 100%;
	text-align: left;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0;
}

.muus-footer__toggle-icon {
	display: none;
	font-size: 1rem;
	color: var(--wp--preset--color--text-muted);
}

@media (max-width: 781px) {
	.muus-footer__toggle-icon {
		display: inline;
		transition: transform 0.3s;
	}

	[data-footer-accordion].is-open .muus-footer__toggle-icon {
		transform: rotate(45deg);
	}

	.muus-footer-col__content {
		overflow: hidden;
		transition: max-height 0.3s ease;
	}

	[data-footer-accordion] .muus-footer__toggle {
		min-height: 44px;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}

	/* Footer mobile padding */
	.muus-footer {
		padding-inline: 16px;
	}

	/* Footer bottom: center everything */
	.muus-footer-bottom {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center;
	}

	/* Footer columns: stack with dividers */
	.muus-footer-columns {
		flex-direction: column;
		gap: 0 !important;
	}
	.muus-footer-columns > .muus-footer-col {
		border-bottom: 1px solid var(--wp--preset--color--border);
		padding: 12px 0;
	}
	.muus-footer-columns > .muus-footer-col:last-child {
		border-bottom: none;
	}
}

/* --- Print Styles --- */
@media print {
	body { background: #fff !important; color: #000 !important; }
	header.wp-block-template-part,
	footer.wp-block-template-part,
	.muus-announcement-bar,
	.muus-sticky-cta,
	.muus-cookie-banner,
	.muus-cart-drawer { display: none !important; }
	.wc-block-checkout__sidebar { background: #fff !important; border-color: #ccc !important; }
	.wc-block-checkout__sidebar * { color: #000 !important; }
	a { text-decoration: underline; }
}

/* --- Messenger FAB --- */
.muus-messenger-fab {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
}

.muus-messenger-fab__toggle {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: none;
	background: var(--wp--preset--color--primary, #c8a97e);
	color: #111;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
	transition: transform 0.2s, background-color 0.2s;
}

.muus-messenger-fab__toggle:hover {
	transform: scale(1.08);
}

.muus-messenger-fab__toggle:focus {
	outline: none;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.muus-messenger-fab__icon-close {
	display: none;
}

.muus-messenger-fab.is-open .muus-messenger-fab__icon-chat {
	display: none;
}

.muus-messenger-fab.is-open .muus-messenger-fab__icon-close {
	display: block;
}

.muus-messenger-fab__items {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.muus-messenger-fab__item {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
	opacity: 0;
	transform: scale(0.5) translateY(30px);
	pointer-events: none;
	transition: opacity 0.25s, transform 0.25s;
}

.muus-messenger-fab.is-open .muus-messenger-fab__item {
	opacity: 1;
	transform: scale(1) translateY(0);
	pointer-events: auto;
}

.muus-messenger-fab.is-open .muus-messenger-fab__item:nth-last-child(1) { transition-delay: 0.05s; }
.muus-messenger-fab.is-open .muus-messenger-fab__item:nth-last-child(2) { transition-delay: 0.1s; }
.muus-messenger-fab.is-open .muus-messenger-fab__item:nth-last-child(3) { transition-delay: 0.15s; }

.muus-messenger-fab__item:hover {
	transform: scale(1.12) translateY(0);
}

.muus-messenger-fab__item--wa {
	background: #25D366;
}

.muus-messenger-fab__item--tg {
	background: #2AABEE;
}

.muus-messenger-fab__item--max {
	background: #fff;
	overflow: hidden;
}

.muus-messenger-fab__item--max img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Hide FAB on checkout */
.woocommerce-checkout .muus-messenger-fab { display: none; }

/* Mobile: slightly smaller, adjust position for sticky CTA */
@media (max-width: 781px) {
	.muus-messenger-fab {
		bottom: 2rem;
		right: 1rem;
		transition: bottom 0.25s ease;
	}

	.muus-messenger-fab.muus-fab-above-cta {
		bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
	}

	/* On single product pages, always keep FAB above sticky CTA area */
	.single-product .muus-messenger-fab {
		bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
	}

	.muus-messenger-fab__toggle {
		width: 50px;
		height: 50px;
	}

	.muus-messenger-fab__item {
		width: 44px;
		height: 44px;
	}
}
