/*
Theme Name: Merry Mi Polska
Theme URI: https://merrymipolska.pl/
Description: Original single-brand WooCommerce child theme for Merry Mi Polska.
Author: VapeGo team
Template: woodmart
Version: 0.2.6
Text Domain: merrymipolska
*/

:root {
	--mm-ink: #17211b;
	--mm-ink-soft: #304039;
	--mm-muted: #5a665f;
	--mm-cream: #f7f4ef;
	--mm-paper: #fffdf9;
	--mm-mist: #dde7e1;
	--mm-line: #d6dcd7;
	--mm-coral: #e45f3b;
	--mm-coral-dark: #b93f24;
	--mm-lime: #cff36a;
	--mm-success: #1c7c54;
	--mm-warning: #b7791f;
	--mm-error: #b83232;
	--mm-shadow: 0 24px 70px rgba(23, 33, 27, 0.1);
	--mm-radius-sm: 12px;
	--mm-radius: 22px;
	--mm-radius-lg: 36px;
	--mm-max: 1240px;
}

/* The WoodMart mobile toolbar duplicates this site's own cart/menu controls
 * and exposes unrelated English wishlist/sidebar links. Keep the target-only
 * purchase path focused on the branded header controls instead. */
@media (max-width: 1024px) {
	body.merrymipolska-site.sticky-toolbar-on {
		padding-bottom: 0 !important;
	}

	body.merrymipolska-site .wd-toolbar {
		display: none !important;
	}
}

html {
	scroll-behavior: smooth;
}

body.merrymipolska-site {
	background: var(--mm-cream);
	color: var(--mm-ink);
	font-family: "Segoe UI Variable Text", "Segoe UI", Inter, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.65;
}

.merrymipolska-site *,
.merrymipolska-site *::before,
.merrymipolska-site *::after {
	box-sizing: border-box;
}

.merrymipolska-site img {
	max-width: 100%;
	height: auto;
}

.merrymipolska-site a {
	color: inherit;
}

.mm-shell {
	width: min(calc(100% - 40px), var(--mm-max));
	margin-inline: auto;
}

.mm-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 100000;
	transform: translateY(-160%);
	background: var(--mm-ink);
	color: #fff;
	padding: 10px 16px;
	border-radius: 8px;
}

.mm-skip-link:focus {
	transform: none;
}

.mm-topbar {
	background: var(--mm-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
	padding: 9px 20px;
}

.mm-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: rgba(247, 244, 239, 0.93);
	border-bottom: 1px solid rgba(23, 33, 27, 0.1);
	backdrop-filter: blur(18px);
}

.admin-bar .mm-header {
	top: 32px;
}

.mm-header__inner {
	min-height: 78px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 28px;
}

.mm-brand {
	display: inline-grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 8px;
	text-decoration: none;
	line-height: 0.9;
}

.mm-brand__name {
	font-size: 24px;
	font-weight: 900;
	letter-spacing: -0.065em;
}

.mm-brand__market {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mm-coral);
}

