/*
Theme Name: BabyMam
Theme URI: https://babymam.pl/
Author: BabyMam
Description: Lightweight block theme for the BabyMam mother-and-child store.
Version: 0.4.2
Requires at least: 7.1
Requires PHP: 8.3
Text Domain: babymam
*/

:root {
	color-scheme: light;
	--babymam-canvas: #f7f3ec;
	--babymam-oat: #e8decd;
	--babymam-cream: #fdfbf7;
	--babymam-ink: #302e29;
	--babymam-muted: #6e685f;
	--babymam-sage: #66765d;
	--babymam-sage-dark: #4c5945;
	--babymam-clay: #ad654f;
	--babymam-line: #d9d0c3;
	--babymam-editorial: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
	--babymam-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--babymam-wide: 1320px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--babymam-canvas);
	color: var(--babymam-ink);
	text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
	font-family: var(--babymam-sans);
}

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

a,
button,
input,
select,
textarea {
	transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid #277f84;
	outline-offset: 3px;
}

::selection {
	background: rgba(102, 118, 93, .22);
	color: var(--babymam-ink);
}

.wp-site-blocks {
	padding: 0;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.alignwide {
	max-width: var(--babymam-wide);
}

.babymam-eyebrow {
	color: var(--babymam-sage-dark);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .15em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.babymam-button,
.wp-element-button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
button,
input[type="submit"] {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 46px;
}

.babymam-button {
	background: var(--babymam-sage-dark);
	color: #fff;
	gap: .65rem;
	padding: .85rem 1.55rem;
	text-decoration: none;
}

.babymam-button:hover {
	background: #3f4a39;
	color: #fff;
	transform: translateY(-1px);
}

.babymam-button--ghost {
	background: transparent;
	border: 1px solid rgba(48, 46, 41, .24);
	color: var(--babymam-ink);
}

.babymam-button--ghost:hover {
	background: rgba(255, 255, 255, .55);
	color: var(--babymam-ink);
}

.babymam-button--light {
	background: var(--babymam-cream);
	color: var(--babymam-ink);
}

.babymam-text-link,
.babymam-section-heading > a {
	font-size: .9rem;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: rgba(102, 118, 93, .45);
	text-decoration-thickness: 2px;
	text-underline-offset: .35em;
}

/* Header */

.babymam-site-header {
	border-bottom: 1px solid var(--babymam-line);
	padding: 0 !important;
	position: relative;
	z-index: 20;
}

.babymam-site-header > * {
	margin-block-start: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.babymam-announcement {
	align-items: center;
	background: var(--babymam-oat);
	color: #5f594f;
	display: grid;
	font-size: .7rem;
	gap: 1rem;
	grid-template-columns: minmax(8rem, 1fr) minmax(20rem, auto) minmax(8rem, 1fr);
	letter-spacing: .09em;
	line-height: 1.35;
	min-height: 34px;
	padding: .5rem clamp(1rem, 4vw, 3rem);
	text-transform: uppercase;
}

.babymam-announcement strong {
	font-weight: 700;
	text-align: center;
}

.babymam-announcement span:last-child {
	text-align: right;
}

.babymam-shipping-celebration {
	align-items: center;
	background: var(--babymam-cream);
	border: 1px solid rgba(102, 118, 93, .4);
	border-radius: 1.4rem;
	box-shadow: 0 18px 50px rgba(48, 46, 41, .2);
	color: var(--babymam-ink);
	display: flex;
	gap: 1rem;
	left: 50%;
	overflow: hidden;
	padding: 1rem 1.35rem;
	pointer-events: none;
	position: fixed;
	top: clamp(1rem, 5vh, 3.5rem);
	transform: translate(-50%, -1.25rem) scale(.96);
	opacity: 0;
	transition: opacity .28s ease, transform .38s cubic-bezier(.2, .8, .2, 1);
	width: min(calc(100vw - 2rem), 430px);
	z-index: 100000;
}

.babymam-shipping-celebration.is-visible {
	opacity: 1;
	transform: translate(-50%, 0) scale(1);
}

.babymam-shipping-celebration__cherries {
	animation: babymam-cherries-pop .65s cubic-bezier(.2, .9, .25, 1.25) both;
	font-size: 2.4rem;
	line-height: 1;
	position: relative;
	z-index: 2;
}

.babymam-shipping-celebration__copy {
	display: grid;
	gap: .15rem;
	position: relative;
	z-index: 2;
}

.babymam-shipping-celebration__copy strong {
	font-family: var(--babymam-editorial);
	font-size: 1.45rem;
	font-weight: 400;
	line-height: 1.1;
}

.babymam-shipping-celebration__copy span {
	color: var(--babymam-muted);
	font-size: .82rem;
	line-height: 1.4;
}

.babymam-shipping-celebration__confetti {
	inset: 0;
	overflow: hidden;
	position: absolute;
}

.babymam-shipping-celebration__confetti i {
	animation: babymam-confetti-fall 1.45s ease-out both;
	background: var(--confetti-color, var(--babymam-sage));
	height: .55rem;
	left: var(--confetti-left, 50%);
	position: absolute;
	top: -.75rem;
	transform: rotate(var(--confetti-rotate, 12deg));
	width: .28rem;
}

.babymam-shipping-celebration__confetti i:nth-child(1) { --confetti-left: 6%; --confetti-color: var(--babymam-clay); --confetti-rotate: 24deg; animation-delay: .04s; }
.babymam-shipping-celebration__confetti i:nth-child(2) { --confetti-left: 16%; --confetti-color: #49aeb9; --confetti-rotate: -18deg; animation-delay: .18s; }
.babymam-shipping-celebration__confetti i:nth-child(3) { --confetti-left: 29%; --confetti-color: var(--babymam-sage); --confetti-rotate: 48deg; animation-delay: .08s; }
.babymam-shipping-celebration__confetti i:nth-child(4) { --confetti-left: 43%; --confetti-color: #d85d8d; --confetti-rotate: -36deg; animation-delay: .25s; }
.babymam-shipping-celebration__confetti i:nth-child(5) { --confetti-left: 57%; --confetti-color: var(--babymam-clay); --confetti-rotate: 62deg; animation-delay: .12s; }
.babymam-shipping-celebration__confetti i:nth-child(6) { --confetti-left: 69%; --confetti-color: #49aeb9; --confetti-rotate: -52deg; animation-delay: .22s; }
.babymam-shipping-celebration__confetti i:nth-child(7) { --confetti-left: 82%; --confetti-color: var(--babymam-sage); --confetti-rotate: 15deg; animation-delay: .06s; }
.babymam-shipping-celebration__confetti i:nth-child(8) { --confetti-left: 94%; --confetti-color: #d85d8d; --confetti-rotate: -28deg; animation-delay: .16s; }

.babymam-shipping-celebration__confetti b {
	animation: babymam-cherry-fall 1.65s ease-in both;
	font-size: .85rem;
	font-weight: 400;
	left: 22%;
	position: absolute;
	top: -.9rem;
}

.babymam-shipping-celebration__confetti b:last-child {
	animation-delay: .28s;
	left: 78%;
}

@keyframes babymam-cherries-pop {
	0% { opacity: 0; transform: translateY(.7rem) rotate(-10deg) scale(.55); }
	70% { opacity: 1; transform: translateY(-.15rem) rotate(4deg) scale(1.08); }
	100% { transform: translateY(0) rotate(0) scale(1); }
}

@keyframes babymam-confetti-fall {
	0% { opacity: 0; transform: translateY(-.5rem) rotate(var(--confetti-rotate)); }
	18% { opacity: 1; }
	100% { opacity: 0; transform: translateY(6rem) rotate(280deg); }
}

@keyframes babymam-cherry-fall {
	0% { opacity: 0; transform: translate(-.4rem, -.5rem) rotate(-18deg) scale(.7); }
	20% { opacity: 1; }
	100% { opacity: 0; transform: translate(.8rem, 5.8rem) rotate(25deg) scale(1); }
}

.babymam-header-main {
	align-items: center;
	display: grid !important;
	gap: clamp(1rem, 2.5vw, 2rem);
	grid-template-columns: minmax(190px, 240px) minmax(260px, 1fr) auto auto;
	margin-inline: auto;
	max-width: var(--babymam-wide) !important;
	padding: 1.1rem clamp(1rem, 3vw, 2rem);
}

.babymam-brand {
	display: block;
	line-height: 0;
	max-width: 225px;
}

.babymam-brand img {
	display: block;
	mix-blend-mode: multiply;
	width: 100%;
}

.babymam-header-main .wp-block-search {
	margin: 0;
	min-width: 0;
	width: 100%;
}

.babymam-header-main .wp-block-search__inside-wrapper {
	background: var(--babymam-canvas);
	border: 1px solid var(--babymam-line);
	border-radius: 999px;
	min-height: 48px;
	padding: 4px 5px 4px 1.15rem;
}

.babymam-header-main .wp-block-search__input {
	background: transparent;
	border: 0;
	color: var(--babymam-ink);
	min-width: 0;
}

.babymam-header-main .wp-block-search__input::placeholder {
	color: #827b72;
	opacity: 1;
}

.babymam-header-main .wp-block-search__button {
	background: var(--babymam-sage-dark);
	border-radius: 50%;
	flex: 0 0 44px;
	height: 44px;
	margin: 0;
	min-height: 44px;
	min-width: 44px;
	padding: .6rem;
	width: 44px;
}

.wc-block-components-quantity-selector__button,
.wc-block-cart-item__remove-link {
	min-height: 44px !important;
	min-width: 44px !important;
}

.wc-block-components-quantity-selector__input {
	min-width: 44px !important;
}

.babymam-account-link {
	align-items: center;
	border: 1px solid var(--babymam-line);
	border-radius: 999px;
	display: inline-flex;
	font-size: .86rem;
	font-weight: 700;
	gap: .5rem;
	justify-content: center;
	min-height: 46px;
	padding: .55rem 1rem;
	white-space: nowrap;
}

.babymam-account-link:hover {
	background: var(--babymam-oat);
	color: var(--babymam-ink);
}

.babymam-header-main .wp-block-woocommerce-mini-cart {
	margin: 0;
}

.babymam-header-main .wc-block-mini-cart__button {
	border: 1px solid var(--babymam-line);
	border-radius: 50%;
	min-height: 46px;
	min-width: 46px;
	padding: .7rem;
}

.babymam-main-nav {
	border-top: 1px solid rgba(217, 208, 195, .75);
	padding-block: .75rem;
}

.babymam-main-nav .wp-block-navigation-item__content {
	padding: .25rem .15rem;
}

.babymam-main-nav .wp-block-navigation-item__content:hover {
	color: var(--babymam-sage-dark);
}

/* Homepage */

.babymam-home {
	margin: 0;
}

.babymam-hero {
	background:
		radial-gradient(circle at 15% 20%, rgba(189, 118, 95, .10), transparent 26rem),
		var(--babymam-canvas);
	margin: 0;
	overflow: hidden;
}

.babymam-hero__inner {
	display: grid;
	gap: clamp(2.5rem, 7vw, 7rem);
	grid-template-columns: minmax(320px, .88fr) minmax(0, 1fr);
	margin-inline: auto;
	padding: clamp(4rem, 7vw, 7.5rem) clamp(1.25rem, 4vw, 3rem);
}

.babymam-hero__visual {
	min-height: clamp(34rem, 55vw, 45rem);
	position: relative;
}

.babymam-hero__shape {
	background: rgba(189, 118, 95, .16);
	border-radius: 44% 56% 61% 39% / 49% 44% 56% 51%;
	inset: 2% -4% 9% 6%;
	position: absolute;
	transform: rotate(-3deg);
}

.babymam-hero__visual > img {
	border-radius: 68px 30px 76px 34px;
	height: 100%;
	inset: 0 auto 0 0;
	object-fit: cover;
	position: absolute;
	width: 90%;
}

.babymam-hero__note {
	background: rgba(253, 251, 247, .95);
	border-radius: 22px;
	bottom: 2.2rem;
	box-shadow: 0 22px 55px rgba(48, 46, 41, .12);
	max-width: 14rem;
	padding: 1.2rem 1.35rem;
	position: absolute;
	right: 0;
}

.babymam-hero__note strong {
	display: block;
	font-family: var(--babymam-editorial);
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.1;
	margin-bottom: .45rem;
}

.babymam-hero__note span {
	color: var(--babymam-muted);
	font-size: .78rem;
	line-height: 1.5;
}

.babymam-hero__copy {
	align-self: center;
	max-width: 44rem;
}

.babymam-hero h1 {
	font-family: var(--babymam-editorial);
	font-size: clamp(3.4rem, 7vw, 7rem);
	font-weight: 400;
	letter-spacing: -.055em;
	line-height: .94;
	margin: 0;
	max-width: 11ch;
}

.babymam-hero__lead {
	color: var(--babymam-muted);
	font-size: clamp(1.05rem, 1.7vw, 1.3rem);
	line-height: 1.7;
	margin: 2rem 0;
	max-width: 36rem;
}

.babymam-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.babymam-proof-strip {
	background: var(--babymam-cream);
	border-bottom: 1px solid var(--babymam-line);
	border-top: 1px solid var(--babymam-line);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding-inline: max(1rem, calc((100vw - var(--babymam-wide)) / 2));
}

.babymam-proof-strip > div {
	align-items: center;
	display: flex;
	gap: 1rem;
	min-height: 92px;
	padding: 1rem clamp(1rem, 3vw, 2.5rem);
}

.babymam-proof-strip > div + div {
	border-left: 1px solid var(--babymam-line);
}

.babymam-proof-icon {
	align-items: center;
	border: 1px solid rgba(102, 118, 93, .35);
	border-radius: 50%;
	color: var(--babymam-sage-dark);
	display: inline-flex;
	flex: 0 0 2.35rem;
	font-size: .67rem;
	font-weight: 800;
	height: 2.35rem;
	justify-content: center;
	letter-spacing: .05em;
}

.babymam-proof-strip p,
.babymam-proof-strip small,
.babymam-proof-strip strong {
	display: block;
	margin: 0;
}

.babymam-proof-strip strong {
	font-size: .88rem;
}

.babymam-proof-strip small {
	color: var(--babymam-muted);
	font-size: .76rem;
	margin-top: .2rem;
}

.babymam-section {
	padding-block: clamp(4.5rem, 8vw, 8rem);
}

.babymam-section-heading {
	align-items: end;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin: 0 auto clamp(2rem, 4vw, 3.5rem);
	padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.babymam-section-heading h2 {
	font-size: clamp(2.5rem, 5vw, 4.7rem);
	letter-spacing: -.04em;
	margin: 0;
	max-width: 14ch;
}

.babymam-section-heading--center {
	justify-content: center;
	text-align: center;
}

.babymam-section-heading--center h2 {
	max-width: 18ch;
}

.babymam-visual-categories {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: 1.25fr 1fr 1fr;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.babymam-visual-card {
	border-radius: 28px 42px 28px 42px;
	min-height: 25rem;
	overflow: hidden;
	position: relative;
}

.babymam-visual-card--wide {
	grid-row: span 2;
	min-height: 51.5rem;
}

.babymam-visual-card img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transition: transform .5s ease;
	width: 100%;
}

.babymam-visual-card::after {
	background: linear-gradient(180deg, transparent 38%, rgba(36, 33, 29, .68));
	content: "";
	inset: 0;
	position: absolute;
}

.babymam-visual-card > span {
	bottom: 1.6rem;
	color: #fff;
	left: 1.6rem;
	position: absolute;
	right: 1.6rem;
	z-index: 1;
}

.babymam-visual-card strong,
.babymam-visual-card small {
	display: block;
}

.babymam-visual-card strong {
	font-family: var(--babymam-editorial);
	font-size: clamp(1.55rem, 2.6vw, 2.35rem);
	font-weight: 400;
	line-height: 1.05;
}

.babymam-visual-card small {
	font-size: .78rem;
	margin-top: .5rem;
	opacity: .88;
}

.babymam-visual-card:hover {
	color: #fff;
}

.babymam-visual-card:hover img {
	transform: scale(1.035);
}

.babymam-products-section {
	border-block: 1px solid rgba(217, 208, 195, .75);
}

.babymam-editorial {
	background: var(--babymam-oat);
	overflow: hidden;
	padding-block: clamp(5rem, 9vw, 9rem);
}

.babymam-editorial__inner {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: .8fr 1.2fr;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.babymam-editorial__copy h2 {
	font-size: clamp(2.8rem, 5.5vw, 5.2rem);
	letter-spacing: -.045em;
	margin: 0;
}

.babymam-editorial__copy > p:not(.babymam-eyebrow) {
	color: #625c53;
	font-size: 1.05rem;
	line-height: 1.8;
	margin-block: 1.75rem;
}

.babymam-editorial__image {
	min-height: clamp(26rem, 47vw, 38rem);
	position: relative;
}

.babymam-editorial__image > div {
	background: rgba(102, 118, 93, .16);
	border-radius: 43% 57% 51% 49%;
	inset: 5% -3% -5% 7%;
	position: absolute;
	transform: rotate(3deg);
}

.babymam-editorial__image img {
	border-radius: 34px 72px 34px 72px;
	height: 100%;
	object-fit: cover;
	position: absolute;
	width: 94%;
}

.babymam-moment-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, 1fr);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.babymam-moment-grid a {
	background: var(--babymam-cream);
	border-top: 1px solid var(--babymam-line);
	display: flex;
	flex-direction: column;
	min-height: 16rem;
	padding: 1.5rem;
}

.babymam-moment-grid a:hover {
	background: #f1eadf;
	color: var(--babymam-ink);
	transform: translateY(-3px);
}

.babymam-moment-grid span {
	color: var(--babymam-clay);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .12em;
	margin-bottom: auto;
}

.babymam-moment-grid strong {
	font-family: var(--babymam-editorial);
	font-size: clamp(1.35rem, 2.2vw, 1.8rem);
	font-weight: 400;
	line-height: 1.12;
}

.babymam-moment-grid small {
	color: var(--babymam-muted);
	font-size: .78rem;
	line-height: 1.5;
	margin-top: .8rem;
}

.babymam-final-cta {
	background: var(--babymam-sage-dark);
	color: #fff;
	overflow: hidden;
	position: relative;
}

.babymam-final-cta::after {
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 50%;
	content: "";
	height: 32rem;
	position: absolute;
	right: -7rem;
	top: -15rem;
	width: 32rem;
}

.babymam-final-cta__inner {
	margin-inline: auto;
	padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 4vw, 3rem);
	position: relative;
	text-align: center;
	z-index: 1;
}

.babymam-final-cta .babymam-eyebrow {
	color: rgba(255, 255, 255, .72);
}

.babymam-final-cta h2 {
	font-size: clamp(3rem, 6vw, 6rem);
	letter-spacing: -.045em;
	margin: 0 auto;
	max-width: 15ch;
}

.babymam-final-cta p:not(.babymam-eyebrow) {
	color: rgba(255, 255, 255, .72);
	margin: 1.5rem auto 2rem;
}

/* Product cards */

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	gap: clamp(1rem, 2.2vw, 1.8rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wc-block-grid__product {
	background: transparent;
	border: 0;
	display: flex !important;
	flex-direction: column;
	float: none;
	margin: 0 !important;
	min-width: 0;
	padding: 0;
	text-align: left;
	width: auto !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: block;
}

.woocommerce ul.products li.product a img,
.wc-block-grid__product-image img {
	aspect-ratio: 1;
	background: #fff;
	border: 1px solid rgba(217, 208, 195, .75);
	border-radius: 24px 34px 24px 34px;
	margin: 0 0 1.15rem;
	object-fit: contain;
	padding: .4rem;
	transition: transform .35s ease, box-shadow .35s ease;
}

.woocommerce ul.products li.product:hover a img,
.wc-block-grid__product:hover .wc-block-grid__product-image img {
	box-shadow: 0 18px 42px rgba(48, 46, 41, .09);
	transform: translateY(-3px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
	color: var(--babymam-ink);
	font-family: var(--babymam-sans);
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.42;
	padding: 0;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
	color: var(--babymam-ink);
	font-size: 1rem;
	font-weight: 800;
	margin: .65rem 0 .9rem;
}

.woocommerce ul.products li.product .button,
.wc-block-grid__product-add-to-cart .wp-block-button__link {
	background: transparent;
	border: 1px solid rgba(76, 89, 69, .4);
	color: var(--babymam-sage-dark);
	font-size: .78rem;
	margin-top: auto;
	min-height: 44px;
	width: 100%;
}

.woocommerce ul.products li.product .button:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	background: var(--babymam-sage-dark);
	color: #fff;
}

.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
	background: var(--babymam-clay);
	border: 0;
	border-radius: 999px;
	color: #fff;
	font-size: .68rem;
	font-weight: 800;
	left: .75rem;
	line-height: 1;
	margin: 0;
	min-height: auto;
	min-width: auto;
	padding: .55rem .75rem;
	top: .75rem;
}

.wp-block-woocommerce-product-template {
	display: grid !important;
	gap: clamp(1rem, 2.2vw, 1.8rem) !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.wp-block-woocommerce-product-template > li {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.wp-block-woocommerce-product-template .wc-block-components-product-image {
	background: #fff;
	border: 1px solid rgba(217, 208, 195, .75);
	border-radius: 24px 34px 24px 34px;
	overflow: hidden;
	position: relative;
}

.wp-block-woocommerce-product-template .wc-block-components-product-image img {
	aspect-ratio: 1;
	object-fit: contain;
	transition: transform .35s ease;
	width: 100%;
}

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

.wp-block-woocommerce-product-template .wp-block-post-title {
	font-family: var(--babymam-sans);
	font-size: .98rem !important;
	font-weight: 600;
	line-height: 1.42;
	margin: 1rem 0 .55rem;
}

.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price {
	font-weight: 800;
	margin-top: auto;
}

.wp-block-woocommerce-product-template .wp-block-woocommerce-product-button {
	margin-bottom: 0;
	margin-top: .85rem;
}

.wp-block-woocommerce-product-template .wp-block-woocommerce-product-button .wp-element-button {
	background: transparent;
	border: 1px solid rgba(76, 89, 69, .4);
	color: var(--babymam-sage-dark);
	font-size: .78rem;
	width: 100%;
}

.wp-block-woocommerce-product-template .wp-block-woocommerce-product-button .wp-element-button:hover {
	background: var(--babymam-sage-dark);
	color: #fff;
}

/* Catalog */

.babymam-catalog-hero {
	padding-block: clamp(3.5rem, 6vw, 6rem);
}

.babymam-catalog-hero .woocommerce-breadcrumb,
.babymam-product-page .woocommerce-breadcrumb {
	color: var(--babymam-muted);
	font-size: .78rem;
	margin-bottom: 2rem;
}

.babymam-catalog-title {
	margin: 0;
	max-width: 52rem !important;
}

.babymam-catalog-title .wp-block-query-title {
	font-size: clamp(3.2rem, 6vw, 6rem);
	letter-spacing: -.05em;
	margin: 0 0 1rem;
}

.babymam-catalog-title .taxonomy-description {
	color: var(--babymam-muted);
	font-size: 1.02rem;
	line-height: 1.7;
}

.babymam-category-chips {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	margin: 2rem auto 0;
}

.babymam-category-chips a {
	background: rgba(253, 251, 247, .62);
	border: 1px solid rgba(48, 46, 41, .14);
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 700;
	min-height: 42px;
	padding: .65rem 1rem;
}

.babymam-category-chips a:hover {
	background: var(--babymam-cream);
	color: var(--babymam-ink);
}

.babymam-catalog-body {
	padding-block: clamp(3.5rem, 6vw, 6.5rem);
}

.babymam-catalog-toolbar {
	border-bottom: 1px solid var(--babymam-line);
	margin-bottom: 2.5rem;
	padding-bottom: 1rem;
}

.babymam-catalog-toolbar select {
	background: var(--babymam-cream);
	border: 1px solid var(--babymam-line);
	border-radius: 999px;
	color: var(--babymam-ink);
	min-height: 44px;
	padding: .55rem 2.5rem .55rem 1rem;
}

.babymam-catalog .wp-block-query-pagination {
	border-top: 1px solid var(--babymam-line);
	margin-top: 4rem;
	padding-top: 2rem;
}

.babymam-catalog .page-numbers,
.babymam-catalog .wp-block-query-pagination-previous,
.babymam-catalog .wp-block-query-pagination-next {
	align-items: center;
	border-radius: 50%;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}

.babymam-catalog .page-numbers.current {
	background: var(--babymam-sage-dark);
	color: #fff;
}

.babymam-empty-state {
	background: var(--babymam-cream);
	border-radius: 34px;
	padding: 3rem;
	text-align: center;
}

/* Product page */

.babymam-product-page {
	padding-block: clamp(2.5rem, 5vw, 5rem) clamp(5rem, 8vw, 8rem);
}

.babymam-product-shell {
	margin-inline: auto;
}

.single-product .babymam-product-shell .product {
	display: grid;
	gap: clamp(2.5rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, .82fr);
}

.single-product .babymam-product-shell .product::before,
.single-product .babymam-product-shell .product::after {
	display: none;
}

.single-product div.product div.images,
.single-product div.product div.summary {
	float: none;
	margin: 0;
	width: auto;
}

.single-product div.product div.images {
	min-width: 0;
}

.single-product div.product div.images .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.single-product div.product div.images .woocommerce-product-gallery__image > a {
	background: #fff;
	border: 1px solid rgba(217, 208, 195, .8);
	border-radius: 34px 54px 34px 54px;
	display: block;
	overflow: hidden;
}

.single-product div.product div.images img {
	border-radius: 0;
}

.single-product .flex-control-thumbs {
	display: grid;
	gap: .75rem;
	grid-template-columns: repeat(5, 1fr);
	margin-top: .9rem !important;
}

.single-product .flex-control-thumbs li {
	float: none !important;
	margin: 0 !important;
	width: auto !important;
}

.single-product .flex-control-thumbs img {
	aspect-ratio: 1;
	background: #fff;
	border: 1px solid transparent;
	border-radius: 14px !important;
	object-fit: cover;
}

.single-product .flex-control-thumbs img.flex-active {
	border-color: var(--babymam-sage-dark);
}

.single-product div.product .summary {
	align-self: start;
	background: rgba(253, 251, 247, .82);
	border: 1px solid rgba(217, 208, 195, .8);
	border-radius: 30px;
	padding: clamp(1.5rem, 3.5vw, 3rem);
	position: sticky;
	top: 1.5rem;
}

.single-product div.product .product_title {
	font-size: clamp(2.6rem, 4.6vw, 4.6rem);
	letter-spacing: -.045em;
	line-height: .98;
	margin: 0 0 1.5rem;
}

.single-product div.product .summary .price {
	color: var(--babymam-ink);
	font-size: clamp(1.55rem, 2.5vw, 2rem);
	font-weight: 800;
	margin: 0 0 1.2rem;
}

.single-product div.product .stock {
	align-items: center;
	color: var(--babymam-sage-dark);
	display: flex;
	font-size: .84rem;
	font-weight: 700;
	gap: .45rem;
}

.single-product div.product .stock::before {
	background: var(--babymam-sage);
	border-radius: 50%;
	content: "";
	height: .5rem;
	width: .5rem;
}

.single-product div.product form.cart {
	align-items: stretch;
	display: flex;
	gap: .75rem;
	margin-block: 1.5rem;
}

.single-product div.product form.cart .quantity {
	margin: 0;
}

.single-product div.product form.cart .quantity .qty {
	background: #fff;
	border: 1px solid var(--babymam-line);
	border-radius: 999px;
	min-height: 50px;
	min-width: 5rem;
	padding-inline: .75rem;
}

.single-product div.product form.cart .single_add_to_cart_button {
	background: var(--babymam-sage-dark);
	flex: 1;
	min-height: 50px;
}

.single-product div.product form.cart .single_add_to_cart_button:hover {
	background: #3f4a39;
}

.single-product div.product form.cart .variations {
	margin-bottom: .75rem;
}

.single-product div.product form.cart .variations th,
.single-product div.product form.cart .variations td {
	display: block;
	text-align: left;
}

.single-product div.product form.cart .variations select {
	background: #fff;
	border: 1px solid var(--babymam-line);
	border-radius: 999px;
	min-height: 48px;
	padding: .55rem 2.5rem .55rem 1rem;
	width: 100%;
}

.single-product div.product form.cart.variations_form {
	display: block;
}

.single-product div.product .woocommerce-variation-add-to-cart {
	display: flex;
	gap: .75rem;
}

.single-product div.product .product_meta {
	border-top: 1px solid var(--babymam-line);
	color: var(--babymam-muted);
	font-size: .78rem;
	line-height: 1.65;
	margin-top: 1.5rem;
	padding-top: 1.25rem;
}

.babymam-product-notes {
	border-top: 1px solid var(--babymam-line);
	display: grid;
	gap: .9rem;
	margin-top: 1.5rem;
	padding-top: 1.25rem;
}

.babymam-product-note {
	align-items: flex-start;
	display: grid;
	gap: .15rem .75rem;
	grid-template-columns: 2rem 1fr;
}

.babymam-product-note svg {
	color: var(--babymam-sage-dark);
	grid-row: span 2;
	margin-top: .1rem;
}

.babymam-product-note strong {
	font-size: .84rem;
}

.babymam-product-note span {
	color: var(--babymam-muted);
	font-size: .76rem;
	line-height: 1.5;
}

.single-product .woocommerce-tabs,
.single-product .related,
.single-product .upsells {
	grid-column: 1 / -1;
}

.single-product div.product .woocommerce-tabs {
	margin-top: clamp(2rem, 5vw, 4rem);
}

.single-product div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--babymam-line);
	display: flex;
	gap: 1.5rem;
	margin: 0 0 2rem;
	overflow-x: auto;
	padding: 0;
}

.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.single-product div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
}

.single-product div.product .woocommerce-tabs ul.tabs li a {
	border-bottom: 2px solid transparent;
	padding: .9rem 0;
	white-space: nowrap;
}

.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	border-color: var(--babymam-sage-dark);
	color: var(--babymam-ink);
}

.single-product div.product .woocommerce-tabs .panel {
	font-size: 1rem;
	line-height: 1.8;
	max-width: 54rem;
}

.single-product div.product .woocommerce-tabs .panel h2,
.single-product .related > h2,
.single-product .upsells > h2 {
	font-size: clamp(2.2rem, 4vw, 3.8rem);
	letter-spacing: -.04em;
}

.single-product .related,
.single-product .upsells {
	margin-top: clamp(3rem, 6vw, 6rem);
}

.single-product .woocommerce-product-gallery__trigger {
	align-items: center;
	background: var(--babymam-cream);
	display: flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}

/* Commerce surfaces */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--babymam-cream);
	border: 1px solid var(--babymam-line);
	border-radius: 16px;
	color: var(--babymam-ink);
}

.wc-block-cart,
.wc-block-checkout,
.woocommerce-account .woocommerce {
	background: var(--babymam-cream);
	border: 1px solid var(--babymam-line);
	border-radius: 30px;
	padding: clamp(1rem, 3vw, 2.5rem);
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	background: #fff;
	border-color: var(--babymam-line);
	border-radius: 12px;
	min-height: 48px;
}

.woocommerce-account .show-password-input {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}

.woocommerce-account .woocommerce-form__label-for-checkbox {
	align-items: center;
	display: inline-flex;
	gap: .5rem;
	min-height: 44px;
}

/* Footer */

.babymam-footer {
	border-top: 1px solid var(--babymam-line);
	padding-block: clamp(4rem, 7vw, 6.5rem) 1.5rem;
}

.babymam-footer__top {
	display: grid !important;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: minmax(280px, 1.5fr) 1fr 1fr;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.babymam-footer__brand img {
	display: block;
	mix-blend-mode: multiply;
	width: min(220px, 100%);
}

.babymam-footer__brand p {
	color: #625c53;
	line-height: 1.75;
	margin-top: 1.5rem;
	max-width: 28rem;
}

.babymam-footer__column h3 {
	font-size: 1.35rem !important;
	margin: 0 0 1.25rem;
}

.babymam-footer__column .wp-block-navigation {
	gap: .55rem;
}

.babymam-footer__column .wp-block-navigation-item__content {
	color: #5f594f;
	font-size: .88rem;
}

.babymam-footer__bottom {
	border-top: 1px solid rgba(48, 46, 41, .14);
	color: #6a645b;
	margin: 3.5rem auto 0;
	padding: 1.25rem clamp(1.25rem, 4vw, 3rem) 0;
}

.babymam-footer__bottom p {
	margin: 0;
}

/* Responsive */

@media (max-width: 1100px) {
	.babymam-header-main {
		grid-template-columns: 195px minmax(220px, 1fr) auto auto;
	}

	.babymam-hero__inner {
		gap: 3.5rem;
	}

	.babymam-visual-categories {
		grid-template-columns: 1fr 1fr;
	}

	.babymam-visual-card--wide {
		grid-row: span 1;
		min-height: 25rem;
	}

	.babymam-moment-grid {
		grid-template-columns: 1fr 1fr;
	}

	.single-product .babymam-product-shell .product {
		gap: 2.5rem;
		grid-template-columns: minmax(0, 1fr) minmax(320px, .88fr);
	}
}

@media (max-width: 781px) {
	.babymam-announcement {
		display: flex;
		justify-content: center;
		min-height: 32px;
		padding-inline: 1rem;
		text-align: center;
	}

	.babymam-announcement > span {
		display: none;
	}

	.babymam-header-main {
		gap: .75rem;
		grid-template-columns: minmax(0, 1fr) 46px 46px;
		padding-block: .75rem;
	}

	.babymam-brand {
		max-width: 175px;
	}

	.babymam-header-main .wp-block-search {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.babymam-account-link {
		grid-column: 2;
		grid-row: 1;
		min-width: 46px;
		padding: .55rem;
	}

	.babymam-account-link span {
		border: 0;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.babymam-header-main .wp-block-woocommerce-mini-cart {
		grid-column: 3;
		grid-row: 1;
	}

	.babymam-header-main .wp-block-search__button,
	.babymam-header-main .wc-block-mini-cart__button {
		min-height: 44px;
		min-width: 44px;
	}

	.babymam-main-nav {
		min-height: 52px;
		padding: .25rem 1rem;
	}

	.babymam-main-nav .wp-block-navigation {
		width: 100%;
	}

	.babymam-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.babymam-main-nav .wp-block-navigation__responsive-container-open {
		align-items: center;
		display: flex !important;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
	}

	.babymam-main-nav .wp-block-navigation__responsive-container-open::after {
		content: "Menu i kategorie";
		font-size: .78rem;
		font-weight: 700;
		margin-left: .55rem;
	}

	.babymam-main-nav .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--babymam-cream);
		color: var(--babymam-ink);
		padding: 1.5rem;
	}

	.babymam-main-nav .wp-block-navigation__responsive-container-close {
		min-height: 44px;
		min-width: 44px;
	}

	.babymam-hero__inner {
		grid-template-columns: 1fr;
		padding-block: 3.5rem 4.5rem;
	}

	.babymam-hero__copy {
		grid-row: 1;
	}

	.babymam-hero__visual {
		grid-row: 2;
		min-height: min(125vw, 42rem);
	}

	.babymam-hero h1 {
		font-size: clamp(3.3rem, 15vw, 5.5rem);
	}

	.babymam-proof-strip {
		grid-template-columns: 1fr;
	}

	.babymam-proof-strip > div {
		min-height: 72px;
	}

	.babymam-proof-strip > div + div {
		border-left: 0;
		border-top: 1px solid var(--babymam-line);
	}

	.babymam-section {
		padding-block: 4.5rem;
	}

	.babymam-section-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 1.25rem;
	}

	.babymam-editorial__inner {
		grid-template-columns: 1fr;
	}

	.babymam-editorial__image {
		min-height: min(76vw, 34rem);
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.wp-block-woocommerce-product-template {
		gap: 1.5rem 1rem !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.single-product .babymam-product-shell .product {
		display: block;
	}

	.single-product div.product div.summary {
		margin-top: 2rem;
		position: static;
	}

	.single-product .woocommerce-tabs,
	.single-product .related,
	.single-product .upsells {
		margin-top: 4rem;
	}

	.babymam-footer__top {
		grid-template-columns: 1fr 1fr;
	}

	.babymam-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.babymam-hero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.babymam-button {
		width: 100%;
	}

	.babymam-visual-categories {
		grid-template-columns: 1fr;
	}

	.babymam-visual-card,
	.babymam-visual-card--wide {
		min-height: 28rem;
	}

	.babymam-moment-grid {
		grid-template-columns: 1fr;
	}

	.babymam-moment-grid a {
		min-height: 13rem;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		gap: 1.25rem .8rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.wc-block-grid__product-title,
	.wp-block-woocommerce-product-template .wp-block-post-title {
		font-size: .86rem !important;
	}

	.wp-block-woocommerce-product-template {
		gap: 1.25rem .8rem !important;
	}

	.wp-block-woocommerce-product-template > li {
		width: auto !important;
	}

	.babymam-catalog-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.babymam-catalog-toolbar select {
		width: 100%;
	}

	.single-product div.product form.cart,
	.single-product div.product .woocommerce-variation-add-to-cart {
		flex-wrap: wrap;
	}

	.single-product div.product form.cart .single_add_to_cart_button,
	.single-product div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
		flex-basis: 100%;
		width: 100%;
	}

	.single-product div.product .summary {
		border-radius: 22px;
		padding: 1.25rem;
	}

	.single-product div.product .product_title {
		font-size: clamp(2.5rem, 12vw, 3.5rem);
	}

	.single-product .flex-control-thumbs {
		grid-template-columns: repeat(4, 1fr);
	}

	.babymam-footer__top {
		grid-template-columns: 1fr;
	}

	.babymam-footer__brand {
		grid-column: auto;
	}

	.babymam-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 380px) {
	.babymam-brand {
		max-width: 150px;
	}

	.babymam-header-main {
		grid-template-columns: minmax(0, 1fr) 44px 44px;
	}

	.babymam-hero__note {
		bottom: 1rem;
		right: -.25rem;
	}

	.babymam-visual-card,
	.babymam-visual-card--wide {
		min-height: 24rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
