:root {
	/* ───── Typography (temporary system stacks) ───── */
	--monli-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--monli-font-heading: "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;

	/* ───── Border colors ───── */
	--monli-border-default: #DCE7E3;
	--monli-border-soft: #EEF3F1;
	--monli-border-strong: #B8CBC5;

	/* ───── Border radius ───── */
	--monli-radius-xs: 6px;
	--monli-radius-sm: 10px;
	--monli-radius-md: 16px;
	--monli-radius-lg: 24px;
	--monli-radius-xl: 32px;
	--monli-radius-full: 9999px;

	/* ───── Shadows ───── */
	--monli-shadow-default: 0 6px 24px rgba(37, 72, 63, 0.08);
	--monli-shadow-elevated: 0 12px 36px rgba(37, 72, 63, 0.12);
	--monli-shadow-card-hover: 0 8px 28px rgba(37, 72, 63, 0.09);

	/* ───── Spacing extras (beyond theme.json spacing preset range) ───── */
	--monli-spacing-2xs: 2px;
	--monli-spacing-3xl: 96px;

	/* ───── Semantic color aliases ───── */
	--monli-color-background: #FFFDF8;
	--monli-color-foreground: #25483F;
	--monli-color-primary: #76CCB6;
	--monli-color-primary-hover: #5DBFA6;
	--monli-color-primary-dark: #2B6D5E;
	--monli-color-secondary: #FAB2A1;
	--monli-color-accent: #F1D077;
	--monli-color-muted: #EAF3F0;
	--monli-color-surface: #FFFFFF;
	--monli-color-border: #DCE7E3;
	--monli-color-text-secondary: #547069;
	--monli-color-text-muted: #81948F;
	--monli-color-muted-foreground: #698078;

	/* ───── Extended palette ───── */
	--monli-color-lavender: #C8B7E8;
	--monli-color-sky: #91C9E8;
	--monli-color-peach: #F4B984;
	--monli-color-strawberry: #EFA6BB;

	/* ───── Semantic states ───── */
	--monli-color-success: #4FAF8C;
	--monli-color-success-background: #E6F6EF;
	--monli-color-warning: #D5A83E;
	--monli-color-warning-background: #FFF4CF;
	--monli-color-error: #D96F69;
	--monli-color-error-background: #FDEAE7;
	--monli-color-info: #69AFCF;
	--monli-color-info-background: #EAF6FB;

	/* ───── Mint scale ───── */
	--monli-mint-50: #F2FBF8;
	--monli-mint-100: #DDF5EE;
	--monli-mint-200: #BDE9DE;
	--monli-mint-300: #9ADDCB;
	--monli-mint-400: #76CCB6;
	--monli-mint-500: #5DBFA6;
	--monli-mint-600: #46A88F;
	--monli-mint-700: #378574;
	--monli-mint-800: #2D675B;
	--monli-mint-900: #25483F;

	/* ───── Lemon scale ───── */
	--monli-lemon-50: #FFF9E7;
	--monli-lemon-100: #FFF1C8;
	--monli-lemon-200: #F9E4A3;
	--monli-lemon-300: #F5D98A;
	--monli-lemon-400: #F1D077;
	--monli-lemon-500: #EAC15A;
	--monli-lemon-600: #D5A83E;
	--monli-lemon-700: #A97D29;
	--monli-lemon-800: #76581F;
	--monli-lemon-900: #4F3C1D;

	/* ───── Coral scale ───── */
	--monli-coral-50: #FFF5F2;
	--monli-coral-100: #FFE5DE;
	--monli-coral-200: #FFD1C5;
	--monli-coral-300: #FFC0B1;
	--monli-coral-400: #FAB2A1;
	--monli-coral-500: #F59680;
	--monli-coral-600: #E37964;
	--monli-coral-700: #B85C4D;
	--monli-coral-800: #82483F;
	--monli-coral-900: #583730;
}

/* ───── Horizontal overflow guard ─────
   Third-party payment SDKs (e.g. WooPayments/Stripe) inject off-viewport
   accessory iframes whose inline width can exceed the viewport and force a
   small horizontal document scrollbar at narrow widths. Clipping horizontal
   overflow on the root and body (required together for the effect to hold on
   the viewport) eliminates any horizontal overflow without disabling vertical
   or programmatic scrolling (unlike `overflow-x: hidden`). `!important` is
   needed because WordPress/theme global-styles can otherwise override the
   root overflow in the cascade. */
html,
body {
	overflow-x: clip !important;
}

/* Constrain any oversized iframe/embed to its container as a defensive rule. */
iframe,
embed,
object {
	max-width: 100%;
}

/* ───── Responsive Site Logo ─────
   Selector includes .wp-block-site-logo and .site-header to exceed the
   specificity of WordPress Core's `.wp-block-site-logo.is-default-size img
   { width:120px }` rule, which otherwise pins the logo to 120px on every
   viewport and prevents the responsive clamp from applying. */
.site-header .wp-block-site-logo.monli-site-logo img {
	width: clamp(110px, 18vw, 170px);
	height: auto;
}

@media (min-width: 768px) {
	.site-header .wp-block-site-logo.monli-site-logo img {
		width: clamp(120px, 14vw, 185px);
	}
}

@media (min-width: 1024px) {
	.site-header .wp-block-site-logo.monli-site-logo img {
		width: clamp(130px, 11vw, 200px);
	}
}

/* The logo source PNG has a 16:9 transparent canvas, so its box is much taller
   than the visible wordmark. These compact widths keep the header shallow; a
   future tighter-canvas/transparent export of the artwork would shrink the
   header further without visual change to the wordmark itself. */

/* ───── Homepage hero border radius ───── */
.wp-block-group.has-primary-background-color {
	border-radius: var(--monli-radius-lg);
}

/* ───── Homepage brand section cards ───── */
.monli-homepage .wp-block-group .wp-block-column.has-muted-background-color {
	border-radius: var(--monli-radius-lg);
}

/* ───── Surface / card primitives ───── */
.monli-surface {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	padding: var(--wp--preset--spacing--50);
}

.monli-card {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	padding: var(--wp--preset--spacing--50);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.monli-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--monli-shadow-card-hover);
}

/* ───── Form controls ───── */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="date"],
textarea,
select {
	height: 48px;
	background-color: #FFFFFF;
	color: #25483F;
	border: 1px solid #DCE7E3;
	border-radius: 14px;
	padding: 0 16px;
	font-family: var(--monli-font-body);
	font-size: 16px;
	line-height: 1.5;
	box-sizing: border-box;
}

textarea {
	height: auto;
	padding: 12px 16px;
}

input::placeholder,
textarea::placeholder {
	color: #81948F;
	opacity: 1;
}

input:focus,
textarea:focus,
select:focus {
	border-color: #76CCB6;
	outline: 2px solid transparent;
	box-shadow: 0 0 0 3px rgba(118, 204, 182, 0.25);
}

/* ───── Button variant: primary-dark ───── */
.wp-block-button.is-style-primary-dark .wp-block-button__link {
	background-color: #2B6D5E;
	color: #FFFFFF;
}

.wp-block-button.is-style-primary-dark .wp-block-button__link:hover {
	background-color: #25483F;
}

/* ───── Button variant: secondary ───── */
.wp-block-button.is-style-secondary .wp-block-button__link {
	background-color: #FFF5F2;
	color: #9C5548;
	border: 1px solid #FAB2A1;
}