.mm-nav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mm-nav a {
	display: block;
	padding: 10px 12px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.mm-nav a:hover,
.mm-nav a:focus-visible,
.mm-nav .current-menu-item > a {
	background: var(--mm-mist);
	outline: none;
}

.mm-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.mm-icon-link,
.mm-menu-toggle {
	min-width: 43px;
	height: 43px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-inline: 14px;
	border: 1px solid rgba(23, 33, 27, 0.14);
	border-radius: 999px;
	background: var(--mm-paper);
	color: var(--mm-ink);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.mm-icon-link:hover,
.mm-icon-link:focus-visible,
.mm-menu-toggle:hover,
.mm-menu-toggle:focus-visible {
	border-color: var(--mm-ink);
	outline: none;
}

.mm-cart-count {
	min-width: 20px;
	height: 20px;
	flex: 0 0 20px;
	display: inline-grid;
	place-items: center;
	background: var(--mm-coral);
	color: #fff;
	border-radius: 50%;
	font-size: 11px;
	line-height: 1;
}

.mm-cart-count.is-optimistic,
.wd-cart-number.is-optimistic {
	background: var(--mm-success);
	color: #fff;
	animation: mm-cart-count-pop 0.32s ease both;
}

@keyframes mm-cart-count-pop {
	0% { transform: scale(1); }
	45% { transform: scale(1.3); }
	100% { transform: scale(1); }
}

.mm-cart-icon {
	display: inline-flex;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

.mm-cart-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.merrymipolska-site .mm-menu-toggle {
	display: none;
}

.mm-main {
	min-height: 60vh;
}

/* Elementor owns the homepage structure. Its default container gap is 20px;
 * these modules already carry their spacing in the theme layout classes. */
.merrymipolska-site .mm-elementor-module {
	--row-gap: 0;
	--column-gap: 0;
	gap: 0;
}

.mm-section {
	padding: clamp(64px, 8vw, 112px) 0;
}

.mm-section--paper {
	background: var(--mm-paper);
}

.mm-section--ink {
	background: var(--mm-ink);
	color: #fff;
}

.mm-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 18px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mm-coral-dark);
}

.mm-eyebrow::before {
	content: "";
	width: 34px;
	height: 3px;
	background: currentColor;
	border-radius: 4px;
}

.mm-section--ink .mm-eyebrow {
	color: var(--mm-lime);
}

.merrymipolska-site h1,
.merrymipolska-site h2,
.merrymipolska-site h3,
.merrymipolska-site h4 {
	color: inherit;
	font-family: "Segoe UI Variable Display", "Segoe UI", Inter, Arial, sans-serif;
	font-weight: 850;
	letter-spacing: -0.045em;
}

.merrymipolska-site h1 {
	font-size: clamp(44px, 7vw, 88px);
	line-height: 0.98;
}

.merrymipolska-site h2 {
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.03;
}

.merrymipolska-site h3 {
	font-size: clamp(22px, 3vw, 30px);
	line-height: 1.15;
}

.mm-lead {
	max-width: 720px;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.65;
	color: var(--mm-muted);
}

.mm-section--ink .mm-lead {
	color: rgba(255, 255, 255, 0.72);
}

.mm-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.merrymipolska-site .mm-button,
.merrymipolska-site .button,
.merrymipolska-site button.button,
.merrymipolska-site input.button,
.merrymipolska-site .single_add_to_cart_button {
	min-height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 13px 23px;
	border: 1px solid var(--mm-ink);
	border-radius: 999px;
	background: var(--mm-ink);
	color: #fff;
	font-weight: 850;
	line-height: 1.1;
	text-decoration: none;
	box-shadow: none;
	transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.merrymipolska-site .mm-button:hover,
.merrymipolska-site .mm-button:focus-visible,
.merrymipolska-site .button:hover,
.merrymipolska-site button.button:hover,
.merrymipolska-site input.button:hover,
.merrymipolska-site .single_add_to_cart_button:hover {
	background: var(--mm-coral);
	border-color: var(--mm-coral);
	color: #fff;
	transform: translateY(-2px);
	outline: none;
}

.merrymipolska-site form.variations_form .single_add_to_cart_button.disabled,
.merrymipolska-site form.variations_form .single_add_to_cart_button.wc-variation-selection-needed,
.merrymipolska-site form.variations_form .single_add_to_cart_button.wc-variation-is-unavailable {
	border-color: #8d9690 !important;
	background: #8d9690 !important;
	color: rgba(255,255,255,.88) !important;
	opacity: .58 !important;
	cursor: not-allowed !important;
	transform: none !important;
}

.merrymipolska-site .single_add_to_cart_button.mm-add-feedback {
	background: var(--mm-success) !important;
	border-color: var(--mm-success) !important;
	color: #fff !important;
	opacity: 1 !important;
	pointer-events: none;
	transform: none !important;
}

.merrymipolska-site .single_add_to_cart_button.mm-add-feedback--error {
	background: var(--mm-coral-dark) !important;
	border-color: var(--mm-coral-dark) !important;
}

.merrymipolska-site .single_add_to_cart_button.mm-add-feedback.loading::before,
.merrymipolska-site .single_add_to_cart_button.mm-add-feedback.loading::after {
	opacity: 0 !important;
	--wd-anim-state: paused;
}

@media (prefers-reduced-motion: reduce) {
	.mm-cart-count.is-optimistic,
	.wd-cart-number.is-optimistic { animation: none; }
}

.mm-variation-hint {
	width: 100%;
	margin: 0 0 10px;
	padding: 9px 12px;
	border-radius: 10px;
	background: rgba(228,95,59,.1);
	color: var(--mm-coral-dark);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.4;
}

.mm-variation-hint.is-ready {
	background: rgba(28,124,84,.1);
	color: var(--mm-success);
}

.mm-variation-hint.is-attention {
	box-shadow: 0 0 0 3px rgba(228,95,59,.2);
}

.merrymipolska-site .mm-button--light {
	background: var(--mm-paper);
	color: var(--mm-ink);
	border-color: var(--mm-paper);
}

.merrymipolska-site .mm-button--ghost {
	background: transparent;
	color: var(--mm-ink);
}

.merrymipolska-site .mm-section--ink .mm-button--ghost {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.4);
}

.mm-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(72px, 9vw, 132px) 0 58px;
}

