/**
 * Reusable UI components: scallop edges (the theme's signature element),
 * hero, category tiles, product cards, cart drawer, size guide link, shop
 * filters, value props, newsletter, breadcrumbs, empty states, icon set.
 */

/* --- Icons (inline SVG masks, no icon font/JS dependency) --- */
.icon-search        { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E"); }
.icon-search-empty   { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='8.5' y1='11' x2='13.5' y2='11'/%3E%3C/svg%3E"); }
.icon-account        { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E"); }
.icon-bag            { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l1 12H5z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E"); }
.icon-close          { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='5' y1='5' x2='19' y2='19'/%3E%3Cline x1='19' y1='5' x2='5' y2='19'/%3E%3C/svg%3E"); }
.icon-ruler          { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='10' rx='1'/%3E%3Cline x1='7' y1='7' x2='7' y2='11'/%3E%3Cline x1='11' y1='7' x2='11' y2='11'/%3E%3Cline x1='15' y1='7' x2='15' y2='11'/%3E%3C/svg%3E"); }
.icon-filter         { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cline x1='4' y1='18' x2='20' y2='18'/%3E%3Ccircle cx='9' cy='6' r='1.8' fill='%23000'/%3E%3Ccircle cx='16' cy='12' r='1.8' fill='%23000'/%3E%3Ccircle cx='10' cy='18' r='1.8' fill='%23000'/%3E%3C/svg%3E"); }
.icon-truck          { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='7' width='13' height='9'/%3E%3Cpath d='M14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='6' cy='18' r='1.6'/%3E%3Ccircle cx='17' cy='18' r='1.6'/%3E%3C/svg%3E"); }
.icon-return         { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9a8 8 0 1 1 1.5 6.5'/%3E%3Cpolyline points='4 4 4 9 9 9'/%3E%3C/svg%3E"); }
.icon-lock           { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='1.5'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.icon-instagram      { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='1.2' fill='%23000' stroke='none'/%3E%3C/svg%3E"); }
.icon-facebook       { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h-2.5A3.5 3.5 0 0 0 9 7.5V10H6.5v3.5H9V21h3.5v-7.5h2.6l.6-3.5h-3.2V8c0-.6.4-1 1-1H15z'/%3E%3C/svg%3E"); }
.icon-tiktok         { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 3v10.8a3.6 3.6 0 1 1-3.6-3.6'/%3E%3Cpath d='M13.5 5.5c.8 2.2 2.6 3.7 5 4'/%3E%3C/svg%3E"); }
.icon-pinterest      { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 21l3.4-8.2'/%3E%3Cpath d='M12.4 12.8c.6.9 1.7 1.3 2.8 1 1.9-.5 3-2.6 2.5-4.7-.6-2.3-3-3.6-5.4-3-2.4.6-3.9 2.9-3.3 5.1.2.8.7 1.5 1.3 1.9'/%3E%3C/svg%3E"); }
.icon-arrow-left     { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='20' y1='12' x2='4' y2='12'/%3E%3Cpolyline points='10 6 4 12 10 18'/%3E%3C/svg%3E"); }
.icon-arrow-right    { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cpolyline points='14 6 20 12 14 18'/%3E%3C/svg%3E"); }
.icon-heart          { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5c-4.5-3.2-8.5-6.3-8.5-10A4.6 4.6 0 0 1 8 6a4.8 4.8 0 0 1 4 2.2A4.8 4.8 0 0 1 16 6a4.6 4.6 0 0 1 4.5 4.5c0 3.7-4 6.8-8.5 10z'/%3E%3C/svg%3E"); }
.icon-heart-filled   { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 20.5c-4.5-3.2-8.5-6.3-8.5-10A4.6 4.6 0 0 1 8 6a4.8 4.8 0 0 1 4 2.2A4.8 4.8 0 0 1 16 6a4.6 4.6 0 0 1 4.5 4.5c0 3.7-4 6.8-8.5 10z'/%3E%3C/svg%3E"); }
.icon-home           { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-7 8 7'/%3E%3Cpath d='M6 10v10h12V10'/%3E%3C/svg%3E"); }
.icon-pin            { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11a7 7 0 0 1 14 0c0 4.9-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.icon-card           { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='13' rx='2'/%3E%3Cline x1='3' y1='10.5' x2='21' y2='10.5'/%3E%3C/svg%3E"); }
.icon-logout         { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H5v16h5'/%3E%3Cline x1='10' y1='12' x2='20' y2='12'/%3E%3Cpolyline points='16 8 20 12 16 16'/%3E%3C/svg%3E"); }

/* --- Signature: scalloped lace-hem section edges ---
   A row of soft half-circles, like the scalloped trim on a lace hem.
   .scallop-bottom hangs bumps below a tinted band (hero); .scallop-top
   raises bumps above one (footer). Colors default to --color-bg-alt, the
   band tint both are used on. */
.scallop-bottom,
.scallop-top {
	position: relative;
}

.scallop-bottom::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(-1 * var(--scallop-height) + 1px);
	height: var(--scallop-height);
	background-image: radial-gradient(circle at 50% 0, var(--scallop-color, var(--color-bg-alt)) calc(var(--scallop-size) / 2 - 4px), transparent calc(var(--scallop-size) / 2 - 3px));
	background-size: var(--scallop-size) var(--scallop-height);
	background-position: 0 0;
	z-index: 1;
	pointer-events: none;
}

.scallop-top::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(-1 * var(--scallop-height) + 1px);
	height: var(--scallop-height);
	background-image: radial-gradient(circle at 50% 100%, var(--scallop-color, var(--color-bg-alt)) calc(var(--scallop-size) / 2 - 4px), transparent calc(var(--scallop-size) / 2 - 3px));
	background-size: var(--scallop-size) var(--scallop-height);
	background-position: 0 0;
	pointer-events: none;
}

/* --- Hero --- */
.hero {
	position: relative;
	overflow: visible;
	background: linear-gradient(175deg, #f8ebe3 0%, var(--color-bg-alt) 100%);
	padding-block: var(--space-3xl) var(--space-4xl);
	--scallop-color: var(--color-bg-alt);
}

/* Blobs live in their own clipped layer so the hero itself can stay
   overflow-visible (the scallop hem hangs below the section box). */
.hero-bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
	pointer-events: none;
}

.hero-blob {
	position: absolute;
	border-radius: 50%;
}

.hero-blob-1 {
	width: 440px;
	height: 440px;
	background: rgba(255, 255, 255, 0.5);
	top: -190px;
	right: -110px;
}

.hero-blob-2 {
	width: 280px;
	height: 280px;
	background: color-mix(in srgb, var(--color-accent-secondary) 22%, transparent);
	bottom: -90px;
	left: -90px;
}

.hero-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-2xl);
	align-items: center;
}

.hero-headline {
	font-size: var(--text-hero);
	font-weight: var(--weight-semibold);
	max-width: 15ch;
	margin-bottom: var(--space-lg);
}

/* Accent word: Fraunces' true italic in dusty rose — the italic carries
   the femininity now, so the wavy underline came off (one accessory rule). */
.hero-headline em {
	font-style: italic;
	color: var(--color-accent-primary-dark);
}

.hero-subheadline {
	color: var(--color-text-muted);
	max-width: 46ch;
	font-size: var(--text-md);
	margin-bottom: var(--space-xl);
}

.hero-media {
	border-radius: var(--radius-arch);
	overflow: hidden;
	aspect-ratio: 4 / 5;
	max-width: 460px;
	justify-self: center;
	width: 100%;
	box-shadow: var(--shadow-soft);
}

.hero-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-image-placeholder {
	width: 100%;
	height: 100%;
	background:
		radial-gradient(circle at 75% 20%, rgba(255, 255, 255, 0.65), transparent 45%),
		radial-gradient(circle at 20% 85%, color-mix(in srgb, var(--color-accent-secondary) 30%, transparent), transparent 50%),
		linear-gradient(150deg, #f2dcd2, var(--color-accent-primary) 160%);
}

/* Gentle entrance: hero copy and media rise in once on page load. */
@keyframes monatesmir-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hero-copy > * {
	animation: monatesmir-rise 0.55s var(--ease-soft) backwards;
}

.hero-copy > *:nth-child(2) {
	animation-delay: 90ms;
}

.hero-copy > *:nth-child(3) {
	animation-delay: 180ms;
}

.hero-media {
	animation: monatesmir-rise 0.65s var(--ease-soft) 120ms backwards;
}

@media (prefers-reduced-motion: reduce) {
	.hero-copy > *,
	.hero-media {
		animation: none;
	}
}

/* --- Section title --- */
.section-title {
	font-size: var(--text-xl);
	margin-bottom: var(--space-xl);
}

.section-eyebrow {
	font-size: var(--text-xs);
	font-weight: var(--weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--color-accent-primary-dark);
	margin-bottom: var(--space-xs);
}

/* --- Featured spotlight (homepage opener) --------------------------------
   One product at a time as a full-width slide (arch image + name/price/CTA),
   auto-advancing with a soft slide transition. Deliberately distinct from
   the product-card grid. Rotation logic in assets/js/spotlight.js. */
.featured-spotlight {
	position: relative;
	background: linear-gradient(175deg, #f8ebe3 0%, var(--color-bg-alt) 100%);
	padding-block: var(--space-2xl) var(--space-3xl);
	--scallop-color: var(--color-bg-alt);
}

.featured-spotlight-header {
	margin-bottom: var(--space-xl);
	text-align: center;
}

.featured-spotlight-title {
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	margin: 0;
}

.spotlight-viewport {
	overflow: hidden;
	border-radius: var(--radius-lg);
}

.spotlight-track {
	display: flex;
	transition: transform 600ms var(--ease-soft);
}

.spotlight-slide {
	flex: 0 0 100%;
	min-width: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
	align-items: center;
	justify-items: center;
	padding: var(--space-sm);
}

.spotlight-media {
	display: block;
	width: min(320px, 70vw);
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-arch);
	overflow: hidden;
	background: var(--color-surface);
	box-shadow: var(--shadow-soft);
}

.spotlight-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.spotlight-info {
	text-align: center;
	max-width: 40ch;
	/* Slide-in feel for the caption when a slide becomes active. */
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 450ms var(--ease-soft) 200ms, transform 450ms var(--ease-soft) 200ms;
}

.spotlight-slide.is-active .spotlight-info {
	opacity: 1;
	transform: translateY(0);
}

.spotlight-category {
	font-size: var(--text-xs);
	font-weight: var(--weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--color-accent-primary-dark);
	margin-bottom: var(--space-xs);
}

.spotlight-name {
	font-size: clamp(1.4rem, 3vw, 2rem);
	margin-bottom: var(--space-sm);
}

.spotlight-name a {
	color: var(--color-text);
}

.spotlight-name a:hover {
	color: var(--color-accent-primary-dark);
}

.spotlight-price {
	font-size: var(--text-md);
	color: var(--color-text-muted);
	margin-bottom: var(--space-xl);
}

.spotlight-price ins {
	text-decoration: none;
	color: var(--color-sale);
}

.spotlight-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-lg);
	margin-top: var(--space-xl);
}

.spotlight-arrow {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid var(--color-text);
	border-radius: var(--radius-pill);
	background: transparent;
	color: var(--color-text);
	transition: background var(--duration-fast) var(--ease-soft), color var(--duration-fast) var(--ease-soft);
}

.spotlight-arrow:hover {
	background: var(--color-text);
	color: var(--color-bg);
}

.spotlight-dots {
	display: flex;
	gap: var(--space-sm);
}

.spotlight-dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: none;
	border-radius: var(--radius-pill);
	background: rgba(59, 50, 46, 0.25);
	transition: background var(--duration-fast) var(--ease-soft), width var(--duration-medium) var(--ease-soft);
}

.spotlight-dot.is-active {
	width: 26px;
	background: var(--color-text);
}

@media (min-width: 48em) {
	.spotlight-slide {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		justify-items: start;
		padding: var(--space-lg) var(--space-2xl);
	}

	.spotlight-media {
		justify-self: end;
		width: min(360px, 100%);
	}

	.spotlight-info {
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.spotlight-track {
		transition: none;
	}

	.spotlight-info {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* --- Value props --- */
.value-props {
	padding-block: var(--space-3xl) var(--space-xl);
}

.value-props-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-xl) var(--space-lg);
}

.value-prop {
	display: flex;
	align-items: flex-start;
	gap: var(--space-md);
}

.value-prop-icon-wrap {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--radius-pill);
	background: var(--color-bg-alt);
}

.value-prop-icon-wrap .icon {
	width: 1.3em;
	height: 1.3em;
	background-color: var(--color-accent-primary-dark);
}

.value-prop-title {
	font-weight: var(--weight-bold);
	margin: 0 0 2px;
}

.value-prop-text {
	margin: 0;
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

/* --- Category tiles --- */
.featured-categories {
	padding-block: var(--space-2xl);
}

.category-tile-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-xl) var(--space-lg);
}

.category-tile {
	display: block;
	text-align: center;
}

.category-tile-media {
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-arch);
	overflow: hidden;
	background: var(--color-bg-alt);
	margin-bottom: var(--space-md);
	transition: transform var(--duration-medium) var(--ease-soft), box-shadow var(--duration-medium) var(--ease-soft);
}

.category-tile:hover .category-tile-media {
	transform: translateY(-5px);
	box-shadow: var(--shadow-hover);
}

.category-tile-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.category-tile-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-weight: var(--weight-medium);
	font-size: var(--text-3xl);
	color: rgba(59, 50, 46, 0.45);
}

/* Tiles without photos cycle through the palette's soft tints. */
.category-tile:nth-child(5n + 1) .category-tile-placeholder { background: #f5e0dc; }
.category-tile:nth-child(5n + 2) .category-tile-placeholder { background: color-mix(in srgb, var(--color-accent-secondary) 38%, #fff); }
.category-tile:nth-child(5n + 3) .category-tile-placeholder { background: var(--color-accent-tertiary); }
.category-tile:nth-child(5n + 4) .category-tile-placeholder { background: #f4e4c8; }
.category-tile:nth-child(5n + 5) .category-tile-placeholder { background: color-mix(in srgb, var(--color-accent-primary) 24%, #fff); }

.category-tile-name {
	display: block;
	font-family: var(--font-display);
	font-weight: var(--weight-medium);
	font-size: var(--text-md);
	color: var(--color-text);
	transition: color var(--duration-fast) var(--ease-soft);
}

.category-tile:hover .category-tile-name {
	color: var(--color-accent-primary-dark);
}

.category-tile-count {
	display: block;
	font-size: var(--text-xs);
	color: var(--color-text-muted);
}

/* --- Product sections on the homepage --- */
.featured-products,
.new-arrivals {
	padding-block: var(--space-2xl);
}

/* --- Product card ---
   Grid rules target ul.products specifically: WooCommerce also puts a
   "products" class on wrapper sections (e.g. <section class="related
   products">), which must not become grids themselves. */
ul.products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-xl) var(--space-lg);
}

.product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
	transition: box-shadow var(--duration-medium) var(--ease-soft), transform var(--duration-medium) var(--ease-soft);
}

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

.product-card-media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	background: var(--color-bg-alt);
	overflow: hidden;
}

.product-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-card-image {
	transition: transform 450ms var(--ease-soft);
}

.product-card:hover .product-card-image-primary {
	transform: scale(1.045);
}

.product-card-image-hover {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity var(--duration-medium) var(--ease-soft);
}

.product-card:hover .product-card-image-hover {
	opacity: 1;
}

.monatesmir-sale-badge {
	position: absolute;
	top: var(--space-md);
	left: var(--space-md);
	background: var(--color-sale);
	color: #fff;
	font-size: var(--text-xs);
	font-weight: var(--weight-bold);
	padding: 5px 11px;
	border-radius: var(--radius-pill);
	z-index: 2;
	letter-spacing: 0.02em;
}

/* Card anatomy — identical on every card so nothing shifts between cards:
   image (with overlay chips: category bottom-left, stock top-left under the
   sale badge slot, wishlist heart top-right) → title (clamped to 2 lines,
   space always reserved) → footer row (price left, bag circle right).
   The whole card is one link; the bag circle is a "tap to buy" affordance,
   size/color get chosen on the product page. */
.product-card {
	--card-pad: 20px;
}

.product-card-chip {
	position: absolute;
	z-index: 2;
	font-size: 0.68rem;
	font-weight: var(--weight-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: var(--radius-pill);
	backdrop-filter: blur(3px);
}

.product-card-chip--category {
	left: var(--space-md);
	bottom: var(--space-md);
	background: rgba(255, 255, 255, 0.85);
	color: var(--color-text);
}

.product-card-chip--tag {
	right: var(--space-md);
	bottom: var(--space-md);
	background: rgba(255, 255, 255, 0.85);
	color: var(--color-text);
}

/* Stock chip lives top-left — a different level from the category chip
   (bottom-left) so they can never collide on narrow cards. When the sale
   badge occupies top-left too, the chip steps down below it. */
.product-card-chip--stock {
	left: var(--space-md);
	top: var(--space-md);
	background: rgba(59, 50, 46, 0.75);
	color: #fff;
}

.monatesmir-sale-badge ~ .product-card-media .product-card-chip--stock {
	top: calc(var(--space-md) + 34px);
}

.product-card .woocommerce-loop-product__title {
	font-family: var(--font-display);
	font-weight: var(--weight-medium);
	font-size: var(--text-base);
	line-height: 1.3;
	padding: var(--space-md) var(--card-pad) 0;
	margin: 0;
	color: var(--color-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	/* Reserve two lines so short and long names align across a row. */
	min-height: calc(2 * 1.3em + var(--space-md));
}

.product-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm);
	padding: var(--space-sm) var(--card-pad) 0;
	margin-top: auto;
}

.product-card .price {
	display: block;
	font-size: var(--text-sm);
	font-weight: var(--weight-bold);
	color: var(--color-text);
	padding: 0;
	margin: 0;
}

.product-card .price del {
	color: var(--color-text-muted);
	font-weight: var(--weight-regular);
	opacity: 0.75;
	margin-right: var(--space-xs);
}

.product-card .price ins {
	text-decoration: none;
	color: var(--color-sale);
}

.product-card-buy {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: var(--radius-pill);
	background: var(--color-bg-alt);
	color: var(--color-text);
	transition: background var(--duration-fast) var(--ease-soft), color var(--duration-fast) var(--ease-soft);
}

.product-card:hover .product-card-buy {
	background: var(--color-text);
	color: var(--color-bg);
}

.product-card-buy .icon {
	width: 1.05em;
	height: 1.05em;
}

.product-card .woocommerce-loop-product__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding-bottom: var(--card-pad);
}

/* --- Wishlist heart (cards + wishlist page rows) --- */
.wishlist-toggle {
	position: absolute;
	top: var(--space-md);
	right: var(--space-md);
	z-index: 3;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, 0.9);
	color: var(--color-text);
	box-shadow: var(--shadow-soft);
	transition: color var(--duration-fast) var(--ease-soft), transform var(--duration-fast) var(--ease-soft);
}

.wishlist-toggle:hover {
	color: var(--color-accent-primary-dark);
	transform: scale(1.08);
}

.wishlist-toggle .icon {
	width: 1.1em;
	height: 1.1em;
}

.wishlist-toggle.is-active {
	color: var(--color-accent-primary-dark);
}

.wishlist-toggle.is-active .icon-heart {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 20.5c-4.5-3.2-8.5-6.3-8.5-10A4.6 4.6 0 0 1 8 6a4.8 4.8 0 0 1 4 2.2A4.8 4.8 0 0 1 16 6a4.6 4.6 0 0 1 4.5 4.5c0 3.7-4 6.8-8.5 10z'/%3E%3C/svg%3E");
}

.wishlist-count-badge {
	position: absolute;
	top: 3px;
	right: 3px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: var(--radius-pill);
	background: var(--color-accent-secondary);
	color: var(--color-text);
	font-size: 0.65rem;
	font-weight: var(--weight-bold);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--color-bg);
}

/* --- Wishlist page --- */
.wishlist-list {
	display: flex;
	flex-direction: column;
}

.wishlist-item {
	position: relative;
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	gap: var(--space-lg);
	align-items: center;
	padding-block: var(--space-lg);
	border-bottom: 1px solid var(--color-border);
}

.wishlist-item-media img {
	width: 72px;
	height: 90px;
	object-fit: cover;
	border-radius: var(--radius-md);
	background: var(--color-bg-alt);
}

.wishlist-item-name {
	display: block;
	font-family: var(--font-display);
	font-weight: var(--weight-medium);
	color: var(--color-text);
}

.wishlist-item-name:hover {
	color: var(--color-accent-primary-dark);
}

.wishlist-item-price {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

.wishlist-item .wishlist-toggle {
	position: static;
	box-shadow: none;
	background: var(--color-bg-alt);
}

.wishlist-empty {
	text-align: center;
	padding: var(--space-2xl) var(--space-lg);
}

.wishlist-empty-title {
	font-family: var(--font-display);
	font-size: var(--text-lg);
	margin-bottom: var(--space-sm);
}

.wishlist-empty-text {
	color: var(--color-text-muted);
	margin-bottom: var(--space-xl);
}

/* --- Shop empty state --- */
.shop-empty-state {
	text-align: center;
	padding: var(--space-3xl) var(--space-lg);
	max-width: 40ch;
	margin-inline: auto;
}

.shop-empty-state .icon {
	width: 2.5em;
	height: 2.5em;
	background-color: var(--color-accent-primary);
	margin-bottom: var(--space-lg);
}

.shop-empty-state-title {
	font-family: var(--font-display);
	font-size: var(--text-lg);
	font-weight: var(--weight-medium);
	margin-bottom: var(--space-sm);
}

.shop-empty-state-text {
	color: var(--color-text-muted);
	margin-bottom: var(--space-xl);
}

/* --- Shop filters (sidebar / mobile drawer) --- */
.filter-drawer-toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--space-sm);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-pill);
	padding: var(--space-sm) var(--space-lg);
	font-weight: var(--weight-semibold);
	font-size: var(--text-sm);
}

.filter-count-badge {
	background: var(--color-accent-primary);
	color: #fff;
	border-radius: var(--radius-pill);
	min-width: 18px;
	height: 18px;
	font-size: var(--text-xs);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-inline: 5px;
}

.filter-clear-link {
	margin-left: var(--space-md);
	font-size: var(--text-sm);
	text-decoration: underline;
	color: var(--color-text-muted);
}

.shop-filters-overlay {
	position: fixed;
	inset: 0;
	background: rgba(59, 50, 46, 0.4);
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--duration-medium) var(--ease-soft);
	z-index: 190;
}

.shop-filters-panel {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(320px, 85%);
	overflow-y: auto;
	background: var(--color-surface);
	border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
	padding: var(--space-lg);
	transform: translateX(-100%);
	transition: transform var(--duration-medium) var(--ease-soft);
	z-index: 200;
}

.shop-filters[hidden] {
	display: block;
	visibility: hidden;
}

.shop-filters.is-open {
	visibility: visible;
}

.shop-filters.is-open .shop-filters-overlay {
	opacity: 1;
	pointer-events: auto;
}

.shop-filters.is-open .shop-filters-panel {
	transform: translateX(0);
}

.shop-filters-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--space-lg);
}

.shop-filters-header h2 {
	margin: 0;
	font-size: var(--text-lg);
}

/* Shared round close button: mobile nav, filter drawer, cart drawer. */
.drawer-close-button,
.shop-filters-close {
	background: var(--color-bg-alt);
	border: none;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-pill);
	color: var(--color-text);
	transition: background var(--duration-fast) var(--ease-soft), color var(--duration-fast) var(--ease-soft);
}

.drawer-close-button:hover,
.shop-filters-close:hover {
	background: var(--color-text);
	color: var(--color-bg);
}

.drawer-close-button .icon,
.shop-filters-close .icon {
	width: 1em;
	height: 1em;
}

.shop-filter-widget {
	padding-block: var(--space-md);
	border-bottom: 1px solid var(--color-border);
}

.shop-filter-widget-title {
	font-size: var(--text-sm);
	font-family: var(--font-body);
	font-weight: var(--weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: var(--space-sm);
}

/* --- Breadcrumbs --- */
.breadcrumbs {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	margin-block: var(--space-lg) 0;
}

.breadcrumbs a {
	color: var(--color-text-muted);
}

.breadcrumbs a:hover {
	color: var(--color-accent-primary-dark);
}

.breadcrumbs-sep {
	margin-inline: var(--space-xs);
}

/* --- Newsletter --- */
.newsletter-block {
	display: flex;
	flex-direction: column;
	gap: var(--space-lg);
	background: linear-gradient(140deg, color-mix(in srgb, var(--color-accent-secondary) 80%, #fff), var(--color-accent-secondary));
	color: var(--color-text);
	border-radius: var(--radius-lg);
	padding: var(--space-2xl);
}

.newsletter-title {
	margin: 0;
}

.newsletter-subtitle {
	margin: 0;
	max-width: 50ch;
}

.newsletter-form {
	display: flex;
	gap: var(--space-sm);
	flex-wrap: wrap;
}

.newsletter-form input[type="email"] {
	flex: 1;
	min-width: 200px;
	border: none;
	border-radius: var(--radius-pill);
	padding: var(--space-md) var(--space-lg);
}

.homepage-newsletter {
	padding-block: var(--space-2xl);
}

/* --- Free shipping progress --- */
.free-shipping-progress {
	padding: var(--space-lg);
}

.free-shipping-progress-track {
	height: 7px;
	border-radius: var(--radius-pill);
	background: var(--color-bg-alt);
	overflow: hidden;
	margin-bottom: var(--space-sm);
}

.free-shipping-progress-fill {
	height: 100%;
	border-radius: var(--radius-pill);
	background: linear-gradient(90deg, var(--color-accent-primary), var(--color-accent-primary-dark));
	transition: width var(--duration-medium) var(--ease-soft);
}

.free-shipping-progress-label {
	margin: 0;
	font-size: var(--text-xs);
	color: var(--color-text-muted);
}

/* --- Cart drawer --- */
.cart-drawer-overlay {
	position: fixed;
	inset: 0;
	background: rgba(59, 50, 46, 0.4);
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--duration-medium) var(--ease-soft);
	z-index: 290;
}

.cart-drawer-panel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(420px, 100%);
	background: var(--color-surface);
	border-radius: var(--radius-lg) 0 0 var(--radius-lg);
	transform: translateX(100%);
	transition: transform var(--duration-medium) var(--ease-soft);
	z-index: 300;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

.cart-drawer.is-open .cart-drawer-overlay {
	opacity: 1;
	pointer-events: auto;
}

.cart-drawer.is-open .cart-drawer-panel {
	transform: translateX(0);
}

.cart-drawer[hidden] {
	display: block;
	visibility: hidden;
}

.cart-drawer.is-open {
	visibility: visible;
}

.cart-drawer-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--space-lg) var(--space-xl);
	border-bottom: 1px solid var(--color-border);
	flex-shrink: 0;
}

.cart-drawer-header h2 {
	margin: 0;
	font-size: var(--text-lg);
}

.cart-drawer-close {
	background: transparent;
	border: none;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-pill);
	color: var(--color-text);
}

.cart-drawer-close:hover {
	background: var(--color-bg-alt);
}

.cart-drawer .free-shipping-progress {
	padding: var(--space-lg) var(--space-xl);
	border-bottom: 1px solid var(--color-border);
	flex-shrink: 0;
}

/* Body → mini-cart: flex column where the item list scrolls and the
   total + View bag/Checkout footer stays pinned and always visible.
   IMPORTANT: cart fragments replace the div.widget_shopping_cart_content
   node wholesale (dropping any extra classes like cart-drawer-body), so
   the layout styles target .widget_shopping_cart_content scoped to the
   panel — that combination survives every AJAX refresh. */
.cart-drawer-panel .widget_shopping_cart_content {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	padding: 0;
}

.cart-drawer-panel .woocommerce-mini-cart {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: var(--space-sm) var(--space-xl);
	margin: 0;
}

.woocommerce-mini-cart-item {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: var(--space-md);
	align-items: start;
	padding-block: var(--space-lg);
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-mini-cart-item:last-child {
	border-bottom: none;
}

.mini-cart-item-media img {
	width: 64px;
	height: 80px;
	object-fit: cover;
	border-radius: var(--radius-md);
	background: var(--color-bg-alt);
}

.mini-cart-item-info {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.mini-cart-item-name {
	font-weight: var(--weight-semibold);
	font-size: var(--text-sm);
	color: var(--color-text);
	line-height: 1.35;
}

.mini-cart-item-name:hover {
	color: var(--color-accent-primary-dark);
}

.mini-cart-item-variants {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
}

/* Extra item data lines from wc_get_formatted_cart_item_data. */
.woocommerce-mini-cart-item dl.variation {
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--space-md);
	margin: 0;
	font-size: var(--text-xs);
	color: var(--color-text-muted);
}

.woocommerce-mini-cart-item dl.variation dt,
.woocommerce-mini-cart-item dl.variation dd {
	margin: 0;
	display: inline;
}

.woocommerce-mini-cart-item dl.variation dd p {
	display: inline;
	margin: 0;
}

/* Quantity stepper row: [ − qty + ]   unit price */
.mini-cart-item-qty-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm);
	margin-top: var(--space-xs);
}

.mini-cart-qty-stepper {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-pill);
	padding: 2px;
}

.mini-cart-qty-button {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: var(--radius-pill);
	background: transparent;
	color: var(--color-text);
	font-size: var(--text-base);
	line-height: 1;
	transition: background var(--duration-fast) var(--ease-soft);
}

.mini-cart-qty-button:hover:not(:disabled) {
	background: var(--color-bg-alt);
}

.mini-cart-qty-button:disabled {
	opacity: 0.4;
	/* not-allowed, not wait: the minus button is permanently disabled at
	   quantity 1, and a wait cursor there reads as a stuck loading state. */
	cursor: not-allowed;
}

.mini-cart-qty-value {
	min-width: 22px;
	text-align: center;
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
}

.woocommerce-mini-cart-item .quantity {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

.woocommerce-mini-cart-item .remove_from_cart_button {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: var(--color-text-muted);
	font-size: 1.1rem;
	line-height: 1;
}

.woocommerce-mini-cart-item .remove_from_cart_button:hover {
	background: var(--color-bg-alt);
	color: var(--color-sale);
}

/* Pinned footer: subtotal + buttons, always visible below the scroll area. */
.mini-cart-footer {
	flex-shrink: 0;
	border-top: 1px solid var(--color-border);
	background: var(--color-surface);
	padding: var(--space-lg) var(--space-xl) var(--space-xl);
}

.woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0 0 var(--space-md);
	font-weight: var(--weight-bold);
}

.woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-sm);
	margin: 0;
}

.woocommerce-mini-cart__buttons .button {
	width: 100%;
	text-align: center;
}

.mini-cart-empty {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-md);
	text-align: center;
	padding: var(--space-2xl) var(--space-xl);
}

