/**
 * Reusable UI components: scallop edges (the theme's signature element),
 * hero, category tiles, product cards, cart drawer, size guide link, shop
 * filters, value props, signup offer, 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;
}

/* --- 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;
}

/* The homepage's one paragraph of descriptive copy. Constrained to a readable
   measure and kept quieter than the heading — it carries the page's subject
   matter without competing with the product imagery below it. */
.featured-spotlight-intro {
	max-width: 60ch;
	margin: var(--space-sm) auto 0;
	color: var(--color-text-muted);
}

.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;
}

/* Sized for a phone here and stepped back up at 48em (responsive.css): two
   cards per row on a ~390px screen leaves the media box around 167px wide,
   which the desktop chip size overran. The ellipsis is a last resort for a
   pathologically long term, not the normal case — the layout below is what
   keeps chips off each other. */
.product-card-chip {
	font-size: 0.6rem;
	font-weight: var(--weight-bold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 3px 9px;
	border-radius: var(--radius-pill);
	backdrop-filter: blur(3px);
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Category and tag ride the bottom of the image in one row spanning the card,
   so the space between them is the container's job rather than two absolute
   corners drifting into each other.

   `wrap-reverse` + `flex-shrink: 0` is what makes this hold at every card
   width, with no breakpoint: while both chips fit they sit at opposite ends
   of the image; the moment they don't, the tag wraps onto its own line
   *above* the category (wrap-reverse puts the first line at the bottom, and
   the container grows upward off its bottom edge) rather than either chip
   being squeezed into an ellipsis.

   That is not a rare case. Measured: "UNDERWEAR" + "BEST SELLER" need 207px,
   against the 143px a card offers at two-per-row on a 390px phone and 189px
   at four-per-row beside the desktop filter sidebar. Neither fits, and no
   type size that stays legible closes the gap — so wrapping, not shrinking,
   is the only way both stay readable in full. */
.product-card-chips {
	position: absolute;
	z-index: 2;
	left: var(--space-md);
	right: var(--space-md);
	bottom: var(--space-md);
	display: flex;
	flex-wrap: wrap-reverse;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--space-xs) var(--space-sm);
}

/* Never squeeze: a chip that can't share its line takes a new one. The
   max-width above still applies, for a single term wider than the card. */
.product-card-chip--category,
.product-card-chip--tag {
	flex-shrink: 0;
}

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

/* Stock chip lives top-left — a different level from the chip row along the
   bottom, 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 {
	position: absolute;
	z-index: 2;
	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);
}

/* --- Signup offer (homepage: 10% off for creating an account) --- */
.signup-offer-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);
}

.signup-offer-title {
	margin: 0;
}

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

/* align-self keeps the button its natural width instead of stretching across
   the block the way a flex-column child otherwise would. */
.signup-offer-button {
	align-self: flex-start;
}

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

/* --- Currency switcher ---
   Compact by design: it sits in the header row beside four icon buttons and
   the logo, so it shows the code only ("USD"), never a full currency name. */
.currency-switcher {
	display: flex;
	align-items: center;
	gap: var(--space-xs);
}

.currency-switcher select {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-pill);
	background: transparent;
	color: var(--color-text);
	font-size: var(--text-sm);
	padding: var(--space-xs) var(--space-sm);
	cursor: pointer;
}

/* The switcher ships hidden and is revealed by assets/js/currency.js, which
   owns the conversion. Without that script there is nothing for it to switch
   between — prices stay in the store currency — so a dead control never
   appears. `hidden` alone wouldn't win against the display:flex above. */
.currency-switcher[hidden] {
	display: none;
}

/* Phones: the header row has no space for it, so the mobile nav drawer
   carries the switcher instead (see header.php). */
.site-header-actions .currency-switcher {
	display: none;
}

.mobile-nav-currency {
	padding: var(--space-lg) var(--space-xs);
	border-top: 1px solid var(--color-border);
}

/* --- 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;
}

/* Currency note sits between the progress bar and the item list, so it takes
   the same gutters as the progress bar rather than running edge to edge. */
.cart-drawer .currency-charge-notice {
	margin: 0;
	padding: var(--space-md) 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: var(--bubble-inset);
	bottom: calc(var(--bubble-inset) + var(--bubble-lift));
	z-index: 180;
	width: var(--bubble-size);
	height: var(--bubble-size);
	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. Set as a
   lift on the corner rather than on the bag bubble alone, so anything else
   floating there clears the bar too. 68px preserves the bag bubble's original
   88px offset (20px inset + 68px lift). */
.single-product {
	--bubble-lift: 68px;
}

@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);
}

/* Editor-authored tables only (the size chart, care tables) — those are bare
   <table> elements with no class of their own.

   WooCommerce's tables render inside .entry-content too: cart, checkout
   summary and account orders all reach the page through page.php. They come
   with their own row rules and spacing, and a full grid drawn on top turns a
   summary card into a spreadsheet, so both of WooCommerce's naming schemes
   are excluded — `shop_table` for the classic templates, `wc-block-*` for the
   Cart and Checkout blocks. */
.entry-content table:not(.shop_table):not([class*="wc-block"]) th,
.entry-content table:not(.shop_table):not([class*="wc-block"]) 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);
}
