:root {
	--color-bg: #ffffff;
	--color-bg-soft: #fafafa;
	--color-surface: #ffffff;
	--color-surface-strong: #ffffff;
	--color-text: #1a1a1a;
	--color-muted: #888888;
	--color-border: rgba(0, 0, 0, 0.1);
	--color-accent: #000000;
	--color-accent-deep: #333333;
	--color-accent-soft: #f0f0f0;
	--color-dark: #000000;
	--color-success: #275843;
	--shadow-soft: none;
	--shadow-card: none;
	--radius-xs: 0;
	--radius-sm: 0;
	--radius-md: 0;
	--radius-lg: 0;
	--container: min(1320px, calc(100vw - 40px));
	--font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--font-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--announcement-bar-height: 2.2rem;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--font-sans);
	color: var(--color-text);
	background: var(--color-bg);
	line-height: 1.6;
}

body.menu-open {
	overflow: hidden;
}

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

a {
	color: inherit;
	text-decoration: none;
}

p {
	margin: 0 0 1rem;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.container {
	width: var(--container);
	margin-inline: auto;
}


/* Sale banner styles moved to the Marev Sale Banner plugin (assets/banner.css). */

/* ── Announcement bar ───────────────────────────────────────────────────── */
.announcement-bar {
	display: block;
	position: sticky;
	top: 0;
	z-index: 51;
	width: 100%;
	background-color: #000;
	color: #fff;
	text-align: center;
	padding: 0.6rem 1.25rem;
	letter-spacing: 0.08em;
}

.announcement-bar__text {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.4;
	color: #fff;
}

.announcement-bar__amount {
	font-weight: 600;
}

/* ── Site header ────────────────────────────────────────────────────────── */
.site-header {
	position: sticky;
	top: var(--announcement-bar-height);
	z-index: 50;
	background: transparent;
	backdrop-filter: none;
	border-bottom: 1px solid transparent;
	transition: border-color 180ms ease, background 180ms ease;
}

body.is-scrolled .site-header {
	border-color: var(--color-border);
	background: transparent;
}

.site-header__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 2rem;
	padding: 1.1rem 0;
}

.site-header__row.container {
	width: 100%;
	max-width: none;
	padding: 1.1rem 2rem;
}

.site-branding {
	justify-self: center;
}

.custom-logo-link img,
.site-branding__text {
	max-height: 70px;
	width: auto;
}

.site-branding__text {
	font-family: var(--font-sans);
	font-size: 1.1rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-weight: 400;
}

.site-menu,
.footer-menu,
.social-menu,
.footer-links {
	list-style: none;
}

.site-menu {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1.35rem;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
}

.site-menu .menu-item-object-product_cat > a,
.site-menu .menu-item-type-taxonomy > a {
	font-weight: 600;
}

.site-navigation > div > ul,
.site-footer__nav > div > div > ul {
	display: flex;
	align-items: center;
	gap: 1.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-menu a,
.site-header__utility,
.footer-menu a,
.social-menu a,
.footer-links a,
.catalog-chip,
.text-link {
	position: relative;
}

.site-menu a::after,
.site-header__utility::after,
.footer-menu a::after,
.social-menu a::after,
.footer-links a::after,
.catalog-chip::after,
.text-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.2rem;
	width: 100%;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 160ms ease;
}

.site-menu a:hover::after,
.site-header__utility:hover::after,
.footer-menu a:hover::after,
.social-menu a:hover::after,
.footer-links a:hover::after,
.catalog-chip:hover::after,
.text-link:hover::after {
	transform: scaleX(1);
}

.site-header__left {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.site-header__left .shop-drawer-trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	cursor: pointer;
}

.site-header__left .shop-drawer-trigger .shop-drawer-trigger__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 4px;
	width: 20px;
	flex-shrink: 0;
}

.site-header__left .shop-drawer-trigger .shop-drawer-trigger__icon span {
	display: block;
	width: 20px;
	height: 1.5px;
	background: currentColor;
}

.shop-drawer-trigger__icon,
.site-header__cart-icon {
	display: none;
}

.site-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1.2rem;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
}

.site-header__cart {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.site-header__cart-count {
	font-size: inherit;
}

.mobile-nav-toggle {
	display: none;
	width: 48px;
	height: 48px;
	border: 1px solid var(--color-border);
	border-radius: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
}

.mobile-nav-toggle span {
	display: block;
	width: 18px;
	height: 2px;
	margin: 4px auto;
	background: var(--color-text);
}

.shop-drawer-trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: transparent;
	border: none;
	padding: 0.3rem 0;
	cursor: pointer;
	color: var(--color-text);
	font-size: 0.78rem;
	font-family: inherit;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.shop-drawer-trigger:hover {
	opacity: 0.55;
}

/* Search trigger button */
.search-trigger {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.5rem;
	padding: 0.3rem;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--color-text);
	transition: opacity 150ms ease;
}

.search-trigger:hover {
	opacity: 0.55;
}

/* ── Search overlay ─────────────────────────────────────────────────────── */
.search-overlay {
	position: fixed;
	inset: 0;
	z-index: 200;
	background: #fff;
	display: flex;
	flex-direction: column;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 220ms ease, transform 220ms ease;
	overflow-y: auto;
}

.search-overlay[hidden] {
	display: none;
}

.search-overlay.is-open {
	opacity: 1;
	transform: translateY(0);
}

/* Prevent background scroll when search is open */
body.search-open {
	overflow: hidden;
}

/* Header bar */
.search-overlay__header {
	position: sticky;
	top: 0;
	z-index: 2;
	background: #fff;
	border-bottom: 1px solid var(--color-border);
	padding: 1rem 0;
}

.search-overlay__bar {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.search-overlay__icon {
	flex-shrink: 0;
	color: var(--color-muted);
}

.search-overlay__input {
	flex: 1;
	border: none;
	outline: none;
	font-family: var(--font-sans);
	font-size: 1.25rem;
	font-weight: 300;
	letter-spacing: 0.03em;
	color: var(--color-text);
	background: transparent;
	padding: 0.25rem 0;
}

.search-overlay__input::placeholder {
	color: var(--color-muted);
}

/* hide the browser's native × on search inputs */
.search-overlay__input::-webkit-search-cancel-button {
	display: none;
}

.search-overlay__close {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--color-text);
	transition: opacity 150ms ease;
}

.search-overlay__close:hover {
	opacity: 0.5;
}

/* Results area */
.search-overlay__body {
	padding: 2rem 0 4rem;
}

.search-overlay__meta {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-muted);
	margin-bottom: 1.5rem;
}

.search-overlay__empty {
	font-size: 0.9rem;
	color: var(--color-muted);
	padding: 3rem 0;
	text-align: center;
}

/* Results grid — no gaps, tiles sit flush against each other */
.search-overlay__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
}

/* Product card */
.search-overlay__card {
	display: block;
	color: var(--color-text);
	text-decoration: none;
}

.search-overlay__card:hover .search-overlay__card-image img {
	transform: scale(1.04);
}

.search-overlay__card-image {
	position: relative;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--color-bg-soft);
}

.search-overlay__card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 380ms ease;
}

.search-overlay__card-info {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.6rem 0.5rem 0.75rem;
}

.search-overlay__card-title {
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.search-overlay__card-price {
	font-size: 0.8rem;
	color: var(--color-muted);
}

/* Skeleton loader */
.search-overlay__card--skeleton .search-overlay__card-image {
	background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%);
	background-size: 200% 100%;
	animation: marev-shimmer 1.4s infinite;
}

.search-overlay__skeleton-line {
	display: block;
	height: 0.7rem;
	background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%);
	background-size: 200% 100%;
	animation: marev-shimmer 1.4s infinite;
	border-radius: 2px;
}

.search-overlay__skeleton-line--short {
	width: 50%;
	margin-top: 0.35rem;
}

@keyframes marev-shimmer {
	0%   { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* Responsive */
@media (max-width: 1024px) {
	.search-overlay__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.search-overlay__input {
		font-size: 1rem;
	}

	.search-overlay__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0;
	}
}

/* ── Shop drawer panel ── */
.shop-drawer {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: flex;
}

.shop-drawer[hidden] {
	display: none;
}

.shop-drawer__panel {
	position: relative;
	width: 300px;
	max-width: 85vw;
	height: 100%;
	background: var(--color-bg, #fff);
	overflow-y: auto;
	padding: 2rem 1.75rem 3rem;
	transform: translateX(-100%);
	transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.shop-drawer.is-open .shop-drawer__panel {
	transform: translateX(0);
}

.shop-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	border: none;
	cursor: pointer;
	opacity: 0;
	transition: opacity 300ms ease;
}

.shop-drawer.is-open .shop-drawer__backdrop {
	opacity: 1;
}

.shop-drawer__close {
	align-self: flex-end;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--color-text);
	padding: 0;
	margin-bottom: 0.5rem;
}

.shop-drawer__close:hover {
	opacity: 0.6;
}

.shop-drawer__section {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.shop-drawer__heading {
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-text, #111);
	margin: 0;
}

.shop-drawer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.shop-drawer__list li a {
	display: block;
	padding: 0.6rem 0;
	font-size: 0.82rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-text);
	border-bottom: 1px solid var(--color-border, #eee);
	transition: opacity 150ms ease;
}

.shop-drawer__list li:last-child a {
	border-bottom: none;
}

.shop-drawer__list li a:hover {
	opacity: 0.55;
}

/* "Sales" virtual category — red block to match the sale banner.
   Bleeds through the panel's 1.75rem left padding so the background starts
   at the screen edge, while the left padding keeps the text aligned with
   the other menu items. */
.shop-drawer__list li.shop-drawer__sale a {
	background: #d0021b;
	color: #fff;
	font-weight: 600;
	padding: 0.6rem 0.75rem 0.6rem 1.75rem;
	margin-left: -1.75rem;
	border-bottom: none;
	margin-bottom: 0.35rem;
}

.shop-drawer__list li.shop-drawer__sale a:hover {
	opacity: 0.85;
}


body.drawer-open {
	overflow: hidden;
}

.front-page {
	padding-bottom: 5rem;
}

.home-video-hero {
	position: relative;
	width: 100%;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
	background: #000;
}

.home-video-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none; /* taps fall through to the page, never to the native player */
}

/* Hide iOS / in-app browser (TikTok, Instagram) native video UI.
   The start-playback button is the big play circle that blocks autoplay;
   hiding it lets muted inline video run without showing any controls. */
.home-video-hero__video::-webkit-media-controls,
.home-video-hero__video::-webkit-media-controls-enclosure,
.home-video-hero__video::-webkit-media-controls-panel,
.home-video-hero__video::-webkit-media-controls-start-playback-button,
.home-video-hero__video::-webkit-media-controls-play-button,
.home-video-hero__video::-webkit-media-controls-overlay-play-button {
	display: none !important;
	-webkit-appearance: none !important;
	opacity: 0 !important;
}

/* Canvas inline-playback fallback (in-app browsers like TikTok). */
.home-video-hero__canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

/* When canvas rendering takes over, hide the native video element. */
.home-video-hero.is-canvas-mode .home-video-hero__video {
	opacity: 0;
	visibility: hidden;
}

.home-video-hero__link {
	position: absolute;
	left: 50%;
	bottom: clamp(1.5rem, 4vw, 3rem);
	z-index: 1;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.85rem 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.72);
	color: #fff;
	background: rgba(0, 0, 0, 0.16);
	backdrop-filter: blur(4px);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.home-video-hero__link:hover {
	background: #fff;
	color: #000;
}

.home-latest-products {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.home-latest-products .products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	background: rgba(0, 0, 0, 0.06);
}

.home-latest-products .product {
	background: #f5f5f5;
}

.home-latest-products .empty-state {
	margin: 2rem auto;
	width: var(--container);
}

.hero-editorial {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.8rem, 4vw, 4rem);
	align-items: center;
	padding-top: clamp(2rem, 4vw, 4rem);
}

.hero-editorial__copy {
	padding: clamp(1rem, 2vw, 2rem) 0;
}

.hero-editorial__kicker,
.section-heading p,
.catalog-header__eyebrow,
.story-band__eyebrow,
.page-shell__eyebrow,
.site-footer__eyebrow,
.single-shell__meta {
	margin-bottom: 0.9rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-muted);
}

.hero-editorial h1,
.section-heading h2,
.catalog-header h1,
.story-band h2,
.site-footer h2,
.page-shell h1,
.single-shell h1,
.single-product .product_title,
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-account h1 {
	margin: 0 0 1rem;
	font-family: var(--font-sans);
	font-size: clamp(2.6rem, 6vw, 5.25rem);
	line-height: 0.95;
	font-weight: 300;
	letter-spacing: -0.02em;
}