.wp-block-button.is-style-secondary .wp-block-button__link:hover {
	background-color: #FFE5DE;
}

/* ───── Button variant: promotional ───── */
.wp-block-button.is-style-promotional .wp-block-button__link {
	background-color: #F1D077;
	color: #4F3C1D;
}

.wp-block-button.is-style-promotional .wp-block-button__link:hover {
	background-color: #EAC15A;
}

/* ───── Product card ───── */
.wc-block-product {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	list-style: none;
}

.wc-block-product:hover {
	transform: translateY(-2px);
	box-shadow: var(--monli-shadow-card-hover);
}

@media (prefers-reduced-motion: reduce) {
	.wc-block-product {
		transition: none;
	}
	.wc-block-product:hover {
		transform: none;
	}
}

/* Product image area */
.wc-block-product .wc-block-components-product-image {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--monli-radius-lg) var(--monli-radius-lg) 0 0;
	background-color: var(--monli-color-muted);
}

.wc-block-product .wc-block-components-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* No-image state */
.wc-block-product .woocommerce-placeholder {
	background-color: var(--monli-color-muted);
	opacity: 0.5;
}

/* Sale badge */
.wc-block-product .wc-block-components-product-sale-badge {
	background-color: var(--monli-color-accent);
	color: var(--monli-lemon-900);
	font-family: var(--monli-font-body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1;
	padding: 0.375rem 0.75rem;
	border-radius: var(--monli-radius-full);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	z-index: 1;
	margin: var(--wp--preset--spacing--30);
}

/* Product title */
.wc-block-product .wp-block-post-title {
	padding: 0 var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--40);
	font-family: var(--monli-font-heading);
	color: var(--monli-color-foreground);
	word-break: break-word;
}

.wc-block-product .wp-block-post-title a {
	text-decoration: none;
	color: inherit;
}

.wc-block-product .wp-block-post-title a:hover {
	color: var(--monli-color-primary-hover);
}

/* Product price */
.wc-block-product .wp-block-woocommerce-product-price {
	padding: 0 var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--20);
	color: var(--monli-color-foreground);
	font-weight: 600;
}

.wc-block-product .wc-block-components-product-price del {
	color: var(--monli-color-text-muted);
	font-weight: 400;
	font-size: 0.875em;
	margin-right: 0.25em;
}

.wc-block-product .wc-block-components-product-price ins {
	text-decoration: none;
	color: var(--monli-color-primary-dark);
	font-weight: 700;
}

/* Product button / CTA */
.wc-block-product .wp-block-woocommerce-product-button {
	padding: 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
	margin-top: auto;
}

.wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link {
	border-radius: var(--monli-radius-full);
	font-family: var(--monli-font-body);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1;
	padding: 0.625rem 1.25rem;
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link:hover {
	background-color: var(--monli-mint-500);
}

/* Out-of-stock card state */
.wc-block-product.outofstock .wp-block-woocommerce-product-button .wp-block-button__link {
	background-color: var(--monli-color-muted);
	color: var(--monli-color-text-muted);
	opacity: 0.7;
}

.wc-block-product.outofstock .wp-block-woocommerce-product-button .wp-block-button__link:hover {
	background-color: var(--monli-border-default);
}

/* Variable product CTA */
.wc-block-product.product-type-variable .wp-block-woocommerce-product-button .wp-block-button__link {
	background-color: var(--monli-color-secondary);
	color: var(--monli-coral-800);
}

.wc-block-product.product-type-variable .wp-block-woocommerce-product-button .wp-block-button__link:hover {
	background-color: var(--monli-coral-200);
}

/* Sale card visual emphasis */
.wc-block-product.sale .wc-block-components-product-price .amount {
	color: var(--monli-color-primary-dark);
	font-weight: 700;
}

/* Homepage product section cards consistency */
.monli-homepage .wc-block-product,
.wp-block-woocommerce-product-collection .wc-block-product {
	margin: 0;
	width: 100%;
}

/* Responsive: product collection grid */
@media (max-width: 600px) {
	.wp-block-woocommerce-product-collection .wc-block-product-template.is-flex-container {
		gap: var(--wp--preset--spacing--40);
	}
	.wc-block-product .wp-block-post-title {
		font-size: var(--wp--preset--font-size--small);
	}
	.wc-block-product .wp-block-woocommerce-product-price {
		font-size: var(--wp--preset--font-size--small);
	}
	.wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link {
		font-size: 0.8125rem;
		padding: 0.5rem 1rem;
		min-height: 36px;
	}
}

/* ───── Category grid ─────
 * Renders the native WooCommerce Product Categories List as a responsive grid
 * of category cards. Category names, slugs and URLs are produced dynamically by
 * the block using the active permalink base, so the theme has no dependency on
 * any specific category, slug or rewrite base.
 */
.monli-category-grid .wc-block-product-categories-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--60);
	list-style: none;
	padding: 0;
	margin: 0;
}

.monli-category-grid .wc-block-product-categories-list-item {
	width: 100%;
	max-width: 300px;
	list-style: none;
}

.monli-category-grid .wc-block-product-categories-list-item > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	height: 100%;
	padding: var(--wp--preset--spacing--40);
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	text-decoration: none;
	text-align: center;
	color: var(--monli-color-foreground);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.monli-category-grid .wc-block-product-categories-list-item > a:hover {
	transform: translateY(-2px);
	box-shadow: var(--monli-shadow-card-hover);
}

.monli-category-grid .wc-block-product-categories-list-item__image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--monli-radius-md);
	background-color: var(--monli-color-muted);
}

.monli-category-grid .wc-block-product-categories-list-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.monli-category-grid .wc-block-product-categories-list-item__image--placeholder img {
	opacity: 0.5;
}

.monli-category-grid .wc-block-product-categories-list-item__name {
	font-family: var(--monli-font-heading);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--body);
	color: var(--monli-color-foreground);
}

@media (prefers-reduced-motion: reduce) {
	.monli-category-grid .wc-block-product-categories-list-item > a,
	.monli-category-grid .wc-block-product-categories-list-item > a:hover {
		transition: none;
		transform: none;
	}
}

/* ───── Breadcrumbs ─────
   WooCommerce renders the breadcrumb as <nav class="woocommerce-breadcrumb">
   with plain-text " / " separators between ancestor links and the current page.
   Presented as a soft, airy secondary element that complements the Monli
   rounded language without competing with primary navigation.
   WooCommerce functionality is preserved; this is presentation only. */
/* Breadcrumb strategy (presentation only):
   - Product pages and deep category archives keep a discreet breadcrumb.
   - The Shop page (/tienda/, `post-type-archive-product`) hides it (no
     structural need); cart, checkout and My Account never render one.
   The breadcrumb is deliberately understated: small muted text, clean
   separator, no heavy pill/background — it disappears when not being read. */
.post-type-archive-product .woocommerce-breadcrumb {
	display: none;
}

.woocommerce-breadcrumb {
	font-family: var(--monli-font-body);
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--monli-color-text-muted);
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.5rem;
	row-gap: 0.375rem;
	max-width: 100%;
	margin: 0 0 var(--wp--preset--spacing--40);
	padding: 0;
	width: fit-content;
}

.woocommerce-breadcrumb a {
	color: var(--monli-color-text-secondary);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	transition: color 0.15s ease;
}

