/* ==========================================================================
   MiniMe Crochet — "Cozy Creepy" theme styles
   Tokens live in theme.json; this file adds the components blocks can't express.
   ========================================================================== */

:root {
	--mm-ink: var(--wp--preset--color--espresso);
	--mm-cocoa: var(--wp--preset--color--cocoa);
	--mm-bark: var(--wp--preset--color--bark);
	--mm-cream: var(--wp--preset--color--cream);
	--mm-linen: var(--wp--preset--color--linen);
	--mm-oat: var(--wp--preset--color--oat);
	--mm-accent: var(--wp--preset--color--pumpkin);
	--mm-ember: var(--wp--preset--color--ember);
	--mm-honey: var(--wp--preset--color--honey);
	--mm-moss: var(--wp--preset--color--moss);
	--mm-blood: var(--wp--preset--color--blood);
	--mm-r-sm: 10px;
	--mm-r-md: 18px;
	--mm-r-lg: 28px;
	--mm-shadow: var(--wp--preset--shadow--soft);
	--mm-shadow-lift: var(--wp--preset--shadow--lift);
	--mm-announce-h: 2.4rem;
	/* subtle yarn-fibre grain */
	--mm-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.17 0 0 0 0 0.1 0 0 0 0 0.07 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
body {
	font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
img { height: auto; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--mm-honey);
	outline-offset: 2px;
	border-radius: 4px;
}
::selection { background: var(--mm-honey); color: var(--mm-ink); }
h1, h2, h3 { font-variation-settings: "SOFT" 100, "WONK" 1; text-wrap: balance; }
p { text-wrap: pretty; }
em { font-style: italic; }
.wp-site-blocks > main, .wp-site-blocks > * + main { margin-block-start: 0; }

/* -------------------------------------------------------------- utilities */
.is-style-eyebrow,
p.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem !important;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mm-accent);
	margin: 0;
}
.mm-pill {
	display: inline-block;
	background: var(--mm-linen);
	border: 1px solid var(--mm-oat);
	color: var(--mm-cocoa) !important;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
}
.is-style-checks { list-style: none; padding-left: 0; }
.is-style-checks li { position: relative; padding-left: 1.6rem; }
.is-style-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: var(--mm-moss) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat;
}
.wp-block-separator.is-style-stitch {
	border: 0 !important;
	height: 2px !important;
	opacity: 1;
	background: repeating-linear-gradient(90deg, currentColor 0 10px, transparent 10px 17px) !important;
}
.wp-block-group.is-style-card {
	background: #fff;
	border-radius: var(--mm-r-lg);
	padding: clamp(1.25rem, 3vw, 2.5rem);
	box-shadow: var(--mm-shadow);
}
.wp-block-group.is-style-stitched {
	border: 2px dashed var(--mm-oat);
	border-radius: var(--mm-r-lg);
	padding: clamp(1.25rem, 3vw, 2.25rem);
	background: rgba(255, 255, 255, 0.55);
}
.wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent;
	color: var(--mm-ink);
	box-shadow: inset 0 0 0 2px var(--mm-ink);
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover {
	background: var(--mm-ink);
	color: var(--mm-cream);
}
.wp-element-button, .wp-block-button__link {
	transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.wp-block-button__link:active, .wp-element-button:active { transform: translateY(1px); }
.mm-link-arrow { margin: 0; }
.mm-link-arrow a {
	font-weight: 800;
	color: var(--mm-ink);
	text-decoration: none;
	border-bottom: 2px solid var(--mm-honey);
	padding-bottom: 2px;
	white-space: nowrap;
}
.mm-link-arrow a::after { content: " →"; transition: margin 0.2s; }
.mm-link-arrow a:hover::after { margin-left: 4px; }

/* -------------------------------------------------------------- header */
.mm-site-header {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--mm-announce-h));
	z-index: 50;
	margin: 0 !important;
}
.mm-site-header > * { margin-block: 0 !important; }
.mm-site-header .mm-announce { height: var(--mm-announce-h); overflow: hidden; }
.mm-site-header .mm-announce__list { height: 100%; min-height: 0; }
.mm-site-header.is-stuck .mm-header { box-shadow: 0 10px 30px -22px rgba(43, 27, 18, 0.55); }
.mm-header {
	border-bottom: 1px solid var(--mm-oat);
	/* Solid background on purpose: backdrop-filter would make the header the containing
	   block for position:fixed children and trap the mobile menu overlay inside it. */
	background: var(--mm-cream) !important;
}
.mm-header__bar { gap: 1rem; }
.mm-logo { display: block; line-height: 0; flex: none; }
.mm-logo img { width: clamp(150px, 15vw, 190px); height: auto; }
.mm-logo--footer img { width: 220px; margin-bottom: 0.5rem; }
.mm-nav .wp-block-navigation-item__content { text-decoration: none; padding: 0.4rem 0; position: relative; }
.mm-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--mm-accent) 0 6px, transparent 6px 10px);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}
.mm-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.mm-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.mm-nav .mm-nav__seasonal > a { color: var(--mm-accent); }
.mm-nav .mm-nav__seasonal > a::before { content: "🎃 "; }
.mm-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--mm-oat) !important;
	border-radius: var(--mm-r-md);
	padding: 0.5rem !important;
	box-shadow: var(--mm-shadow-lift);
	background: #fff !important;
	min-width: 230px !important;
}
.mm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.5rem 0.8rem !important;
	border-radius: 10px;
	font-weight: 700;
}
.mm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--mm-linen); }
.mm-header__icons .wp-block-search__button,
.mm-header__icons .wc-block-customer-account a,
.mm-header__icons .wc-block-mini-cart__button {
	color: var(--mm-ink);
	background: transparent;
	border: 0;
	border-radius: 50%;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	padding: 0;
}
.mm-header__icons .wp-block-search__button:hover,
.mm-header__icons .wc-block-customer-account a:hover,
.mm-header__icons .wc-block-mini-cart__button:hover { background: var(--mm-linen); }
.mm-header__icons .wc-block-mini-cart__badge { background: var(--mm-accent); color: #fff; font-weight: 800; }
.mm-search.wp-block-search__button-only .wp-block-search__inside-wrapper { border: 0; }
.mm-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	border: 1.5px solid var(--mm-oat);
	border-radius: 999px;
	padding: 0.5rem 1rem;
	background: #fff;
	min-width: 200px;
}
.mm-header--checkout .mm-secure { margin: 0; font-size: 0.875rem; font-weight: 700; display: flex; align-items: center; gap: 0.4rem; color: var(--mm-moss); }
.mm-header--checkout .mm-secure a { color: var(--mm-ink); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--mm-cream) !important; padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; font-family: var(--wp--preset--font-family--display); font-weight: 600; }
/* Collapse to the hamburger below 1100px (core only does it below 600px). */
@media (max-width: 1099px) {
	.mm-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
	.mm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.mm-header .mm-nav { order: -1; flex: 1 1 0; justify-content: flex-start !important; }
	.mm-header .mm-logo { position: absolute; left: 50%; transform: translateX(-50%); }
	.mm-header__bar { position: relative; min-height: 52px; }
	.mm-header__icons { flex: 1 1 0; justify-content: flex-end; }
}
@media (max-width: 599px) {
	.mm-header__bar { flex-wrap: nowrap; }
	.mm-header__icons { gap: 0 !important; }
	.mm-header__icons .wc-block-customer-account { display: none; }
	.mm-header .mm-nav { order: -1; }
}