.mini-cart-empty .icon {
	width: 2.2em;
	height: 2.2em;
	background-color: var(--color-accent-primary);
}

.mini-cart-empty .woocommerce-mini-cart__empty-message {
	color: var(--color-text-muted);
	margin: 0;
}

/* --- Floating bag bubble --- */
.bag-bubble {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 180;
	width: 56px;
	height: 56px;
	border: none;
	border-radius: var(--radius-pill);
	background: var(--color-text);
	color: var(--color-bg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-hover);
	transition: transform var(--duration-fast) var(--ease-soft), background var(--duration-fast) var(--ease-soft);
}

.bag-bubble:hover {
	background: var(--color-accent-primary-dark);
	transform: translateY(-3px);
}

.bag-bubble .icon {
	width: 1.4em;
	height: 1.4em;
}

.bag-bubble .cart-count-badge {
	top: -3px;
	right: -3px;
	border-color: var(--color-bg);
}

/* Keep clear of the sticky add-to-cart bar on mobile product pages. */
.single-product .bag-bubble {
	bottom: 88px;
}

@media (min-width: 64em) {
	.single-product .bag-bubble {
		bottom: 20px;
	}
}

/* --- Size guide link (product page, next to the size selector) --- */
.size-guide-trigger {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	background: none;
	border: none;
	text-decoration: underline wavy var(--color-accent-primary);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
	color: var(--color-text);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	padding: 0;
	margin-bottom: var(--space-lg);
}