.mm-hero::before {
	content: "";
	position: absolute;
	width: 540px;
	height: 540px;
	top: -220px;
	right: -130px;
	background: var(--mm-lime);
	border-radius: 45% 55% 62% 38%;
	filter: blur(2px);
	opacity: 0.5;
	transform: rotate(19deg);
}

.mm-hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
	align-items: center;
	gap: clamp(40px, 8vw, 100px);
}

.mm-hero h1 {
	max-width: 900px;
	margin: 0 0 25px;
}

.mm-hero__visual {
	position: relative;
	min-height: 520px;
	display: grid;
	place-items: center;
}

.mm-product-orbit {
	position: absolute;
	inset: 10% 4% 2%;
	border: 1px solid rgba(23, 33, 27, 0.2);
	border-radius: 48% 52% 40% 60%;
	transform: rotate(-8deg);
}

.mm-product-stage {
	position: relative;
	z-index: 2;
	width: min(92%, 470px);
	min-height: 430px;
	display: grid;
	place-items: center;
	padding: 40px;
	background: var(--mm-ink);
	color: #fff;
	border-radius: var(--mm-radius-lg);
	box-shadow: var(--mm-shadow);
	transform: rotate(2deg);
}

.mm-product-stage img {
	max-height: 360px;
	width: auto;
	object-fit: contain;
	filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.32));
}

.mm-product-stage__type {
	font-size: clamp(52px, 8vw, 94px);
	font-weight: 900;
	letter-spacing: -0.08em;
	line-height: 0.82;
	text-align: center;
}

.mm-product-stage__type small {
	display: block;
	margin-top: 18px;
	font-size: 13px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mm-lime);
}

.mm-spec-float {
	position: absolute;
	z-index: 3;
	display: grid;
	gap: 2px;
	padding: 14px 17px;
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	border-radius: 15px;
	box-shadow: 0 14px 35px rgba(23, 33, 27, 0.12);
	font-size: 12px;
	font-weight: 750;
}

.mm-spec-float strong {
	font-size: 18px;
}

.mm-spec-float--one { top: 10%; left: -3%; }
.mm-spec-float--two { right: -2%; bottom: 12%; }

.mm-trust-strip {
	position: relative;
	z-index: 4;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 56px;
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius);
	overflow: hidden;
}

.mm-trust-item {
	padding: 22px 25px;
	border-right: 1px solid var(--mm-line);
}

.mm-trust-item:last-child { border-right: 0; }
.mm-trust-item strong { display: block; font-size: 15px; }
.mm-trust-item span { color: var(--mm-muted); font-size: 13px; }

.mm-heading-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.55fr);
	gap: 50px;
	align-items: end;
	margin-bottom: 45px;
}

.mm-heading-row h2 { margin: 0; }
.mm-heading-row p { margin: 0; }

.mm-product-feature {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(35px, 7vw, 90px);
	align-items: center;
}

.mm-product-feature__media {
	min-height: 500px;
	display: grid;
	place-items: center;
	padding: 45px;
	background: var(--mm-mist);
	border-radius: var(--mm-radius-lg);
}

.mm-product-feature__media img {
	max-height: 430px;
	width: auto;
	object-fit: contain;
}

.mm-product-feature__content h2 {
	margin: 0 0 18px;
}

.mm-price {
	font-size: clamp(30px, 4vw, 45px);
	font-weight: 900;
	letter-spacing: -0.04em;
}

.mm-stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 12px;
	font-size: 13px;
	font-weight: 800;
	color: var(--mm-success);
}

.mm-stock::before {
	content: "";
	width: 9px;
	height: 9px;
	background: currentColor;
	border-radius: 50%;
	box-shadow: 0 0 0 5px rgba(28, 124, 84, 0.12);
}

.mm-spec-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 28px 0;
}

.mm-spec-card {
	padding: 17px;
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius-sm);
}

.mm-spec-card strong {
	display: block;
	font-size: 22px;
}

.mm-spec-card span {
	font-size: 12px;
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--mm-muted);
}