/* -------------------------------------------------------------- sections */
.mm-section { padding-block: var(--wp--preset--spacing--70); }
.mm-home > .mm-section + .mm-section { padding-top: 0; }
.mm-section-head { margin-bottom: var(--wp--preset--spacing--50) !important; gap: 1rem 2rem; }
.mm-section-head h2 { margin: 0; max-width: 22ch; }
.mm-section-head__intro { margin: 0.35rem 0 0; color: var(--mm-bark); max-width: 56ch; }
.mm-band { position: relative; isolation: isolate; }
.mm-band::before { content: ""; position: absolute; inset: 0; background-image: var(--mm-grain); z-index: -1; pointer-events: none; }
.mm-band--night {
	background:
		radial-gradient(1200px 400px at 85% -10%, rgba(226, 131, 60, 0.28), transparent 60%),
		radial-gradient(800px 380px at 0% 110%, rgba(140, 42, 33, 0.35), transparent 60%),
		var(--mm-ink);
	color: var(--mm-linen);
}
.mm-band--night h2, .mm-band--night .mm-link-arrow a { color: var(--mm-cream); }
.mm-band--night .mm-section-head__intro { color: var(--mm-oat); }
.mm-band--night .is-style-eyebrow { color: var(--mm-honey); }

/* -------------------------------------------------------------- hero */
.mm-hero {
	background:
		radial-gradient(900px 500px at 100% 0%, rgba(244, 184, 96, 0.28), transparent 60%),
		radial-gradient(700px 400px at 0% 100%, rgba(226, 131, 60, 0.12), transparent 60%),
		var(--mm-cream);
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.mm-hero::before { content: ""; position: absolute; inset: 0; background-image: var(--mm-grain); z-index: -1; }
.mm-hero__title { margin-top: 0.9rem; line-height: 0.98; letter-spacing: -0.03em; }
.mm-hero__title em { color: var(--mm-accent); font-weight: 500; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; }
.mm-hero__lead { color: var(--mm-cocoa); max-width: 34ch; margin-top: 1rem; }
.mm-hero__promises { display: grid; grid-template-columns: repeat(2, max-content); gap: 0.45rem 1.6rem; font-size: 0.9375rem; font-weight: 700; margin: 1.6rem 0 1.4rem; }
@media (max-width: 480px) { .mm-hero__promises { grid-template-columns: 1fr 1fr; gap: 0.45rem 0.8rem; font-size: 0.875rem; } }

.mm-collage {
	position: relative;
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: clamp(0.6rem, 1.4vw, 1rem);
	aspect-ratio: 1.12;
}
.mm-collage figure { margin: 0; overflow: hidden; border-radius: var(--mm-r-lg); box-shadow: var(--mm-shadow-lift); background: var(--mm-oat); }
.mm-collage img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }
.mm-collage figure:hover img { transform: scale(1.04); }
.mm-collage__main { grid-row: 1 / 3; border-radius: 140px 140px var(--mm-r-lg) var(--mm-r-lg) !important; }
.mm-collage__a { transform: rotate(1.5deg); }
.mm-collage__b { transform: rotate(-1.5deg); }
.mm-sticker {
	position: absolute;
	left: 50%;
	top: 52%;
	transform: translate(-60%, -50%) rotate(-10deg);
	width: 104px;
	height: 104px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	text-align: center;
	background: var(--mm-honey);
	color: var(--mm-ink);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.05;
	box-shadow: 0 0 0 6px var(--mm-cream), var(--mm-shadow-lift);
	outline: 2px dashed var(--mm-cocoa);
	outline-offset: -10px;
	animation: mm-wobble 6s ease-in-out infinite;
}
.mm-sticker b { color: var(--mm-blood); font-size: 1.1rem; }
@keyframes mm-wobble { 0%, 100% { transform: translate(-60%, -50%) rotate(-10deg); } 50% { transform: translate(-60%, -54%) rotate(-4deg); } }
@media (max-width: 781px) {
	.mm-hero .wp-block-columns { flex-direction: column-reverse; }
	.mm-collage { aspect-ratio: 1.25; }
	.mm-sticker { width: 84px; height: 84px; font-size: 0.75rem; }
}

/* -------------------------------------------------------------- marquee */
.mm-marquee {
	display: flex;
	overflow: hidden;
	background: var(--mm-accent);
	color: #fff;
	font-weight: 800;
	font-size: 0.9375rem;
	padding: 0.85rem 0;
	position: relative;
	z-index: 2;
	margin-block: 0;
}
.mm-marquee__track { list-style: none; display: flex; gap: 2.5rem; margin: 0; padding: 0 1.25rem; flex: none; animation: mm-marquee 38s linear infinite; }
.mm-marquee__track li { white-space: nowrap; display: flex; align-items: center; gap: 2.5rem; }
.mm-marquee__track li::after { content: "✶"; color: var(--mm-honey); }
.mm-marquee:hover .mm-marquee__track { animation-play-state: paused; }
@keyframes mm-marquee { to { transform: translateX(-100%); } }
.mm-pdp-page .mm-marquee, .mm-shop .mm-marquee { margin-top: var(--wp--preset--spacing--60) !important; }