.size-guide-trigger:hover {
	color: var(--color-accent-primary-dark);
}

.size-guide-trigger .icon {
	width: 1.1em;
	height: 1.1em;
}

/* --- Sticky add to cart (mobile product pages) --- */
.sticky-add-to-cart {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 150;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	background: var(--color-surface);
	border-top: 1px solid var(--color-border);
	padding: var(--space-md) var(--space-lg);
	box-shadow: var(--shadow-hover);
	transform: translateY(100%);
	transition: transform var(--duration-medium) var(--ease-soft);
}

.sticky-add-to-cart.is-visible {
	transform: translateY(0);
}

.sticky-add-to-cart[hidden] {
	display: flex;
	visibility: hidden;
}

.sticky-add-to-cart-info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.sticky-add-to-cart-name {
	font-family: var(--font-display);
	font-weight: var(--weight-medium);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sticky-add-to-cart-price {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

.sticky-add-to-cart-button {
	flex-shrink: 0;
}

/* --- Checkout trust message --- */
.checkout-trust-message {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

.checkout-trust-message .icon {
	width: 1.1em;
	height: 1.1em;
}

/* --- Static page content --- */
.static-page-content {
	max-width: 72ch;
	margin-inline: auto;
	padding-block: var(--space-2xl) var(--space-3xl);
}

.static-page-title {
	font-size: var(--text-2xl);
}

/* Editorial content rhythm inside page.php's the_content() output. The
   sitewide reset zeroes ul/ol margins and strips bullets (correct for UI
   lists like nav menus and cart rows), which left policy-style pages with
   consistent paragraph/heading spacing but zero spacing around lists —
   this restores a single consistent vertical rhythm for prose: headings
   introduce a section, paragraphs and lists share the same bottom margin,
   list items get breathing room and their bullet back. */
.entry-content > :first-child {
	margin-top: 0;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-top: var(--space-2xl);
}

.entry-content ul,
.entry-content ol {
	margin: 0 0 var(--space-lg);
	padding-left: var(--space-xl);
}

.entry-content ul {
	list-style: disc;
}

.entry-content ol {
	list-style: decimal;
}

.entry-content li {
	margin-bottom: var(--space-xs);
	line-height: var(--leading-relaxed);
}

.entry-content li:last-child {
	margin-bottom: 0;
}

.entry-content table {
	margin-bottom: var(--space-lg);
}

.entry-content th,
.entry-content td {
	padding: var(--space-sm) var(--space-md);
	border: 1px solid var(--color-border);
	text-align: left;
}

/* --- Search results --- */
.search-results-header {
	padding-block: var(--space-xl) var(--space-lg);
}

.search-results-title span {
	color: var(--color-accent-primary-dark);
}

.search-result-teaser {
	padding-block: var(--space-lg);
	border-bottom: 1px solid var(--color-border);
}