.mm-flavors {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.mm-flavor {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 15px;
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 750;
}

.mm-flavor:nth-child(4n + 1) { background: #ffe2d9; }
.mm-flavor:nth-child(4n + 2) { background: #e8f2d5; }
.mm-flavor:nth-child(4n + 3) { background: #deddf4; }
.mm-flavor:nth-child(4n + 4) { background: #f3e3c8; }

.mm-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.mm-card {
	padding: clamp(25px, 3vw, 38px);
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius);
}

.mm-card__num {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-bottom: 35px;
	background: var(--mm-lime);
	border-radius: 50%;
	font-weight: 900;
}

.mm-card h3 {
	margin: 0 0 12px;
	color: var(--mm-ink);
}
.mm-card p { margin: 0; color: var(--mm-muted); }

.mm-faq {
	display: grid;
	gap: 12px;
	max-width: 900px;
}

.mm-faq details {
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	border-radius: 16px;
	padding: 0 20px;
}

.mm-faq summary {
	position: relative;
	padding: 19px 45px 19px 0;
	font-weight: 850;
	cursor: pointer;
	list-style: none;
}

.mm-faq summary::-webkit-details-marker { display: none; }
.mm-faq summary::after {
	content: "+";
	position: absolute;
	right: 3px;
	top: 13px;
	font-size: 28px;
	font-weight: 400;
	color: var(--mm-coral);
}
.mm-faq details[open] summary::after { content: "–"; }
.mm-faq p { margin: 0 0 20px; color: var(--mm-muted); }

.mm-footer {
	background: #101813;
	color: #fff;
	padding: 70px 0 26px;
}

.mm-footer__grid {
	display: grid;
	grid-template-columns: minmax(260px, 1.15fr) repeat(3, minmax(150px, .6fr));
	gap: 34px;
}

.mm-footer .mm-brand { color: #fff; }
.mm-footer__intro { max-width: 480px; color: rgba(255,255,255,.62); }
.mm-footer__address { max-width: 320px; color: rgba(255,255,255,.55); }
.mm-footer__telegram {
	display: inline-flex;
	margin: 10px 0 16px;
	padding: 8px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 35px rgba(0,0,0,.18);
	line-height: 0;
	transition: transform .2s ease, box-shadow .2s ease;
}
.mm-footer__telegram img {
	display: block;
	width: 156px;
	height: auto;
	border-radius: 12px;
}
.mm-footer__telegram:hover {
	background: #fff;
	transform: translateY(-2px);
	box-shadow: 0 18px 42px rgba(0,0,0,.24);
}
.mm-footer__telegram:focus-visible {
	outline: 3px solid var(--mm-lime);
	outline-offset: 4px;
}
.mm-footer h2 { margin: 0 0 18px; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; }
body.merrymipolska-site .mm-footer .mm-footer__toggle {
	display: block;
	width: 100%;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: inherit !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-align: left;
	text-transform: inherit;
	pointer-events: none;
}
.mm-footer__indicator { display: none; }
.mm-footer__panel { display: block; }
.mm-footer__contact p { margin-top: 0; }
.mm-footer ul { list-style: none; margin: 0; padding: 0; }
.mm-footer li + li { margin-top: 9px; }
.mm-footer a { color: rgba(255,255,255,.76); text-decoration: none; }
.mm-footer a:hover { color: var(--mm-lime); }
.mm-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 55px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; color: rgba(255,255,255,.5); }

.merrymipolska-site .site-content,
.merrymipolska-site .main-page-wrapper,
.merrymipolska-site .container {
	max-width: var(--mm-max);
	margin-inline: auto;
}

/*
 * The custom Merry Mi header does not render WoodMart's usual centered page
 * wrapper. Keep the single-product surface aligned with the branded header
 * instead of leaving the entire PDP pinned to the left edge on wide screens.
 */
.merrymipolska-site.single-product .wd-content-area.site-content {
	width: min(calc(100% - 32px), var(--mm-max));
	margin-inline: auto;
}

.merrymipolska-site .main-page-wrapper {
	padding-top: 50px;
	background: transparent;
}

.merrymipolska-site .page-title {
	background: var(--mm-mist);
	border-radius: 0 0 var(--mm-radius-lg) var(--mm-radius-lg);
}

.merrymipolska-site .woocommerce-breadcrumb,
.merrymipolska-site .breadcrumbs {
	font-size: 13px;
}

.merrymipolska-site .product-grid-item,
.merrymipolska-site .wd-product,
.merrymipolska-site .product-wrapper {
	border-radius: var(--mm-radius);
}

.merrymipolska-site .wd-product .product-wrapper {
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	padding: 14px;
}

.merrymipolska-site .wd-product .product-element-top {
	border-radius: 15px;
	overflow: hidden;
	background: var(--mm-mist);
}

.merrymipolska-site .price {
	color: var(--mm-ink);
	font-weight: 850;
}

.merrymipolska-site .single-product-page {
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius-lg);
	padding: clamp(20px, 4vw, 52px);
}

.merrymipolska-site .product_title {
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.02;
}

.merrymipolska-site .variations select,
.merrymipolska-site input.input-text,
.merrymipolska-site textarea,
.merrymipolska-site select {
	min-height: 50px;
	border: 1px solid var(--mm-line);
	border-radius: 11px;
	background: #fff;
}

.merrymipolska-site .woocommerce-tabs,
.merrymipolska-site .related-products,
.merrymipolska-site .cart-content-wrapper,
.merrymipolska-site .woocommerce-checkout {
	margin-top: 45px;
}

.mm-pdp-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-top: 18px;
}

.mm-pdp-trust span {
	padding: 11px;
	background: var(--mm-cream);
	border-radius: 10px;
	font-size: 12px;
	font-weight: 750;
	text-align: center;
}

.merrymipolska-site .cart_totals,
.merrymipolska-site .checkout-order-review,
.merrymipolska-site .woocommerce-checkout-review-order {
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius);
	padding: 24px;
}

.merrymipolska-site .woocommerce-error,
.merrymipolska-site .woocommerce-info,
.merrymipolska-site .woocommerce-message {
	border-radius: var(--mm-radius-sm);
}

.mm-prose {
	font-size: 17px;
	line-height: 1.75;
	color: var(--mm-muted);
}

.mm-prose > * { max-width: 860px; }
.mm-prose h2,
.mm-prose h3 { color: var(--mm-ink); margin-top: 1.65em; }
.mm-prose h2 { font-size: clamp(27px, 4vw, 40px); }
.mm-prose h3 { font-size: 21px; }
.mm-prose a { color: var(--mm-coral-dark); font-weight: 750; }
.mm-prose ul,
.mm-prose ol { padding-left: 1.25em; }
.mm-prose li + li { margin-top: .45em; }

.mm-shop-intro {
	max-width: 780px;
	margin: 0 0 30px;
	font-size: 18px;
	line-height: 1.65;
	color: var(--mm-muted);
}

/*
 * WoodMart normally gets its centered shop container from the parent header
 * layout. The Merry Mi child theme owns its header, so restore that constraint
 * explicitly for the product archive without affecting the other network sites.
 */
.merrymipolska-site .wd-content-area.site-content,
.merrymipolska-site.post-type-archive-product .wd-content-area.site-content,
.merrymipolska-site.woocommerce-shop .wd-content-area.site-content,
.merrymipolska-site.woodmart-archive-shop .wd-content-area.site-content {
	width: min(calc(100% - 32px), 1240px);
	max-width: none;
	margin-inline: auto;
	padding-top: 36px;
	padding-bottom: 60px;
}

.merrymipolska-site .products > .product-grid-item:only-child,
.merrymipolska-site.post-type-archive-product .products > .product-grid-item:only-child,
.merrymipolska-site.woocommerce-shop .products > .product-grid-item:only-child,
.merrymipolska-site.woodmart-archive-shop .products > .product-grid-item:only-child {
	grid-column: 1 / -1;
	width: min(100%, 400px);
	justify-self: center;
	margin-inline: auto;
}

.merrymipolska-site .wd-show-sidebar-btn {
	display: none !important;
}

.mm-shop-guide {
	margin-top: 58px;
	padding: clamp(28px, 5vw, 58px);
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius-lg);
}