.hero-editorial__copy p:not(.hero-editorial__kicker) {
	max-width: 34rem;
	font-size: 1.05rem;
	color: var(--color-muted);
}

.hero-editorial__actions,
.product-card__actions,
.catalog-toolbar,
.single-product-assurance {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .return-to-shop .button,
.woocommerce-page .button,
.added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.95rem 1.4rem;
	border: 1px solid var(--color-dark);
	border-radius: 0;
	background: var(--color-dark);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page .button:hover,
.added_to_cart:hover {
	background: var(--color-accent-deep);
	border-color: var(--color-accent-deep);
	color: #fff;
}

.button--ghost,
.woocommerce .button.alt {
	background: transparent;
	color: var(--color-text);
}

.button--ghost:hover,
.woocommerce .button.alt:hover {
	background: var(--color-dark);
	color: #fff;
}

.hero-editorial__visuals,
.collections-band__grid {
	display: grid;
	gap: 1.25rem;
}

.hero-editorial__visuals {
	grid-template-columns: 1.1fr 0.9fr;
	align-items: stretch;
}

.category-card {
	position: relative;
	min-height: 31rem;
	border-radius: 0;
	overflow: hidden;
	background: var(--color-accent-soft);
	box-shadow: none;
}

.category-card--tall {
	min-height: 42rem;
}

.category-card--short {
	min-height: 32rem;
	align-self: end;
}

.category-card__link {
	position: relative;
	display: flex;
	align-items: flex-end;
	height: 100%;
	padding: 2rem;
	background-image: var(--card-image);
	background-size: cover;
	background-position: center;
}

.category-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 12, 11, 0.02) 20%, rgba(10, 12, 11, 0.62) 100%);
}

.category-card__content {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0.35rem;
	color: #fff;
}

.category-card__eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0.88;
}

.category-card__title {
	font-family: var(--font-sans);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 0.98;
	font-weight: 300;
}

.category-card__count {
	font-size: 0.95rem;
	opacity: 0.88;
}

.collections-band,
.product-band,
.content-shell {
	padding-top: 4.5rem;
}

.collections-band__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1.8rem;
}

.collections-band .category-card {
	min-height: 28rem;
}

.section-heading--split {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}

.text-link {
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.empty-state,
.page-shell,
.single-shell,
.content-card {
	background: var(--color-surface-strong);
	border: 1px solid var(--color-border);
	border-radius: 0;
	box-shadow: none;
}

.empty-state {
	padding: 2rem;
	text-align: center;
}

.story-band {
	display: none;
}

.story-band__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}

.story-band__panel {
	padding: clamp(2rem, 4vw, 3rem);
	border-radius: 0;
	background: #f5f5f5;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: none;
}

.story-band__panel--copy {
	background: #1a1a1a;
	color: #f7f2ec;
}

.story-band__panel--copy p {
	color: rgba(247, 242, 236, 0.8);
}

.site-footer {
	margin-top: 5rem;
	padding: 4rem 0 1.5rem;
	border-top: 1px solid var(--color-border);
	background: #ffffff;
}

.site-footer__columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.5rem;
	padding-bottom: 2.5rem;
}

.site-footer__heading {
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
	color: #111;
	margin: 0 0 1.2rem;
}

.site-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

.site-footer__links a {
	font-size: 0.85rem;
	color: var(--color-muted, #666);
	text-decoration: none;
	cursor: pointer;
}

.site-footer__links a:hover {
	color: #111;
}

.site-footer__newsletter-field {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #bbb;
	padding-bottom: 0.35rem;
}

.site-footer__newsletter-input {
	flex: 1;
	border: none;
	background: none;
	outline: none;
	font-size: 0.85rem;
	color: #111;
	padding: 0;
}

.site-footer__newsletter-input::placeholder {
	color: #aaa;
}

.site-footer__newsletter-btn {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1rem;
	color: #888;
	padding: 0 0 0 0.4rem;
	line-height: 1;
	flex-shrink: 0;
}

.site-footer__newsletter-btn:hover {
	color: #111;
}

.site-footer__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 2rem;
	margin-top: 2rem;
	border-top: 1px solid var(--color-border);
	color: var(--color-muted);
}

.site-footer__payments {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem 1.25rem;
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--color-border);
}

.site-footer__payments-label {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-muted);
	font-weight: 500;
}

.site-footer__payments-list {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	justify-content: center;
}

.payment-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 28px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.payment-badge:hover {
	transform: translateY(-1px);
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
}

.payment-badge svg {
	width: 80%;
	height: 80%;
	display: block;
}

@media (max-width: 640px) {
	.site-footer__payments {
		gap: 0.85rem;
		margin-top: 2rem;
		padding-top: 1.5rem;
	}
	.payment-badge {
		width: 40px;
		height: 26px;
	}
	.site-footer__payments-label {
		width: 100%;
		text-align: center;
		margin-bottom: 0.25rem;
	}
}

.content-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
}

.content-card__body,
.page-shell__content,
.single-shell__content {
	padding: 1.75rem;
}

.content-card__title,
.single-shell h1,
.page-shell h1 {
	font-size: clamp(2rem, 5vw, 3.4rem);
}

.page-shell__header,
.single-shell__header {
	padding: 2rem 2rem 0;
}

.page-shell__content > *:last-child,
.single-shell__content > *:last-child {
	margin-bottom: 0;
}

.shop-shell {
	padding-top: 2rem;
	padding-bottom: 4rem;
}

.catalog-header,
.single-product-assurance__item,
.shop-layout__sidebar .widget,
.woocommerce-cart .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce form.lost_reset_password {
	background: var(--color-surface-strong);
	border: 1px solid var(--color-border);
	border-radius: 0;
	box-shadow: none;
}

.shop-shell__main {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

.catalog-header,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce form.lost_reset_password {
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.catalog-header {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: 2rem;
	margin-bottom: 1.5rem;
}

.catalog-header__description,
.catalog-header__meta,
.woocommerce .woocommerce-breadcrumb,
.product-card__eyebrow,
.product-card__price,
.woocommerce div.product .price,
.woocommerce .woocommerce-result-count,
.woocommerce-tabs,
.woocommerce .stock,
.shop-layout__sidebar,
.widget {
	color: var(--color-muted);
}

.catalog-chips {
	display: none;
}

.catalog-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.7rem 1rem;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.58);
	border: 1px solid var(--color-border);
	font-size: 0.86rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.catalog-chip.is-active {
	background: var(--color-dark);
	color: #fff;
	border-color: var(--color-dark);
}

.catalog-toolbar {
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5rem;
	padding: 1.1rem 0;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: 100%;
	padding: 0.95rem 1rem;
	border: 1px solid rgba(0, 0, 0, 0.18);
	border-radius: 0;
	background: #fff;
	font: inherit;
	color: var(--color-text);
}

.shop-layout {
	display: block;
}

.shop-layout.has-sidebar {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

.shop-layout__sidebar {
	position: sticky;
	top: 8rem;
}

.shop-layout__sidebar .widget {
	padding: 1.4rem;
}

.widget-title {
	margin: 0 0 1rem;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	color: var(--color-text);
}

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
}

.product-card__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #f5f5f5;
	border: 0;
	box-shadow: none;
}

.product-card__media {
	position: relative;
	display: block;
	aspect-ratio: 0.78;
	overflow: hidden;
	background: #f0f0f0;
}

.product-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 220ms ease, opacity 220ms ease;
}

.product-card__secondary {
	opacity: 0;
}

/* ── Card loader (shown while image loads) ── */
@keyframes card-loader-pulse {
	0%, 100% { opacity: 0.25; }
	50%       { opacity: 0.7; }
}

.card-loader {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f0f0f0;
	pointer-events: none;
	opacity: 1;
	transition: opacity 400ms ease;
	z-index: 1;
}

.img-loaded .card-loader {
	opacity: 0;
}

.card-loader__brand {
	font-family: var(--font-sans, sans-serif);
	font-size: 0.78rem;
	font-weight: 400;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--color-text, #111);
	animation: card-loader-pulse 1.8s ease-in-out infinite;
	user-select: none;
}

.product-card__media:hover .product-card__primary {
	transform: scale(1.04);
}

.product-card__media:hover .product-card__secondary {
	opacity: 1;
}

.product-card__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 1;
	padding: 0.4rem 0.7rem;
	border-radius: 0;
	background: rgba(0, 0, 0, 0.9);
	color: #fff;
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.product-card__badge--soldout {
	background: #d0021b;
	color: #fff;
}

.product-card__content {
	display: none;
}

.product-card__headline {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}

.product-card__title {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 0.94rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.35;
}

.product-card__eyebrow,
.product-card__price,
.product-card__price .amount {
	margin: 0;
	color: var(--color-muted);
}

.product-card__eyebrow {
	margin-bottom: 0.35rem;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
}

.product-card__price {
	white-space: nowrap;
	font-size: 0.92rem;
}

.product-card__sizes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	list-style: none;
	margin: 0;
	padding: 0;
	color: var(--color-muted);
	font-size: 0.76rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}


.shop-archive-shell {
	padding: 0 0 2.5rem;
}

.shop-archive-shell__chrome {
	width: min(100%, calc(100vw - 40px));
	margin: 0 auto;
	padding: 0.85rem 0 1rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

/* ── Mobile column-view toggle ── */
.shop-columns-toggle {
	display: none;
}

@media (max-width: 840px) {
	.shop-columns-toggle {
		display: flex;
		gap: 0.3rem;
		align-items: center;
	}

	.shop-columns-toggle__btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2rem;
		height: 2rem;
		padding: 0;
		background: none;
		border: 1px solid transparent;
		border-radius: 3px;
		color: #bbb;
		cursor: pointer;
		transition: color 150ms ease, border-color 150ms ease;
	}

	.shop-columns-toggle__btn:hover {
		color: #555;
	}

	.shop-columns-toggle__btn.is-active {
		color: #111;
		border-color: #ccc;
	}

	/* 1-column layout override */
	.shop-archive-grid.cols-1 .products {
		grid-template-columns: 1fr !important;
	}

	/* 2-column layout override (default, but explicit when JS sets the class) */
	.shop-archive-grid.cols-2 .products {
		grid-template-columns: 1fr 1fr !important;
	}
}

