/*
 * Mamilac Design 2026 - global layer on top of Flatsome.
 *
 * Same visual language as mamilac.eu: milk-white surfaces, the wordmark blue
 * (#425ba6), the lavender of its bubbles and the blush of the Premium label,
 * Nunito for display and Figtree for text, rounded cards and pill buttons.
 *
 * Every rule is scoped to body.mm-design (added by mamilac-design.php) so the
 * layer can be switched off instantly and wins over Flatsome's customizer CSS
 * without !important in most places.
 */

/* Fonts - self-hosted (no Google Fonts, GDPR). Latin + Latin Extended (Polish). */
@font-face {
	font-family: "Nunito";
	font-style: normal;
	font-display: swap;
	font-weight: 200 1000;
	src: url("fonts/nunito-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Nunito";
	font-style: normal;
	font-display: swap;
	font-weight: 200 1000;
	src: url("fonts/nunito-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-display: swap;
	font-weight: 300 900;
	src: url("fonts/figtree-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-display: swap;
	font-weight: 300 900;
	src: url("fonts/figtree-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ───────────── Tokens ───────────── */
body.mm-design {
	--mm-font-sans: "Figtree", ui-sans-serif, system-ui, sans-serif;
	--mm-font-display: "Nunito", ui-rounded, ui-sans-serif, system-ui, sans-serif;

	--mm-brand-50: #f2f4fb;
	--mm-brand-100: #e4e8f6;
	--mm-brand-200: #c9d1ec;
	--mm-brand-300: #a3b0dc;
	--mm-brand-400: #7286c6;
	--mm-brand-500: #5169b3;
	--mm-brand-600: #425ba6;
	--mm-brand-700: #374b8b;
	--mm-brand-800: #2d3d71;
	--mm-brand-900: #22305a;
	--mm-brand-950: #151d3a;

	--mm-lilac-100: #efeff9;
	--mm-lilac-200: #dcdcf0;
	--mm-lilac-300: #b8b8dd;

	--mm-blush-100: #fcecf0;
	--mm-blush-300: #eba2b2;
	--mm-blush-400: #e48ea1;
	--mm-blush-500: #d9738a;
	--mm-blush-600: #b94f69;

	--mm-milk-50: #fdfcf9;
	--mm-milk-100: #faf7f1;
	--mm-milk-200: #f3eee4;

	--mm-text: #4a5270;
	--mm-muted: #6b7290;
	--mm-heading: var(--mm-brand-950);

	/* One page width for header, content and footer (Flatsome's .container/.row included) */
	--mm-page: 1240px;
	--mm-gutter: 15px;

	--mm-radius: 1.5rem;
	--mm-radius-lg: 2rem;
	--mm-ring: 0 0 0 1px rgb(21 29 58 / 0.06);
	--mm-shadow: 0 1px 2px rgb(21 29 58 / 0.04), 0 12px 40px -12px rgb(21 29 58 / 0.14);
	--mm-shadow-lg: 0 2px 4px rgb(21 29 58 / 0.04), 0 24px 60px -18px rgb(21 29 58 / 0.22);

	/* Flatsome's own variables: the brown secondary/success colours go, links become brand blue */
	--primary-color: var(--mm-brand-600);
	--fs-color-primary: var(--mm-brand-600);
	--fs-color-secondary: var(--mm-blush-300);
	--fs-color-success: var(--mm-brand-600);
	--fs-color-base: var(--mm-text);
	--fs-experimental-link-color: var(--mm-brand-600);
	--fs-experimental-link-color-hover: var(--mm-brand-800);

	background: var(--mm-milk-50);
	color: var(--mm-text);
	font-family: var(--mm-font-sans);
	font-size: 1.0625rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.mm-design #wrapper,
.mm-design #main {
	background: var(--mm-milk-50);
}

.mm-design ::selection {
	background: var(--mm-lilac-300);
	color: var(--mm-brand-950);
}

/* ───────────── Typography ───────────── */
.mm-design h1,
.mm-design h2,
.mm-design h3,
.mm-design h4,
.mm-design h5,
.mm-design h6,
.mm-design .heading-font,
.mm-design .section-title,
.mm-design .product-title,
.mm-design .banner h1,
.mm-design .banner h2,
.mm-design .banner h3 {
	font-family: var(--mm-font-display);
	letter-spacing: -0.015em;
}

.mm-design h1,
.mm-design h2,
.mm-design h3,
.mm-design h4 {
	color: var(--mm-heading);
	font-weight: 800;
	text-wrap: balance;
}

.mm-design h1 { font-weight: 900; line-height: 1.08; }
.mm-design h2 { line-height: 1.15; }

.mm-design p,
.mm-design li {
	text-wrap: pretty;
}

.mm-design a {
	color: var(--mm-brand-600);
	transition: color 0.15s ease;
}

.mm-design a:hover {
	color: var(--mm-brand-800);
}

.mm-design strong,
.mm-design b {
	color: var(--mm-brand-900);
	font-weight: 700;
}

.mm-design mark {
	background: linear-gradient(transparent 55%, rgb(235 162 178 / 0.45) 55%);
	color: inherit;
}

.mm-design .is-divider {
	height: 3px;
	max-width: 48px;
	border-radius: 999px;
	background: var(--mm-blush-300);
}

/* Flatsome's "text-shadow" and uppercase defaults feel dated */
.mm-design .uppercase,
.mm-design span.widget-title,
.mm-design .nav-uppercase > li > a {
	letter-spacing: 0.02em;
}

/* ───────────── Page width ─────────────
 * Flatsome: .container/.row content = max-width - 30px (column padding),
 * .row-small - 7.5px, .row-large - 60px, .row-collapse without padding. */
.mm-design .container,
.mm-design .container-width,
.mm-design .row {
	max-width: calc(var(--mm-page) + 30px);
}

.mm-design .row.row-collapse { max-width: var(--mm-page); }
.mm-design .row.row-small { max-width: calc(var(--mm-page) + 22.5px); }
.mm-design .row.row-large { max-width: calc(var(--mm-page) + 60px); }

/* Nested rows fill their column */
.mm-design .row .row,
.mm-design .row-full-width {
	max-width: none;
}

/* Blog cards: the excerpt is hover-only on desktop (it reserves its space while
 * invisible). Phones/touch have no hover, so show it always, under the title. */
@media (max-width: 849px), (hover: none) {
	.mm-design .box-blog-post .from_the_blog_excerpt.show-on-hover {
		opacity: 1;
		pointer-events: auto;
		filter: none;
		transform: none;
	}
}

/* ───────────── Header ───────────── */
.mm-design .header-wrapper,
.mm-design .header-bg-color,
.mm-design .header-main {
	background-color: rgb(253 252 249 / 0.88);
}

.mm-design .header-wrapper {
	border-bottom: 1px solid rgb(21 29 58 / 0.06);
}

/* Flatsome's own 1px line under the header; it sits in a .container, so it stops at the page width */
.mm-design .top-divider {
	display: none;
}

/* Frosted header only on desktop; phones get a solid one (cheaper while scrolling) */
@media (min-width: 850px) {
	.mm-design .header-wrapper {
		-webkit-backdrop-filter: saturate(160%) blur(14px);
		backdrop-filter: saturate(160%) blur(14px);
	}
}

@media (max-width: 849px) {
	.mm-design .header-wrapper,
	.mm-design .header-bg-color,
	.mm-design .header-main {
		background-color: var(--mm-milk-50);
	}
}

.mm-design .header-main {
	height: 84px;
}

.mm-design #logo img {
	max-height: 84px;
	padding: 20px 0;
}

.mm-design .stuck .header-main {
	height: 68px !important;
}

.mm-design .stuck .header-nav-main > li > a {
	line-height: 1.2 !important;
	padding: 8px 14px !important;
}

.mm-design .stuck #logo img {
	max-height: 68px !important;
	padding: 16px 0;
}

.mm-design .header-nav-main > li > a {
	font-family: var(--mm-font-sans);
	font-size: 0.95rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	color: var(--mm-brand-900);
	padding: 8px 14px;
	border-radius: 999px;
	line-height: 1.2;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.mm-design .header-nav-main > li > a:hover,
.mm-design .header-nav-main > li.active > a,
.mm-design .header-nav-main > li.current-menu-item > a {
	background: var(--mm-brand-50);
	color: var(--mm-brand-600);
}

/* The little clip-art icons in front of the menu items */
.mm-design .header-nav-main > li > a > img,
.mm-design .nav-sidebar > li > a > img {
	display: none;
}

.mm-design .header-nav-main > li {
	margin: 0 1px;
}

/* Mobile off-canvas menu: larger top-level labels, CTA pill inset from the edges, no rule above it */
.mm-design .nav-sidebar > li > a,
.mm-design .nav-sidebar > li > button.toggle {
	font-size: 1.05rem;
}

.mm-design .nav-sidebar > li > a {
	letter-spacing: 0.04em;
}

.mm-design .nav-sidebar > li.menu-cta-button_design_1 {
	border: 0;
	padding: 0.75rem 1rem;
}

.mm-design .nav-sidebar > li.header-divider {
	display: none;
}

.mm-design .nav-sidebar > li.menu-cta-button_design_1 + li,
.mm-design .nav-sidebar > li.menu-cta-button_design_1 + li.header-divider + li {
	border-top: 0;
}

.mm-design .nav-sidebar > li.menu-cta-button_design_1 a {
	display: block;
	text-align: center;
	font-size: 0.95rem;
}

.mm-design li.menu-cta-button_design_1 a {
	background: var(--mm-brand-600) !important;
	border-radius: 999px;
	padding: 10px 20px !important;
	font-weight: 700;
	box-shadow: 0 10px 24px -10px rgb(66 91 166 / 0.6);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.mm-design li.menu-cta-button_design_1 a:hover {
	background: var(--mm-brand-700) !important;
	transform: translateY(-1px);
}

.mm-design .nav-dropdown {
	border: 0;
	border-radius: 1.25rem;
	padding: 10px;
	box-shadow: var(--mm-shadow-lg), var(--mm-ring);
	min-width: 280px;
}

.mm-design .nav-dropdown-has-arrow li.has-dropdown::after,
.mm-design .nav-dropdown-has-arrow li.has-dropdown::before {
	display: none;
}

.mm-design .nav-dropdown > li > a {
	border-radius: 0.75rem;
	padding: 10px 14px;
	color: var(--mm-brand-900);
	font-weight: 600;
	border: 0 !important;
}

.mm-design .nav-dropdown > li > a:hover {
	background: var(--mm-brand-50);
	color: var(--mm-brand-600);
}

.mm-design .header-nav-main.nav-right > li > a,
.mm-design .header-nav .account-item > a,
.mm-design .header-nav .cart-item > a {
	font-family: var(--mm-font-sans);
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	color: var(--mm-brand-900);
}

.mm-design .cart-icon strong {
	border-radius: 0.6rem;
	border-color: var(--mm-brand-600);
	color: var(--mm-brand-600);
}

.mm-design .cart-icon strong::after {
	border-color: var(--mm-brand-600);
}

.mm-design .header-divider {
	border-left-color: rgb(21 29 58 / 0.1);
}

/* Narrow desktop header (tablet landscape, small laptop windows): the menu, CTA pill
 * and account/cart do not fit in one row at Flatsome's default sizes and the menu
 * wraps to two lines. Keep it on one line: tighter items, smaller logo, no login text. */
@media (min-width: 850px) {
	.mm-design .header-nav-main { flex-wrap: nowrap; }
	.mm-design .header-nav-main > li > a {
		white-space: nowrap;
		display: inline-flex;
		flex-wrap: nowrap;
		align-items: center;
		gap: 2px;
	}
	.mm-design .header-nav-main > li > a > i.icon-angle-down {
		margin: 0;
		flex: none;
	}
}

@media (min-width: 850px) and (max-width: 1149px) {
	.mm-design #logo { width: 160px; }
	.mm-design .header-nav-main > li > a {
		font-size: 0.88rem;
		padding: 8px 9px;
	}
	.mm-design li.menu-cta-button_design_1 a {
		padding: 8px 14px !important;
	}
	.mm-design .header-nav .account-item,
	.mm-design .header-nav .header-divider {
		display: none;
	}
}

/* ───────────── Buttons ───────────── */
.mm-design .button,
.mm-design button:not(.mfp-close):not(.toggle):not(.flickity-button),
.mm-design input[type="submit"],
.mm-design input[type="button"],
.mm-design .wp-element-button {
	font-family: var(--mm-font-sans);
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	border-radius: 999px;
	padding: 0 1.4em;
	min-height: 2.9em;
	line-height: 2.9em;
	transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.mm-design .button.primary:not(.is-outline):not(.is-underline):not(.is-link),
.mm-design .button.success:not(.is-outline):not(.is-underline):not(.is-link) {
	background-color: var(--mm-brand-600);
	color: #fff;
	box-shadow: 0 12px 26px -12px rgb(66 91 166 / 0.7);
}

.mm-design .button.primary:not(.is-outline):not(.is-underline):not(.is-link):hover,
.mm-design .button.success:not(.is-outline):not(.is-underline):not(.is-link):hover {
	background-color: var(--mm-brand-700);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 16px 30px -12px rgb(66 91 166 / 0.75);
}

.mm-design .button.is-outline {
	border: 0;
	background: #fff;
	color: var(--mm-brand-800);
	box-shadow: inset 0 0 0 1px var(--mm-brand-200);
}

.mm-design .button.is-outline:hover {
	background: var(--mm-brand-50);
	color: var(--mm-brand-600);
	box-shadow: inset 0 0 0 1px var(--mm-brand-400);
}

/* "Underline" buttons (ZAMÓW TERAZ etc.) become real buttons */
.mm-design .button.is-underline {
	background: var(--mm-brand-600);
	color: #fff;
	padding: 0 1.6em;
}

.mm-design .button.is-underline::before {
	display: none;
}

.mm-design .button.is-underline:hover {
	background: var(--mm-brand-700);
	color: #fff;
	transform: translateY(-1px);
}

/* Pink is the highlight colour (Premium label), replacing Flatsome's brown.
 * Buying actions are pink with navy text (contrast 9:1). */
.mm-design .single_add_to_cart_button.button,
.mm-design .button#place_order,
.mm-design .button.checkout,
.mm-design .checkout-button,
.mm-design .add_to_cart_button:not(.is-link),
.mm-design .sticky-add-to-cart-select-options-button,
.mm-design .button.alt,
.mm-design .button.secondary:not(.is-outline):not(.is-link) {
	background-color: var(--mm-blush-300) !important;
	color: var(--mm-brand-950) !important;
	box-shadow: 0 14px 28px -14px rgb(217 115 138 / 0.9);
}

.mm-design .single_add_to_cart_button.button:hover,
.mm-design .button#place_order:hover,
.mm-design .button.checkout:hover,
.mm-design .checkout-button:hover,
.mm-design .add_to_cart_button:not(.is-link):hover,
.mm-design .button.alt:hover,
.mm-design .button.secondary:not(.is-outline):not(.is-link):hover {
	background-color: var(--mm-blush-400) !important;
	color: var(--mm-brand-950) !important;
}

.mm-design .current .breadcrumb-step,
.mm-design [data-icon-label]::after,
.mm-design .badge-inner,
.mm-design .main-menu-overlay {
	background-color: var(--mm-blush-300) !important;
	color: var(--mm-brand-950) !important;
}

.mm-design .main-menu-overlay {
	background-color: rgb(21 29 58 / 0.55) !important;
}

.mm-design ins .woocommerce-Price-amount,
.mm-design .price ins .amount {
	color: var(--mm-blush-600);
}

.mm-design .header-main .cart-icon strong,
.mm-design .header-main .nav > li > a > i,
.mm-design .header-main .nav > li > a > .icon-angle-down,
.mm-design .header-main .menu-title,
.mm-design .header-main .social-icons {
	color: var(--mm-brand-600) !important;
}

body.mm-design .header-main .nav > li > a > i,
body.mm-design .header-main .nav > li.nav-icon > a > i.icon-menu {
	color: var(--mm-brand-800) !important;
}

.mm-design .header-main .cart-icon strong,
.mm-design .header-main .cart-icon strong::after {
	border-color: var(--mm-brand-600) !important;
}

.mm-design .header:not(.transparent) .header-nav-main.nav > li > a:hover,
.mm-design .header:not(.transparent) .header-nav-main.nav > li.active > a {
	color: var(--mm-brand-600);
}

.mm-design .widget:where(:not(.widget_shopping_cart)) a {
	color: var(--mm-brand-800);
}

/* ───────────── Surfaces: sections, boxes, images ───────────── */
.mm-design .banner,
.mm-design .banner-bg,
.mm-design .banner .fill {
	border-radius: 0;
}

.mm-design .col-inner > .img .img-inner,
.mm-design .image-box .box-image,
.mm-design .featured-box .icon-box-img img,
.mm-design .entry-content img.size-large,
.mm-design .entry-content img.size-full {
	border-radius: var(--mm-radius);
	overflow: hidden;
}

.mm-design .box-text {
	padding-inline: 0.25em;
}

/* Accordion (FAQ) as soft cards */
.mm-design .accordion-item {
	background: #fff;
	border-radius: 1.1rem;
	box-shadow: var(--mm-ring);
	margin-bottom: 10px;
	overflow: hidden;
}

.mm-design .accordion-title {
	border-top: 0;
	font-family: var(--mm-font-display);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--mm-brand-950);
	padding: 16px 20px 16px 52px;
}

.mm-design .accordion-title.active {
	background: var(--mm-brand-50);
	color: var(--mm-brand-700);
	border-color: transparent;
}

.mm-design .accordion-title .toggle {
	left: 12px;
	top: 10px;
	color: var(--mm-brand-600);
}

.mm-design .accordion-inner {
	padding: 4px 22px 20px 52px;
}

/* Tabs */
.mm-design .nav-tabs > li > a,
.mm-design .nav-line > li > a {
	font-family: var(--mm-font-sans);
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
}

.mm-design .nav-tabs > li.active > a {
	border-top-color: var(--mm-brand-600);
}

/* ───────────── Forms ───────────── */
.mm-design input[type="text"],
.mm-design input[type="email"],
.mm-design input[type="tel"],
.mm-design input[type="number"],
.mm-design input[type="password"],
.mm-design input[type="search"],
.mm-design input[type="url"],
.mm-design textarea,
.mm-design select,
.mm-design .select2-container .select2-selection--single {
	border: 0;
	border-radius: 0.9rem;
	background-color: #fff;
	box-shadow: inset 0 0 0 1px rgb(21 29 58 / 0.12);
	font-family: var(--mm-font-sans);
	min-height: 2.9em;
	padding-inline: 0.9em;
	transition: box-shadow 0.15s ease;
}

.mm-design textarea {
	padding-block: 0.7em;
}

/* Checkout order notes: two lines tall */
.mm-design textarea#order_comments {
	height: calc(2 * 1.5em + 1.4em);
	min-height: calc(2 * 1.5em + 1.4em);
	line-height: 1.5;
}

.mm-design input:focus,
.mm-design textarea:focus,
.mm-design select:focus {
	box-shadow: inset 0 0 0 2px var(--mm-brand-500);
	outline: 0;
}

.mm-design label {
	font-weight: 600;
	color: var(--mm-brand-950);
}

/* ───────────── WooCommerce ───────────── */
.mm-design .product-small.box,
.mm-design .products .product-small .box {
	background: #fff;
	border-radius: var(--mm-radius);
	box-shadow: var(--mm-shadow), var(--mm-ring);
	padding: 14px 14px 18px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.mm-design .products .product-small .box:hover {
	transform: translateY(-3px);
	box-shadow: var(--mm-shadow-lg), var(--mm-ring);
}

.mm-design .product-small .box-image {
	border-radius: calc(var(--mm-radius) - 6px);
	background: radial-gradient(closest-side, var(--mm-blush-100), transparent), var(--mm-milk-100);
}

.mm-design .product-small .product-title,
.mm-design .product-small .name {
	font-size: 1rem;
	font-weight: 800;
	color: var(--mm-brand-950);
}

.mm-design .product-small .category {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: var(--mm-brand-500);
	opacity: 1;
}

.mm-design .price,
.mm-design .amount {
	color: var(--mm-brand-950);
	font-weight: 800;
}

.mm-design .star-rating span::before,
.mm-design .star-rating::before {
	color: #f2b01e;
}

.mm-design .product-info .product-title {
	font-size: 2.1rem;
	font-weight: 900;
}

.mm-design .product-main .price {
	font-size: 1.7rem;
}

.mm-design .quantity input[type="number"] {
	border-radius: 0;
	box-shadow: none;
}

.mm-design .quantity {
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px rgb(21 29 58 / 0.12);
	overflow: hidden;
	background: #fff;
}

.mm-design .quantity .button.minus,
.mm-design .quantity .button.plus {
	border: 0;
	background: transparent;
	box-shadow: none;
	min-height: 2.9em;
	padding: 0 0.9em;
}

.mm-design .woocommerce-message,
.mm-design .woocommerce-info {
	border-radius: 1rem;
	background: var(--mm-brand-50);
	color: var(--mm-brand-900);
}

.mm-design .shop_table,
.mm-design .cart_totals,
.mm-design .checkout-sidebar,
.mm-design .has-border {
	border-radius: var(--mm-radius);
}

.mm-design .is-well,
.mm-design .col-inner.has-border {
	background: #fff;
	border: 0;
	box-shadow: var(--mm-shadow), var(--mm-ring);
	border-radius: var(--mm-radius);
}

.mm-design .badge-inner {
	border-radius: 999px;
	font-weight: 800;
}

/* ───────────── Footer ───────────── */
.mm-design .footer-wrapper .section-bg,
.mm-design .footer-wrapper .section {
	background-color: var(--mm-brand-50) !important;
}

.mm-design .footer-wrapper .section + .section,
.mm-design .footer-wrapper .section + .section .section-bg {
	background-color: var(--mm-brand-950) !important;
	color: rgb(255 255 255 / 0.7);
}

.mm-design .footer-wrapper .section + .section a {
	color: #fff;
}

.mm-design .footer-wrapper a,
.mm-design .footer-wrapper .product-title {
	color: var(--mm-brand-800);
}

.mm-design .footer-wrapper a:hover {
	color: var(--mm-brand-600);
}

.mm-design .footer-wrapper .section-divider,
.mm-design .footer-wrapper .ux-shape-divider {
	display: none;
}

.mm-design .footer-wrapper {
	border-top: 1px solid rgb(21 29 58 / 0.06);
	font-size: 0.95rem;
}

.mm-design .absolute-footer,
.mm-design .absolute-footer.dark {
	background-color: var(--mm-brand-950) !important;
	color: rgb(255 255 255 / 0.7);
}

.mm-design .absolute-footer a {
	color: #fff;
	font-weight: 600;
}

/* Mobile: the legal bar (© + regulamin / polityka) is a UX Builder row with two 50% columns; stack it centred. */
@media (max-width: 849px) {
	.mm-design .footer-wrapper .section + .section .row {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.25rem;
		text-align: center;
	}

	.mm-design .footer-wrapper .section + .section .row > .col {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		padding-bottom: 0;
		text-align: center;
	}

	.mm-design .footer-wrapper .section + .section .row .col-inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0 1.25rem;
		text-align: center;
	}

	.mm-design .footer-wrapper .section + .section .row .button {
		margin: 0;
	}
}

.mm-design .back-to-top {
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--mm-shadow);
}

/* ───────────── Shared building blocks (used by templates/*.php) ───────────── */
.mm-container {
	width: 100%;
	max-width: calc(var(--mm-page) + 2 * var(--mm-gutter));
	margin-inline: auto;
	padding-inline: var(--mm-gutter);
}

.mm-section {
	padding-block: 5rem;
}

@media (min-width: 850px) {
	.mm-section { padding-block: 7rem; }
}

.mm-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-family: var(--mm-font-sans);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mm-brand-600);
}

.mm-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	background: rgb(255 255 255 / 0.85);
	box-shadow: var(--mm-ring), 0 1px 3px rgb(21 29 58 / 0.06);
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--mm-brand-700);
}