.mm-fact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	max-width: 860px;
	margin: 28px 0;
}

.mm-fact-grid > div,
.mm-info-box {
	padding: 22px;
	background: var(--mm-cream);
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius-sm);
}

.mm-fact-grid strong { display: block; color: var(--mm-ink); margin-bottom: 6px; }
.mm-info-box { max-width: 860px; border-left: 4px solid var(--mm-coral); }
.mm-prose table { width: 100%; max-width: 860px; border-collapse: collapse; }
.mm-prose th,
.mm-prose td { padding: 13px 12px; border-bottom: 1px solid var(--mm-line); text-align: left; vertical-align: top; }
.mm-prose th { color: var(--mm-ink); }

.mm-sticky-cart {
	position: fixed;
	left: 50%;
	bottom: 18px;
	z-index: 997;
	width: min(calc(100% - 32px), 720px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 12px 13px 12px 20px;
	background: rgba(23, 33, 27, 0.96);
	color: #fff;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 999px;
	box-shadow: 0 18px 50px rgba(0,0,0,.24);
	transform: translate(-50%, 160%);
	opacity: 0;
	transition: transform .25s ease, opacity .25s ease;
}

.mm-sticky-cart.is-visible {
	transform: translate(-50%, 0);
	opacity: 1;
}

.mm-sticky-cart__meta { min-width: 0; }
.mm-sticky-cart__name { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 800; }
.mm-sticky-cart__price { font-size: 13px; color: rgba(255,255,255,.68); }
.mm-sticky-cart .mm-button { min-height: 43px; padding: 10px 18px; background: var(--mm-lime); border-color: var(--mm-lime); color: var(--mm-ink); }

.mm-system-page {
	padding: clamp(80px, 12vw, 160px) 0;
	text-align: center;
}

.mm-system-page__code {
	display: block;
	font-size: clamp(96px, 20vw, 230px);
	font-weight: 900;
	letter-spacing: -0.1em;
	line-height: .75;
	color: var(--mm-mist);
}

.mm-search-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.mm-search-card {
	display: block;
	padding: 26px;
	background: var(--mm-paper);
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius);
	text-decoration: none;
}