/* -------------------------------------------------------------- collection tiles */
.mm-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
.mm-tile a {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: var(--mm-ink);
	background: #fff;
	border-radius: var(--mm-r-lg);
	overflow: hidden;
	box-shadow: var(--mm-shadow);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.mm-tile a:hover { transform: translateY(-4px) rotate(-0.4deg); box-shadow: var(--mm-shadow-lift); }
.mm-tile__img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; background: var(--mm-linen); }
.mm-tile__body { display: flex; flex-direction: column; padding: 0.9rem 1rem 1.05rem; gap: 0.15rem; }
.mm-tile__title { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.125rem; line-height: 1.15; }
.mm-tile__sub { font-size: 0.8125rem; color: var(--mm-bark); line-height: 1.35; }
.mm-tile__count { margin-top: 0.4rem; font-size: 0.6875rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.1em; color: var(--mm-accent); }
@media (max-width: 1100px) { .mm-tiles { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .mm-tiles { grid-template-columns: repeat(2, 1fr); gap: 0.7rem; } .mm-tile__sub { display: none; } }

/* -------------------------------------------------------------- product cards */
.mm-products .wc-block-product-template,
.wc-block-product-template.mm-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2.4vw, 1.75rem) clamp(0.75rem, 2vw, 1.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.mm-products--compact .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) { .mm-products .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .mm-products .wc-block-product-template, .mm-products--compact .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mm-products .wc-block-product {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 0.3rem;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	position: relative;
}
.mm-products .wc-block-product > * { margin: 0 !important; text-align: left !important; }
.mm-card__media, .mm-products .wc-block-components-product-image {
	width: 100%;
	border-radius: var(--mm-r-lg);
	overflow: hidden;
	background: var(--mm-linen);
	margin-bottom: 0.6rem !important;
	position: relative;
	box-shadow: var(--mm-shadow);
}
.mm-products .wc-block-components-product-image a { display: block; position: relative; aspect-ratio: 1; }
.mm-products .wc-block-components-product-image img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: opacity 0.45s ease, transform 0.6s ease; }
.wc-block-components-product-image a { position: relative; display: block; }
.wc-block-components-product-image .mm-hover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.45s ease; }
.wc-block-product:hover .mm-hover-img { opacity: 1; }
.mm-products .wc-block-product:hover .mm-hover-img { opacity: 1; }
.mm-products .wc-block-product:hover .wc-block-components-product-image img:first-child { transform: scale(1.03); }
.mm-card__eyebrow { font-size: 0.6875rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mm-accent); }
.mm-card__eyebrow a { color: inherit; text-decoration: none; }
.mm-card__eyebrow .wp-block-post-terms__separator { opacity: 0.5; }
.mm-card__title, .mm-products .wp-block-post-title {
	font-family: var(--wp--preset--font-family--display) !important;
	font-size: clamp(1rem, 1.4vw, 1.125rem) !important;
	font-weight: 600 !important;
	line-height: 1.22 !important;
	letter-spacing: -0.01em;
}
.mm-card__title a { text-decoration: none; color: inherit; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size 0.3s; }
.mm-card__title a:hover { background-size: 100% 1.5px; }
.mm-card__title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.mm-products .wc-block-components-product-rating { font-size: 0.8125rem; }
.mm-products .wc-block-components-product-price { font-size: 0.9375rem !important; font-weight: 800; color: var(--mm-ink); }
.mm-from { font-weight: 600; color: var(--mm-bark); font-size: 0.85em; }
.mm-products .wc-block-components-product-button { margin-top: 0.45rem !important; width: 100%; position: relative; z-index: 2; }
.mm-products .wc-block-components-product-button .wp-block-button__link,
.mm-products .wc-block-components-product-button .wc-block-components-product-button__button {
	width: 100%;
	justify-content: center;
	font-size: 0.8125rem !important;
	padding: 0.7em 1em !important;
	background: transparent;
	color: var(--mm-ink);
	box-shadow: inset 0 0 0 1.5px var(--mm-oat);
	border-radius: 999px;
}
.mm-products .wc-block-product:hover .wc-block-components-product-button .wp-block-button__link,
.mm-products .wc-block-components-product-button .wp-block-button__link:focus-visible { background: var(--mm-ink); color: var(--mm-cream); box-shadow: none; }
.mm-band--night .mm-products .wc-block-components-product-price,
.mm-band--night .mm-products .wp-block-post-title { color: var(--mm-cream); }
.mm-band--night .mm-from { color: var(--mm-oat); }
.mm-band--night .mm-card__eyebrow { color: var(--mm-honey); }
.mm-band--night .mm-products .wc-block-components-product-button .wp-block-button__link { color: var(--mm-cream); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.25); }
.mm-band--night .mm-products .wc-block-product:hover .wc-block-components-product-button .wp-block-button__link { background: var(--mm-honey); color: var(--mm-ink); }
.mm-products .wp-block-query-pagination { margin-top: var(--wp--preset--spacing--60); font-weight: 800; }
.mm-products .wp-block-query-pagination-numbers .page-numbers { display: inline-grid; place-items: center; min-width: 2.4rem; height: 2.4rem; border-radius: 50%; text-decoration: none; color: var(--mm-ink); }
.mm-products .wp-block-query-pagination-numbers .current { background: var(--mm-ink); color: var(--mm-cream); }

/* -------------------------------------------------------------- christmas teaser */
.mm-xmas {
	margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--70) !important;
	padding: clamp(1.5rem, 4vw, 3rem) !important;
	border-radius: var(--mm-r-lg);
	background:
		radial-gradient(600px 300px at 0% 0%, rgba(85, 97, 47, 0.18), transparent 60%),
		radial-gradient(600px 300px at 100% 100%, rgba(140, 42, 33, 0.14), transparent 60%),
		var(--mm-linen);
	border: 2px dashed var(--mm-oat);
}
.mm-xmas .is-style-eyebrow { color: var(--mm-moss); }