.mm-chip i {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 999px;
	background: #22c55e;
}

.mm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 3.25rem;
	padding: 0 1.75rem;
	border-radius: 999px;
	font-family: var(--mm-font-sans);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.mm-btn:hover { transform: translateY(-2px); }

.mm-btn svg { width: 1rem; height: 1rem; }

.mm-design .mm-btn-primary,
.mm-design .mm-btn-primary:hover {
	color: #fff;
}

.mm-design .mm-btn-primary {
	background: var(--mm-brand-600);
	box-shadow: 0 14px 30px -14px rgb(66 91 166 / 0.8);
}

.mm-design .mm-btn-primary:hover {
	background: var(--mm-brand-700);
}

.mm-design .mm-btn-secondary {
	background: #fff;
	color: var(--mm-brand-800);
	box-shadow: inset 0 0 0 1px var(--mm-brand-200);
}

.mm-design .mm-btn-secondary:hover {
	color: var(--mm-brand-600);
	box-shadow: inset 0 0 0 1px var(--mm-brand-400);
}

.mm-design .mm-btn-light {
	background: #fff;
	color: var(--mm-brand-800);
}

.mm-design .mm-btn-light:hover { color: var(--mm-brand-600); }

.mm-design .mm-btn-ghost-light {
	color: #fff;
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.4);
}