.mm-article-wrap {
	padding: clamp(56px, 8vw, 110px) 0;
}

.mm-article-shell {
	max-width: 1080px;
}

.mm-article__header {
	max-width: 900px;
	margin: 0 auto 42px;
	text-align: center;
}

.mm-article__header .mm-eyebrow {
	justify-content: center;
}

.mm-article__header h1 {
	margin: 0 0 22px;
	font-size: clamp(40px, 7vw, 76px);
	line-height: 1;
}

.mm-article__excerpt {
	max-width: 760px;
	margin: 0 auto;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.65;
	color: var(--mm-muted);
}

.mm-article__meta {
	display: flex;
	justify-content: center;
	gap: 18px;
	margin-top: 20px;
	font-size: 13px;
	font-weight: 750;
	color: var(--mm-muted);
}

.mm-article__hero {
	margin: 0 0 50px;
	border-radius: var(--mm-radius-lg);
	overflow: hidden;
	background: var(--mm-mist);
}

.mm-article__hero img {
	display: block;
	width: 100%;
	max-height: 760px;
	object-fit: contain;
}

.mm-article__content {
	max-width: 820px;
	margin: 0 auto;
}

.mm-article__content > p:first-child {
	font-size: 20px;
	color: var(--mm-ink);
}

.mm-article__content figure {
	margin: 42px 0;
	padding: 18px;
	border: 1px solid var(--mm-line);
	border-radius: var(--mm-radius);
	background: var(--mm-paper);
}

.mm-article__content figure img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 14px;
}

.mm-article__content figcaption {
	margin-top: 12px;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
	color: var(--mm-muted);
}

.mm-article__content blockquote {
	margin: 34px 0;
	padding: 24px 28px;
	border-left: 4px solid var(--mm-coral);
	border-radius: 0 var(--mm-radius-sm) var(--mm-radius-sm) 0;
	background: var(--mm-cream);
	color: var(--mm-ink);
}

.mm-article__cta {
	max-width: 900px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	margin: 55px auto 0;
	padding: 28px;
	border-radius: var(--mm-radius);
	background: var(--mm-ink);
	color: #fff;
}

.mm-article__cta strong,
.mm-article__cta span {
	display: block;
}

.mm-article__cta span {
	margin-top: 4px;
	font-size: 13px;
	color: rgba(255, 255, 255, .67);
}

.mm-related-guides {
	margin-top: 72px;
}

.mm-related-card {
	color: var(--mm-ink);
	text-decoration: none;
}

.mm-related-card h2 {
	font-size: 24px;
}

@media (max-width: 980px) {
	.mm-header__inner { grid-template-columns: auto auto; justify-content: space-between; }
	.merrymipolska-site .mm-menu-toggle { display: inline-flex; }
	.mm-nav { display: none; grid-column: 1 / -1; padding: 0 0 18px; }
	.mm-nav.is-open { display: block; }
	.mm-nav ul { align-items: stretch; flex-direction: column; }
	.mm-nav a { padding: 13px 15px; }
	.mm-header__actions .mm-account-link { display: none; }
	.mm-hero__grid,
	.mm-product-feature,
	.mm-heading-row { grid-template-columns: 1fr; }
	.mm-hero__visual { min-height: 440px; }
	.mm-product-stage { min-height: 370px; }
	.mm-heading-row { gap: 20px; align-items: start; }
	.mm-card-grid { grid-template-columns: 1fr 1fr; }
	.mm-footer__grid { grid-template-columns: 1fr 1fr; }
	.mm-footer__brand { grid-column: 1 / -1; }
	.mm-search-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 782px) {
	.admin-bar .mm-header { top: 46px; }
}