.catalog-utility {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 0.25rem 0 0.9rem;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.catalog-hero {
	display: none;
}


.catalog-utility__sorting .woocommerce-ordering {
	float: none;
	margin: 0;
}

.catalog-utility__sorting select {
	min-width: 140px;
	padding: 0.2rem 1.4rem 0.2rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.catalog-filters-toggle {
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	color: var(--color-text);
}

.catalog-filters-toggle:hover {
	opacity: 0.7;
}

.shop-archive-shell .catalog-chips {
	display: none;
}

.shop-archive-grid {
	width: 100%;
}

.shop-archive-grid .products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 1px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: rgba(0, 0, 0, 0.06);
}

.shop-archive-grid .product {
	background: #f5f5f5;
}

.shop-archive-shell__pagination {
	width: min(100%, calc(100vw - 40px));
	margin: 1.5rem auto 0;
	text-align: center;
}

body.post-type-archive-product .shop-shell.shop-shell--generic.container,
body.tax-product_cat .shop-shell.shop-shell--generic.container,
body.tax-product_tag .shop-shell.shop-shell--generic.container {
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
}

body.post-type-archive-product .shop-shell--generic .shop-shell__main,
body.tax-product_cat .shop-shell--generic .shop-shell__main,
body.tax-product_tag .shop-shell--generic .shop-shell__main {
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

body.post-type-archive-product .shop-shell--generic .woocommerce-products-header,
body.post-type-archive-product .shop-shell--generic .woocommerce-result-count,
body.post-type-archive-product .shop-shell--generic .woocommerce-ordering,
body.tax-product_cat .shop-shell--generic .woocommerce-products-header,
body.tax-product_cat .shop-shell--generic .woocommerce-result-count,
body.tax-product_cat .shop-shell--generic .woocommerce-ordering,
body.tax-product_tag .shop-shell--generic .woocommerce-products-header,
body.tax-product_tag .shop-shell--generic .woocommerce-result-count,
body.tax-product_tag .shop-shell--generic .woocommerce-ordering {
	display: none;
}

body.post-type-archive-product .shop-shell--generic .products,
body.tax-product_cat .shop-shell--generic .products,
body.tax-product_tag .shop-shell--generic .products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: rgba(0, 0, 0, 0.06);
}

body.post-type-archive-product .shop-shell--generic .product,
body.tax-product_cat .shop-shell--generic .product,
body.tax-product_tag .shop-shell--generic .product {
	background: #f5f5f5;
}

.shop-archive-grid .product-card__inner {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	border-radius: 0;
	background: #ffffff;
	border: 0;
	box-shadow: none;
}

.shop-archive-grid .product-card__media {
	height: auto;
	aspect-ratio: 3 / 4;
}

.shop-archive-grid .product-card__media::after,
body.post-type-archive-product .shop-shell--generic .product-card__media::after,
body.tax-product_cat .shop-shell--generic .product-card__media::after,
body.tax-product_tag .shop-shell--generic .product-card__media::after {
	display: none;
}

.shop-archive-grid .product-card__content,
body.post-type-archive-product .shop-shell--generic .product-card__content,
body.tax-product_cat .shop-shell--generic .product-card__content,
body.tax-product_tag .shop-shell--generic .product-card__content {
	position: static;
	display: grid;
	gap: 0.55rem;
	padding: 0.9rem 0.2rem 0.25rem;
	opacity: 1;
	transform: none;
	background: #ffffff;
}

.shop-archive-grid .product-card__content::after,
body.post-type-archive-product .shop-shell--generic .product-card__content::after,
body.tax-product_cat .shop-shell--generic .product-card__content::after,
body.tax-product_tag .shop-shell--generic .product-card__content::after {
	display: none;
}

.shop-archive-grid .product-card__headline,
body.post-type-archive-product .shop-shell--generic .product-card__headline,
body.tax-product_cat .shop-shell--generic .product-card__headline,
body.tax-product_tag .shop-shell--generic .product-card__headline {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
	gap: 0.35rem;
}

.shop-archive-grid .product-card__title,
.shop-archive-grid .product-card__title a,
.shop-archive-grid .product-card__price,
.shop-archive-grid .product-card__price .amount,
.shop-archive-grid .product-card__sizes,
.shop-archive-grid .product-card__swatches,
body.post-type-archive-product .shop-shell--generic .product-card__title,
body.post-type-archive-product .shop-shell--generic .product-card__title a,
body.post-type-archive-product .shop-shell--generic .product-card__price,
body.post-type-archive-product .shop-shell--generic .product-card__price .amount,
body.post-type-archive-product .shop-shell--generic .product-card__sizes,
body.post-type-archive-product .shop-shell--generic .product-card__swatches,
body.tax-product_cat .shop-shell--generic .product-card__title,
body.tax-product_cat .shop-shell--generic .product-card__title a,
body.tax-product_cat .shop-shell--generic .product-card__price,
body.tax-product_cat .shop-shell--generic .product-card__price .amount,
body.tax-product_cat .shop-shell--generic .product-card__sizes,
body.tax-product_cat .shop-shell--generic .product-card__swatches,
body.tax-product_tag .shop-shell--generic .product-card__title,
body.tax-product_tag .shop-shell--generic .product-card__title a,
body.tax-product_tag .shop-shell--generic .product-card__price,
body.tax-product_tag .shop-shell--generic .product-card__price .amount,
body.tax-product_tag .shop-shell--generic .product-card__sizes,
body.tax-product_tag .shop-shell--generic .product-card__swatches {
	color: #292929;
}

.shop-archive-grid .product-card__title,
body.post-type-archive-product .shop-shell--generic .product-card__title,
body.tax-product_cat .shop-shell--generic .product-card__title,
body.tax-product_tag .shop-shell--generic .product-card__title {
	margin: 0;
	max-width: none;
	font-family: var(--font-sans);
	font-size: 0.92rem;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0.015em;
}

.shop-archive-grid .product-card__price,
body.post-type-archive-product .shop-shell--generic .product-card__price,
body.tax-product_cat .shop-shell--generic .product-card__price,
body.tax-product_tag .shop-shell--generic .product-card__price {
	white-space: normal;
	font-size: 0.86rem;
	line-height: 1.2;
	color: #555555;
}

.shop-archive-grid .product-card__swatches,
.shop-archive-grid .product-card__sizes,
body.post-type-archive-product .shop-shell--generic .product-card__swatches,
body.post-type-archive-product .shop-shell--generic .product-card__sizes,
body.tax-product_cat .shop-shell--generic .product-card__swatches,
body.tax-product_cat .shop-shell--generic .product-card__sizes,
body.tax-product_tag .shop-shell--generic .product-card__swatches,
body.tax-product_tag .shop-shell--generic .product-card__sizes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.68rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.shop-archive-grid .product-card__swatches li,
body.post-type-archive-product .shop-shell--generic .product-card__swatches li,
body.tax-product_cat .shop-shell--generic .product-card__swatches li,
body.tax-product_tag .shop-shell--generic .product-card__swatches li {
	display: inline-flex;
}

.shop-archive-grid .product-card__swatches span,
body.post-type-archive-product .shop-shell--generic .product-card__swatches span,
body.tax-product_cat .shop-shell--generic .product-card__swatches span,
body.tax-product_tag .shop-shell--generic .product-card__swatches span {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: var(--swatch-color);
	border: 1px solid rgba(17, 17, 17, 0.1);
	box-shadow: none;
}

.shop-archive-grid .product-card__swatches li:first-child span,
body.post-type-archive-product .shop-shell--generic .product-card__swatches li:first-child span,
body.tax-product_cat .shop-shell--generic .product-card__swatches li:first-child span,
body.tax-product_tag .shop-shell--generic .product-card__swatches li:first-child span {
	box-shadow: 0 0 0 1px #202020;
}

.shop-archive-grid .product-card__sizes,
body.post-type-archive-product .shop-shell--generic .product-card__sizes,
body.tax-product_cat .shop-shell--generic .product-card__sizes,
body.tax-product_tag .shop-shell--generic .product-card__sizes {
	gap: 0.55rem;
	color: #6b6b6b;
	font-size: 0.64rem;
}

.shop-archive-grid .product-card__inner:hover .product-card__media::after,
.shop-archive-grid .product-card__inner:focus-within .product-card__media::after,
body.post-type-archive-product .shop-shell--generic .product-card__inner:hover .product-card__media::after,
body.post-type-archive-product .shop-shell--generic .product-card__inner:focus-within .product-card__media::after,
body.tax-product_cat .shop-shell--generic .product-card__inner:hover .product-card__media::after,
body.tax-product_cat .shop-shell--generic .product-card__inner:focus-within .product-card__media::after,
body.tax-product_tag .shop-shell--generic .product-card__inner:hover .product-card__media::after,
body.tax-product_tag .shop-shell--generic .product-card__inner:focus-within .product-card__media::after {
	opacity: 0;
}

.shop-archive-grid .product-card__inner:hover .product-card__content,
.shop-archive-grid .product-card__inner:focus-within .product-card__content,
body.post-type-archive-product .shop-shell--generic .product-card__inner:hover .product-card__content,
body.post-type-archive-product .shop-shell--generic .product-card__inner:focus-within .product-card__content,
body.tax-product_cat .shop-shell--generic .product-card__inner:hover .product-card__content,
body.tax-product_cat .shop-shell--generic .product-card__inner:focus-within .product-card__content,
body.tax-product_tag .shop-shell--generic .product-card__inner:hover .product-card__content,
body.tax-product_tag .shop-shell--generic .product-card__inner:focus-within .product-card__content {
	opacity: 1;
	transform: none;
}

@media (max-width: 840px) {
	.shop-archive-grid .product-card__media::after,
	.shop-archive-grid .product-card__content,
	body.post-type-archive-product .shop-shell--generic .product-card__media::after,
	body.post-type-archive-product .shop-shell--generic .product-card__content,
	body.tax-product_cat .shop-shell--generic .product-card__media::after,
	body.tax-product_cat .shop-shell--generic .product-card__content,
	body.tax-product_tag .shop-shell--generic .product-card__media::after,
	body.tax-product_tag .shop-shell--generic .product-card__content {
		opacity: 1;
		transform: none;
	}
}

.woocommerce nav.woocommerce-pagination {
	text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 0.5rem;
	list-style: none;
	border: 0;
	margin: 0;
	padding: 1.5rem 0 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-grid;
	place-items: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 0.85rem;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.6);
	border: 1px solid var(--color-border);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--color-dark);
	color: #fff;
}

.woocommerce nav.woocommerce-pagination ul li.page-item--disabled a,
.woocommerce nav.woocommerce-pagination ul li.page-item--disabled span {
	opacity: 0.3;
	pointer-events: none;
	cursor: default;
}

.woocommerce nav.woocommerce-pagination ul li .page-numbers.dots,
.woocommerce nav.woocommerce-pagination ul li:has(.page-numbers.dots) {
	display: none !important;
}

/* Page counter hidden on desktop */
.marev-page-count {
	display: none;
}

@media (max-width: 640px) {
	/* Mobile: hide page numbers, show only arrows + counter */
	.woocommerce nav.woocommerce-pagination ul {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0;
	}

	.woocommerce nav.woocommerce-pagination ul li {
		display: none;
	}

	/* Arrows */
	.woocommerce nav.woocommerce-pagination ul li.page-item--prev,
	.woocommerce nav.woocommerce-pagination ul li.page-item--next,
	.woocommerce nav.woocommerce-pagination ul li:has(a.prev),
	.woocommerce nav.woocommerce-pagination ul li:has(a.next) {
		display: list-item;
	}

	.woocommerce nav.woocommerce-pagination ul li a.prev,
	.woocommerce nav.woocommerce-pagination ul li a.next {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 3rem;
		height: 3rem;
		font-size: 1.1rem;
		background: rgba(255, 255, 255, 0.6);
		border: 1px solid var(--color-border);
	}

	/* Page counter — centre slot (specificity matches the hide-all rule above) */
	.woocommerce nav.woocommerce-pagination ul li.marev-page-count {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 4.5rem;
		height: 3rem;
		font-size: 0.82rem;
		letter-spacing: 0.04em;
		color: #444;
		border-top: 1px solid var(--color-border);
		border-bottom: 1px solid var(--color-border);
		background: rgba(255, 255, 255, 0.6);
	}

	.woocommerce nav.woocommerce-pagination ul li.marev-page-count .marev-page-sep {
		display: inline !important;
		min-width: 0 !important;
		height: auto !important;
		padding: 0 !important;
		background: none !important;
		border: none !important;
		margin: 0 0.2em;
		color: #aaa;
	}

	/* Order: ← | 1/4 | → */
	.woocommerce nav.woocommerce-pagination ul li.page-item--prev,
	.woocommerce nav.woocommerce-pagination ul li:has(a.prev) { order: 1; }
	.woocommerce nav.woocommerce-pagination ul li.marev-page-count { order: 2; }
	.woocommerce nav.woocommerce-pagination ul li.page-item--next,
	.woocommerce nav.woocommerce-pagination ul li:has(a.next) { order: 3; }
}

.single-product-shell {
	padding: 0;
}

/* ── Single product two-column layout ──────────────────────────────────
   Column 1: product image (sticky, left half)
   Column 2: summary + tabs (right half, normal flow)
   Related products are output outside this grid via PHP (full width below).
──────────────────────────────────────────────────────────────────────── */
.single-product-shell .product {
	display: grid;
	grid-template-columns: 50vw 50vw;
	align-items: start;
	gap: 0;
}

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

/* Left column: sticky so it stays in view while right column scrolls */
.woocommerce div.product div.images {
	grid-column: 1;
	position: sticky;
	top: 0;
	background: #f8f7f3;
	padding: 0;
	align-self: start;
}

/* WooCommerce gallery renders naturally — no forced heights */
.woocommerce div.product div.images img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

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

.woocommerce div.product div.images .woocommerce-product-gallery__image {
	margin: 0;
	overflow: hidden;
}

/* Thumbnail strip */
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 5px;
	margin-top: 6px;
	list-style: none;
	padding: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	margin: 0;
	overflow: hidden;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: top center;
	cursor: pointer;
	opacity: 0.55;
	transition: opacity 150ms ease;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
	opacity: 1;
}

.woocommerce-product-gallery__image {
	border-radius: 0;
}

/* Right column: summary */
.woocommerce div.product div.summary {
	grid-column: 2;
	display: grid;
	align-content: start;
	gap: 1.2rem;
	padding: clamp(2rem, 6vw, 4.5rem) clamp(1.5rem, 5vw, 4.25rem) 2rem;
	background: #fff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.single-product .product_title {
	font-family: var(--font-sans);
	font-size: clamp(1.15rem, 1.8vw, 1.5rem);
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0.03em;
	text-transform: none;
	max-width: 28rem;
}

.single-product__sku {
	margin: -0.7rem 0 0.15rem;
	font-size: 0.78rem;
	color: var(--color-muted);
	letter-spacing: 0.04em;
}

.woocommerce-product-details__short-description,
.woocommerce .product_meta {
	color: var(--color-muted);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin-bottom: 1rem;
	font-size: 0.96rem;
}

.single-product__attributes {
	display: grid;
	gap: 0.85rem;
	margin: -0.25rem 0 0.25rem;
}