/* -------------------------------------------------------------- steps + sizes */
.mm-steps { list-style: none; margin: 0 0 var(--wp--preset--spacing--60); padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.mm-step { background: #fff; border-radius: var(--mm-r-lg); padding: 1.5rem 1.4rem 1.6rem; position: relative; box-shadow: var(--mm-shadow); }
.mm-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 2.6rem;
	right: -1rem;
	width: 1rem;
	border-top: 2px dashed var(--mm-bark);
	opacity: 0.5;
}
.mm-step__num { font-family: var(--wp--preset--font-family--display); font-size: 2.5rem; line-height: 1; color: var(--mm-accent); font-weight: 400; font-style: italic; }
.mm-step__title { font-size: 1.125rem; margin: 0.6rem 0 0.4rem; }
.mm-step p { margin: 0; font-size: 0.9375rem; color: var(--mm-bark); }
@media (max-width: 900px) { .mm-steps { grid-template-columns: 1fr 1fr; } .mm-step:nth-child(2)::after { display: none; } }
@media (max-width: 520px) { .mm-steps { grid-template-columns: 1fr; } .mm-step::after { display: none; } }

.mm-ruler { display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 1rem; height: 260px; padding: 0 0.5rem; border-bottom: 2px dashed var(--mm-oat); }
.mm-ruler__item { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; text-align: center; }
.mm-ruler__doll {
	width: calc(var(--h) * 0.9);
	max-width: 150px;
	height: var(--h);
	min-width: 60px;
	background: var(--mm-ink);
	-webkit-mask: radial-gradient(circle at 50% 22%, #000 0 21%, transparent 21.5%), radial-gradient(ellipse 34% 40% at 50% 66%, #000 99%, transparent 100%), radial-gradient(ellipse 12% 13% at 30% 92%, #000 99%, transparent), radial-gradient(ellipse 12% 13% at 70% 92%, #000 99%, transparent);
	mask: radial-gradient(circle at 50% 22%, #000 0 21%, transparent 21.5%), radial-gradient(ellipse 34% 40% at 50% 66%, #000 99%, transparent 100%), radial-gradient(ellipse 12% 13% at 30% 92%, #000 99%, transparent), radial-gradient(ellipse 12% 13% at 70% 92%, #000 99%, transparent);
	opacity: 0.88;
}
.mm-ruler__item:nth-child(2) .mm-ruler__doll { background: var(--mm-cocoa); }
.mm-ruler__item:nth-child(3) .mm-ruler__doll { background: var(--mm-accent); }
.mm-ruler__item b { font-family: var(--wp--preset--font-family--display); font-size: 1.75rem; line-height: 1; margin-top: 0.5rem; }
.mm-ruler__item small { color: var(--mm-bark); font-size: 0.75rem; font-weight: 700; margin-bottom: 0.4rem; }

/* -------------------------------------------------------------- reviews + story */
.mm-ugc { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.8rem; }
.mm-ugc li { border-radius: var(--mm-r-md); overflow: hidden; box-shadow: var(--mm-shadow); background: var(--mm-linen); }
.mm-ugc li:nth-child(odd) { transform: rotate(-1deg); }
.mm-ugc li:nth-child(even) { transform: rotate(1deg) translateY(10px); }
.mm-ugc img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
@media (max-width: 900px) { .mm-ugc { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 520px) {
	.mm-ugc { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 72%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; }
	.mm-ugc li { scroll-snap-align: center; transform: none !important; }
}
.mm-story { padding-bottom: var(--wp--preset--spacing--70); }
.mm-story__img { margin: 0; border-radius: 200px 200px var(--mm-r-lg) var(--mm-r-lg); overflow: hidden; box-shadow: var(--mm-shadow-lift); max-width: 520px; }
.mm-story__img img { width: 100%; display: block; aspect-ratio: 4 / 5; object-fit: cover; }
.mm-signoff { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: 1.25rem; color: var(--mm-accent); }
.mm-duo-img { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: center; }
.mm-duo-img img { width: 100%; border-radius: var(--mm-r-lg); box-shadow: var(--mm-shadow-lift); display: block; object-fit: cover; }
.mm-duo-img img:first-child { aspect-ratio: 1; transform: rotate(-2deg) translateY(-18px); }
.mm-duo-img img:last-child { aspect-ratio: 3 / 4; transform: rotate(2deg); }
@media (min-width: 782px) { .mm-story__reverse { flex-direction: row; } }
@media (max-width: 781px) { .mm-story__reverse { flex-direction: column-reverse; } }

/* -------------------------------------------------------------- why us, note, faq */
.mm-reasons { list-style: none; margin: 0 0 var(--wp--preset--spacing--50); padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.mm-reason { padding: 1.4rem 1.3rem 1.5rem; border-radius: var(--mm-r-lg); background: var(--mm-linen); }
.mm-reason svg { color: var(--mm-accent); width: 42px; height: 42px; padding: 7px; background: #fff; border-radius: 50%; box-shadow: var(--mm-shadow); }
.mm-reason h3 { font-size: 1.125rem; margin: 0.9rem 0 0.35rem; }
.mm-reason p { margin: 0; font-size: 0.9375rem; color: var(--mm-bark); }
@media (max-width: 900px) { .mm-reasons { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .mm-reasons { grid-template-columns: 1fr; } }
.mm-note p { margin-top: 0.5rem; }
.mm-note__thanks { font-weight: 700; }
.mm-faq__item {
	background: #fff;
	border-radius: var(--mm-r-md);
	padding: 0 1.25rem;
	margin-top: 0.7rem !important;
	border: 1px solid var(--mm-oat);
	transition: box-shadow 0.2s;
}
.mm-faq__item[open] { box-shadow: var(--mm-shadow); }
.mm-faq__item summary {
	cursor: pointer;
	list-style: none;
	padding: 1.05rem 2rem 1.05rem 0;
	font-weight: 800;
	font-size: 1.0625rem;
	position: relative;
}
.mm-faq__item summary::-webkit-details-marker { display: none; }
.mm-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.8rem;
	height: 1.8rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--mm-linen);
	font-size: 1.2rem;
	transition: transform 0.25s, background 0.2s;
}
.mm-faq__item[open] summary::after { transform: translateY(-50%) rotate(45deg); background: var(--mm-honey); }
.mm-faq__item > p { margin: 0 0 1.1rem; color: var(--mm-cocoa); }
.mm-faq__more { margin-top: 1.5rem !important; }

/* -------------------------------------------------------------- footer */
.mm-footer { position: relative; isolation: isolate; }
.mm-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 15px; background: radial-gradient(circle at 10px 0, transparent 9px, var(--mm-ink) 10px) 0 0 / 20px 15px repeat-x; }
.mm-footer__title { font-family: var(--wp--preset--font-family--body) !important; font-weight: 900 !important; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.8125rem !important; }
.mm-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.45rem; font-size: 0.9375rem; }
.mm-footer__links a { text-decoration: none; opacity: 0.88; }
.mm-footer__links a:hover { opacity: 1; text-decoration: underline; text-decoration-color: var(--mm-honey); }
.mm-pay { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; }
.mm-pay li { font-size: 0.6875rem; font-weight: 800; padding: 0.25rem 0.55rem; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 6px; color: var(--mm-oat); }
.mm-footer .wp-block-social-links .wp-social-link { transition: transform 0.2s; }
.mm-footer .wp-block-social-links .wp-social-link:hover { transform: translateY(-2px) rotate(-6deg); }

/* -------------------------------------------------------------- shop archive */
.mm-shop__hero { position: relative; isolation: isolate; }
.mm-shop__hero::before { content: ""; position: absolute; inset: 0; background-image: var(--mm-grain); z-index: -1; }
.mm-shop__title { margin: 0.75rem 0 0.25rem; font-size: var(--wp--preset--font-size--3-xl) !important; }
.mm-shop__desc { color: var(--mm-cocoa); max-width: 60ch; margin: 0; }
.mm-shop__desc p { margin: 0; }
.mm-shop__toolbar { padding-block: var(--wp--preset--spacing--40) !important; margin-top: 0 !important; }
.mm-shop__toolbar .woocommerce-result-count { margin: 0; font-size: 0.875rem; color: var(--mm-bark); font-weight: 700; }
.woocommerce-ordering select, .wc-block-catalog-sorting select, .wp-block-woocommerce-catalog-sorting select {
	font: inherit;
	font-size: 0.875rem;
	font-weight: 700;
	padding: 0.55rem 2.2rem 0.55rem 1rem;
	border: 1.5px solid var(--mm-oat);
	border-radius: 999px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232B1B12' stroke-width='1.6'/%3E%3C/svg%3E") right 0.9rem center / 10px no-repeat;
	appearance: none;
	color: var(--mm-ink);
}
.woocommerce-breadcrumb, .wc-block-breadcrumbs { color: var(--mm-bark); }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: var(--mm-cocoa); text-decoration: none; font-weight: 700; }
.mm-crumb-sep { margin: 0 0.45rem; opacity: 0.6; }

/* -------------------------------------------------------------- single product */
.mm-pdp { margin-top: var(--wp--preset--spacing--30) !important; }
.mm-pdp__media .wp-block-woocommerce-product-image-gallery { max-width: none !important; width: 100%; margin: 0 !important; position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 6rem); }
.mm-pdp__media .woocommerce-product-gallery { margin: 0 !important; width: 100% !important; float: none !important; }
.mm-pdp__media .woocommerce-product-gallery { overflow: clip; }
.mm-pdp__media .woocommerce-product-gallery__wrapper { background: var(--mm-linen); }
.mm-pdp__media .flex-viewport, .mm-pdp__media .woocommerce-product-gallery__wrapper:only-child { border-radius: var(--mm-r-lg); overflow: hidden; }
.mm-pdp__media .woocommerce-product-gallery__image img { border-radius: 0; }
.mm-pdp__media .flex-viewport { border-radius: var(--mm-r-lg); box-shadow: var(--mm-shadow); }
.mm-pdp__media .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 0.6rem; margin-top: 0.8rem !important; padding: 0; }
.mm-pdp__media .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.mm-pdp__media .flex-control-thumbs img { border-radius: 12px; opacity: 0.6 !important; transition: opacity 0.2s, box-shadow 0.2s; aspect-ratio: 1; object-fit: cover; }
.mm-pdp__media .flex-control-thumbs img.flex-active, .mm-pdp__media .flex-control-thumbs img:hover { opacity: 1 !important; box-shadow: 0 0 0 2px var(--mm-ink); }
.mm-pdp__media .woocommerce-product-gallery__trigger { top: 1rem !important; right: 1rem !important; background: #fff !important; border-radius: 50%; box-shadow: var(--mm-shadow); }
@media (max-width: 781px) {
	.mm-pdp__media .wp-block-woocommerce-product-image-gallery { position: static; }
	.mm-pdp__media .flex-control-thumbs { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 18%; overflow-x: auto; }
}
.mm-pdp__summary { display: flex; flex-direction: column; }
.mm-pdp__summary > * { margin-block: 0 !important; }
.mm-pdp__summary > * + * { margin-top: 0.75rem !important; }
.mm-pdp__eyebrow { font-size: 0.75rem; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mm-accent); }
.mm-pdp__eyebrow a { color: inherit; text-decoration: none; }
.mm-pdp__title { font-size: clamp(1.9rem, 3.2vw, 2.75rem) !important; line-height: 1.04 !important; margin-top: 0.4rem !important; }
.mm-pdp__price, .mm-pdp__summary .wc-block-components-product-price { font-size: 1.75rem !important; font-weight: 800; color: var(--mm-ink); }
.mm-pdp__summary .wc-block-components-product-rating { font-size: 0.875rem; }
.mm-pdp-usp ul, ul.mm-usp { list-style: none; margin: 0.25rem 0 0; padding: 0; display: grid; gap: 0.35rem; font-size: 0.9375rem; }
.mm-pdp-usp li { position: relative; padding-left: 1.5rem; }
.mm-pdp-usp li::before { content: "✶"; position: absolute; left: 0; color: var(--mm-accent); }
.mm-pdp__form { margin-top: 1.4rem !important; }
.mm-pdp__form form.cart { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0 !important; }
.mm-pdp__form form.cart .variations, .mm-pdp__form form.cart .single_variation_wrap, .mm-pdp__form form.cart .mm-addons { flex: 1 1 100%; }
.mm-pdp__form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: stretch; }
.mm-pdp__form .woocommerce-variation-availability p, .mm-pdp__form p.stock { margin: 0 0 0.5rem; font-size: 0.875rem; font-weight: 700; color: var(--mm-moss) !important; }
.mm-pdp__form .woocommerce-variation-price { display: none; }
.mm-pdp__form .quantity { display: flex; }
.mm-pdp__form .quantity .qty {
	width: 4.5rem;
	height: 100%;
	min-height: 3.25rem;
	text-align: center;
	font: inherit;
	font-weight: 800;
	border: 1.5px solid var(--mm-oat);
	border-radius: 999px;
	background: #fff;
}
.mm-pdp__form .single_add_to_cart_button {
	flex: 1;
	min-height: 3.25rem;
	border-radius: 999px !important;
	background: var(--mm-accent) !important;
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	border: 0 !important;
	box-shadow: 0 10px 24px -12px rgba(180, 80, 26, 0.8);
	transition: background 0.2s, transform 0.2s;
}
.mm-pdp__form .single_add_to_cart_button:hover { background: var(--mm-cocoa) !important; transform: translateY(-1px); }
.mm-pdp__form .single_add_to_cart_button.disabled { opacity: 0.55 !important; box-shadow: none; }
.mm-pdp__details { margin-top: var(--wp--preset--spacing--70) !important; }
.mm-pdp__details .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	padding: 0 !important;
	margin: 0 0 1.75rem !important;
	border: 0 !important;
}
.mm-pdp__details .woocommerce-tabs ul.tabs::before, .mm-pdp__details .woocommerce-tabs ul.tabs li::before, .mm-pdp__details .woocommerce-tabs ul.tabs li::after { display: none !important; }
.mm-pdp__details .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; }
.mm-pdp__details .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.6rem 1.15rem !important;
	border-radius: 999px;
	border: 1.5px solid var(--mm-oat);
	font-weight: 800;
	font-size: 0.9375rem;
	color: var(--mm-ink) !important;
	text-decoration: none;
	background: #fff;
}
.mm-pdp__details .woocommerce-tabs ul.tabs li.active a { background: var(--mm-ink); border-color: var(--mm-ink); color: var(--mm-cream) !important; }
.mm-pdp__details .woocommerce-Tabs-panel { max-width: 820px; background: #fff; border-radius: var(--mm-r-lg); padding: clamp(1.25rem, 3vw, 2.5rem) !important; box-shadow: var(--mm-shadow); }
.mm-pdp__details .woocommerce-Tabs-panel > h2:first-child { font-size: 1.5rem; margin-top: 0; }
.mm-pdp__details .woocommerce-Tabs-panel h2, .mm-pdp__details .woocommerce-Tabs-panel h3 { font-size: 1.3rem; margin: 1.6rem 0 0.6rem; }
.mm-pdp__details .woocommerce-Tabs-panel table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; margin: 1rem 0; }
.mm-pdp__details .woocommerce-Tabs-panel th, .mm-pdp__details .woocommerce-Tabs-panel td { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--mm-linen); text-align: left; vertical-align: top; }
.mm-pdp__details .woocommerce-Tabs-panel thead th, .mm-pdp__details .woocommerce-Tabs-panel tr:first-child th { background: var(--mm-linen); }
.mm-pdp__details .woocommerce-Tabs-panel ul li p { margin: 0; }
.mm-pdp__details .woocommerce-product-attributes-item__value p { margin: 0; }
.mm-ticks { padding-left: 1.2rem; }