.mm-design .mm-btn-ghost-light:hover {
	color: #fff;
	background: rgb(255 255 255 / 0.1);
}

/* Buying actions: pink with navy text */
.mm-design .mm-btn-buy,
.mm-design .mm-btn-buy:hover {
	color: var(--mm-brand-950);
}

.mm-design .mm-btn-buy {
	background: var(--mm-blush-300);
	box-shadow: 0 14px 28px -14px rgb(217 115 138 / 0.9);
}

.mm-design .mm-btn-buy:hover {
	background: var(--mm-blush-400);
}

.mm-muted {
	color: var(--mm-muted);
}

.mm-card {
	background: #fff;
	border-radius: var(--mm-radius-lg);
	box-shadow: var(--mm-shadow), var(--mm-ring);
}

.mm-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 700;
	text-decoration: none;
}

.mm-link-arrow svg {
	width: 1rem;
	height: 1rem;
	transition: transform 0.2s ease;
}

.mm-link-arrow:hover svg { transform: translateX(3px); }

@media (prefers-reduced-motion: reduce) {
	.mm-design *,
	.mm-design *::before,
	.mm-design *::after {
		animation: none !important;
		transition: none !important;
	}
}

/* ───────────── Contact Form 7 ───────────── */
.mm-design .wpcf7 form > p,
.mm-design .wpcf7 form label {
	display: block;
	margin: 0 0 1rem;
}