.woocommerce-breadcrumb a:hover {
	color: var(--monli-color-primary-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.woocommerce-breadcrumb a:focus-visible {
	outline: 2px solid var(--monli-color-primary);
	outline-offset: 2px;
	border-radius: 6px;
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-breadcrumb a {
		transition: none;
	}
}

/* ───── Site header ───── */
.site-header {
	border-bottom: 1px solid var(--monli-border-soft);
}

.site-header .wp-block-navigation {
	gap: var(--wp--preset--spacing--40);
}

.site-header .wp-block-navigation a {
	text-decoration: none;
	font-weight: 500;
}

.site-header .wp-block-navigation a:hover {
	color: var(--monli-color-primary-hover);
}

/* ───── Site identity ───── */
.site-header .wp-block-site-title a {
	text-decoration: none;
	font-weight: 600;
	color: var(--monli-color-foreground);
}

/* ───── Login / logout link ───── */
.site-header .wp-block-loginout a {
	text-decoration: none;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--small);
	color: var(--monli-color-foreground);
}

.site-header .wp-block-loginout a:hover {
	color: var(--monli-color-primary-hover);
}

/* ───── Mini-cart ───── */
.site-header .wc-block-mini-cart {
	font-size: var(--wp--preset--font-size--small);
}

/* ───── Mobile navigation ───── */
.wp-block-navigation__responsive-container-open {
	font-size: var(--wp--preset--font-size--body);
}

.wp-block-navigation__responsive-container {
	background-color: var(--monli-color-surface) !important;
}

.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
	gap: var(--wp--preset--spacing--40);
}

/* ───── Footer ───── */
.site-footer {
	border-top: 1px solid var(--monli-border-default);
}

.site-footer a {
	text-decoration: none;
	font-weight: 500;
	color: var(--monli-color-foreground);
}

.site-footer a:hover {
	color: var(--monli-color-primary-hover);
}

.site-footer .wp-block-site-title a {
	font-weight: 600;
	text-decoration: none;
}

/* ───── Footer navigation ───── */
.site-footer .wp-block-navigation a {
	font-size: var(--wp--preset--font-size--small);
}

/* ───── Footer legal navigation ─────
   Rendered by the monli-limon/footer-legal block from the "monli_footer_legal"
   menu location (Appearance → Menus). Presentation only: if the menu is not
   created the block outputs nothing and this list is empty. */
.site-footer .monli-footer-legal__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
}

.site-footer .monli-footer-legal__list li {
	margin: 0;
}

.site-footer .monli-footer-legal__list a {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-decoration: none;
	color: var(--monli-color-foreground);
	display: inline-flex;
	align-items: center;
	min-height: 24px;
}

.site-footer .monli-footer-legal__list a:hover {
	color: var(--monli-color-primary-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ───── Single product ───── */

/* Product image gallery on single product page */
.wp-block-woocommerce-product-image-gallery {
	border-radius: var(--monli-radius-lg);
	overflow: hidden;
	background-color: var(--monli-color-muted);
}

.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery {
	background-color: var(--monli-color-surface);
	border-radius: var(--monli-radius-lg);
	overflow: hidden;
}

.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__image {
	background-color: var(--monli-color-muted);
}

.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}

/* Gallery thumbnails */
.wp-block-woocommerce-product-image-gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--40);
	margin: 0;
	list-style: none;
}

.wp-block-woocommerce-product-image-gallery .flex-control-thumbs li {
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	border-radius: var(--monli-radius-sm);
	overflow: hidden;
	border: 2px solid transparent;
	cursor: pointer;
	transition: border-color 0.2s ease;
}

.wp-block-woocommerce-product-image-gallery .flex-control-thumbs li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.6;
	transition: opacity 0.2s ease;
}

.wp-block-woocommerce-product-image-gallery .flex-control-thumbs li img.flex-active,
.wp-block-woocommerce-product-image-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
}

.wp-block-woocommerce-product-image-gallery .flex-control-thumbs li.flex-active {
	border-color: var(--monli-color-primary);
}

/* No-image state on single product */
.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder img,
.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery .wp-post-image[src*="placeholder"] {
	opacity: 0.4;
	object-fit: contain;
	padding: var(--wp--preset--spacing--60);
	width: 100%;
	height: auto;
}

/* Sale badge on single product */
.wp-block-woocommerce-product-image-gallery .onsale {
	background-color: var(--monli-color-accent);
	color: var(--monli-lemon-900);
	font-family: var(--monli-font-body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1;
	padding: 0.375rem 0.75rem;
	border-radius: var(--monli-radius-full);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	z-index: 2;
	position: absolute;
	top: var(--wp--preset--spacing--30);
	left: var(--wp--preset--spacing--30);
	margin: 0;
	border: none;
}

/* Product title on single product */
.wp-block-post-title a {
	text-decoration: none;
	color: inherit;
}

.wp-block-post-title a:hover {
	color: var(--monli-color-primary-hover);
}

/* Product price on single product */
.wp-block-woocommerce-product-price del {
	color: var(--monli-color-text-muted);
	font-weight: 400;
	font-size: 0.75em;
	margin-right: 0.25em;
}

.wp-block-woocommerce-product-price ins {
	text-decoration: none;
	color: var(--monli-color-primary-dark);
	font-weight: 700;
}

.wp-block-woocommerce-product-price .amount {
	color: inherit;
}

/* Sale price emphasis */
.product.sale .wp-block-woocommerce-product-price .amount {
	color: var(--monli-color-primary-dark);
	font-weight: 700;
}

/* Short description */
.wp-block-post-excerpt {
	color: var(--monli-color-text-secondary);
	line-height: 1.6;
}

.wp-block-post-excerpt__excerpt {
	margin: 0;
}

/* Add to cart form */
.wp-block-woocommerce-add-to-cart-form {
	margin-top: 0;
}

.wp-block-woocommerce-add-to-cart-form .quantity .qty {
	height: 48px;
	width: 100px;
	text-align: center;
	font-weight: 600;
}

.wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
	min-height: 48px;
	padding: 0 var(--wp--preset--spacing--60);
	font-weight: 700;
	border-radius: var(--monli-radius-full);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button:hover {
	background-color: var(--monli-mint-500);
}

/* Out-of-stock state on single product */
.product.outofstock .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
	background-color: var(--monli-color-muted);
	color: var(--monli-color-text-muted);
	opacity: 0.7;
	cursor: not-allowed;
	pointer-events: none;
}

.product.outofstock .wp-block-woocommerce-add-to-cart-form .stock {
	color: var(--monli-color-warning);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: var(--wp--preset--spacing--40);
}

/* Variable product - variation form */
.wp-block-woocommerce-add-to-cart-form table.variations {
	margin-bottom: var(--wp--preset--spacing--40);
	width: 100%;
}

.wp-block-woocommerce-add-to-cart-form table.variations td {
	display: block;
	padding: 0;
}