/* reviews */
#reviews .commentlist { list-style: none; padding: 0; }
#reviews .comment_container { display: flex; gap: 0.9rem; padding: 1rem 0; border-bottom: 1px solid var(--mm-linen); }
#reviews .comment_container img.avatar { border-radius: 50%; width: 44px; height: 44px; }
#reviews .comment-text { flex: 1; }
#reviews .star-rating, .star-rating { color: #e0a23a; }
#reviews #respond input, #reviews #respond textarea { font: inherit; border: 1.5px solid var(--mm-oat); border-radius: 12px; padding: 0.6rem 0.8rem; width: 100%; }
#reviews #respond .submit { background: var(--mm-accent); color: #fff; border: 0; border-radius: 999px; padding: 0.8rem 1.4rem; font-weight: 800; cursor: pointer; }

/* -------------------------------------------------------------- notices, cart, checkout */
.wc-block-components-notice-banner, .woocommerce-message, .woocommerce-info {
	border-radius: var(--mm-r-md) !important;
	border: 1px solid var(--mm-oat) !important;
	background: #fff !important;
	box-shadow: var(--mm-shadow);
}
.wc-block-components-notice-banner.is-success { border-left: 5px solid var(--mm-moss) !important; }
.mm-page__title { margin-bottom: var(--wp--preset--spacing--50); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-size: 0.9375rem; }
.wc-block-cart .wc-block-cart-items { background: #fff; border-radius: var(--mm-r-lg); }
/* ---- Cart & checkout summary (desktop: sticky card on the right) ---- */
.is-large .wc-block-cart__sidebar,
.is-large .wc-block-checkout__sidebar,
.is-medium .wc-block-cart__sidebar,
.is-medium .wc-block-checkout__sidebar {
	align-self: flex-start;
	position: sticky;
	top: 1.5rem;
	background: #fff;
	border: 1.5px solid var(--mm-oat);
	border-radius: 24px;
	padding: 1.25rem 1.4rem 0.75rem !important;
	box-shadow: var(--mm-shadow);
}
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text,
.wc-block-checkout__sidebar .wc-block-components-checkout-step__title,
.wc-block-cart__totals-title {
	font-family: var(--wp--preset--font-family--display) !important;
	font-weight: 600 !important;
	font-size: 1.25rem !important;
	text-transform: none !important;
}
/* every row inside the summary: flat, separated by a dashed line — no nested rounded boxes */
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper {
	border-radius: 0 !important;
	border: 0 !important;
	border-top: 1.5px dashed var(--mm-oat) !important;
	padding: 0.85rem 0 !important;
	background: none !important;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item { padding: 0.6rem 0; }
.wc-block-components-order-summary-item__image img { border-radius: 10px; }
.wc-block-components-order-summary-item__quantity {
	background: var(--mm-ink) !important;
	color: #fff !important;
	border: 2px solid #fff !important;
	box-shadow: none !important;
	font-weight: 800;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.25;
}
.wc-block-components-order-summary-item__total-price { font-weight: 800; }
/* coupon toggle: a clear "have a code?" row */
.wc-block-components-totals-coupon .wc-block-components-panel__button {
	font-weight: 800 !important;
	color: var(--mm-accent) !important;
	padding: 0.15rem 0 !important;
	margin: 0 !important;
	text-decoration: none !important;
}
.wc-block-components-totals-coupon .wc-block-components-panel__button::before {
	content: "";
	width: 18px;
	height: 18px;
	margin-right: 0.45rem;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wc-block-components-totals-coupon .wc-block-components-panel__button { display: flex !important; align-items: center; }
.wc-block-components-totals-coupon__form { gap: 0.5rem; margin-top: 0.4rem; }
.wc-block-components-totals-coupon__button {
	border-radius: 999px !important;
	background: var(--mm-ink) !important;
	color: #fff !important;
	font-weight: 800 !important;
	padding: 0 1.2rem !important;
	min-height: 3rem;
}
.wc-block-components-totals-item__label { color: var(--mm-cocoa); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: var(--mm-ink);
}

/* ---- Checkout on phones / narrow screens ---- */
/* Top: the collapsible "Order summary" becomes one clean white card. */
.is-mobile .wc-block-checkout__sidebar,
.is-small .wc-block-checkout__sidebar {
	background: none !important;
	padding: 0 !important;
	margin: 0 0 1.25rem !important;
	border: 0 !important;
	box-shadow: none !important;
	position: static;
}
.is-mobile .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.is-small .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	background: #fff;
	border: 1.5px solid var(--mm-oat);
	border-radius: 16px;
	overflow: hidden;
}
.wc-block-components-checkout-order-summary__title {
	border: 0 !important;
	margin: 0 !important;
	padding: 0.95rem 1rem !important;
	cursor: pointer;
}
.wc-block-components-checkout-order-summary__title-text {
	font-family: var(--wp--preset--font-family--display) !important;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
}
.wc-block-components-checkout-order-summary__title-price { font-weight: 800; font-size: 1rem; }
.wc-block-components-checkout-order-summary__title-icon { fill: var(--mm-accent); }
.wc-block-components-checkout-order-summary__content {
	padding: 0 1rem 0.4rem !important;
	border-top: 1.5px dashed var(--mm-oat);
}
.wc-block-components-checkout-order-summary__content > .wc-block-components-totals-wrapper:first-child { border-top: 0 !important; }

/* Bottom (above Place Order): WooCommerce repeats the whole summary here on phones.
   Keep only the coupon and the grand total so the button stays near the form. */
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__heading,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-cart-items-block,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-totals-block {
	display: none !important;
}
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper {
	margin: 0 0 1rem !important;
	padding: 0.25rem 1rem !important;
	background: #fff;
	border: 1.5px solid var(--mm-oat);
	border-radius: 16px;
}
.wc-block-checkout__actions .checkout-order-summary-block-fill > .wc-block-components-totals-wrapper:first-of-type,
.wc-block-checkout__actions .checkout-order-summary-block-fill > .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	border-top: 0 !important;
}
.wc-block-checkout__actions .checkout-order-summary-block-fill .wc-block-components-totals-footer-item { margin: 0; }

/* Checkout form polish */
.wc-block-checkout__form .wc-block-components-checkout-step__title {
	font-family: var(--wp--preset--font-family--display) !important;
	font-weight: 600 !important;
	font-size: 1.25rem !important;
}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--mm-ink) !important;
	border-radius: 14px;
}
.wc-block-components-radio-control--highlight-checked {
	border-radius: 14px;
	border-color: var(--mm-oat) !important;
	overflow: hidden;
}
.wc-block-checkout__terms { font-size: 0.8125rem; color: var(--mm-bark); }
.wc-block-checkout__actions .wc-block-components-checkout-place-order-button { min-height: 3.5rem; font-size: 1.0625rem !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	border-radius: 999px !important;
	background: var(--mm-accent) !important;
	color: #fff !important;
	font-weight: 800 !important;
	min-height: 3.25rem;
}
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--mm-cocoa) !important; }
.wc-block-components-product-name { font-weight: 800; text-decoration: none; color: var(--mm-ink) !important; }
.wc-block-components-product-details { font-size: 0.8125rem; color: var(--mm-bark); }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select select {
	border-radius: 12px !important;
	border-color: var(--mm-oat) !important;
}
.wc-block-components-radio-control__option { border-radius: 12px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout { background: var(--mm-accent); border-radius: 999px; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__content { background: var(--mm-cream); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { font-family: var(--wp--preset--font-family--display); }

/* -------------------------------------------------------------- pages */
.mm-page .wp-block-post-content > * + * { margin-top: 1.1rem; }
.mm-page .wp-block-post-content h2 { margin-top: 2.5rem; font-size: var(--wp--preset--font-size--xl); }
.mm-page .wp-block-post-content h3 { margin-top: 2rem; font-size: var(--wp--preset--font-size--lg); }
.mm-404 .wp-block-search { max-width: 460px; margin-inline: auto; }
.wp-block-search__input { border-radius: 999px; border: 1.5px solid var(--mm-oat); padding: 0.6rem 1rem; }
.woocommerce-form-track-order, .track_order {
	background: #fff;
	border-radius: var(--mm-r-lg);
	padding: clamp(1.25rem, 3vw, 2rem);
	box-shadow: var(--mm-shadow);
}
.track_order input { font: inherit; border: 1.5px solid var(--mm-oat); border-radius: 12px; padding: 0.65rem 0.9rem; width: 100%; }
.track_order .button { background: var(--mm-accent); color: #fff; border: 0; border-radius: 999px; padding: 0.8rem 1.4rem; font-weight: 800; }

/* my account */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: 0.3rem; }
.woocommerce-MyAccount-navigation a { display: block; padding: 0.6rem 1rem; border-radius: 12px; text-decoration: none; color: var(--mm-ink); font-weight: 700; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--mm-ink); color: var(--mm-cream); }

/* Shortcode output sits directly in constrained groups; let these rows use the wide size. */
.is-layout-constrained > .mm-chars,
.is-layout-constrained > .mm-quotes,
.is-layout-constrained > .mm-shopnav,
.is-layout-constrained > .mm-freeship {
	max-width: var(--wp--style--global--wide-size) !important;
	margin-inline: auto !important;
	width: 100%;
}
.mm-chars { grid-auto-columns: minmax(120px, 140px); justify-content: start; }
@media (min-width: 1320px) { .mm-chars { justify-content: space-between; } }

/* ==========================================================================
   Uniform product cards — every grid (home, shop, collections, related, search)
   Same box height, same text rows, button pinned to the bottom.
   ========================================================================== */
.wc-block-product-template { align-items: stretch !important; }
.wc-block-product-template > .wc-block-product {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	text-align: left !important;
	height: 100%;
	gap: 0.3rem;
}
.wc-block-product-template > .wc-block-product > * { margin: 0 !important; text-align: left !important; }

/* image: always a square */
.wc-block-product-template .wc-block-components-product-image { width: 100%; margin-bottom: 0.6rem !important; }
.wc-block-product-template .wc-block-components-product-image a { aspect-ratio: 1; overflow: hidden; }
.wc-block-product-template .wc-block-components-product-image img { width: 100%; height: 100% !important; aspect-ratio: 1; object-fit: cover; }

/* character label: one line */
.wc-block-product-template .mm-card__eyebrow {
	display: block !important;
	height: 1.3em;
	line-height: 1.3 !important;
	white-space: nowrap !important;
	overflow: hidden;
	text-overflow: ellipsis;
}
.wc-block-product-template .mm-card__eyebrow > * { display: inline !important; white-space: nowrap !important; }

/* title: exactly two lines tall, clamped */
.wc-block-product-template .wp-block-post-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	height: calc(2 * 1.22em);
	line-height: 1.22 !important;
}
.wc-block-product-template .wp-block-post-title a { display: inline; }

/* rating row reserved even when a product has no reviews yet */
.wc-block-product-template .wc-block-components-product-rating { min-height: 1.1rem; }
.wc-block-product-template .wc-block-components-product-rating:empty { display: block; }

/* price: one line */
.wc-block-product-template .wc-block-components-product-price { min-height: 1.5em; line-height: 1.5; white-space: nowrap; }

/* button: pinned to the bottom, same size on every card */
.wc-block-product-template > .wc-block-product > .wc-block-components-product-button {
	margin-top: auto !important;
	padding-top: 0.55rem;
	width: 100%;
	align-items: stretch;
}
.wc-block-product-template .wc-block-components-product-button .wp-block-button__link,
.wc-block-product-template .wc-block-components-product-button .wc-block-components-product-button__button {
	width: 100%;
	min-height: 2.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	margin: 0;
}
.wc-block-product-template .wc-block-components-product-button .added_to_cart { display: none; }

/* ==========================================================================
   Mini-cart drawer
   ========================================================================== */
.wc-block-components-drawer__screen-overlay--with-slide-in { background: rgba(43, 27, 18, 0.45) !important; backdrop-filter: blur(2px); }
.wc-block-mini-cart__drawer .wc-block-components-drawer { background: var(--mm-cream); max-width: 440px; width: 100%; box-shadow: -20px 0 50px -20px rgba(43, 27, 18, 0.45); }
.wc-block-mini-cart__drawer .wc-block-components-drawer__content { background: var(--mm-cream); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 600;
	padding-bottom: 0.9rem;
	margin-bottom: 0;
	border-bottom: 2px dashed var(--mm-oat);
}
.wc-block-mini-cart__drawer .mm-freeship--drawer { margin: 1rem 1rem 0.25rem; padding: 0.75rem 0.9rem; }
.wc-block-mini-cart__drawer .mm-freeship--drawer .mm-freeship__msg { font-size: 0.875rem; }
.wc-block-mini-cart__drawer .wc-block-cart-items__row { padding-block: 1rem !important; border-bottom: 1px solid var(--mm-linen); }
.wc-block-mini-cart__drawer .wc-block-cart-item__image img { border-radius: 12px; aspect-ratio: 1; object-fit: cover; }
.wc-block-mini-cart__drawer .wc-block-components-product-name { font-weight: 800; font-size: 0.9375rem; line-height: 1.3; }
.wc-block-mini-cart__drawer .wc-block-components-product-details { font-size: 0.8125rem; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { border-radius: 999px; border-color: var(--mm-oat); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { background: #fff; border-top: 1px solid var(--mm-oat); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal { font-weight: 800; font-size: 1.0625rem; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout { border-radius: 999px !important; font-weight: 800; min-height: 3rem; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout { background: var(--mm-accent) !important; border-color: var(--mm-accent) !important; color: #fff !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:hover { background: var(--mm-cocoa) !important; border-color: var(--mm-cocoa) !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart { color: var(--mm-ink) !important; border: 1.5px solid var(--mm-ink) !important; background: transparent !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper .wp-block-heading { font-family: var(--wp--preset--font-family--display); }
/* Cart lines: show the chosen size/quote, not the product's short description. */
.wc-block-components-product-metadata__description { display: none; }

/* Phone header: menu · logo · icons in one row, logo not centred (the HookLova wordmark is wide). */
@media (max-width: 599px) {
	.mm-header .mm-nav { flex: 0 0 auto; }
	.mm-header .mm-logo { position: static; transform: none; margin-right: auto; }
	.mm-header .mm-logo img { width: 136px; }
	.mm-header__icons { flex: 0 0 auto; }
	.mm-header__icons .wp-block-search__button,
	.mm-header__icons .wc-block-mini-cart__button { width: 38px; height: 38px; }
}

/* ==========================================================================
   SEO content blocks: product facts, product FAQ, collection copy
   ========================================================================== */
.mm-hero__seo { color: var(--mm-bark); max-width: 46ch; margin-top: 0.6rem !important; }
.mm-facts { margin-bottom: 2rem; }
.mm-facts h2, .mm-product-faq h2 { font-size: 1.35rem !important; margin: 0 0 0.8rem !important; }
.mm-facts__table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; margin: 0 !important; }
.mm-facts__table th, .mm-facts__table td { text-align: left; vertical-align: top; padding: 0.6rem 0.75rem !important; border-bottom: 1px solid var(--mm-linen) !important; background: none !important; }
.mm-facts__table th { width: 32%; font-weight: 800; color: var(--mm-cocoa); white-space: nowrap; }
.mm-facts__table tr:nth-child(odd) td, .mm-facts__table tr:nth-child(odd) th { background: var(--mm-cream) !important; }
.mm-facts__table a { color: var(--mm-accent); font-weight: 700; }
.mm-desc h2 { font-size: 1.25rem !important; }
.mm-product-faq { margin-top: 2rem; border-top: 2px dashed var(--mm-oat); padding-top: 1.5rem; }
.mm-product-faq .mm-faq__item, .mm-term-content .mm-faq__item { margin-top: 0.6rem; }
.mm-term-wrap { margin-top: var(--wp--preset--spacing--60) !important; }
.mm-term-content { background: #fff; border-radius: var(--mm-r-lg); padding: clamp(1.25rem, 3vw, 2.5rem); box-shadow: var(--mm-shadow); }
.mm-term-content h2 { font-size: var(--wp--preset--font-size--xl); margin-top: 0; }
.mm-term-content h3 { font-size: 1.15rem; margin: 1.4rem 0 0.4rem; }
.mm-term-content .mm-term-faq { margin-top: 1.8rem; }
.mm-term-content .mm-term-faq h2 { font-size: 1.25rem; }
@media (max-width: 600px) { .mm-facts__table th { white-space: normal; width: 38%; } }

/* Contact details & policies */
.mm-footer__contact { font-style: normal; font-size: 0.875rem; line-height: 1.6; color: var(--mm-oat); margin: 0.25rem 0 1rem; }
.mm-footer__contact a { color: var(--mm-honey) !important; font-weight: 700; }
.mm-contact-details { list-style: none; padding: 0; margin: 1.5rem 0; display: grid; gap: 0.9rem; }
.mm-contact-details li { display: flex; flex-direction: column; background: var(--mm-linen); border-radius: var(--mm-r-md); padding: 0.85rem 1rem; }
.mm-contact-details span { font-size: 0.6875rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mm-accent); }
.mm-contact-details a { font-weight: 800; }
.mm-policy-updated { color: var(--mm-bark); font-size: 0.875rem; }
.mm-page .wp-block-post-content ul { padding-left: 1.2rem; }
.mm-page .wp-block-post-content li + li { margin-top: 0.35rem; }


/* ==========================================================================
   Mobile / tablet menu overlay (below 1100px)
   ========================================================================== */
.mm-nav button { font-family: inherit; }
.wp-block-navigation__responsive-container.is-menu-open {
	position: fixed !important;
	inset: 0 !important;
	z-index: 100000 !important;
	height: 100dvh !important;
	background: var(--mm-cream) !important;
	color: var(--mm-ink) !important;
	padding: calc(1rem + env(safe-area-inset-top)) 1.25rem calc(1.5rem + env(safe-area-inset-bottom)) !important;
	overflow-y: auto;
	animation: mm-menu-in 0.22s ease both;
}
@keyframes mm-menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { max-width: 640px; margin: 0 auto; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 0;
	right: 0;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--mm-linen);
	color: var(--mm-ink);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3.75rem !important;
	align-items: stretch !important;
	gap: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
}
/* top-level items */
.mm-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	display: block !important;
	width: 100%;
	padding: 0.85rem 0 !important;
	border-bottom: 1.5px dashed var(--mm-oat);
}
.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display) !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	line-height: 1.2;
	padding: 0 !important;
	color: var(--mm-ink) !important;
}
.is-menu-open .wp-block-navigation-item__content::after { display: none !important; }
.is-menu-open .mm-nav__seasonal > a { color: var(--mm-accent) !important; }
.is-menu-open .wp-block-navigation-submenu__toggle,
.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
/* submenus: compact two-column link grid under their heading */
.mm-nav .is-menu-open .wp-block-navigation__submenu-container {
	position: static !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.15rem 1rem;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0.6rem 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	background: transparent !important;
	opacity: 1 !important;
	visibility: visible !important;
	height: auto !important;
}
.mm-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 0.45rem 0 !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	color: var(--mm-cocoa) !important;
	border-radius: 0;
	background: none !important;
}
.mm-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--mm-accent) !important; }
@media (prefers-reduced-motion: reduce) { .wp-block-navigation__responsive-container.is-menu-open { animation: none; } }