.mm-design .wpcf7 label {
	font-size: 0.92rem;
}

.mm-design .wpcf7 .wpcf7-form-control-wrap {
	display: block;
	margin-top: 0.4rem;
}

.mm-design .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.mm-design .wpcf7 textarea {
	width: 100%;
	margin: 0;
	font-weight: 400;
}

.mm-design .wpcf7 textarea {
	min-height: 9rem;
}

.mm-design .wpcf7 input[type="submit"] {
	width: 100%;
	margin: 0.5rem 0 0;
	background: var(--mm-brand-600);
	color: #fff;
	font-size: 1rem;
	min-height: 3.2rem;
	box-shadow: 0 14px 30px -14px rgb(66 91 166 / 0.8);
}

.mm-design .wpcf7 input[type="submit"]:hover {
	background: var(--mm-brand-700);
}

.mm-design .wpcf7-not-valid-tip {
	margin-top: 0.35rem;
	font-size: 0.85rem;
	color: #be123c;
}

.mm-design .wpcf7 form .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.8rem 1rem;
	border-radius: 0.9rem;
	font-size: 0.92rem;
}

/* ───────────── WooCommerce: product page, cart, checkout ───────────── */

/* Links styled as solid buttons keep white text (the global link colour would hide it) */
.mm-design a.button:not(.is-outline):not(.is-link):not(.is-underline):not(.white):not(.add_to_cart_button):not(.checkout-button) {
	color: #fff;
}