.single-product__attribute {
	display: grid;
	gap: 0.45rem;
}

.single-product__attribute-label {
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-text);
}

.single-product__attribute-values {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-product__attribute-values li {
	display: inline-flex;
	align-items: center;
	min-height: 2.15rem;
	padding: 0.45rem 0.8rem;
	border: 1px solid var(--color-border);
	font-size: 0.82rem;
	line-height: 1.2;
	color: var(--color-text);
	background: transparent;
}

.woocommerce div.product form.cart {
	display: grid;
	gap: 1rem;
	margin-bottom: 0;
}

.woocommerce div.product form.cart .quantity {
	display: none; /* shown by JS when a valid variation is selected */
}

/* Custom quantity stepper */
.custom-qty-label {
	display: block;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-text);
	margin-bottom: 0.5rem;
}

.custom-qty-stepper {
	display: inline-flex;
	align-items: stretch;
}

.custom-qty-btn {
	width: 2.4rem;
	border: 1px solid var(--color-border);
	background: transparent;
	font-size: 1rem;
	line-height: 1;
	color: var(--color-text);
	cursor: pointer !important;
	transition: background 150ms ease, color 150ms ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.custom-qty-btn:hover:not([disabled]) {
	background: var(--color-text);
	color: #fff;
	border-color: var(--color-text);
}

.custom-qty-btn[disabled] {
	opacity: 0.35;
	cursor: default !important;
}

.custom-qty-display {
	min-width: 2.6rem;
	padding: 0.5rem 0.4rem;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	text-align: center;
	font-size: 0.82rem;
	letter-spacing: 0.05em;
}

/* Spacing between qty and Add to Cart */
.woocommerce div.product form.cart .quantity + .single_add_to_cart_button,
.woocommerce-variation-add-to-cart .quantity {
	margin-bottom: 1rem;
}

.woocommerce div.product form.cart .variations {
	margin-bottom: 0;
}

.woocommerce div.product form.cart .single_variation_wrap {
	display: grid;
	gap: 1rem;
}

.single-product .woocommerce-variation-description {
	display: none;
}

.single-product .woocommerce div.product form.cart table.variations {
	margin-bottom: 1rem;
}

.single-product .woocommerce div.product form.cart table.variations td,
.single-product .woocommerce div.product form.cart table.variations th {
	padding: 0.3rem 0 0.8rem;
	cursor: default;
}

.woocommerce div.product form.cart table.variations select {
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding: 0;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	border: 1px solid var(--color-border);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.7);
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 0.7rem 1rem;
}

.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .related {
	margin-top: 2rem;
}

.single-product .woocommerce-tabs {
	/* Grid auto-places this in column 2 after the summary */
	grid-column: 2;
	padding: 0 clamp(1.5rem, 5vw, 4.25rem) 2.2rem;
}

/* Related / up-sells: full-width below the two-column layout */
.single-product .related,
.single-product .up-sells {
	margin-left: 0;
	width: 100%;
	padding: 0;
}

.single-product .related,
.single-product .up-sells {
	display: block;
}

.single-product .woocommerce-tabs {
	margin-top: 1.2rem;
}

/* Hide reviews tab button and its panel entirely */
.single-product .reviews_tab,
.single-product #tab-reviews,
.single-product #reviews,
.woocommerce #reviews,
.woocommerce-product-rating {
	display: none !important;
}

/* Hide the duplicate description injected inside the summary */
.single-product__summary-copy,
.woocommerce-product-details__short-description {
	display: none !important;
}

.single-product .woocommerce-tabs ul.tabs {
	justify-content: flex-start;
	gap: 2rem;
	padding-top: 1rem;
	border-top: 1px solid var(--color-border);
}

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

.single-product .woocommerce-tabs ul.tabs li a {
	padding: 0;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.single-product .woocommerce-tabs .panel {
	margin-top: 1rem;
	color: var(--color-muted);
	font-size: 0.92rem;
}

.single-product .woocommerce-product-details__short-description {
	max-width: 30rem;
	margin-bottom: 1rem;
}

.single-product .single-product__summary-copy {
	order: 4;
	margin-top: -0.15rem;
}

/* Globally reset cursor on the product page — WooCommerce sets not-allowed in many places */
.woocommerce div.product,
.woocommerce div.product * {
	cursor: default !important;
}
.woocommerce div.product a,
.woocommerce div.product button:not([disabled]),
.woocommerce div.product .button:not([disabled]),
.variation-toggle-btn,
.single_add_to_cart_button:not([disabled]):not(.disabled) {
	cursor: pointer !important;
}

.single-product .woocommerce-variation-add-to-cart .button,
.single-product .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .button {
	width: 100%;
	padding: 1.05rem 1.4rem;
	border-radius: 0;
	background: transparent;
	color: var(--color-text);
	border-color: var(--color-text);
}

.single-product .woocommerce-variation-add-to-cart .button:hover,
.single-product .single_add_to_cart_button:hover,
.single-product .woocommerce div.product form.cart .button:hover {
	background: var(--color-text);
	color: #fff;
	border-color: var(--color-text);
}


.variation-oos-label {
	margin: 0.4rem 0 0;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-muted);
}

.single-product .woocommerce div.product form.cart table.variations th,
.single-product .woocommerce div.product form.cart table.variations td {
	padding-bottom: 1.1rem;
}

.single-product .woocommerce div.product form.cart table.variations label {
	font-size: 0.84rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.single-product .woocommerce .product_meta {
	display: none;
}

/* Related product styles consolidated in the final override block below */

/* Variation row wrapper — label + controls together */
.variation-row {
	display: grid;
	gap: 0.5rem;
}

.variation-row__label {
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-text);
}

/* The chosen value shown next to the label e.g. "Color: Black" */
.variation-row__chosen {
	font-weight: 400;
	text-transform: none;
	color: var(--color-muted);
	letter-spacing: 0.02em;
}

/* Color swatch styles */
.variation-swatches {
	display: flex;
	gap: 0.6rem;
	align-items: center;
	padding: 0.25rem 0;
	flex-wrap: wrap;
}

.variation-swatch {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid transparent;
	cursor: pointer;
	padding: 2px;           /* gap between outline and colour disc */
	outline: none;
	background: transparent;
	transition: border-color 150ms ease, box-shadow 150ms ease;
}

.variation-swatch.is-selected {
	border-color: var(--color-text);
	box-shadow: 0 0 0 1px var(--color-text);
}

.variation-swatch:hover {
	border-color: var(--color-muted);
}

.variation-swatch.is-selected:hover {
	border-color: var(--color-text);
}

.variation-swatch__inner {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid rgba(0,0,0,0.12);
}

.variation-swatch__inner {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

/* Size button styles */
.variation-sizes {
	display: flex;
	gap: 0.5rem;
	padding: 0.25rem 0;
	flex-wrap: wrap;
}

.variation-size-btn {
	padding: 0.55rem 1.1rem;
	border: 1px solid var(--color-border);
	background: transparent;
	font: inherit;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	cursor: pointer;
	color: var(--color-text);
	transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
}

/* Selected: filled black — clearly chosen */
.variation-size-btn.is-selected {
	background: var(--color-text);
	border-color: var(--color-text);
	color: #ffffff;
}

.variation-size-btn:hover:not(.is-selected) {
	border-color: var(--color-text);
}

/* Unavailable / out of stock */
.variation-size-btn.is-unavailable {
	opacity: 0.35;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* Horizontal toggle buttons — all variation types */
.variation-toggles {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.4rem;
	padding: 0.25rem 0;
}

.variation-toggle-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 1.05rem;
	border: 1px solid var(--color-border);
	background: transparent;
	font: inherit;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	color: var(--color-text);
	white-space: nowrap;
	transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
}

.variation-toggle-btn.is-selected {
	background: var(--color-text);
	border-color: var(--color-text);
	color: #ffffff;
}

.variation-toggle-btn:hover:not(.is-selected) {
	border-color: var(--color-text);
}

.variation-toggle-btn.is-unavailable {
	opacity: 0.35;
	cursor: not-allowed;
	text-decoration: line-through;
}

.variation-toggle-btn__dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	flex-shrink: 0;
}

.variation-toggle-btn.is-selected .variation-toggle-btn__dot {
	border-color: rgba(255, 255, 255, 0.4);
}


/* Store availability link */
.store-availability-link {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	color: var(--color-text);
	margin-top: 0.5rem;
}

.store-availability-link::before {
	content: "\2609";
	font-size: 1.1rem;
}

.single-product-assurance {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}

.single-product-assurance__item {
	padding: 1.5rem;
}

.single-product-assurance__item h2 {
	margin: 0 0 0.5rem;
	font-family: var(--font-sans);
	font-size: 1.5rem;
}

.woocommerce-cart table.cart,
.woocommerce-checkout-review-order-table,
.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--color-surface-strong);
	border: 1px solid var(--color-border);
	border-radius: 0;
	overflow: hidden;
}

.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.shop_table th,
.shop_table td {
	padding: 1rem;
	border-color: var(--color-border);
}

.woocommerce-cart .cart_totals,
.woocommerce-checkout-review-order {
	padding: 1.5rem;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #customer_details,
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	display: grid;
	gap: 0.65rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.85rem 1rem;
	border-radius: 0;
	background: rgba(0, 0, 0, 0.04);
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	margin: 0 0 1.25rem;
	padding: 1rem 1.2rem 1rem 3rem;
	border-radius: 0;
	border: 1px solid var(--color-border);
	background: var(--color-surface-strong);
	color: var(--color-text);
}

.woocommerce .woocommerce-message {
	border-color: rgba(39, 88, 67, 0.18);
}

.woocommerce .woocommerce-error {
	border-color: rgba(140, 55, 41, 0.18);
}

.woocommerce .star-rating span::before,
.woocommerce p.stars a::before {
	color: var(--color-accent);
}

.woocommerce .quantity .qty {
	max-width: 6rem;
}

.woocommerce form .form-row label {
	margin-bottom: 0.45rem;
	font-size: 0.92rem;
	font-weight: 600;
}

.woocommerce .select2-container--default .select2-selection--single {
	height: auto;
	padding: 0.85rem 1rem;
	border-radius: 0;
	border-color: rgba(0, 0, 0, 0.18);
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 1.5;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	transform: translateY(-50%);
	right: 0.6rem;
}

.woocommerce ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
}

/* Filters sidebar drawer */
.filters-drawer {
	display: none;
}

body.filters-open .filters-drawer {
	display: block;
}

@media (max-width: 1120px) {
	.hero-editorial,
	.catalog-header,
	.story-band__inner,
	.woocommerce-cart .cart-collaterals,
	.woocommerce-checkout #customer_details,
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.collections-band__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shop-archive-grid .products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.post-type-archive-product .shop-shell--generic .products,
	body.tax-product_cat .shop-shell--generic .products,
	body.tax-product_tag .shop-shell--generic .products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shop-layout.has-sidebar {
		grid-template-columns: 1fr;
	}

	.shop-layout__sidebar {
		position: static;
	}

	/* Single product: stack image above right column on narrow screens */
	.woocommerce div.product div.images {
		position: static;
		width: 100%;
		height: auto;
	}

	.single-product .woocommerce-tabs {
		grid-column: 1;
		padding: 0 1.5rem 2rem;
	}

	.single-product .related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.single-product-shell .woocommerce-product-gallery {
		position: static;
		height: auto;
	}

	.woocommerce div.product div.summary {
		padding: 1.75rem 1.5rem 1.5rem;
	}
}