.wp-block-woocommerce-add-to-cart-form table.variations td.label {
	margin-bottom: var(--wp--preset--spacing--20);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-woocommerce-add-to-cart-form table.variations td.value select {
	width: 100%;
	max-width: 320px;
}

.wp-block-woocommerce-add-to-cart-form .reset_variations {
	font-size: var(--wp--preset--font-size--small);
	color: var(--monli-color-text-secondary);
	text-decoration: underline;
	margin-top: var(--wp--preset--spacing--20);
	display: inline-block;
}

.wp-block-woocommerce-add-to-cart-form .reset_variations:hover {
	color: var(--monli-color-primary-hover);
}

/* Variation price display */
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-price {
	margin-bottom: var(--wp--preset--spacing--40);
}

.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-price .price {
	font-size: var(--wp--preset--font-size--h4);
	font-weight: 600;
	color: var(--monli-color-foreground);
}

/* Variation availability */
.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability {
	margin-bottom: var(--wp--preset--spacing--40);
}

.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability .stock {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability .in-stock {
	color: var(--monli-color-success);
}

.wp-block-woocommerce-add-to-cart-form .woocommerce-variation-availability .out-of-stock {
	color: var(--monli-color-warning);
}

/* Product meta */
.wp-block-woocommerce-product-meta {
	font-size: var(--wp--preset--font-size--small);
	color: var(--monli-color-text-secondary);
}

.wp-block-woocommerce-product-meta a {
	color: var(--monli-color-text-secondary);
	text-decoration: underline;
}

.wp-block-woocommerce-product-meta a:hover {
	color: var(--monli-color-primary-hover);
}

.wp-block-woocommerce-product-meta .posted_in a {
	font-weight: 500;
}

/* Product SKU */
.wp-block-woocommerce-product-sku .sku {
	color: var(--monli-color-text-muted);
}

/* Product details / tabs */
.wp-block-woocommerce-product-details {
	margin-top: var(--wp--preset--spacing--70);
}

.wp-block-woocommerce-product-details .wc-tabs-wrapper {
	border-top: 1px solid var(--monli-border-soft);
}

.wp-block-woocommerce-product-details .wc-tabs-wrapper .wc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--monli-border-soft);
}

.wp-block-woocommerce-product-details .wc-tabs-wrapper .wc-tabs li {
	margin: 0;
}

.wp-block-woocommerce-product-details .wc-tabs-wrapper .wc-tabs li a {
	display: block;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--body);
	color: var(--monli-color-text-secondary);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.wp-block-woocommerce-product-details .wc-tabs-wrapper .wc-tabs li a:hover {
	color: var(--monli-color-foreground);
}

.wp-block-woocommerce-product-details .wc-tabs-wrapper .wc-tabs li.active a {
	color: var(--monli-color-foreground);
	border-bottom-color: var(--monli-color-primary);
}

.wp-block-woocommerce-product-details .wc-tabs-wrapper .panel {
	padding: var(--wp--preset--spacing--50) 0;
}

.wp-block-woocommerce-product-details .wc-tabs-wrapper .panel h2:first-child {
	font-size: var(--wp--preset--font-size--h3);
	margin-bottom: var(--wp--preset--spacing--40);
}

/* Product details - additional information table */
.wp-block-woocommerce-product-details table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
}

.wp-block-woocommerce-product-details table.shop_attributes th,
.wp-block-woocommerce-product-details table.shop_attributes td {
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border-bottom: 1px solid var(--monli-border-soft);
	text-align: left;
	font-size: var(--wp--preset--font-size--body);
}

.wp-block-woocommerce-product-details table.shop_attributes th {
	font-weight: 600;
	width: 160px;
	color: var(--monli-color-foreground);
}

.wp-block-woocommerce-product-details table.shop_attributes td {
	color: var(--monli-color-text-secondary);
}

/* Related products section */
.wp-block-woocommerce-product-details + .wp-block-woocommerce-product-collection,
.wp-block-woocommerce-product-details ~ .wp-block-group .wp-block-woocommerce-product-collection {
	margin-top: var(--wp--preset--spacing--70);
}

.wp-block-woocommerce-product-details + .wp-block-woocommerce-product-collection > .wp-block-group:first-child h2,
.wp-block-woocommerce-product-details ~ .related-products h2 {
	font-size: var(--wp--preset--font-size--h2);
	text-align: center;
	margin-bottom: var(--wp--preset--spacing--60);
}

/* Responsive: single product */
@media (max-width: 768px) {
	.wp-block-post-title {
		font-size: var(--wp--preset--font-size--h3);
	}

	.wp-block-woocommerce-product-price {
		font-size: var(--wp--preset--font-size--h4);
	}

	.wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
		width: 100%;
	}

	.wp-block-woocommerce-add-to-cart-form .quantity {
		width: 100%;
		margin-bottom: var(--wp--preset--spacing--30);
	}

	.wp-block-woocommerce-add-to-cart-form .quantity .qty {
		width: 100%;
	}

	.wp-block-woocommerce-product-details .wc-tabs-wrapper .wc-tabs li a {
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
		font-size: var(--wp--preset--font-size--small);
	}

	.wp-block-woocommerce-product-image-gallery .flex-control-thumbs li {
		width: 56px;
		height: 56px;
	}
}

@media (max-width: 480px) {
	.wp-block-woocommerce-product-image-gallery .flex-control-thumbs li {
		width: 48px;
		height: 48px;
	}
}

/* ───── CART V1 ───── */

/* Cart layout: surface container */
.wp-block-woocommerce-cart {
	background-color: var(--monli-color-background);
}

.wp-block-woocommerce-cart .wc-block-components-main {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	padding: var(--wp--preset--spacing--50);
}

/* Cart totals sidebar */
.wp-block-woocommerce-cart .wc-block-components-sidebar {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	padding: var(--wp--preset--spacing--50);
}

.wp-block-woocommerce-cart .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block {
	padding: 0;
}

/* Cart heading */
.wc-block-cart__header h2,
.wp-block-woocommerce-cart-order-summary-heading-block h2 {
	font-family: var(--monli-font-heading);
	font-size: var(--wp--preset--font-size--h3);
	font-weight: 600;
	color: var(--monli-color-foreground);
	margin-bottom: var(--wp--preset--spacing--50);
}

/* Cart line items container */
.wc-block-cart-items {
	border: none;
}

.wc-block-cart-items thead {
	display: none;
}

.wc-block-cart-items td {
	border-top: 1px solid var(--monli-border-soft);
	padding: var(--wp--preset--spacing--40);
}

.wc-block-cart-items td:first-child {
	padding-left: 0;
}

.wc-block-cart-items td:last-child {
	padding-right: 0;
}

/* Product image in cart */
.wc-block-cart-items .wc-block-components-product-image {
	border-radius: var(--monli-radius-sm);
	overflow: hidden;
	background-color: var(--monli-color-muted);
	width: 80px;
	height: 80px;
	flex-shrink: 0;
}

.wc-block-cart-items .wc-block-components-product-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

/* Product name in cart */
.wc-block-cart-items .wc-block-components-product-name {
	font-family: var(--monli-font-heading);
	font-weight: 500;
	color: var(--monli-color-foreground);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--body);
}

.wc-block-cart-items .wc-block-components-product-name:hover {
	color: var(--monli-color-primary-hover);
}

/* Variation metadata */
.wc-block-cart-items .wc-block-components-product-metadata {
	font-size: var(--wp--preset--font-size--small);
	color: var(--monli-color-text-secondary);
}

.wc-block-cart-items .wc-block-components-product-metadata__description {
	font-size: var(--wp--preset--font-size--small);
	color: var(--monli-color-text-muted);
}

/* Cart quantity controls */
.wc-block-cart-items .wc-block-components-quantity-selector {
	border: 1px solid var(--monli-border-default);
	border-radius: var(--monli-radius-sm);
	background-color: var(--monli-color-surface);
	overflow: hidden;
	min-height: 40px;
}

.wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	width: 40px;
	height: 40px;
	min-width: 40px;
	color: var(--monli-color-foreground);
	background: transparent;
	border: none;
	font-size: 1.125rem;
	font-weight: 600;
	cursor: pointer;
}

.wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
	background-color: var(--monli-color-muted);
}

.wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	height: 40px;
	width: 48px;
	min-width: 48px;
	text-align: center;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--body);
	border: none;
	border-left: 1px solid var(--monli-border-soft);
	border-right: 1px solid var(--monli-border-soft);
	padding: 0;
}

/* Cart product price */
.wc-block-cart-items .wc-block-components-product-price {
	font-weight: 600;
	color: var(--monli-color-foreground);
	font-size: var(--wp--preset--font-size--body);
}

.wc-block-cart-items .wc-block-components-product-price del {
	color: var(--monli-color-text-muted);
	font-weight: 400;
	font-size: 0.875em;
}

.wc-block-cart-items .wc-block-components-product-price ins {
	text-decoration: none;
	color: var(--monli-color-primary-dark);
	font-weight: 700;
}

/* Remove item button */
.wc-block-cart-items .wc-block-cart-item__remove-link {
	color: var(--monli-color-text-muted);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: underline;
	cursor: pointer;
}

.wc-block-cart-items .wc-block-cart-item__remove-link:hover {
	color: var(--monli-color-error);
}

/* Cart order summary table */
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-order-summary {
	padding: 0;
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--30) 0;
	border-bottom: 1px solid var(--monli-border-soft);
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__image {
	width: 48px;
	height: 48px;
	border-radius: var(--monli-radius-xs);
	overflow: hidden;
	background-color: var(--monli-color-muted);
	flex-shrink: 0;
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__description {
	flex: 1;
	min-width: 0;
}

.wp-block-woocommerce-cart-order-summary-block .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	white-space: nowrap;
}

/* Cart totals */
.wc-block-components-totals-wrapper {
	padding: var(--wp--preset--spacing--40) 0;
	border-top: 1px solid var(--monli-border-soft);
}

.wc-block-components-totals-wrapper:first-child {
	border-top: none;
}

.wc-block-components-totals-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--wp--preset--spacing--20) 0;
}

.wc-block-components-totals-item__label {
	font-weight: 500;
	color: var(--monli-color-text-secondary);
	font-size: var(--wp--preset--font-size--body);
}

.wc-block-components-totals-item__value {
	font-weight: 600;
	color: var(--monli-color-foreground);
}

/* Total emphasis */
.wc-block-components-totals-wrapper:last-child .wc-block-components-totals-item__label,
.wc-block-components-totals-wrapper:last-child .wc-block-components-totals-item__value {
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body-large);
	color: var(--monli-color-foreground);
}

/* Proceed to checkout button */
.wc-block-cart__submit-container .wp-block-woocommerce-proceed-to-checkout-block {
	margin-top: var(--wp--preset--spacing--50);
}

.wc-block-cart__submit-container .wc-block-components-checkout-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-checkout-button {
	background-color: var(--monli-color-primary-dark);
	color: #FFFFFF;
	border-radius: var(--monli-radius-full);
	font-family: var(--monli-font-body);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--label);
	padding: 0.75rem 1.5rem;
	min-height: 48px;
	width: 100%;
	border: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.wc-block-cart__submit-container .wc-block-components-checkout-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-checkout-button:hover {
	background-color: var(--monli-color-foreground);
}

.wc-block-cart__submit-container .wc-block-components-checkout-button:focus-visible,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-checkout-button:focus-visible {
	outline: 3px solid var(--monli-color-primary);
	outline-offset: 2px;
}

/* Empty cart */
.wp-block-woocommerce-empty-cart-block {
	padding: var(--wp--preset--spacing--3xl) var(--wp--preset--spacing--50);
	text-align: center;
	max-width: 480px;
	margin: 0 auto;
}

.wp-block-woocommerce-empty-cart-block h2.wp-block-heading {
	font-family: var(--monli-font-heading);
	font-size: var(--wp--preset--font-size--h3);
	color: var(--monli-color-foreground);
	margin-bottom: var(--wp--preset--spacing--40);
}

.wp-block-woocommerce-empty-cart-block p {
	color: var(--monli-color-text-secondary);
	font-size: var(--wp--preset--font-size--body);
	margin-bottom: var(--wp--preset--spacing--50);
	line-height: 1.6;
}

.wp-block-woocommerce-empty-cart-block .wp-block-button .wp-block-button__link {
	background-color: var(--monli-color-primary);
	color: var(--monli-color-foreground);
	border-radius: var(--monli-radius-full);
	font-weight: 700;
	padding: 0.75rem 2rem;
	min-height: 48px;
	text-decoration: none;
}

.wp-block-woocommerce-empty-cart-block .wp-block-button .wp-block-button__link:hover {
	background-color: var(--monli-mint-500);
}

/* Cart responsive */
@media (max-width: 768px) {
	.wp-block-woocommerce-cart .wc-block-components-main {
		padding: var(--wp--preset--spacing--40);
	}

	.wp-block-woocommerce-cart .wc-block-components-sidebar {
		padding: var(--wp--preset--spacing--40);
	}

	.wc-block-cart-items td {
		padding: var(--wp--preset--spacing--30);
	}

	.wc-block-cart-items .wc-block-components-product-image {
		width: 64px;
		height: 64px;
	}

	.wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
		width: 36px;
		height: 36px;
		min-width: 36px;
	}

	.wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
		height: 36px;
		width: 40px;
		min-width: 40px;
	}

	.wp-block-woocommerce-empty-cart-block {
		padding: var(--wp--preset--spacing--2xl) var(--wp--preset--spacing--40);
	}
}

/* ───── CHECKOUT V1 ───── */

.wp-block-woocommerce-checkout {
	background-color: var(--monli-color-background);
}

/* Checkout main fields area */
.wp-block-woocommerce-checkout .wc-block-components-main {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	padding: var(--wp--preset--spacing--50);
}

/* Checkout sidebar (order summary) */
.wp-block-woocommerce-checkout .wc-block-components-sidebar {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	padding: var(--wp--preset--spacing--50);
}

/* Checkout headings */
.wp-block-woocommerce-checkout .wp-block-heading {
	font-family: var(--monli-font-heading);
	font-weight: 600;
	color: var(--monli-color-foreground);
	margin-bottom: var(--wp--preset--spacing--40);
}

/* Form section spacing */
.wp-block-woocommerce-checkout .wc-block-checkout__form-row {
	margin-bottom: var(--wp--preset--spacing--40);
}

/* Checkout form labels */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading-text {
	font-family: var(--monli-font-heading);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--h4);
	color: var(--monli-color-foreground);
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__description {
	color: var(--monli-color-text-secondary);
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: var(--wp--preset--spacing--40);
}

.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-block-components-select label {
	font-weight: 500;
	color: var(--monli-color-foreground);
	font-size: var(--wp--preset--font-size--small);
}

/* Checkout input fields */
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-select select {
	height: 48px;
	background-color: var(--monli-color-surface);
	color: var(--monli-color-foreground);
	border: 1px solid var(--monli-border-default);
	border-radius: var(--monli-radius-sm);
	padding: 0 1rem;
	font-family: var(--monli-font-body);
	font-size: var(--wp--preset--font-size--body);
}