.mm-design .woocommerce-info,
.mm-design .woocommerce-message {
	border: 0;
}

.mm-design .fs-free-shipping-notice-text {
	font-weight: 600;
}

.mm-design .product-gallery .woocommerce-product-gallery__wrapper,
.mm-design .product-gallery .product-images {
	border-radius: var(--mm-radius-lg);
	background: radial-gradient(closest-side, #fff, transparent), var(--mm-blush-100);
	overflow: hidden;
}

/* The thumbnail strip scrolls (overflow hidden), which clipped the bottom of the selected thumbnail's frame (Flatsome pulls images down by 5px). */
.mm-design .product-thumbnails {
	padding: 0.2rem 0.2rem 0.45rem;
}

/* Selected thumbnail: Flatsome lifts the image 5px (translateY) inside the clipped link and draws a faint 1px border, so the bottom of the frame vanished.
 * No lift; the frame is an overlay on top of the image. */
.mm-design .product-thumbnails img {
	margin-bottom: 0;
	transform: none !important;
}

.mm-design .product-thumbnails a {
	position: relative;
	border-color: transparent !important;
}

.mm-design .product-thumbnails .is-nav-selected a::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid rgb(0 0 0 / 0.2);
	border-radius: inherit;
	pointer-events: none;
}

.mm-design .product-thumbnails a {
	border-radius: 0.9rem;
	overflow: hidden;
	background: var(--mm-milk-100);
}