@media (max-width: 640px) {
	.mm-shell { width: min(calc(100% - 28px), var(--mm-max)); }
	.mm-topbar { font-size: 11px; letter-spacing: .04em; }
	.mm-header__inner { min-height: 68px; gap: 12px; }
	.mm-brand__name { font-size: 21px; }
	.mm-icon-link { min-width: 40px; height: 40px; }
	.mm-cart-link { position: relative; width: 40px; padding-inline: 0; gap: 0; }
	.mm-cart-link .mm-cart-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	.mm-cart-link .mm-cart-icon { width: 19px; height: 19px; flex-basis: 19px; }
	.mm-cart-link .mm-cart-count {
		position: absolute;
		top: -6px;
		right: -6px;
		min-width: 19px;
		height: 19px;
		padding: 0 4px;
		border: 2px solid var(--mm-cream);
		font-size: 10px;
	}
	body.merrymipolska-site .variable-items-wrapper .variable-item {
		width: 40px !important;
		height: 40px !important;
		margin: 4px !important;
		border: 2px solid rgba(23,33,27,.16) !important;
		border-radius: 10px !important;
	}
	body.merrymipolska-site .variable-items-wrapper .variable-item.selected {
		border-color: var(--mm-coral) !important;
		box-shadow: 0 0 0 3px rgba(228,95,59,.2) !important;
	}
	.mm-hero { padding-top: 58px; }
	.mm-hero__visual { min-height: 370px; }
	.mm-product-stage { min-height: 320px; padding: 28px; }
	.mm-spec-float--one { top: 4%; left: 0; }
	.mm-spec-float--two { right: 0; bottom: 2%; }
	.mm-trust-strip { grid-template-columns: 1fr; }
	.mm-trust-item { border-right: 0; border-bottom: 1px solid var(--mm-line); }
	.mm-trust-item:last-child { border-bottom: 0; }
	.mm-product-feature__media { min-height: 360px; padding: 25px; }
	.mm-spec-grid,
	.mm-card-grid,
	.mm-pdp-trust,
	.mm-fact-grid,
	.mm-footer__grid,
	.mm-search-grid { grid-template-columns: 1fr; }
	.mm-footer { padding: 32px 0 18px; }
	.mm-footer__grid { display: block; }
	.mm-footer__brand { grid-column: auto; margin-bottom: 20px; }
	.mm-footer__brand .mm-brand { display: inline-flex; margin-bottom: 11px; }
	.mm-footer__intro { max-width: 330px; margin: 0; font-size: 11px; line-height: 1.55; }
	.mm-footer__section { border-top: 1px solid rgba(255,255,255,.13); }
	.mm-footer__section:last-child { border-bottom: 1px solid rgba(255,255,255,.13); }
	.mm-footer__heading { margin: 0 !important; }
	body.merrymipolska-site .mm-footer .mm-footer__toggle {
		display: flex;
		min-height: 46px;
		align-items: center;
		justify-content: space-between;
		color: #f5f5f7 !important;
		font-size: 11px !important;
		font-weight: 750 !important;
		line-height: 1.2 !important;
		letter-spacing: .08em !important;
		cursor: pointer;
		pointer-events: auto;
	}
	.mm-footer__indicator { position: relative; display: block; width: 12px; height: 12px; flex: 0 0 12px; }
	.mm-footer__indicator::before,
	.mm-footer__indicator::after { position: absolute; content: ''; background: rgba(255,255,255,.55); transition: transform .22s ease; }
	.mm-footer__indicator::before { top: 5px; left: 1px; width: 10px; height: 1px; }
	.mm-footer__indicator::after { top: 1px; left: 5px; width: 1px; height: 10px; }
	.mm-footer__section.is-open .mm-footer__indicator::after { transform: rotate(90deg); }
	.mm-footer--accordion .mm-footer__panel { display: none; padding: 0 0 14px; }
	.mm-footer--accordion .mm-footer__section.is-open .mm-footer__panel { display: block; }
	.mm-footer__panel li { margin: 0; }
	.mm-footer__panel li a { display: block; padding: 6px 0; font-size: 12px; }
	.mm-footer__contact p { margin: 0 0 10px; font-size: 11px; line-height: 1.55; }
	.mm-footer__telegram { margin: 3px 0 10px; padding: 5px; border-radius: 12px; }
	.mm-footer__telegram img { width: 72px; border-radius: 9px; }
	.mm-footer__bottom { align-items: flex-start; flex-direction: column; gap: 7px; margin-top: 0; padding: 15px 0 2px; font-size: 9px; line-height: 1.5; }
	.mm-sticky-cart { bottom: 10px; border-radius: 18px; padding-left: 14px; }
	.mm-sticky-cart__name { max-width: 150px; }
	.mm-actions { align-items: stretch; flex-direction: column; }
	.mm-button { width: 100%; }
	.mm-article__meta { align-items: center; flex-direction: column; gap: 5px; }
	.mm-article__cta { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}


/* MerryMi Česko Editorial Homepage & Shop Enhancements */
.mm-hero { padding: 56px 0 72px; border-bottom: 1px solid var(--mm-line); background: radial-gradient(circle at 85% 20%, rgba(228,95,59,0.10), transparent 42%), var(--mm-cream); }
.mm-hero__grid { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 48px; align-items: center; }
.mm-badge-pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: var(--mm-ink); color: var(--mm-lime); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 18px; }
.mm-hero h1 { font-size: clamp(36px, 5vw, 62px); line-height: 1.06; letter-spacing: -0.04em; margin: 0 0 18px; color: var(--mm-ink); }
.mm-hero__lead { font-size: 18px; color: var(--mm-ink-soft); margin: 0 0 28px; max-width: 620px; }
.mm-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-bottom: 32px; }
.mm-btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 28px; border-radius: 999px; background: var(--mm-coral); color: #fff !important; font-weight: 800; font-size: 15px; text-decoration: none; box-shadow: 0 14px 32px rgba(228,95,59,0.28); transition: transform 0.2s ease, background 0.2s ease; }
.mm-btn-primary:hover { background: var(--mm-coral-dark); transform: translateY(-2px); }
.mm-btn-outline { display: inline-flex; align-items: center; justify-content: center; padding: 14px 24px; border-radius: 999px; border: 1.5px solid var(--mm-ink); background: var(--mm-paper); color: var(--mm-ink) !important; font-weight: 800; font-size: 14px; text-decoration: none; }
.mm-hero__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.mm-stat-box { background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius-sm); padding: 14px 16px; }
.mm-stat-box strong { display: block; font-size: 20px; font-weight: 900; color: var(--mm-ink); }
.mm-stat-box span { font-size: 12px; color: var(--mm-muted); }
.mm-hero__stage { position: relative; background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius-lg); padding: 32px; box-shadow: var(--mm-shadow); text-align: center; }
.mm-hero__stage img { max-height: 440px; width: auto; margin-inline: auto; object-fit: contain; border-radius: 20px; }
.mm-stage-tag { display: inline-block; margin-top: 16px; padding: 8px 16px; border-radius: 999px; background: var(--mm-mist); color: var(--mm-ink); font-size: 13px; font-weight: 700; }
.mm-block { padding: 72px 0; border-bottom: 1px solid var(--mm-line); }
.mm-block--paper { background: var(--mm-paper); }
.mm-sec-head { max-width: 760px; margin-bottom: 40px; }
.mm-sec-head h2 { font-size: clamp(28px, 3.8vw, 44px); letter-spacing: -0.03em; margin: 8px 0 12px; }
.mm-mode-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.mm-mode-card { background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); padding: 28px; position: relative; }
.mm-mode-card--highlight { border-color: var(--mm-coral); box-shadow: 0 18px 46px rgba(228,95,59,0.12); }
.mm-mode-tag { display: inline-block; padding: 4px 11px; border-radius: 999px; background: var(--mm-mist); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 12px; }
.mm-flavor-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.mm-flavor-pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: 999px; font-size: 14px; font-weight: 700; text-decoration: none; transition: all 0.2s ease; }
.mm-flavor-pill:hover { border-color: var(--mm-coral); background: #fff5f2; transform: translateY(-1px); }
.mm-tier-banner { background: var(--mm-ink); color: #fff; border-radius: var(--mm-radius-lg); padding: 36px 42px; display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 32px; align-items: center; }
.mm-tier-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.mm-tier-item { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); border-radius: 16px; padding: 16px; text-align: center; }
.mm-tier-item strong { display: block; font-size: 24px; color: var(--mm-lime); }
.mm-faq-list { display: grid; gap: 14px; max-width: 880px; }
.mm-faq-item { background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: 18px; padding: 0 22px; }
.mm-faq-item summary { cursor: pointer; padding: 20px 0; font-weight: 800; font-size: 17px; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.mm-faq-item summary::after { content: "+"; font-size: 22px; color: var(--mm-coral); }
.mm-faq-item[open] summary::after { content: "−"; }
.mm-faq-item p { margin: 0 0 20px; color: var(--mm-ink-soft); }
@media (max-width: 960px) {
  .mm-hero__grid, .mm-mode-grid, .mm-tier-banner { grid-template-columns: 1fr; }
  .mm-hero__stats { grid-template-columns: repeat(2, 1fr); }
}