@media (max-width: 840px) {
	.site-header__row {
		grid-template-columns: auto 1fr auto;
		gap: 0.75rem;
	}

	.site-header__row.container {
		padding: 0.8rem 1rem;
	}

	.site-branding {
		justify-self: center;
		min-width: 0;
	}

	.custom-logo-link img,
	.site-branding__text {
		max-height: 46px;
		max-width: min(42vw, 150px);
	}

	.site-branding__text {
		font-size: 0.86rem;
		letter-spacing: 0.18em;
	}

	.site-header__actions {
		gap: 0;
	}

	.site-header__account,
	.shop-drawer-trigger__label,
	.site-header__cart-label {
		display: none;
	}

	.site-header__left .shop-drawer-trigger,
	.site-header__cart {
		width: 42px;
		height: 42px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
	}

	.shop-drawer-trigger__icon,
	.site-header__cart-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.shop-drawer-trigger__icon {
		width: 20px;
		flex-direction: column;
		gap: 4px;
	}

	.shop-drawer-trigger__icon span {
		display: block;
		width: 20px;
		height: 1.5px;
		background: currentColor;
	}

	.site-header__cart-count {
		position: absolute;
		top: 6px;
		right: 3px;
		min-width: 1.05rem;
		height: 1.05rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		background: var(--color-text);
		color: var(--color-bg);
		font-size: 0.62rem;
		line-height: 1;
	}

	.site-header__cart-count::before {
		content: "";
	}

	.site-header__cart-count {
		font-size: 0;
	}

	.site-header__cart-count::after {
		content: attr(data-count);
		font-size: 0.62rem;
	}

	.hero-editorial__visuals {
		grid-template-columns: 1fr;
	}

	.announcement-bar__inner,
	.catalog-toolbar,
	.catalog-utility,
	.site-footer__meta,
	.section-heading--split {
		flex-direction: column;
		align-items: flex-start;
	}

	.single-product-assurance {
		grid-template-columns: 1fr;
	}

	.shop-archive-shell__chrome {
		width: min(100%, calc(100vw - 24px));
	}

	.shop-archive-grid .products {
		grid-template-columns: 1fr 1fr !important;
	}

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

@media (max-width: 640px) {
	:root {
		--container: min(1320px, calc(100vw - 24px));
	}

	.hero-editorial h1,
	.section-heading h2,
	.catalog-header h1,
	.story-band h2,
	.site-footer h2,
	.page-shell h1,
	.single-shell h1,
	.single-product .product_title,
	.woocommerce-cart h1,
	.woocommerce-checkout h1,
	.woocommerce-account h1 {
		font-size: clamp(2.1rem, 12vw, 3.4rem);
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.collections-band__grid {
		grid-template-columns: 1fr;
	}

	.shop-archive-grid .products {
		grid-template-columns: 1fr !important;
	}

	body.post-type-archive-product .shop-shell--generic .products,
	body.tax-product_cat .shop-shell--generic .products,
	body.tax-product_tag .shop-shell--generic .products {
		grid-template-columns: 1fr;
	}

	.product-card__content,
	.shop-shell__main,
	.catalog-header,
	.page-shell__content,
	.single-shell__content {
		padding-inline: 1rem;
	}

	.product-card__headline {
		align-items: flex-start;
		flex-direction: column;
	}

	.single-product .woocommerce div.product div.summary,
	.single-product .woocommerce-tabs {
		padding-inline: 1rem;
	}

	.single-product .woocommerce div.product div.summary {
		padding-top: 1.25rem;
		padding-bottom: 1.25rem;
	}

	.single-product .woocommerce div.product div.images .flex-control-thumbs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.single-product .related {
		padding-top: 1.5rem;
	}

	.single-product .related > h2 {
		padding-left: 1rem;
	}

	.single-product .related ul.products {
		grid-template-columns: 1fr;
	}

	.page-shell__header,
	.single-shell__header {
		padding-inline: 1rem;
	}
}

body.single-product-lightbox-open {
	overflow: hidden;
}

.single-product-lightbox {
	position: fixed;
	inset: 0;
	z-index: 140;
	display: grid;
	place-items: center;
	padding: 2rem;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(8px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 180ms ease, visibility 180ms ease;
}

.single-product-lightbox.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.single-product-lightbox__dialog {
	position: relative;
	width: min(92vw, 1180px);
	height: min(88vh, 920px);
	display: grid;
	place-items: center;
}

.single-product-lightbox__viewport {
	width: 100%;
	height: 100%;
	overflow: auto;
	cursor: zoom-in;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.single-product-lightbox__viewport::-webkit-scrollbar {
	display: none;
}

.single-product-lightbox__image {
	display: block;
	margin: 0 auto;
	max-width: min(100%, 1100px);
	max-height: none;
	width: auto;
	height: auto;
	transform-origin: center center;
	transition: transform 180ms ease;
	will-change: transform;
}

.single-product-lightbox__toolbar {
	position: absolute;
	top: 1rem;
	right: 4.5rem;
	z-index: 2;
	display: flex;
	gap: 0.5rem;
}

.single-product-lightbox__control,
.single-product-lightbox__close {
	border: 1px solid rgba(0, 0, 0, 0.14);
	background: rgba(255, 255, 255, 0.92);
	color: var(--color-text);
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.single-product-lightbox__control {
	width: 2.75rem;
	height: 2.75rem;
	font: inherit;
	font-size: 1.1rem;
	line-height: 1;
}

.single-product-lightbox__close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;
	width: 2.75rem;
	height: 2.75rem;
	font-size: 1.6rem;
	line-height: 1;
}

.single-product-lightbox__control:hover,
.single-product-lightbox__close:hover {
	background: var(--color-text);
	border-color: var(--color-text);
	color: #ffffff;
}

@media (max-width: 840px) {
	.single-product-lightbox {
		padding: 1rem;
	}

	.single-product-lightbox__dialog {
		width: 100%;
		height: min(86vh, 760px);
	}

	.single-product-lightbox__toolbar {
		right: 4rem;
	}

	.single-product-lightbox__image {
		max-width: 100%;
	}
}

.single-product .woocommerce div.product div.images {
	position: relative;
	overflow: visible;
}

/* Thumbnails visible on desktop — hidden on mobile where prev/next arrows suffice */
@media (max-width: 840px) {
	.single-product .woocommerce div.product div.images .flex-control-thumbs {
		display: none !important;
	}
}

.single-product .woocommerce div.product div.images .flex-direction-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

.single-product .woocommerce div.product div.images .flex-direction-nav a {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 2.8rem;
	height: 2.8rem;
	margin-top: -1.4rem;
	border: 1px solid rgba(0, 0, 0, 0.12);
	background: rgba(255, 255, 255, 0.82);
	color: transparent;
	overflow: hidden;
	opacity: 1;
	text-shadow: none;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-prev {
	left: 1rem;
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-next {
	right: 1rem;
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-prev::before,
.single-product .woocommerce div.product div.images .flex-direction-nav .flex-next::before {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--color-text);
	font-size: 1rem;
	line-height: 1;
	text-indent: 0;
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-prev::before {
	content: '<';
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-next::before {
	content: '>';
}

.single-product .woocommerce div.product div.images .flex-direction-nav a:hover {
	background: rgba(255, 255, 255, 0.96);
	border-color: rgba(0, 0, 0, 0.2);
	transform: translateY(-1px);
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-disabled {
	opacity: 0.3;
	pointer-events: none;
}

.single-product .woocommerce-product-gallery__wrapper {
	cursor: grab;
}

.single-product .woocommerce-product-gallery__wrapper:active {
	cursor: grabbing;
}

/* Related styles consolidated below */

@media (max-width: 840px) {
	.single-product .woocommerce div.product div.images .flex-direction-nav a {
		width: 2.4rem;
		height: 2.4rem;
		margin-top: -1.2rem;
	}

	.single-product .woocommerce div.product div.images .flex-direction-nav .flex-prev {
		left: 0.75rem;
	}

	.single-product .woocommerce div.product div.images .flex-direction-nav .flex-next {
		right: 0.75rem;
	}
}

.single-product .woocommerce-product-gallery.has-custom-gallery {
	position: relative;
}

.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__wrapper {
	position: relative;
	overflow: hidden;
	cursor: grab;
	touch-action: pan-y;
}

.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__wrapper:active {
	cursor: grabbing;
}

.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__image {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 220ms ease;
}

.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__image.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__image img {
	cursor: zoom-in !important;
}

.single-product .woocommerce-product-gallery.has-custom-gallery .flex-control-thumbs,
.single-product .woocommerce-product-gallery.has-custom-gallery .flex-control-nav,
.single-product .woocommerce-product-gallery.has-custom-gallery ol.flex-control-thumbs,
.single-product .woocommerce-product-gallery.has-custom-gallery ul.flex-control-thumbs {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product-gallery-nav {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
}

.single-product-gallery-nav__button {
	position: absolute;
	top: 50%;
	width: 2.8rem;
	height: 2.8rem;
	margin-top: -1.4rem;
	border: 1px solid rgba(0, 0, 0, 0.12);
	background: rgba(255, 255, 255, 0.82);
	color: var(--color-text);
	font: inherit;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	pointer-events: auto;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease, opacity 160ms ease;
}

.single-product-gallery-nav__button:hover {
	background: rgba(255, 255, 255, 0.96);
	border-color: rgba(0, 0, 0, 0.2);
	transform: translateY(-1px);
}

.single-product-gallery-nav__button:disabled {
	opacity: 0.35;
	cursor: default;
}

.single-product-gallery-nav__button--prev {
	left: 1rem;
}

.single-product-gallery-nav__button--next {
	right: 1rem;
}

.single-product-lightbox__nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 3rem;
	height: 3rem;
	margin-top: -1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.14);
	background: rgba(255, 255, 255, 0.92);
	color: var(--color-text);
	font: inherit;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.single-product-lightbox__nav:hover {
	background: var(--color-text);
	border-color: var(--color-text);
	color: #ffffff;
}

.single-product-lightbox__nav--prev {
	left: 1rem;
}

.single-product-lightbox__nav--next {
	right: 1rem;
}

@media (max-width: 840px) {
	.single-product-gallery-nav__button {
		width: 2.4rem;
		height: 2.4rem;
		margin-top: -1.2rem;
	}

	.single-product-gallery-nav__button--prev {
		left: 0.75rem;
	}

	.single-product-gallery-nav__button--next {
		right: 0.75rem;
	}

	.single-product-lightbox__nav {
		width: 2.5rem;
		height: 2.5rem;
		margin-top: -1.25rem;
	}

	.single-product-lightbox__nav--prev {
		left: 0.75rem;
	}

	.single-product-lightbox__nav--next {
		right: 0.75rem;
	}
}

.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__wrapper {
	display: flex;
	align-items: stretch;
	transition: transform 320ms ease;
	will-change: transform;
	cursor: default;
}

.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__image {
	position: relative;
	inset: auto;
	flex: 0 0 100%;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__image img {
	cursor: zoom-in !important;
}

.single-product .woocommerce-product-gallery.has-custom-gallery .woocommerce-product-gallery__wrapper img {
	user-select: none;
	-webkit-user-drag: none;
}

.single-product-gallery-nav__button {
	background: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(4px);
}

.single-product-lightbox__viewport {
	cursor: zoom-in;
	overflow: hidden;
}

.single-product-lightbox__viewport.is-zoomed {
	cursor: grab;
}

.single-product-lightbox__viewport.is-zoomed:active {
	cursor: grabbing;
}

.single-product-lightbox__image {
	cursor: inherit;
	transform-origin: center center;
}

/* Final single-product layout overrides */
.single-product-shell .product {
	grid-template-columns: minmax(0, 52vw) minmax(360px, 1fr);
	min-height: 100vh;
}

.single-product .woocommerce div.product div.images {
	grid-column: 1;
	position: sticky !important;
	top: 0;
	align-self: start;
	max-height: 100vh;
	overflow: hidden;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
.single-product .woocommerce div.product div.images .zoomImg,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	cursor: zoom-in !important;
}

.single-product .woocommerce div.product div.images img {
	-webkit-user-drag: none;
}

.single-product .woocommerce div.product div.summary {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	max-width: 560px;
	padding: clamp(1.75rem, 4vw, 3.25rem) clamp(1.25rem, 4vw, 3.5rem);
}

.single-product div.product div.summary.entry-summary {
	display: flex !important;
	flex-direction: column !important;
}

.single-product div.product div.summary.entry-summary > * {
	order: 20 !important;
}

.single-product div.product div.summary.entry-summary > h1.product_title,
.single-product div.product div.summary.entry-summary > .product_title {
	order: 1 !important;
}

.single-product div.product div.summary.entry-summary > .single-product__availability {
	order: 2 !important;
}

.single-product div.product div.summary.entry-summary > .single-product__sku {
	order: 3 !important;
}

.single-product div.product div.summary.entry-summary > p.price,
.single-product div.product div.summary.entry-summary > span.price {
	order: 4 !important;
}

.single-product div.product div.summary.entry-summary > form.cart {
	order: 6 !important;
}

.single-product .woocommerce div.product div.summary > * {
	margin-top: 0;
	margin-bottom: 0;
	order: 20 !important;
}

.single-product .product_title {
	order: 1 !important;
	max-width: none;
	margin: 0;
	font-size: clamp(1.3rem, 2vw, 1.8rem);
	letter-spacing: 0.01em;
}

.single-product__sku {
	order: 3 !important;
	margin: -0.35rem 0 0;
}

.single-product__availability {
	order: 2 !important;
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	font-size: 0.84rem;
	color: var(--color-muted);
}

.single-product__availability span {
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-text);
}

.single-product__availability strong {
	font-weight: 400;
}

.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price {
	order: 4 !important;
	margin: 0.2rem 0 0.35rem;
	font-size: 1rem;
	color: var(--color-text);
}

.single-product__attributes {
	order: 5 !important;
	gap: 0.55rem;
	margin: 0.15rem 0;
}

.single-product .woocommerce div.product form.cart {
	order: 6 !important;
	gap: 0.75rem;
	margin: 0.25rem 0 0;
}

.single-product .woocommerce div.product form.cart table.variations,
.single-product .woocommerce div.product form.cart table.variations tbody,
.single-product .woocommerce div.product form.cart table.variations tr,
.single-product .woocommerce div.product form.cart table.variations th,
.single-product .woocommerce div.product form.cart table.variations td {
	display: block;
	width: 100%;
	padding: 0;
}

.single-product .woocommerce div.product form.cart table.variations {
	margin: 0;
}

.single-product .woocommerce div.product form.cart table.variations tr {
	margin-bottom: 0.8rem;
}

.single-product .woocommerce div.product form.cart table.variations label,
.variation-row__label,
.single-product__attribute-label {
	font-size: 0.74rem;
	letter-spacing: 0.1em;
}

.single-product .woocommerce div.product form.cart table.variations select {
	width: 100%;
	margin-top: 0.35rem;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.variation-swatches,
.variation-sizes {
	display: none !important;
}

.variation-size-btn {
	min-width: 2.75rem;
	min-height: 2.35rem;
	padding: 0.45rem 0.85rem;
}

.single-product .woocommerce div.product form.cart .single_variation_wrap {
	gap: 0.65rem;
}

.single-product .woocommerce-variation-availability .stock {
	margin: 0;
	font-size: 0.84rem;
}

.single-product .woocommerce-variation-add-to-cart .button,
.single-product .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .button {
	min-height: 3rem;
	padding: 0.9rem 1.2rem;
}

.single-product__wishlist {
	order: 7;
	margin-top: 0.2rem;
}

.single-product__wishlist a,
.single-product__wishlist button,
.single-product__wishlist .button {
	width: 100%;
	min-height: 2.75rem;
	border: 1px solid var(--color-border);
	background: transparent;
	color: var(--color-text);
	font-size: 0.78rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.single-product__description {
	order: 8;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--color-border);
	color: var(--color-muted);
	font-size: 0.92rem;
}

.single-product__description h2 {
	margin: 0 0 0.6rem;
	font-family: var(--font-sans);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-text);
}

.single-product__description > *:last-child {
	margin-bottom: 0;
}

.single-product .woocommerce-tabs,
.single-product .product_meta,
.single-product .additional_information_tab,
.single-product #tab-additional_information {
	display: none !important;
}

@media (max-width: 1120px) {
	.single-product-shell .product {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.single-product .woocommerce div.product div.images,
	.single-product .woocommerce div.product div.summary {
		grid-column: 1;
	}

	.single-product .woocommerce div.product div.images {
		position: relative !important;
		max-height: none;
	}

	.single-product .woocommerce div.product div.summary {
		max-width: none;
	}
}

/* ── Related products strip ── */
.related-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	width: 100%;
	margin-top: 3rem;
}

.related-strip__item {
	display: block;
	position: relative;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: #f0f0f0;
}

.related-strip__item img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 220ms ease;
}

.related-strip__item:hover img {
	transform: scale(1.04);
}

@media (max-width: 640px) {
	.related-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.single-product .woocommerce div.product form.cart table.variations td.value {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.single-product .woocommerce div.product form.cart table.variations td.value br {
	display: none;
}

.single-product .woocommerce div.product form.cart table.variations td.value img,
.single-product .woocommerce div.product form.cart table.variations td.value .attachment-woocommerce_thumbnail,
.single-product .woocommerce div.product form.cart table.variations td.value .variation-image,
.single-product .woocommerce div.product form.cart table.variations td.value .variation-thumbnail {
	display: none !important;
}

.single-product .woocommerce div.product form.cart .variations img,
.single-product .woocommerce div.product form.cart .variations picture,
.single-product .woocommerce div.product form.cart .variations figure,
.single-product .woocommerce div.product form.cart .variations .wp-post-image,
.single-product .woocommerce div.product form.cart .variations [class*="image"],
.single-product .woocommerce div.product form.cart .variations [class*="thumbnail"],
.single-product .woocommerce div.product form.cart .variations [class*="thumb"] {
	display: none !important;
}

/* Hide plugin radio-button variation UI — replaced by .variation-toggles */
.woocommerce div.product form.cart table.variations td ul,
.woocommerce div.product form.cart table.variations td li,
.woocommerce div.product form.cart table.variations td input[type="radio"],
.woocommerce div.product form.cart table.variations td label,
.woocommerce div.product form.cart table.variations td .radio-variable-wrapper,
.woocommerce div.product form.cart table.variations td .radio-variable-items-wrapper,
.woocommerce div.product form.cart table.variations td .variable-items-wrapper,
.woocommerce div.product form.cart table.variations td .radio-variable-item,
.woocommerce div.product form.cart table.variations td .variable-item {
	display: none !important;
}

.woocommerce div.product form.cart .reset_variations {
	display: none !important;
}

@media (max-width: 640px) {
	.single-product-shell .product {
		display: flex !important;
		flex-direction: column;
		min-height: 0;
	}

	.single-product div.product div.summary.entry-summary {
		display: contents !important;
	}

	.single-product div.product div.summary.entry-summary > h1.product_title,
	.single-product div.product div.summary.entry-summary > .product_title {
		order: 1 !important;
		padding: 1rem 1rem 0.75rem;
		font-size: clamp(1.35rem, 7vw, 2rem) !important;
		line-height: 1.18;
	}

	.single-product .woocommerce div.product div.images {
		order: 2 !important;
		display: block !important;
		width: 100% !important;
		position: relative !important;
		top: auto;
		max-height: none;
		overflow: visible;
	}

	.single-product .woocommerce div.product div.images .woocommerce-product-gallery,
	.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
	.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
	.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a,
	.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
		display: block !important;
		width: 100% !important;
	}

	.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
		height: auto !important;
		object-fit: contain;
	}

	.single-product div.product div.summary.entry-summary > .single-product__availability {
		order: 3 !important;
	}

	.single-product div.product div.summary.entry-summary > .single-product__sku {
		order: 4 !important;
	}

	.single-product div.product div.summary.entry-summary > p.price,
	.single-product div.product div.summary.entry-summary > span.price {
		order: 5 !important;
	}

	.single-product div.product div.summary.entry-summary > .single-product__attributes {
		order: 6 !important;
	}

	.single-product div.product div.summary.entry-summary > form.cart {
		order: 7 !important;
	}

	.single-product div.product div.summary.entry-summary > .single-product__description {
		order: 8 !important;
	}

	.single-product div.product div.summary.entry-summary > :not(.product_title) {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

.front-page .home-latest-products ul.products,
.front-page .home-latest-products .products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 1px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.front-page .home-latest-products ul.products li.product,
.front-page .home-latest-products .products .product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

@media (max-width: 840px) {
	.front-page .home-latest-products ul.products,
	.front-page .home-latest-products .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 520px) {
	.front-page .home-latest-products ul.products,
	.front-page .home-latest-products .products {
		grid-template-columns: 1fr !important;
	}
}

/* Final archive card reset: keep product details in their own reserved area. */
.woocommerce-shop ul.products li.product.product-card,
.post-type-archive-product ul.products li.product.product-card,
.tax-product_cat ul.products li.product.product-card,
.tax-product_tag ul.products li.product.product-card,
.shop-archive-grid ul.products li.product.product-card {
	overflow: visible !important;
	background: #ffffff !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__inner,
.post-type-archive-product ul.products li.product.product-card .product-card__inner,
.tax-product_cat ul.products li.product.product-card .product-card__inner,
.tax-product_tag ul.products li.product.product-card .product-card__inner,
.shop-archive-grid ul.products li.product.product-card .product-card__inner {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	overflow: visible !important;
	background: #ffffff !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__media,
.post-type-archive-product ul.products li.product.product-card .product-card__media,
.tax-product_cat ul.products li.product.product-card .product-card__media,
.tax-product_tag ul.products li.product.product-card .product-card__media,
.shop-archive-grid ul.products li.product.product-card .product-card__media {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	aspect-ratio: 3 / 4 !important;
	overflow: hidden !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__media::after,
.post-type-archive-product ul.products li.product.product-card .product-card__media::after,
.tax-product_cat ul.products li.product.product-card .product-card__media::after,
.tax-product_tag ul.products li.product.product-card .product-card__media::after,
.shop-archive-grid ul.products li.product.product-card .product-card__media::after {
	content: "" !important;
	position: absolute !important;
	inset: auto 0 0 0 !important;
	display: block !important;
	height: 28% !important;
	background: linear-gradient(180deg, rgba(245, 245, 245, 0), rgba(245, 245, 245, 0.42)) !important;
	opacity: 1 !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__content,
.post-type-archive-product ul.products li.product.product-card .product-card__content,
.tax-product_cat ul.products li.product.product-card .product-card__content,
.tax-product_tag ul.products li.product.product-card .product-card__content,
.shop-archive-grid ul.products li.product.product-card .product-card__content {
	position: static !important;
	inset: auto !important;
	z-index: auto !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 0.52rem !important;
	min-height: 7.5rem !important;
	padding: 0.82rem 0.35rem 0.15rem !important;
	opacity: 1 !important;
	transform: none !important;
	background: #ffffff !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__content::after,
.post-type-archive-product ul.products li.product.product-card .product-card__content::after,
.tax-product_cat ul.products li.product.product-card .product-card__content::after,
.tax-product_tag ul.products li.product.product-card .product-card__content::after,
.shop-archive-grid ul.products li.product.product-card .product-card__content::after {
	content: none !important;
	display: none !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__headline,
.post-type-archive-product ul.products li.product.product-card .product-card__headline,
.tax-product_cat ul.products li.product.product-card .product-card__headline,
.tax-product_tag ul.products li.product.product-card .product-card__headline,
.shop-archive-grid ul.products li.product.product-card .product-card__headline {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 0.32rem !important;
	align-items: start !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__title,
.post-type-archive-product ul.products li.product.product-card .product-card__title,
.tax-product_cat ul.products li.product.product-card .product-card__title,
.tax-product_tag ul.products li.product.product-card .product-card__title,
.shop-archive-grid ul.products li.product.product-card .product-card__title {
	display: block !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 2.45em !important;
	overflow: hidden !important;
	color: #202020 !important;
	font-size: 0.86rem !important;
	font-weight: 400 !important;
	line-height: 1.22 !important;
	letter-spacing: 0.01em !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__title a,
.post-type-archive-product ul.products li.product.product-card .product-card__title a,
.tax-product_cat ul.products li.product.product-card .product-card__title a,
.tax-product_tag ul.products li.product.product-card .product-card__title a,
.shop-archive-grid ul.products li.product.product-card .product-card__title a {
	color: inherit !important;
	text-decoration: none !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__price,
.post-type-archive-product ul.products li.product.product-card .product-card__price,
.tax-product_cat ul.products li.product.product-card .product-card__price,
.tax-product_tag ul.products li.product.product-card .product-card__price,
.shop-archive-grid ul.products li.product.product-card .product-card__price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 0.35rem !important;
	margin: 0 !important;
	white-space: normal !important;
	color: #5f5f5f !important;
	font-size: 0.8rem !important;
	line-height: 1.2 !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__price del,
.woocommerce-shop ul.products li.product.product-card .product-card__price ins,
.post-type-archive-product ul.products li.product.product-card .product-card__price del,
.post-type-archive-product ul.products li.product.product-card .product-card__price ins,
.tax-product_cat ul.products li.product.product-card .product-card__price del,
.tax-product_cat ul.products li.product.product-card .product-card__price ins,
.tax-product_tag ul.products li.product.product-card .product-card__price del,
.tax-product_tag ul.products li.product.product-card .product-card__price ins,
.shop-archive-grid ul.products li.product.product-card .product-card__price del,
.shop-archive-grid ul.products li.product.product-card .product-card__price ins {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: inherit !important;
	text-decoration-thickness: 1px !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__swatches,
.woocommerce-shop ul.products li.product.product-card .product-card__sizes,
.post-type-archive-product ul.products li.product.product-card .product-card__swatches,
.post-type-archive-product ul.products li.product.product-card .product-card__sizes,
.tax-product_cat ul.products li.product.product-card .product-card__swatches,
.tax-product_cat ul.products li.product.product-card .product-card__sizes,
.tax-product_tag ul.products li.product.product-card .product-card__swatches,
.tax-product_tag ul.products li.product.product-card .product-card__sizes,
.shop-archive-grid ul.products li.product.product-card .product-card__swatches,
.shop-archive-grid ul.products li.product.product-card .product-card__sizes {
	position: static !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.42rem !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0.8rem !important;
	color: #777777 !important;
	font-size: 0.62rem !important;
	line-height: 1.2 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
}

/* Reference-style product hover panel. */
.woocommerce-shop ul.products li.product.product-card .product-card__inner,
.post-type-archive-product ul.products li.product.product-card .product-card__inner,
.tax-product_cat ul.products li.product.product-card .product-card__inner,
.tax-product_tag ul.products li.product.product-card .product-card__inner,
.shop-archive-grid ul.products li.product.product-card .product-card__inner {
	position: relative !important;
	display: block !important;
	overflow: hidden !important;
	background: #f3f1ec !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__media,
.post-type-archive-product ul.products li.product.product-card .product-card__media,
.tax-product_cat ul.products li.product.product-card .product-card__media,
.tax-product_tag ul.products li.product.product-card .product-card__media,
.shop-archive-grid ul.products li.product.product-card .product-card__media {
	aspect-ratio: 3 / 4 !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__media::after,
.post-type-archive-product ul.products li.product.product-card .product-card__media::after,
.tax-product_cat ul.products li.product.product-card .product-card__media::after,
.tax-product_tag ul.products li.product.product-card .product-card__media::after,
.shop-archive-grid ul.products li.product.product-card .product-card__media::after {
	content: "" !important;
	position: absolute !important;
	inset: auto 0 0 0 !important;
	display: block !important;
	height: 42% !important;
	background: linear-gradient(180deg, rgba(244, 242, 237, 0), rgba(244, 242, 237, 0.53)) !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: opacity 180ms ease !important;
	z-index: 1 !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__content,
.post-type-archive-product ul.products li.product.product-card .product-card__content,
.tax-product_cat ul.products li.product.product-card .product-card__content,
.tax-product_tag ul.products li.product.product-card .product-card__content,
.shop-archive-grid ul.products li.product.product-card .product-card__content {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: 2 !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-rows: auto auto auto !important;
	gap: 0.72rem !important;
	min-height: 9.35rem !important;
	padding: 1rem 3.05rem 1.15rem 1rem !important;
	background: rgba(244, 242, 237, 0.50) !important;
	backdrop-filter: blur(8px) !important;
	opacity: 0 !important;
	transform: translateY(10px) !important;
	transition: opacity 180ms ease, transform 180ms ease !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__content::after,
.post-type-archive-product ul.products li.product.product-card .product-card__content::after,
.tax-product_cat ul.products li.product.product-card .product-card__content::after,
.tax-product_tag ul.products li.product.product-card .product-card__content::after,
.shop-archive-grid ul.products li.product.product-card .product-card__content::after {
	content: "\2661" !important;
	position: absolute !important;
	right: 1rem !important;
	bottom: 1.02rem !important;
	display: block !important;
	color: #323232 !important;
	font-size: 1.35rem !important;
	line-height: 1 !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__headline,
.post-type-archive-product ul.products li.product.product-card .product-card__headline,
.tax-product_cat ul.products li.product.product-card .product-card__headline,
.tax-product_tag ul.products li.product.product-card .product-card__headline,
.shop-archive-grid ul.products li.product.product-card .product-card__headline {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 0.85rem !important;
	align-items: start !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__title,
.post-type-archive-product ul.products li.product.product-card .product-card__title,
.tax-product_cat ul.products li.product.product-card .product-card__title,
.tax-product_tag ul.products li.product.product-card .product-card__title,
.shop-archive-grid ul.products li.product.product-card .product-card__title {
	min-height: 0 !important;
	max-height: 2.6em !important;
	color: #343434 !important;
	font-size: 0.82rem !important;
	line-height: 1.3 !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__price,
.post-type-archive-product ul.products li.product.product-card .product-card__price,
.tax-product_cat ul.products li.product.product-card .product-card__price,
.tax-product_tag ul.products li.product.product-card .product-card__price,
.shop-archive-grid ul.products li.product.product-card .product-card__price {
	display: grid !important;
	justify-items: end !important;
	gap: 0.18rem !important;
	min-width: 4.8rem !important;
	color: #404040 !important;
	font-size: 0.82rem !important;
	line-height: 1.15 !important;
	text-align: right !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__price ins,
.post-type-archive-product ul.products li.product.product-card .product-card__price ins,
.tax-product_cat ul.products li.product.product-card .product-card__price ins,
.tax-product_tag ul.products li.product.product-card .product-card__price ins,
.shop-archive-grid ul.products li.product.product-card .product-card__price ins {
	order: 1 !important;
	color: #404040 !important;
	font-weight: 400 !important;
	text-decoration: none !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__price del,
.post-type-archive-product ul.products li.product.product-card .product-card__price del,
.tax-product_cat ul.products li.product.product-card .product-card__price del,
.tax-product_tag ul.products li.product.product-card .product-card__price del,
.shop-archive-grid ul.products li.product.product-card .product-card__price del {
	order: 2 !important;
	color: #7d7d7d !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__swatches,
.post-type-archive-product ul.products li.product.product-card .product-card__swatches,
.tax-product_cat ul.products li.product.product-card .product-card__swatches,
.tax-product_tag ul.products li.product.product-card .product-card__swatches,
.shop-archive-grid ul.products li.product.product-card .product-card__swatches {
	gap: 0.52rem !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__swatches span,
.post-type-archive-product ul.products li.product.product-card .product-card__swatches span,
.tax-product_cat ul.products li.product.product-card .product-card__swatches span,
.tax-product_tag ul.products li.product.product-card .product-card__swatches span,
.shop-archive-grid ul.products li.product.product-card .product-card__swatches span {
	width: 12px !important;
	height: 12px !important;
	border: 1px solid rgba(0, 0, 0, 0.18) !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__sizes,
.post-type-archive-product ul.products li.product.product-card .product-card__sizes,
.tax-product_cat ul.products li.product.product-card .product-card__sizes,
.tax-product_tag ul.products li.product.product-card .product-card__sizes,
.shop-archive-grid ul.products li.product.product-card .product-card__sizes {
	gap: 0.72rem !important;
	color: #7b7b7b !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.08em !important;
}

.woocommerce-shop ul.products li.product.product-card:hover .product-card__media::after,
.woocommerce-shop ul.products li.product.product-card:focus-within .product-card__media::after,
.post-type-archive-product ul.products li.product.product-card:hover .product-card__media::after,
.post-type-archive-product ul.products li.product.product-card:focus-within .product-card__media::after,
.tax-product_cat ul.products li.product.product-card:hover .product-card__media::after,
.tax-product_cat ul.products li.product.product-card:focus-within .product-card__media::after,
.tax-product_tag ul.products li.product.product-card:hover .product-card__media::after,
.tax-product_tag ul.products li.product.product-card:focus-within .product-card__media::after,
.shop-archive-grid ul.products li.product.product-card:hover .product-card__media::after,
.shop-archive-grid ul.products li.product.product-card:focus-within .product-card__media::after,
.woocommerce-shop ul.products li.product.product-card:hover .product-card__content,
.woocommerce-shop ul.products li.product.product-card:focus-within .product-card__content,
.post-type-archive-product ul.products li.product.product-card:hover .product-card__content,
.post-type-archive-product ul.products li.product.product-card:focus-within .product-card__content,
.tax-product_cat ul.products li.product.product-card:hover .product-card__content,
.tax-product_cat ul.products li.product.product-card:focus-within .product-card__content,
.tax-product_tag ul.products li.product.product-card:hover .product-card__content,
.tax-product_tag ul.products li.product.product-card:focus-within .product-card__content,
.shop-archive-grid ul.products li.product.product-card:hover .product-card__content,
.shop-archive-grid ul.products li.product.product-card:focus-within .product-card__content {
	opacity: 1 !important;
	transform: none !important;
}

@media (max-width: 840px) {
	.woocommerce-shop ul.products li.product.product-card .product-card__media::after,
	.post-type-archive-product ul.products li.product.product-card .product-card__media::after,
	.tax-product_cat ul.products li.product.product-card .product-card__media::after,
	.tax-product_tag ul.products li.product.product-card .product-card__media::after,
	.shop-archive-grid ul.products li.product.product-card .product-card__media::after,
	.woocommerce-shop ul.products li.product.product-card .product-card__content,
	.post-type-archive-product ul.products li.product.product-card .product-card__content,
	.tax-product_cat ul.products li.product.product-card .product-card__content,
	.tax-product_tag ul.products li.product.product-card .product-card__content,
	.shop-archive-grid ul.products li.product.product-card .product-card__content {
		opacity: 1 !important;
		transform: none !important;
	}
}
/* ── stale grid-based overrides removed ── */
/* Final overlay field placement: name TL, price TR, attributes BL, favorite BR. */
.woocommerce-shop ul.products li.product.product-card .product-card__content,
.post-type-archive-product ul.products li.product.product-card .product-card__content,
.tax-product_cat ul.products li.product.product-card .product-card__content,
.tax-product_tag ul.products li.product.product-card .product-card__content,
.shop-archive-grid ul.products li.product.product-card .product-card__content {
	grid-template-columns: minmax(0, 1fr) auto !important;
	grid-template-rows: auto 1fr auto !important;
	align-items: start !important;
	gap: 0.55rem 0.9rem !important;
	min-height: 7.6rem !important;
	padding: 0.9rem 1rem 1rem !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__headline,
.post-type-archive-product ul.products li.product.product-card .product-card__headline,
.tax-product_cat ul.products li.product.product-card .product-card__headline,
.tax-product_tag ul.products li.product.product-card .product-card__headline,
.shop-archive-grid ul.products li.product.product-card .product-card__headline {
	display: contents !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__title,
.post-type-archive-product ul.products li.product.product-card .product-card__title,
.tax-product_cat ul.products li.product.product-card .product-card__title,
.tax-product_tag ul.products li.product.product-card .product-card__title,
.shop-archive-grid ul.products li.product.product-card .product-card__title {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
	max-height: 2.65em !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__price,
.post-type-archive-product ul.products li.product.product-card .product-card__price,
.tax-product_cat ul.products li.product.product-card .product-card__price,
.tax-product_tag ul.products li.product.product-card .product-card__price,
.shop-archive-grid ul.products li.product.product-card .product-card__price {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: start !important;
	justify-self: end !important;
	min-width: max-content !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: right !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__swatches,
.post-type-archive-product ul.products li.product.product-card .product-card__swatches,
.tax-product_cat ul.products li.product.product-card .product-card__swatches,
.tax-product_tag ul.products li.product.product-card .product-card__swatches,
.shop-archive-grid ul.products li.product.product-card .product-card__swatches {
	grid-column: 1 !important;
	grid-row: 3 !important;
	align-self: end !important;
	justify-self: start !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__sizes,
.post-type-archive-product ul.products li.product.product-card .product-card__sizes,
.tax-product_cat ul.products li.product.product-card .product-card__sizes,
.tax-product_tag ul.products li.product.product-card .product-card__sizes,
.shop-archive-grid ul.products li.product.product-card .product-card__sizes {
	grid-column: 1 !important;
	grid-row: 3 !important;
	align-self: end !important;
	justify-self: start !important;
	margin-top: 1.35rem !important;
	padding: 0 !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__content::after,
.post-type-archive-product ul.products li.product.product-card .product-card__content::after,
.tax-product_cat ul.products li.product.product-card .product-card__content::after,
.tax-product_tag ul.products li.product.product-card .product-card__content::after,
.shop-archive-grid ul.products li.product.product-card .product-card__content::after {
	right: 1rem !important;
	bottom: 1rem !important;
}

/* Keep title and price locked to the same top row. */
.woocommerce-shop ul.products li.product.product-card .product-card__content,
.post-type-archive-product ul.products li.product.product-card .product-card__content,
.tax-product_cat ul.products li.product.product-card .product-card__content,
.tax-product_tag ul.products li.product.product-card .product-card__content,
.shop-archive-grid ul.products li.product.product-card .product-card__content {
	grid-template-columns: minmax(0, 1fr) auto !important;
	grid-template-rows: auto 1fr auto auto !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__headline,
.post-type-archive-product ul.products li.product.product-card .product-card__headline,
.tax-product_cat ul.products li.product.product-card .product-card__headline,
.tax-product_tag ul.products li.product.product-card .product-card__headline,
.shop-archive-grid ul.products li.product.product-card .product-card__headline {
	grid-column: 1 / -1 !important;
	grid-row: 1 !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: start !important;
	gap: 0.9rem !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__title,
.post-type-archive-product ul.products li.product.product-card .product-card__title,
.tax-product_cat ul.products li.product.product-card .product-card__title,
.tax-product_tag ul.products li.product.product-card .product-card__title,
.shop-archive-grid ul.products li.product.product-card .product-card__title {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__price,
.post-type-archive-product ul.products li.product.product-card .product-card__price,
.tax-product_cat ul.products li.product.product-card .product-card__price,
.tax-product_tag ul.products li.product.product-card .product-card__price,
.shop-archive-grid ul.products li.product.product-card .product-card__price {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: start !important;
	justify-self: end !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__swatches,
.post-type-archive-product ul.products li.product.product-card .product-card__swatches,
.tax-product_cat ul.products li.product.product-card .product-card__swatches,
.tax-product_tag ul.products li.product.product-card .product-card__swatches,
.shop-archive-grid ul.products li.product.product-card .product-card__swatches {
	grid-column: 1 !important;
	grid-row: 3 !important;
	align-self: end !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__sizes,
.post-type-archive-product ul.products li.product.product-card .product-card__sizes,
.tax-product_cat ul.products li.product.product-card .product-card__sizes,
.tax-product_tag ul.products li.product.product-card .product-card__sizes,
.shop-archive-grid ul.products li.product.product-card .product-card__sizes {
	grid-column: 1 !important;
	grid-row: 4 !important;
	align-self: end !important;
	margin-top: 0 !important;
}

/* Direct card fields after removing the headline wrapper. */
.woocommerce-shop ul.products li.product.product-card .product-card__content > .product-card__title,
.post-type-archive-product ul.products li.product.product-card .product-card__content > .product-card__title,
.tax-product_cat ul.products li.product.product-card .product-card__content > .product-card__title,
.tax-product_tag ul.products li.product.product-card .product-card__content > .product-card__title,
.shop-archive-grid ul.products li.product.product-card .product-card__content > .product-card__title {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
	justify-self: start !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-shop ul.products li.product.product-card .product-card__content > .product-card__price,
.post-type-archive-product ul.products li.product.product-card .product-card__content > .product-card__price,
.tax-product_cat ul.products li.product.product-card .product-card__content > .product-card__price,
.tax-product_tag ul.products li.product.product-card .product-card__content > .product-card__price,
.shop-archive-grid ul.products li.product.product-card .product-card__content > .product-card__price {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: start !important;
	justify-self: end !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ── Coupon popup ──────────────────────────────────────────────────────────── */
.coupon-popup[hidden] {
	display: none !important;
}

.coupon-popup {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.coupon-popup.is-open {
	opacity: 1;
	pointer-events: auto;
}

.coupon-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}

.coupon-popup__modal {
	position: relative;
	background: #fff;
	width: min(440px, 92vw);
	padding: 2.5rem 2.5rem 2rem;
	text-align: center;
	transform: translateY(16px);
	transition: transform 0.3s ease;
}

.coupon-popup.is-open .coupon-popup__modal {
	transform: translateY(0);
}

.coupon-popup__close {
	position: absolute;
	top: 1rem;
	right: 1.1rem;
	background: none;
	border: none;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	color: #888;
	padding: 0.2rem 0.4rem;
}

.coupon-popup__close:hover {
	color: #111;
}

.coupon-popup__label {
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #b07d55;
	margin: 0 0 0.75rem;
}

.coupon-popup__headline {
	font-size: 1.35rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #111;
	margin: 0 0 1.2rem;
}

.coupon-popup__instruction {
	font-size: 0.85rem;
	color: #666;
	margin: 0 0 0.75rem;
}

.coupon-popup__code-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	border: 1.5px dashed #b07d55;
	padding: 0.75rem 1.2rem;
	margin-bottom: 1.5rem;
}

.coupon-popup__code {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: #111;
}

.coupon-popup__copy {
	background: none;
	border: 1px solid #bbb;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	color: #555;
	padding: 0.3rem 0.65rem;
	transition: background 0.2s, color 0.2s;
}

.coupon-popup__copy:hover {
	background: #111;
	color: #fff;
	border-color: #111;
}

.coupon-popup__dismiss {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #222;
	background: #222;
	color: #fff;
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.coupon-popup__dismiss:hover {
	background: #fff;
	color: #222;
}

/* ── Newsletter popup ──────────────────────────────────────────────────────── */
.newsletter-popup[hidden] {
	display: none !important;
}

.newsletter-popup {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	overflow-y: auto;
	padding: 1rem 0;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.newsletter-popup.is-open {
	pointer-events: auto;
	opacity: 1;
}

.newsletter-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.newsletter-popup__modal {
	position: relative;
	background: #fff;
	width: min(480px, 92vw);
	max-height: calc(100dvh - 2rem);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 2.5rem 2.5rem 2rem;
	text-align: center;
	transform: translateY(16px);
	transition: transform 0.3s ease;
}

.newsletter-popup.is-open .newsletter-popup__modal {
	transform: translateY(0);
}

.newsletter-popup__close {
	position: absolute;
	top: 1rem;
	right: 1.1rem;
	background: none;
	border: none;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	color: #888;
	padding: 0.2rem 0.4rem;
}

.newsletter-popup__close:hover {
	color: #111;
}

.newsletter-popup__label {
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #b07d55;
	margin: 0 0 1.4rem;
}

.newsletter-popup__text {
	font-size: 1rem;
	line-height: 1.5;
	color: #222;
	margin: 0 0 1.8rem;
}

.newsletter-popup__form {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.newsletter-popup__email {
	width: 100%;
	padding: 0.7rem 1rem;
	border: 1px solid #ccc;
	font-size: 0.9rem;
	background: #fff;
	color: #111;
	outline: none;
	box-sizing: border-box;
}

.newsletter-popup__email:focus {
	border-color: #888;
}

.newsletter-popup__submit {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #222;
	background: none;
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	color: #222;
	transition: background 0.2s, color 0.2s;
}

.newsletter-popup__submit:hover {
	background: #222;
	color: #fff;
}

.newsletter-popup__submit:disabled {
	opacity: 0.5;
	cursor: default;
}

.newsletter-popup__offer {
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	color: #b07d55;
	margin: -0.6rem 0 0;
	text-align: center;
}

.newsletter-popup__terms {
	font-size: 0.75rem;
	color: #999;
	margin: 0;
	text-align: center;
}

.newsletter-popup__terms a {
	color: #666;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.newsletter-popup__terms a:hover {
	color: #111;
}

.newsletter-popup__message {
	font-size: 0.85rem;
	margin: 0;
	min-height: 1.2em;
}

.newsletter-popup__message.is-success {
	color: #3a7a3a;
}

.newsletter-popup__message.is-error {
	color: #9f2d2d;
}

/* ── Newsletter popup: reward badge ── */
.newsletter-popup__reward {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: 1.1rem;
	padding: 0.7rem 1rem;
	background: linear-gradient(135deg, #fdf6ec 0%, #faf0e2 100%);
	border: 1px dashed #c9a46e;
	border-radius: 2px;
	color: #8b5e2f;
	font-size: 0.76rem;
	letter-spacing: 0.03em;
	line-height: 1.45;
	text-align: left;
}

.newsletter-popup__reward-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	color: #b07d55;
}

@media (max-width: 900px) {
	.site-footer__columns {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 540px) {
	.site-footer__columns {
		grid-template-columns: 1fr;
	}
}

/* ── Single product: disable gallery lightbox tap on mobile ── */
@media (max-width: 768px) {
	.woocommerce-product-gallery__image > a {
		pointer-events: none;
		cursor: default;
	}
}

/* ── Single product: isolate description horizontal scroll on mobile ──
   Wide description content (tables, images, code) must not push the
   viewport sideways. The shell clips page-level overflow; the description
   section becomes its own independent scroll container so users can still
   pan wide content within that block only.
──────────────────────────────────────────────────────────────────────── */
@media (max-width: 1120px) {
	.single-product-shell {
		overflow-x: hidden;
	}

	.single-product__description {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		/* Give the scrollable area a clear visual affordance */
		padding-bottom: 0.25rem;
	}
}

/* ── 2-column mobile: compact hover panel ──────────────────────────────────
   Show only price + sizes on one tight line. Title, swatches and wishlist
   are hidden. Desktop and 1-column mobile are completely unaffected.
──────────────────────────────────────────────────────────────────────────── */
@media (max-width: 840px) {
	.shop-archive-grid.cols-2 ul.products li.product.product-card .product-card__content {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;
		gap: 0.4rem !important;
		min-height: 0 !important;
		padding: 0.42rem 0.6rem !important;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
	}

	/* Hide title, colour swatches and wishlist heart */
	.shop-archive-grid.cols-2 ul.products li.product.product-card .product-card__title,
	.shop-archive-grid.cols-2 ul.products li.product.product-card .product-card__swatches,
	.shop-archive-grid.cols-2 ul.products li.product.product-card .product-card__wishlist {
		display: none !important;
	}

	/* Frosted glass background – same as single column */
	.shop-archive-grid.cols-2 ul.products li.product.product-card .product-card__content {
		background: rgba(244, 242, 237, 0.50) !important;
		backdrop-filter: blur(8px) !important;
	}

	/* Price – left side, no minimum width */
	.shop-archive-grid.cols-2 ul.products li.product.product-card .product-card__price {
		display: flex !important;
		align-items: center !important;
		flex-shrink: 0 !important;
		min-width: 0 !important;
		font-size: 0.72rem !important;
		text-align: left !important;
		justify-self: auto !important;
		order: 1 !important;
		margin: 0 !important;
	}

	/* Sizes – right side, single row */
	.shop-archive-grid.cols-2 ul.products li.product.product-card .product-card__sizes {
		flex-wrap: nowrap !important;
		overflow: hidden !important;
		font-size: 0.6rem !important;
		gap: 0.3rem !important;
		order: 2 !important;
		margin: 0 !important;
		color: #888 !important;
		justify-content: flex-end !important;
	}
}

/* ── 1-column mobile: 30% shorter hover panel ── */
@media (max-width: 840px) {
	.shop-archive-grid.cols-1 ul.products li.product.product-card .product-card__content {
		min-height: 6.5rem !important;
	}
}

/* ── Product card: functional wishlist button (replaces the CSS ♡ pseudo-element) ── */

/* Remove the decorative ::after character — the real button is in the markup now */
.woocommerce-shop ul.products li.product.product-card .product-card__content::after,
.post-type-archive-product ul.products li.product.product-card .product-card__content::after,
.tax-product_cat ul.products li.product.product-card .product-card__content::after,
.tax-product_tag ul.products li.product.product-card .product-card__content::after,
.shop-archive-grid ul.products li.product.product-card .product-card__content::after {
	content: none !important;
}

/* Position the wrapper in the same spot the ::after used to occupy */
.product-card__wishlist {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 3;
	line-height: 1;
}

/* Static fallback (no plugin active) */
.product-card__wishlist--static {
	display: block;
	color: #323232;
	font-size: 1.35rem;
	pointer-events: none;
}

/* ── YITH WooCommerce Wishlist ── */
.product-card__wishlist .yith-wcwl-add-to-wishlist {
	margin: 0;
	padding: 0;
}
.product-card__wishlist .yith-wcwl-add-to-wishlist > div {
	margin: 0;
	padding: 0;
}
/* Strip all chrome from the link/button, keep only the icon */
.product-card__wishlist .yith-wcwl-add-to-wishlist a,
.product-card__wishlist .yith-wcwl-add-to-wishlist button,
.product-card__wishlist .yith-wcwl-wishlistexistsremove a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	color: #323232 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	min-height: 0 !important;
	width: auto !important;
}
/* Restore icon size */
.product-card__wishlist .yith-wcwl-icon,
.product-card__wishlist .yith-wcwl-add-to-wishlist .fa,
.product-card__wishlist .yith-wcwl-add-to-wishlist [class^="yith"],
.product-card__wishlist .yith-wcwl-wishlistexistsremove .yith-wcwl-icon,
.product-card__wishlist .yith-wcwl-wishlistexistsremove .fa {
	font-size: 1.35rem !important;
	line-height: 1 !important;
	color: #323232 !important;
}
/* Hide spinner, text feedback, and browse-wishlist states */
.product-card__wishlist .ajax-loading,
.product-card__wishlist .feedback,
.product-card__wishlist .yith-wcwl-wishlistexistsbrowse,
.product-card__wishlist .yith-wcwl-wishlistaddedbrowse {
	display: none !important;
}

/* ── TI WooCommerce Wishlist ── */
.product-card__wishlist .tinv-wishlist {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
}
.product-card__wishlist .tinv-wishlist a,
.product-card__wishlist .tinvwl_add_to_wishlist_button {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0 !important;
	margin: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	color: #323232 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	min-height: 0 !important;
	width: auto !important;
	text-decoration: none !important;
	cursor: pointer !important;
}
/* Restore icon size */
.product-card__wishlist .ftinvwl,
.product-card__wishlist [class*="tinvwl-heart"] {
	font-size: 1.35rem !important;
	line-height: 1 !important;
	color: #323232 !important;
}
/* Hide text label */
.product-card__wishlist .tinvwl-text {
	display: none !important;
}