.mm-design .product-info .breadcrumbs,
.mm-design .product-info .product-category,
.mm-design .checkout-breadcrumbs,
.mm-design .breadcrumbs {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 600;
}

.mm-design .checkout-page-title .breadcrumbs a,
.mm-design .checkout-breadcrumbs a {
	font-family: var(--mm-font-display);
	font-weight: 800;
}

.mm-design .product-info .is-divider {
	margin-block: 1rem;
}

.mm-design .product-short-description {
	font-size: 1rem;
}

/* Age label ("dla noworodków i niemowląt od urodzenia") as a chip above the one-liner */
.mm-design .product-short-description p.uppercase {
	display: inline-flex;
	margin: 0.25rem 0 0.9rem !important;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	background: var(--mm-blush-100);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: var(--mm-blush-600);
}

.mm-design .product-short-description p:not(.uppercase) {
	font-size: 1.08rem;
	line-height: 1.65;
}

.mm-design .mm-product-benefits ul {
	margin: 1.5rem 0 0;
	list-style: none;
}

.mm-design .mm-product-benefits li {
	margin-bottom: 0.6rem;
	padding: 0.75rem 1rem;
	border-radius: 0.9rem;
	background: #fff;
	box-shadow: var(--mm-ring);
	font-size: 0.97rem;
	line-height: 1.5;
}