.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-block-components-select select:focus {
	border-color: var(--monli-color-primary);
	outline: 2px solid transparent;
	box-shadow: 0 0 0 3px rgba(118, 204, 182, 0.25);
}

.wp-block-woocommerce-checkout .wc-block-components-text-input input.has-error {
	border-color: var(--monli-color-error);
	box-shadow: 0 0 0 1px var(--monli-color-error);
}

/* Validation error messages */
.wp-block-woocommerce-checkout .wc-block-components-validation-error {
	color: var(--monli-color-error);
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--20);
}

.wp-block-woocommerce-checkout .wc-block-components-validation-error > .wc-block-components-validation-error__label {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	color: var(--monli-color-error);
	font-weight: 500;
}

/* Checkout step separator */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
	border-bottom: 1px solid var(--monli-border-soft);
	padding-bottom: var(--wp--preset--spacing--50);
	margin-bottom: var(--wp--preset--spacing--50);
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-step:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

/* Checkout order summary */
.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--30) 0;
	border-bottom: 1px solid var(--monli-border-soft);
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image {
	width: 48px;
	height: 48px;
	border-radius: var(--monli-radius-xs);
	overflow: hidden;
	background-color: var(--monli-color-muted);
	flex-shrink: 0;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description {
	flex: 1;
	min-width: 0;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	white-space: nowrap;
}

/* Checkout totals */
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper {
	padding: var(--wp--preset--spacing--40) 0;
	border-top: 1px solid var(--monli-border-soft);
}

.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper:first-child {
	border-top: none;
}

.wp-block-woocommerce-checkout .wc-block-components-totals-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--wp--preset--spacing--20) 0;
}

.wp-block-woocommerce-checkout .wc-block-components-totals-item__label {
	font-weight: 500;
	color: var(--monli-color-text-secondary);
	font-size: var(--wp--preset--font-size--body);
}

.wp-block-woocommerce-checkout .wc-block-components-totals-item__value {
	font-weight: 600;
	color: var(--monli-color-foreground);
}

/* Checkout total emphasis */
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper:last-child .wc-block-components-totals-item__label,
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper:last-child .wc-block-components-totals-item__value {
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body-large);
	color: var(--monli-color-foreground);
}

/* Place order button */
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background-color: var(--monli-color-primary-dark);
	color: #FFFFFF;
	border-radius: var(--monli-radius-full);
	font-family: var(--monli-font-body);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--label);
	padding: 0.75rem 1.5rem;
	min-height: 48px;
	width: 100%;
	border: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
	background-color: var(--monli-color-foreground);
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
	outline: 3px solid var(--monli-color-primary);
	outline-offset: 2px;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled {
	background-color: var(--monli-color-muted);
	color: var(--monli-color-text-muted);
	cursor: not-allowed;
}

/* Payment method section */
.wp-block-woocommerce-checkout .wc-block-components-payment-methods {
	margin-top: var(--wp--preset--spacing--40);
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option {
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-sm);
	margin-bottom: var(--wp--preset--spacing--20);
	background-color: var(--monli-color-surface);
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-label {
	font-weight: 600;
	color: var(--monli-color-foreground);
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__input {
	border-color: var(--monli-border-default);
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked {
	border-color: var(--monli-color-primary);
	background-color: var(--monli-color-primary);
}

/* Checkout responsive */
@media (max-width: 768px) {
	.wp-block-woocommerce-checkout .wc-block-components-main {
		padding: var(--wp--preset--spacing--40);
	}

	.wp-block-woocommerce-checkout .wc-block-components-sidebar {
		padding: var(--wp--preset--spacing--40);
		margin-top: var(--wp--preset--spacing--50);
	}

	.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
		padding-bottom: var(--wp--preset--spacing--40);
		margin-bottom: var(--wp--preset--spacing--40);
	}
}

/* ───── WooCommerce legacy block-grid overflow guard ─────
   The empty-cart "You may be interested in" (and related) product grid uses
   WooCommerce's legacy .wc-block-grid__products markup. On narrow viewports the
   fixed item widths overflow the container and cause horizontal scroll. Cap the
   grid to 100% and collapse to a single column so it never overflows. */
.wc-block-grid__products {
	max-width: 100%;
}

.wc-block-grid__product {
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 480px) {
	.wc-block-grid__products,
	.wc-block-grid__products.has-1-columns,
	.wc-block-grid__products.has-2-columns,
	.wc-block-grid__products.has-3-columns,
	.wc-block-grid__products.has-4-columns {
		display: grid;
		grid-template-columns: 1fr !important;
	}
}

/* ───── MY ACCOUNT V1 ───── */

/* Account page container */
.woocommerce-account {
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin: 0 auto;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50) var(--wp--preset--spacing--70);
}

/* Account navigation */
.woocommerce-MyAccount-navigation {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	padding: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--50);
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--monli-border-soft);
}

.woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	color: var(--monli-color-text-secondary);
	text-decoration: none;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--body);
	transition: color 0.15s ease, background-color 0.15s ease;
	border-radius: var(--monli-radius-xs);
}

.woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--monli-color-foreground);
	background-color: var(--monli-color-muted);
}

.woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--monli-color-foreground);
	font-weight: 600;
	background-color: var(--monli-mint-50);
}

/* Account content */
.woocommerce-MyAccount-content {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	padding: var(--wp--preset--spacing--50);
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-family: var(--monli-font-heading);
	color: var(--monli-color-foreground);
	margin-bottom: var(--wp--preset--spacing--40);
}

.woocommerce-MyAccount-content h2 {
	font-size: var(--wp--preset--font-size--h3);
}

.woocommerce-MyAccount-content h3 {
	font-size: var(--wp--preset--font-size--h4);
}

.woocommerce-MyAccount-content p {
	color: var(--monli-color-text-secondary);
	line-height: 1.6;
}

.woocommerce-MyAccount-content address {
	color: var(--monli-color-text-secondary);
	font-style: normal;
	line-height: 1.6;
}

/* Account table styling */
.woocommerce-MyAccount-content .shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--wp--preset--spacing--50);
}

.woocommerce-MyAccount-content .shop_table th,
.woocommerce-MyAccount-content .shop_table td {
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	text-align: left;
	border-bottom: 1px solid var(--monli-border-soft);
	font-size: var(--wp--preset--font-size--body);
}

.woocommerce-MyAccount-content .shop_table th {
	font-weight: 600;
	color: var(--monli-color-foreground);
	background-color: var(--monli-color-muted);
}

.woocommerce-MyAccount-content .shop_table td {
	color: var(--monli-color-text-secondary);
}

.woocommerce-MyAccount-content .shop_table td a {
	color: var(--monli-color-primary);
	text-decoration: underline;
}

.woocommerce-MyAccount-content .shop_table td a:hover {
	color: var(--monli-color-primary-hover);
}

/* Account address cards */
.woocommerce-MyAccount-content .col2-set .col-1,
.woocommerce-MyAccount-content .col2-set .col-2 {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-sm);
	padding: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--40);
}

.woocommerce-MyAccount-content .col2-set .col-1 h3,
.woocommerce-MyAccount-content .col2-set .col-2 h3 {
	margin-bottom: var(--wp--preset--spacing--30);
}