/* Collection tiles: equal boxes — title always reserves 2 lines, count pinned to the bottom. */
.mm-tiles { align-items: stretch; }
.mm-tile { display: flex; }
.mm-tile a { width: 100%; }
.mm-tile__body { flex: 1; }
.mm-tile__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	line-height: 1.15 !important;
	min-height: calc(2 * 1.15em);
}
.mm-tile__count { margin-top: auto !important; padding-top: 0.5rem; }

/* left-aligned menu */
.mm-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.mm-nav .is-menu-open .wp-block-navigation__container,
.mm-nav .is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.mm-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.mm-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:first-child { border-top: 1.5px dashed var(--mm-oat); }

.mm-nav .is-menu-open .wp-block-navigation__container > .mm-nav__seasonal > .wp-block-navigation-item__content { color: var(--mm-accent) !important; }
.checkout-order-summary-block-fill,
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content .checkout-order-summary-block-fill {
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	background: none !important;
}
.mm-header--checkout .mm-secure { white-space: nowrap; }
@media (max-width: 599px) {
	.mm-header--checkout .mm-logo img { width: 130px; }
	.mm-header--checkout .mm-secure { font-size: 0.8125rem; }
	.mm-header--checkout .mm-secure__label { display: none; }
	.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text { font-size: 1.0625rem !important; }
}
/* Subtotal / fees / discount / shipping / taxes: one group, no empty dashed rows. */
.wp-block-woocommerce-checkout-order-summary-totals-block,
.wp-block-woocommerce-cart-order-summary-totals-block {
	border-top: 1.5px dashed var(--mm-oat);
	padding: 0.5rem 0;
}
.wp-block-woocommerce-checkout-order-summary-totals-block > .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper {
	border-top: 0 !important;
	padding: 0.3rem 0 !important;
}
.wp-block-woocommerce-checkout-order-summary-totals-block > .wc-block-components-totals-wrapper:not(:has(.wc-block-components-totals-item, .wc-block-components-totals-shipping, .wc-block-components-totals-discount)),
.wp-block-woocommerce-cart-order-summary-totals-block > .wc-block-components-totals-wrapper:not(:has(.wc-block-components-totals-item, .wc-block-components-totals-shipping, .wc-block-components-totals-discount)) {
	display: none;
}
.is-large .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.is-medium .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
}
.is-large .wc-block-components-checkout-order-summary__title,
.is-medium .wc-block-components-checkout-order-summary__title { padding: 0 0 0.75rem !important; cursor: default; }
.is-large .wc-block-components-checkout-order-summary__content,
.is-medium .wc-block-components-checkout-order-summary__content { padding: 0 !important; }