/* Delivery countdown and pharmacy box (Code Snippets "Licznik czasu dostawy", inline styles).
 * Green = "delivery / good news", kept apart from the pink buy button below it. */
.mm-design .shipping-countdown {
	position: relative;
	margin: 0 0 0.75rem !important;
	padding: 1rem 1.1rem 1rem 4rem !important;
	border: 0 !important;
	border-radius: var(--mm-radius);
	background: linear-gradient(135deg, #ecfdf3 0%, #f6fef9 100%);
	box-shadow: inset 0 0 0 1px rgb(22 163 74 / 0.18);
	color: var(--mm-brand-950);
	font-size: 0.98rem;
	line-height: 1.6;
}

.mm-design .shipping-countdown::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 1rem;
	width: 2.3rem;
	height: 2.3rem;
	border-radius: 0.8rem;
	background: #16a34a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5h11v9H3zM14 9.5h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17.5' cy='17.5' r='1.8'/%3E%3C/svg%3E") center / 1.35rem no-repeat;
	box-shadow: 0 6px 14px -6px rgb(22 163 74 / 0.6);
}

/* The date ("jutro (1 października 2026)") */
.mm-design .shipping-countdown b span[style] {
	color: #15803d !important;
	font-weight: 800;
}

/* The ticking countdown as a pill; tabular digits so it does not jump every second */
.mm-design .shipping-countdown #countdown {
	display: inline-block;
	margin-top: 0.2rem;
	padding: 0.05rem 0.6rem;
	border-radius: 999px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgb(22 163 74 / 0.25);
	color: #15803d !important;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.mm-design .shipping-countdown p {
	margin: 0 0 0.25rem !important;
}

/* The snippet sets white-space: nowrap inline; with a large system font it ran off the screen */
.mm-design .shipping-countdown span[style],
.mm-design .shipping-countdown #countdown {
	white-space: normal !important;
	overflow-wrap: break-word;
}

.mm-design .shipping-countdown p:last-child {
	margin-bottom: 0 !important;
}

/* Placeholder shown while the AJAX request loads (reserves the height, no layout jump) */
.mm-design #shipping-countdown-container:not(:has(.shipping-countdown)) {
	min-height: 4.6rem;
	margin-bottom: 0.75rem;
	padding: 1rem 1.1rem;
	border-radius: var(--mm-radius);
	background: #f6fef9;
	color: var(--mm-muted);
	font-size: 0.92rem;
}

.mm-design .recepta-box {
	margin-top: 0.75rem !important;
	padding: 0.9rem 1.1rem !important;
	border: 0 !important;
	border-radius: var(--mm-radius);
	background: var(--mm-milk-100) !important;
	font-size: 0.92rem;
}

/* "Where to buy" box under the cart form (mamilac-design.php) */
.mm-design .mm-where-box {
	margin-top: 0.75rem;
	padding: 1.1rem 1.25rem;
	border-radius: var(--mm-radius);
	background: var(--mm-milk-100);
	font-size: 0.95rem;
	line-height: 1.55;
}

.mm-design .mm-where-box p { margin: 0 0 0.35rem; }
.mm-design .mm-where-box p:last-child { margin-bottom: 0; }
.mm-design .mm-where-box a:not(.mm-where-box-dm) { font-weight: 700; }

.mm-design .mm-where-box-dm {
	display: block;
	width: 4.5rem;
	margin: 0.6rem 0 0.8rem;
	padding: 0.5rem;
	border-radius: 0.8rem;
	background: #fff;
	box-shadow: var(--mm-ring);
}

.mm-design .mm-where-box-dm img { display: block; width: 100%; height: auto; }

.mm-design form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	padding: 1.25rem;
	border-radius: var(--mm-radius);
	background: var(--mm-brand-50);
}

.mm-design form.cart .quantity {
	margin: 0 !important;
}

.mm-design .single_add_to_cart_button.button {
	flex: 1;
	min-width: 12rem;
	margin: 0 !important;
	font-size: 1.05rem;
	min-height: 3.2rem;
}

.mm-design .product_meta {
	font-size: 0.85rem;
	color: var(--mm-muted);
}

.mm-design .woocommerce-tabs .tabs,
.mm-design .product-footer .nav-line {
	gap: 0.5rem;
}

.mm-design .woocommerce-tabs .panel,
.mm-design .product-footer .tab-panels {
	max-width: 56rem;
}

.mm-design .woocommerce-Tabs-panel h2,
.mm-design .woocommerce-Tabs-panel h3,
.mm-design .product-footer h2,
.mm-design .product-footer h3 {
	text-transform: none;
	letter-spacing: -0.01em;
	margin-top: 2rem;
}