.woocommerce-MyAccount-content .col2-set .col-1 header,
.woocommerce-MyAccount-content .col2-set .col-2 header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--wp--preset--spacing--30);
}

.woocommerce-MyAccount-content .col2-set .col-1 address,
.woocommerce-MyAccount-content .col2-set .col-2 address {
	margin: 0;
}

.woocommerce-MyAccount-content .edit {
	color: var(--monli-color-primary);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--small);
	text-decoration: underline;
}

.woocommerce-MyAccount-content .edit:hover {
	color: var(--monli-color-primary-hover);
}

/* Account orders - order item */
.woocommerce-MyAccount-content .order-number,
.woocommerce-MyAccount-content .order-date,
.woocommerce-MyAccount-content .order-status {
	font-weight: 500;
}

.woocommerce-MyAccount-content mark.order-status {
	background-color: var(--monli-mint-100);
	color: var(--monli-mint-800);
	padding: 0.125rem 0.5rem;
	border-radius: var(--monli-radius-full);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	white-space: nowrap;
}

/* Account details form */
.woocommerce-MyAccount-content .woocommerce-form-row {
	margin-bottom: var(--wp--preset--spacing--40);
}

.woocommerce-MyAccount-content .woocommerce-form-row label {
	display: block;
	font-weight: 500;
	color: var(--monli-color-foreground);
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: var(--wp--preset--spacing--10);
}

.woocommerce-MyAccount-content .woocommerce-form-row input {
	width: 100%;
	height: 48px;
	background-color: var(--monli-color-surface);
	color: var(--monli-color-foreground);
	border: 1px solid var(--monli-border-default);
	border-radius: var(--monli-radius-sm);
	padding: 0 1rem;
	font-family: var(--monli-font-body);
	font-size: var(--wp--preset--font-size--body);
	box-sizing: border-box;
}

.woocommerce-MyAccount-content .woocommerce-form-row input:focus {
	border-color: var(--monli-color-primary);
	outline: 2px solid transparent;
	box-shadow: 0 0 0 3px rgba(118, 204, 182, 0.25);
}

/* Account buttons */
.woocommerce-MyAccount-content .button {
	background-color: var(--monli-color-primary);
	color: var(--monli-color-foreground);
	border-radius: var(--monli-radius-full);
	font-family: var(--monli-font-body);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--label);
	padding: 0.75rem 1.5rem;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.woocommerce-MyAccount-content .button:hover {
	background-color: var(--monli-mint-500);
	color: var(--monli-color-foreground);
}

.woocommerce-MyAccount-content .button:focus-visible {
	outline: 3px solid var(--monli-color-primary);
	outline-offset: 2px;
}

/* Login form (logged-out state) */
.woocommerce-form-login {
	max-width: 440px;
	margin: var(--wp--preset--spacing--60) auto;
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	padding: var(--wp--preset--spacing--50);
}

.woocommerce-form-login h2 {
	font-family: var(--monli-font-heading);
	font-size: var(--wp--preset--font-size--h3);
	color: var(--monli-color-foreground);
	margin-bottom: var(--wp--preset--spacing--30);
	text-align: center;
}

.woocommerce-form-login .form-row {
	margin-bottom: var(--wp--preset--spacing--40);
}

.woocommerce-form-login .form-row label {
	display: block;
	font-weight: 500;
	color: var(--monli-color-foreground);
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: var(--wp--preset--spacing--10);
}

.woocommerce-form-login .form-row input[type="text"],
.woocommerce-form-login .form-row input[type="password"] {
	width: 100%;
	height: 48px;
	background-color: var(--monli-color-surface);
	color: var(--monli-color-foreground);
	border: 1px solid var(--monli-border-default);
	border-radius: var(--monli-radius-sm);
	padding: 0 1rem;
	font-family: var(--monli-font-body);
	font-size: var(--wp--preset--font-size--body);
	box-sizing: border-box;
}

.woocommerce-form-login .form-row input[type="text"]:focus,
.woocommerce-form-login .form-row input[type="password"]:focus {
	border-color: var(--monli-color-primary);
	outline: 2px solid transparent;
	box-shadow: 0 0 0 3px rgba(118, 204, 182, 0.25);
}

.woocommerce-form-login .form-row .button {
	width: 100%;
	background-color: var(--monli-color-primary);
	color: var(--monli-color-foreground);
	border-radius: var(--monli-radius-full);
	font-weight: 700;
	padding: 0.75rem 1.5rem;
	min-height: 48px;
	border: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.woocommerce-form-login .form-row .button:hover {
	background-color: var(--monli-mint-500);
}

.woocommerce-form-login .woocommerce-LostPassword {
	text-align: center;
	margin-top: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-form-login .woocommerce-LostPassword a {
	color: var(--monli-color-text-secondary);
	text-decoration: underline;
}

.woocommerce-form-login .woocommerce-LostPassword a:hover {
	color: var(--monli-color-primary-hover);
}

.woocommerce-form-login .rememberme {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--small);
	color: var(--monli-color-text-secondary);
}

.woocommerce-form-login .rememberme input {
	width: auto;
	height: auto;
}

/* My Account responsive */
@media (min-width: 768px) {
	/* Desktop two-column: navigation left + content right.
	   ROOT CAUSE: .woocommerce-account is applied by WooCommerce to the <body>
	   element, NOT to the account wrapper. Applying the grid to that class
	   forced the whole page into two 220px/1fr columns (main squeezed to
	   220px). The grid must target the .woocommerce container that directly
	   holds the navigation and content as siblings.
	   Additionally, WooCommerce's woocommerce-layout.css floats the navigation
	   (float:left; width:30%) and content (float:right; width:70%) on
	   .woocommerce-account. Those floats/widths interfere with grid layout and
	   must be neutralized so the grid controls the two-column placement. */
	.woocommerce-account .woocommerce {
		display: grid;
		grid-template-columns: 220px 1fr;
		grid-template-rows: auto;
		grid-auto-flow: row;
		gap: var(--wp--preset--spacing--50);
	}

	.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
		grid-column: 1;
		float: none;
		width: auto;
		margin-bottom: 0;
	}

	.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
		grid-column: 2;
		min-width: 0;
		float: none;
		width: auto;
	}
}

@media (max-width: 767px) {
	.woocommerce-account {
		padding: var(--wp--preset--spacing--40);
	}

	/* Stack navigation above content (in DOM order) and neutralize the
	   float:left/right widths from woocommerce-layout.css that otherwise cause
	   an unwanted side-by-side float layout and horizontal overflow. */
	.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
		float: none;
		width: auto;
	}

	.woocommerce-MyAccount-content {
		padding: var(--wp--preset--spacing--40);
	}

	.woocommerce-form-login {
		padding: var(--wp--preset--spacing--40);
		margin: var(--wp--preset--spacing--40) auto;
	}

	.woocommerce-MyAccount-content .shop_table th,
	.woocommerce-MyAccount-content .shop_table td {
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
		font-size: var(--wp--preset--font-size--small);
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   0.9.3 — EDITORIAL HOMEPAGE / NAV / PAGINATION / REVEAL
   ═══════════════════════════════════════════════════════════════════════════ */

/* ───── Two-level navigation submenu ─────
   The menu hierarchy (parent occasion → child family) is WordPress data; the
   Navigation block emits a native submenu <ul>. These rules style the desktop
   dropdown and the mobile nested overlay. No custom JS is used. */
.site-header .wp-block-navigation .wp-block-navigation-item {
	position: relative;
}

.site-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-md);
	box-shadow: var(--monli-shadow-default);
	padding: var(--wp--preset--spacing--20);
	z-index: 30;
}