/* Cart on phones/tablets: items → totals + checkout button → "You may be interested in…".
   The cross-sells live inside the main column, so flatten it (display: contents) and reorder. */
.wc-block-cart.is-mobile,
.wc-block-cart.is-small,
.wc-block-cart.is-medium {
	display: flex !important;
	flex-direction: column;
}
.wc-block-cart.is-mobile > .wc-block-cart__main,
.wc-block-cart.is-small > .wc-block-cart__main,
.wc-block-cart.is-medium > .wc-block-cart__main { display: contents; }
.wc-block-cart.is-mobile .wc-block-cart-items,
.wc-block-cart.is-small .wc-block-cart-items,
.wc-block-cart.is-medium .wc-block-cart-items { order: 1; }
.wc-block-cart.is-mobile > .wc-block-cart__sidebar,
.wc-block-cart.is-small > .wc-block-cart__sidebar,
.wc-block-cart.is-medium > .wc-block-cart__sidebar { order: 2; margin: 1.25rem 0 0 !important; }
.wc-block-cart.is-mobile .wc-block-cart__main > :not(.wc-block-cart-items),
.wc-block-cart.is-small .wc-block-cart__main > :not(.wc-block-cart-items),
.wc-block-cart.is-medium .wc-block-cart__main > :not(.wc-block-cart-items) { order: 3; margin-top: var(--wp--preset--spacing--60); }