.mm-design .related-products-wrapper .product-section-title,
.mm-design .related .product-section-title {
	text-transform: none;
	font-size: 1.6rem;
	letter-spacing: -0.01em;
}

/* Cart & checkout */
.mm-design .shop_table thead th,
.mm-design .cart_totals th,
.mm-design .shop_table th {
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--mm-font-display);
	font-weight: 800;
	color: var(--mm-brand-950);
	border-color: rgb(21 29 58 / 0.08);
}

.mm-design .shop_table td {
	border-color: rgb(21 29 58 / 0.06);
}

.mm-design .cart-collaterals .cart_totals,
.mm-design .checkout .col-inner.has-border,
.mm-design #order_review {
	padding: 1.5rem;
	border: 0;
	border-radius: var(--mm-radius-lg);
	background: #fff;
	box-shadow: var(--mm-shadow), var(--mm-ring);
}

.mm-design .woocommerce-shipping-methods li,
.mm-design #shipping_method li {
	margin-bottom: 0.5rem;
	padding: 0.6rem 0.75rem;
	border-radius: 0.9rem;
	box-shadow: var(--mm-ring);
}

.mm-design .woocommerce-checkout h3,
.mm-design .checkout h3 {
	text-transform: none;
	letter-spacing: -0.01em;
}

.mm-design .checkout-button,
.mm-design #place_order {
	min-height: 3.4rem;
	font-size: 1.1rem;
}

.mm-design .remove {
	border-color: rgb(21 29 58 / 0.15) !important;
	color: var(--mm-muted) !important;
}

.mm-design .remove:hover {
	background: var(--mm-blush-500) !important;
	border-color: var(--mm-blush-500) !important;
	color: #fff !important;
}

.mm-design .quantity input.qty,
.mm-design .quantity input[type="number"] {
	width: 2.6em;
	min-width: 2.6em;
	padding: 0;
	text-align: center;
	font-weight: 700;
	color: var(--mm-brand-950);
	background: transparent;
}

/* ───────────── Flatsome image boxes with text over the photo (e.g. Zespół) ─────────────
 * The text is absolutely positioned over a fixed-height photo. On phones (no hover)
 * it is always visible and longer texts did not fit - they were cut off at the top.
 * Phones: the text goes under the photo instead. */
@media (max-width: 849px) {
	.mm-design .box.box-text-bottom:has(.box-text.show-on-hover),
	.mm-design .box.box-overlay:has(.box-text.show-on-hover) {
		overflow: visible;
	}

	.mm-design .box .box-text.show-on-hover {
		position: relative !important;
		inset: auto !important;
		max-height: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	/* Once below the photo, Flatsome gives it a white background; keep the blue card */
	.mm-design .box.box-badge .box-text.show-on-hover {
		margin-top: -1.25rem;
		border-radius: var(--mm-radius);
		background-color: var(--mm-brand-600) !important;
		color: #fff;
		box-shadow: var(--mm-shadow);
	}

	.mm-design .box.box-badge .box-text.show-on-hover :is(p, span, strong, a) {
		color: #fff;
	}
}

/* Category / brand archive heading (real <h1>, printed above the breadcrumb) */
.mm-design .shop-page-title .mm-archive-title {
	margin: 0 0 .25em;
	font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem);
	line-height: 1.15;
	color: var(--mm-blue, #425ba6);
}

/* Main shop page (/produkty/): the title bar holds only the "Wszystkie produkty" breadcrumb,
   which adds nothing visually. Kept in the DOM (SEO), hidden from view. */
.mm-design.post-type-archive-product:not(.tax-product_cat):not(.tax-product_brand) .shop-page-title {
	display: none;
}

/* Phones: two products per row instead of one giant card */
@media (max-width: 549px) {
	.mm-design .products.small-columns-1 > .product-small.col { flex-basis: 50%; max-width: 50%; }
	.mm-design .products .product-small .box { padding: 8px 8px 12px; }
	.mm-design .product-small .product-title,
	.mm-design .product-small .name { font-size: 0.86rem; line-height: 1.3; }
	.mm-design .product-small .category { font-size: 0.62rem; letter-spacing: 0.08em; }
	.mm-design .product-small .price { font-size: 0.95rem; }
	.mm-design .product-small .box-text .add-to-cart-button .button,
	.mm-design .product-small .box-text a.button { width: 100%; min-height: 2.6em; padding: 0 0.6em; font-size: 0.82rem; }
	.mm-design .products .badge-container { transform: scale(0.8); transform-origin: top left; }
}

/* Equal cards: the button sits at the bottom of every card */
.mm-design .products .product-small .box { display: flex; flex-direction: column; height: 100%; }
.mm-design .products .product-small .box-text { display: flex; flex-direction: column; flex: 1; padding-inline: 4px; }
.mm-design .products .product-small .box-text .add-to-cart-button { margin-top: auto; padding-top: 0.6rem; }
.mm-design .products .product-small .col-inner { height: 100%; }
.mm-design .products .product-small .box-text a.button { margin: 0; }
.mm-design .products .product-small .star-rating { margin-block: 0.2rem; }
.mm-design .products .product-small .box-image { width: 100%; flex: none; }