.site-header .wp-block-navigation .wp-block-navigation__submenu-container a {
	font-size: var(--wp--preset--font-size--small);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	border-radius: var(--monli-radius-sm);
}

.site-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover {
	background-color: var(--monli-color-muted);
	color: var(--monli-color-primary-dark);
}

.site-header .wp-block-navigation .wp-block-navigation__submenu-container a:focus-visible {
	outline: 2px solid var(--monli-color-primary);
	outline-offset: -2px;
}

/* ───── Mobile nested navigation ───── */
.wp-block-navigation.is-responsive .wp-block-navigation__submenu-container {
	border: 0;
	border-left: 1px solid var(--monli-border-soft);
	border-radius: 0;
	box-shadow: none;
	background-color: transparent;
	padding-left: var(--wp--preset--spacing--30);
}

/* ───── Pagination (WooCommerce Product Collection query pagination) ───── */
.wp-block-query-pagination {
	gap: var(--wp--preset--spacing--20);
	flex-wrap: wrap;
	margin-top: 0;
}

.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 var(--wp--preset--spacing--40);
	background-color: var(--monli-color-muted);
	color: var(--monli-color-foreground);
	font-weight: 600;
	border-radius: var(--monli-radius-full);
	border: 1px solid var(--monli-border-soft);
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
.wp-block-query-pagination .wp-block-query-pagination-next:hover {
	background-color: var(--monli-mint-100);
	border-color: var(--monli-border-default);
}

.wp-block-query-pagination .wp-block-query-pagination-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--20);
}

.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 var(--wp--preset--spacing--20);
	background-color: var(--monli-color-surface);
	color: var(--monli-color-foreground);
	font-weight: 600;
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-full);
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.wp-block-query-pagination-numbers .page-numbers:not(.current):hover {
	background-color: var(--monli-mint-100);
	border-color: var(--monli-mint-300);
}

.wp-block-query-pagination-numbers .page-numbers.current,
.wp-block-query-pagination-numbers .page-numbers[aria-current="page"] {
	background-color: var(--monli-color-primary);
	color: var(--monli-color-foreground);
	border-color: var(--monli-color-primary);
	font-weight: 700;
}

.wp-block-query-pagination-numbers .page-numbers.dots {
	background-color: transparent;
	border-color: transparent;
	color: var(--monli-color-text-muted);
	min-width: auto;
	padding: 0 var(--wp--preset--spacing--10);
}

.wp-block-query-pagination a:focus-visible,
.wp-block-query-pagination .page-numbers:focus-visible {
	outline: 2px solid var(--monli-color-primary);
	outline-offset: 2px;
}

/* ───── Editorial hero (split composition) ───── */
.monli-hero {
	margin-inline: auto;
}

.monli-hero__copy {
	max-width: 34rem;
}

.monli-hero__copy .monli-eyebrow {
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: var(--wp--preset--spacing--40);
}

.monli-hero__copy .monli-hero__title {
	margin-bottom: 0;
}

.monli-hero__copy .monli-hero__intro {
	max-width: 30rem;
}

.monli-hero__media .monli-hero__image {
	border-radius: var(--monli-radius-lg);
	min-height: 0;
}

.monli-hero__media .monli-hero__image .wp-block-cover__inner-container {
	width: 100%;
}

/* Style the cover media slot so it reads as an intentional placeholder with
   an "Add media" affordance (graceful until a real photograph is uploaded). */
.monli-hero__image .monli-hero__image-hint {
	margin: 0;
}

/* ───── Shop by occasion (category card grid) ───── */
.monli-occasion .monli-category-grid .wc-block-product-categories-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
	list-style: none;
	margin: 0;
	padding: 0;
}

.monli-occasion .monli-category-grid .wc-block-product-categories-list-item {
	margin: 0;
}

.monli-occasion .monli-category-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
	height: 100%;
	padding: var(--wp--preset--spacing--50);
	background-color: var(--monli-color-surface);
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
	text-align: center;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.monli-occasion .monli-category-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item > a:hover {
	transform: translateY(-2px);
	box-shadow: var(--monli-shadow-card-hover);
}

.monli-occasion .monli-category-grid .wc-block-product-categories-list-item__image {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: var(--monli-radius-md);
	overflow: hidden;
	background-color: var(--monli-color-muted);
	display: flex;
	align-items: center;
	justify-content: center;
}

.monli-occasion .monli-category-grid .wc-block-product-categories-list-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.monli-occasion .monli-category-grid .wc-block-product-categories-list-item__name {
	font-family: var(--monli-font-heading);
	font-weight: 600;
	font-size: 1.125rem;
	color: var(--monli-color-foreground);
	line-height: 1.2;
}

@media (max-width: 1024px) {
	.monli-occasion .monli-category-grid .wc-block-product-categories-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.monli-occasion .monli-category-grid .wc-block-product-categories-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--40);
	}
}

/* ───── Brand statement band ───── */
.monli-statement__mark {
	margin-bottom: var(--wp--preset--spacing--20);
	color: var(--monli-color-accent);
	font-size: 1.5rem;
	line-height: 1;
}

.monli-statement__title {
	margin-bottom: 0;
}

.monli-statement__text {
	max-width: 34rem;
	margin-inline: auto;
}

/* ───── Process section ───── */
.monli-process__steps .monli-process__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: var(--wp--preset--spacing--50);
	gap: var(--wp--preset--spacing--20);
}

.monli-process__index {
	font-family: var(--monli-font-heading);
	font-weight: 600;
	font-size: 1.25rem;
	color: var(--monli-color-primary-dark);
	background-color: var(--monli-mint-100);
	width: 3rem;
	height: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--monli-radius-full);
	margin-bottom: var(--wp--preset--spacing--20);
}

.monli-process__step-title {
	margin-bottom: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--h4);
}

.monli-process__step-text {
	margin-bottom: 0;
	max-width: 22rem;
}

/* ───── Catalogue CTA (coral band) ───── */
.monli-cta .monli-cta__title,
.monli-cta .monli-cta__text {
	margin-inline: auto;
}

.monli-cta .monli-cta__actions {
	margin-top: var(--wp--preset--spacing--60);
}

/* ───── About teaser ───── */
.monli-about > .wp-block-group {
	border: 1px solid var(--monli-border-soft);
	border-radius: var(--monli-radius-lg);
}

.monli-about .monli-about__text {
	max-width: 34rem;
	margin-inline: auto;
}

.monli-about .monli-about__actions {
	margin-top: var(--wp--preset--spacing--60);
}

/* ───── Scroll reveal ─────
   Progressive enhancement: content is fully visible by default. When the
   tiny reveal.js runs it adds `.monli-reveal-ready` to <html>, which activates
   the hidden pre-reveal state; an IntersectionObserver reveals each element.
   Reduced-motion forces it back to visible with no animation. Animation is
   frontend-only and never affects the Site Editor. */
.monli-reveal-ready .monli-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.55s ease, transform 0.55s ease;
	transition-delay: var(--monli-reveal-delay, 0s);
}

.monli-reveal-ready .monli-reveal.is-revealed {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.monli-reveal-ready .monli-reveal,
	.monli-reveal-ready .monli-reveal.is-revealed {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