/* the totals card on phones */
.wc-block-cart.is-mobile > .wc-block-cart__sidebar,
.wc-block-cart.is-small > .wc-block-cart__sidebar {
	background: #fff;
	border: 1.5px solid var(--mm-oat);
	border-radius: 16px;
	padding: 0.25rem 1rem 1rem !important;
}
.wc-block-cart.is-mobile .wc-block-cart__sidebar .wc-block-components-totals-wrapper:first-child,
.wc-block-cart.is-small .wc-block-cart__sidebar .wc-block-components-totals-wrapper:first-child { border-top: 0 !important; }
/* show the checkout button inside the card instead of a floating bar */
.wc-block-cart.is-mobile .wc-block-cart__submit-container--sticky,
.wc-block-cart.is-small .wc-block-cart__submit-container--sticky {
	position: static !important;
	padding: 0.25rem 0 0 !important;
	background: none !important;
	box-shadow: none !important;
}
.wc-block-cart.is-mobile .wc-block-cart__submit-container--sticky::before,
.wc-block-cart.is-small .wc-block-cart__submit-container--sticky::before { display: none !important; }
@media (max-width: 781px) {
	.wc-block-cart.wc-block-components-sidebar-layout { display: flex !important; flex-direction: column; }
	.wc-block-cart > .wc-block-cart__main { display: contents; }
	.wc-block-cart .wc-block-cart-items { order: 1; }
	.wc-block-cart > .wc-block-cart__sidebar {
		order: 2;
		margin: 1.25rem 0 0 !important;
		background: #fff;
		border: 1.5px solid var(--mm-oat);
		border-radius: 16px;
		padding: 0.25rem 1rem 1rem !important;
		width: 100% !important;
		box-sizing: border-box;
	}
	.wc-block-cart .wc-block-cart__main > :not(.wc-block-cart-items) { order: 3; margin-top: var(--wp--preset--spacing--60); }
	.wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper:first-child { border-top: 0 !important; }
	.wc-block-cart .wc-block-cart__submit-container--sticky {
		position: static !important;
		padding: 0.25rem 0 0 !important;
		background: none !important;
		box-shadow: none !important;
	}
	.wc-block-cart .wc-block-cart__submit-container--sticky::before { display: none !important; }
}

.mm-freeship { box-sizing: border-box; }

.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block { border-top: 0 !important; }

/* Hero title uses the optical-size-84 cut so it renders like the original variable font at 84px.
   The italic word keeps the regular Fraunces family (which has the italic file). */
.mm-hero__title { font-family: "Fraunces Display", var(--wp--preset--font-family--display) !important; }
.mm-hero__title em { font-family: var(--wp--preset--font-family--display); }
