/*
Theme Name: Old is Gold
Theme URI: https://app.oldisgold.test
Description: OldIsGold child theme based on Twenty Twenty-Five. Keep customizations here so parent theme files stay untouched.
Author: OldIsGold
Template: twentytwentyfive
Version: 2.3.0
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: oldisgold
*/

/*
 * OldIsGold visual system
 * Warm gold retail palette — metallic accents that blend with the promo bar.
 */

:root {
	--vm-ink: #1a1a1a;
	--vm-gold-deep: #6b4f0e;
	--vm-gold: #c9a227;
	--vm-gold-mid: #d4af37;
	--vm-gold-bright: #f3dfa0;
	--vm-gold-pale: #f8ecc8;
	--vm-gold-ink: #3d2e0a;
	--vm-silver: #e8eef4;
	--vm-red: #c41230;
	--vm-red-deep: #9e0f26;
	--vm-blue: #3684f2;
	--vm-blue-deep: #2563c7;
	--vm-forest: #198754;
	--vm-forest-deep: #157347;
	--vm-terracotta: var(--vm-gold-mid);
	--vm-cta: var(--vm-gold-deep);
	--vm-cta-hover: #5a4309;
	--vm-accent-text: var(--vm-gold-deep);
	--vm-sand: var(--vm-gold-mid);
	--vm-sky: var(--vm-blue);
	--vm-violet: #5c6bc0;
	--vm-mist: #f2f2f2;
	--vm-surface: #faf6eb;
	--vm-paper: #fff;
	--vm-white: #fff;
	--vm-muted: #6b6b6b;
	--vm-line: rgba(107, 79, 14, 0.1);
	--vm-shadow: 0 4px 15px rgba(90, 68, 12, 0.1);
	--vm-shadow-hover: 0 8px 28px rgba(90, 68, 12, 0.14);
	--vm-gradient-gold: linear-gradient(
		118deg,
		#8f6f18 0%,
		#d4af37 22%,
		#f5e6a8 40%,
		#fff8dc 48%,
		#d4af37 62%,
		#f8ecc8 76%,
		#a67c00 90%,
		#7a5c10 100%
	);
	--vm-gradient-gold-nav: linear-gradient(
		180deg,
		#f5e6a8 0%,
		#e8c96a 32%,
		#d4af37 68%,
		#c5a028 100%
	);
	--vm-gradient-brand: var(--vm-gradient-gold);
	--vm-gradient-hero: linear-gradient(160deg, #fdfbf5 0%, #f8f0d8 52%, #fafafa 100%);
	--vm-gradient-shop: linear-gradient(180deg, #faf6eb 0%, var(--vm-white) 100%);
	--vm-gradient-trust: linear-gradient(180deg, #faf6eb 0%, var(--vm-white) 100%);
	--vm-gradient-editorial: linear-gradient(135deg, #f8f0d8 0%, var(--vm-surface) 100%);
	--vm-radius-sm: 8px;
	--vm-radius: 12px;
	--vm-radius-lg: 16px;
	--vm-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--vm-ease-spring: cubic-bezier(0.34, 1.2, 0.64, 1);
	--vm-duration-fast: 120ms;
	--vm-duration: 180ms;
	--vm-duration-slow: 300ms;
	--vm-transition: var(--vm-duration) var(--vm-ease-out);
}

@keyframes vm-rise {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes vm-fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes vm-slide-in {
	from {
		opacity: 0;
		transform: translateX(18px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes vm-float {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-8px);
	}
}

@keyframes vm-pulse {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}

	50% {
		opacity: 0.78;
		transform: scale(1.18);
	}
}

@keyframes vm-metal-shift {
	0%,
	100% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.vm-reveal {
		opacity: 0;
		transform: translateY(12px);
		transition:
			opacity var(--vm-duration-slow) var(--vm-ease-out),
			transform var(--vm-duration-slow) var(--vm-ease-out);
		transition-delay: var(--vm-reveal-delay, 0ms);
	}

	.vm-reveal.is-visible {
		opacity: 1;
		transform: translateY(0);
	}

	.vm-reveal-scale {
		opacity: 0;
		transform: scale(0.97);
		transition:
			opacity var(--vm-duration-slow) var(--vm-ease-out),
			transform var(--vm-duration-slow) var(--vm-ease-out);
		transition-delay: var(--vm-reveal-delay, 0ms);
	}

	.vm-reveal-scale.is-visible {
		opacity: 1;
		transform: scale(1);
	}
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--vm-paper);
	color: var(--vm-ink);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
	font-family: var(--wp--preset--font-family--body);
}

a,
button,
input,
select,
textarea {
	transition:
		color var(--vm-transition),
		background-color var(--vm-transition),
		border-color var(--vm-transition),
		box-shadow var(--vm-transition),
		transform var(--vm-transition);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--vm-gold-mid);
	outline-offset: 2px;
}

.wp-site-blocks {
	padding: 0;
}

.wp-block-column,
.wp-block-group,
.wp-block-post {
	min-width: 0;
}

.vm-section {
	margin-block: clamp(4.5rem, 9vw, 8rem);
}

.vm-eyebrow {
	margin: 0 0 0.65rem;
	color: var(--vm-accent-text);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.vm-section-heading {
	align-items: end;
	gap: 1.5rem 3rem;
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.vm-section-heading h2,
.vm-section-heading p {
	margin-top: 0;
}

.vm-section-heading h2 {
	margin-bottom: 0;
}

.vm-section-intro {
	max-width: 34rem;
	color: var(--vm-muted);
}

.vm-text-link {
	border-bottom: 1px solid currentcolor;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

.vm-text-link span {
	display: inline-block;
	margin-left: 0.25rem;
	transition: transform var(--vm-duration-fast) var(--vm-ease-out);
}

.vm-text-link:hover span,
.vm-text-link:focus-visible span {
	transform: translateX(4px);
}

/* Header */

.vm-site-header {
	position: relative;
	z-index: 20;
	background: var(--vm-white);
	border-bottom: 1px solid var(--vm-line);
}

.vm-announcement {
	position: relative;
	overflow: hidden;
	padding-block: 0.6rem;
	background: linear-gradient(90deg, #7a5c10 0%, #a67c00 48%, #7a5c10 100%);
	color: var(--vm-gold-pale);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

@media (prefers-reduced-motion: no-preference) {
	.vm-announcement::after {
		position: absolute;
		inset: 0;
		background: linear-gradient(
			112deg,
			transparent 34%,
			rgba(255, 255, 255, 0.18) 50%,
			transparent 66%
		);
		content: "";
		pointer-events: none;
		animation: vm-shimmer 7s ease-in-out infinite;
	}
}

@keyframes vm-shimmer {
	0% {
		transform: translateX(-120%);
	}

	100% {
		transform: translateX(120%);
	}
}

.vm-announcement > .wp-block-group {
	min-height: 1.4rem;
}

.vm-announcement p {
	margin: 0;
}

.vm-announcement a {
	color: var(--vm-gold-bright);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.vm-header-main {
	padding-block: 1.15rem;
	background: linear-gradient(180deg, #fff 0%, #fdfbf5 100%);
}

.vm-header-main > .wp-block-group {
	gap: clamp(1rem, 3vw, 2.5rem);
}

.vm-brand {
	flex: 0 0 auto;
	gap: 0.65rem;
}

.vm-brand .wp-block-site-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.35rem;
	font-weight: 900;
	letter-spacing: -0.02em;
}

.vm-brand .wp-block-site-title a {
	color: var(--vm-ink);
	text-decoration: none;
}

.vm-brand .wp-block-site-title a:hover {
	color: var(--vm-gold-deep);
}

.vm-brand:not(:has(.wp-block-site-logo img))::before {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	background: var(--vm-gradient-gold);
	box-shadow:
		0 4px 12px rgba(122, 92, 16, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.45);
	color: var(--vm-gold-ink);
	content: "OG";
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1;
	place-items: center;
	text-indent: 0.02em;
}

.vm-product-search {
	flex: 1 1 32rem;
	max-width: 38rem;
}

.vm-product-search .wp-block-search__inside-wrapper {
	padding: 0.2rem 0.2rem 0.2rem 1.2rem;
	border: 1px solid transparent;
	border-radius: var(--vm-radius-sm);
	background: var(--vm-mist);
}

.vm-product-search .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--vm-gold-mid);
	background: var(--vm-white);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
}

.vm-product-search .wp-block-search__input {
	min-width: 0;
	padding: 0.65rem 0;
	border: 0;
	background: transparent;
	color: var(--vm-ink);
	font-size: 0.9rem;
}

.vm-product-search .wp-block-search__button {
	display: grid;
	width: 2.6rem;
	height: 2.6rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--vm-radius-sm);
	background: var(--vm-gradient-gold);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
	color: var(--vm-gold-ink);
	place-items: center;
}

.vm-product-search .wp-block-search__button:hover {
	background: linear-gradient(180deg, #e8c96a 0%, #b8891f 100%);
	transform: scale(1.04);
}

.vm-product-search .wp-block-search__button:active {
	transform: scale(0.96);
}

.vm-product-search .wp-block-search__button svg {
	width: 1.05rem;
	height: 1.05rem;
}

.vm-header-actions {
	flex: 0 0 auto;
	gap: 0.15rem;
}

.vm-header-actions .wc-block-mini-cart__button,
.vm-header-actions .wp-block-woocommerce-customer-account a {
	display: grid;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.6rem;
	border-radius: 50%;
	place-items: center;
}

.vm-header-actions .wc-block-mini-cart__button:hover,
.vm-header-actions .wp-block-woocommerce-customer-account a:hover {
	background: var(--vm-gold-pale);
	color: var(--vm-gold-deep);
}

.vm-nav-row {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background-color: var(--vm-gold-mid);
	background-image: var(--vm-gradient-gold-nav);
	background-size: 200% 100%;
	border-top: 1px solid rgba(255, 255, 255, 0.42);
	border-bottom: 1px solid rgba(107, 79, 14, 0.22);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.5),
		inset 0 -1px 0 rgba(0, 0, 0, 0.06);
	color: var(--vm-gold-ink);
}

@media (prefers-reduced-motion: no-preference) {
	.vm-nav-row {
		animation: vm-metal-shift 12s ease-in-out infinite;
	}

	.vm-nav-row::after {
		position: absolute;
		inset: 0;
		background: linear-gradient(
			108deg,
			transparent 30%,
			rgba(255, 255, 255, 0.22) 48%,
			rgba(255, 248, 220, 0.35) 50%,
			rgba(255, 255, 255, 0.12) 58%,
			transparent 70%
		);
		content: "";
		pointer-events: none;
		animation: vm-shimmer 6s ease-in-out infinite;
	}
}

.vm-nav-row::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0.55;
	pointer-events: none;
	background-image:
		radial-gradient(circle at 10% 50%, rgba(255, 255, 255, 0.9) 0 0.45px, transparent 0.55px),
		radial-gradient(circle at 24% 35%, rgba(255, 248, 220, 0.85) 0 0.4px, transparent 0.5px),
		radial-gradient(circle at 38% 62%, rgba(232, 238, 245, 0.9) 0 0.35px, transparent 0.45px),
		radial-gradient(circle at 52% 42%, rgba(255, 255, 255, 0.85) 0 0.45px, transparent 0.55px),
		radial-gradient(circle at 66% 58%, rgba(255, 248, 220, 0.9) 0 0.4px, transparent 0.5px),
		radial-gradient(circle at 80% 38%, rgba(255, 255, 255, 0.85) 0 0.45px, transparent 0.55px),
		radial-gradient(circle at 92% 52%, rgba(232, 238, 245, 0.9) 0 0.35px, transparent 0.45px);
}

.vm-main-nav {
	position: relative;
	z-index: 1;
	padding-block: 0.25rem;
}

.vm-main-nav .wp-block-navigation-item__content {
	position: relative;
	padding: 0.75rem 0.85rem;
	color: var(--vm-gold-ink);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.015em;
	text-decoration: none;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.22);
	transition:
		color var(--vm-duration-fast) var(--vm-ease-out),
		background-color var(--vm-duration-fast) var(--vm-ease-out);
}

.vm-main-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	position: absolute;
	right: 0.85rem;
	bottom: 0.35rem;
	left: 0.85rem;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, transparent, var(--vm-gold-deep), transparent);
	content: "";
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--vm-duration-fast) var(--vm-ease-out);
}

.vm-main-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.vm-main-nav .wp-block-navigation-item__content:focus-visible {
	background: rgba(255, 255, 255, 0.38);
	color: #1a1204;
}

.vm-main-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	border-radius: var(--vm-radius-sm);
}

.vm-main-nav > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

.vm-main-nav .wp-block-navigation__submenu-container {
	min-width: 13rem !important;
	padding: 0.5rem;
	border: 1px solid var(--vm-line) !important;
	border-radius: var(--vm-radius-sm);
	background: var(--vm-white) !important;
	box-shadow: var(--vm-shadow);
}

.vm-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.65rem 0.75rem;
	border-radius: 8px;
	color: var(--vm-ink);
}

.vm-main-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--vm-white);
	color: var(--vm-ink);
}

.vm-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
.vm-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none;
	color: var(--vm-ink);
}

.vm-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--vm-mist);
}

/* Hero */

.vm-hero-wrap {
	padding-block: clamp(1rem, 3vw, 2.5rem);
}

.vm-hero {
	position: relative;
	min-height: min(680px, 78vh);
	margin-block: 0;
	overflow: hidden;
	border-radius: var(--vm-radius-lg);
	border: 1px solid var(--vm-line);
	background: var(--vm-gradient-hero);
	box-shadow: var(--vm-shadow);
}

@media (prefers-reduced-motion: no-preference) {
	.vm-hero-copy > * {
		animation: vm-rise 0.42s var(--vm-ease-out) both;
	}

	.vm-hero-copy > *:nth-child(1) {
		animation-delay: 0.02s;
	}

	.vm-hero-copy > *:nth-child(2) {
		animation-delay: 0.06s;
	}

	.vm-hero-copy > *:nth-child(3) {
		animation-delay: 0.1s;
	}

	.vm-hero-copy > *:nth-child(4) {
		animation-delay: 0.14s;
	}

	.vm-hero-copy > *:nth-child(5) {
		animation-delay: 0.18s;
	}

	.vm-hero-media {
		animation: vm-slide-in 0.48s var(--vm-ease-out) 0.08s both;
	}
}

.vm-hero::before {
	display: none;
}

.vm-hero-copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 6vw, 5.5rem);
}

.vm-hero-copy h1 {
	max-width: 12ch;
	margin-block: 0 1.5rem;
}

.vm-hero-accent {
	position: relative;
	color: var(--vm-gold-deep);
	font-style: normal;
	white-space: nowrap;
}

.vm-hero-accent::after {
	position: absolute;
	right: 0;
	bottom: 0.06em;
	left: 0;
	height: 0.12em;
	border-radius: 2px;
	background: var(--vm-gold-deep);
	opacity: 0.25;
	content: "";
}

.vm-hero-description {
	max-width: 34rem;
	margin: 0;
	color: var(--vm-muted);
}

.vm-hero-actions {
	margin-top: 2rem;
	gap: 0.75rem;
}

.vm-hero-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--vm-ink);
	box-shadow: var(--vm-shadow);
}

.vm-hero-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: var(--vm-gold-deep);
	transform: translateY(-2px);
	box-shadow: var(--vm-shadow-hover);
}

.vm-hero-actions .wp-block-button__link:active {
	transform: translateY(0) scale(0.98);
}

.vm-hero-actions .is-style-outline .wp-block-button__link {
	border-color: var(--vm-ink);
	color: var(--vm-ink);
}

.vm-hero-actions .is-style-outline .wp-block-button__link:hover {
	background: var(--vm-ink);
	color: var(--vm-white);
	transform: translateY(-2px);
}

.vm-hero-proof {
	gap: 0.6rem 1.35rem;
	margin-top: clamp(2.5rem, 5vw, 4.5rem);
	padding-top: 1.25rem;
	border-top: 1px solid var(--vm-line);
}

.vm-hero-proof p {
	margin: 0;
	color: var(--vm-muted);
	font-size: 0.75rem;
}

.vm-hero-proof strong {
	margin-right: 0.25rem;
	color: var(--vm-accent-text);
}

.vm-hero-copy > .vm-eyebrow {
	align-self: flex-start;
	margin-bottom: 1.1rem;
	padding: 0.35rem 0.8rem;
	border: 1px solid var(--vm-line);
	border-radius: var(--vm-radius-sm);
	background: var(--vm-white);
	box-shadow: none;
	color: var(--vm-gold-deep);
}

.vm-hero-copy > .vm-eyebrow::before {
	display: inline-block;
	width: 0.4rem;
	height: 0.4rem;
	margin-right: 0.45rem;
	border-radius: 50%;
	background: var(--vm-gold-deep);
	content: "";
	vertical-align: 0.05em;
}

.vm-hero-media {
	position: relative;
	min-height: 540px;
}

.vm-hero-media > .wp-block-image {
	width: 100%;
	height: 100%;
	margin: 0;
}

.vm-hero-media > .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vm-hero-note {
	position: absolute;
	right: clamp(1rem, 3vw, 2rem);
	bottom: clamp(1rem, 3vw, 2rem);
	width: min(16rem, calc(100% - 2rem));
	padding: 1.25rem;
	border: 1px solid var(--vm-line);
	border-radius: var(--vm-radius);
	background: var(--vm-white);
	box-shadow: var(--vm-shadow);
}

.vm-hero-note h3,
.vm-hero-note p {
	margin-block: 0 0.5rem;
}

.vm-hero-note p:last-child {
	margin-bottom: 0;
	font-size: 0.85rem;
	font-weight: 700;
}

/* Categories */

.vm-category-grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: 1rem;
}

.vm-category-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--vm-radius);
	transition:
		transform var(--vm-duration) var(--vm-ease-out),
		box-shadow var(--vm-duration) var(--vm-ease-out);
}

.vm-category-card:hover {
	transform: translateY(-4px);
}

.vm-category-card--large {
	grid-column: span 5;
	box-shadow: var(--vm-shadow);
}

.vm-category-card--large:hover {
	box-shadow: var(--vm-shadow-hover);
}

.vm-category-card--large img {
	transition: transform var(--vm-duration-slow) var(--vm-ease-out);
}

.vm-category-card--large:hover img {
	transform: scale(1.08);
}

.vm-category-card--large .wp-block-cover__inner-container {
	align-self: end;
}

.vm-category-card__content {
	padding: clamp(1.25rem, 3vw, 2rem);
}

.vm-category-card__content h3,
.vm-category-card__content p {
	margin: 0;
}

.vm-category-card__content h3 a {
	color: var(--vm-white);
	text-decoration: none;
}

.vm-category-count {
	margin-bottom: 0.4rem !important;
	color: rgba(255, 255, 255, 0.76);
	font-size: 0.75rem;
	font-weight: 650;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.vm-category-card--small {
	display: flex;
	min-height: 230px;
	flex-direction: column;
	grid-column: span 2;
	justify-content: flex-end;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border: 1px solid var(--vm-line);
	background: var(--vm-white);
	box-shadow: var(--vm-shadow);
}

.vm-category-card--small h3,
.vm-category-card--small p {
	margin-block: 0.4rem 0;
}

.vm-category-card--small h3 a {
	color: var(--vm-ink);
	text-decoration: none;
	transition: color var(--vm-duration-fast) var(--vm-ease-out);
}

.vm-category-card--small > p:not(.vm-category-icon) {
	color: var(--vm-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.vm-category-card--small:hover {
	border-color: var(--vm-gold-deep);
	box-shadow: var(--vm-shadow-hover);
}

.vm-category-card--small:hover h3 a {
	color: var(--vm-gold-deep);
}

.vm-category-icon {
	display: grid;
	width: 2.6rem;
	height: 2.6rem;
	margin: 0 auto auto 0 !important;
	border: 1px solid var(--vm-line);
	border-radius: var(--vm-radius-sm);
	background: var(--vm-surface);
	color: var(--vm-gold-deep);
	font-size: 0.8rem;
	font-weight: 800;
	place-items: center;
	transition:
		background var(--vm-duration) var(--vm-ease-out),
		color var(--vm-duration) var(--vm-ease-out),
		transform var(--vm-duration) var(--vm-ease-out);
}

.vm-category-card--small:hover .vm-category-icon {
	background: var(--vm-gold-deep);
	color: var(--vm-white);
	transform: scale(1.05);
}

.vm-card-appliances,
.vm-card-mobile,
.vm-card-laptops,
.vm-card-kitchen,
.vm-card-other {
	background: var(--vm-white);
}

/* Product cards and catalog */

.vm-price-display {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.vm-price-display__compare,
.vm-price-display__offer-main {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem 0.55rem;
}

.vm-price-display__compare {
	color: var(--vm-muted);
	font-size: 0.82rem;
	line-height: 1.2;
}

.vm-price-display__was-tag {
	padding: 0.18rem 0.55rem;
	border: 1px solid var(--vm-line);
	border-radius: 999px;
	background: #f8fafc;
	color: var(--vm-muted);
	font-size: 0.62rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.vm-price-display__old {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0.15rem 0.45rem;
	border-radius: 8px;
	background: rgba(15, 23, 42, 0.04);
	color: #64748b;
	font-size: 0.92em;
	font-weight: 600;
	text-decoration: none;
}

.vm-price-display__old .woocommerce-Price-amount {
	color: inherit;
	text-decoration: line-through;
	text-decoration-color: rgba(100, 116, 139, 0.85);
	text-decoration-thickness: 2px;
}

.vm-price-display__offer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid rgba(107, 79, 14, 0.12);
	border-radius: var(--vm-radius-sm);
	background: rgba(107, 79, 14, 0.04);
	box-shadow: none;
}

.vm-price-display__offer-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.7rem;
	border-radius: var(--vm-radius-sm);
	background: var(--vm-gold-deep);
	box-shadow: none;
	color: var(--vm-white);
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.vm-price-display__current,
.vm-price-display__current .woocommerce-Price-amount {
	color: var(--vm-gold-deep);
	font-size: 1.12em;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}

.vm-price-display__save-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.22rem 0.55rem;
	border-radius: var(--vm-radius-sm);
	background: rgba(25, 135, 84, 0.1);
	color: var(--vm-forest-deep);
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.vm-price-display--extra-sale .vm-price-display__compare {
	opacity: 0.92;
}

.vm-price-display__regular,
.vm-price-display__offer-tags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem 0.55rem;
}

.vm-price-display__regular {
	color: var(--vm-muted);
	font-size: 0.84rem;
}

.vm-price-display__regular-tag {
	padding: 0.16rem 0.5rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.04);
	color: var(--vm-muted);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.vm-price-display__regular-price {
	margin: 0;
	color: #888;
	font-weight: 650;
	text-decoration: none;
}

.vm-price-display__regular-price .woocommerce-Price-amount {
	text-decoration: line-through;
	text-decoration-thickness: 2px;
}

.vm-price-display__offer--highlight {
	border-color: rgba(107, 79, 14, 0.28);
	background: linear-gradient(135deg, rgba(107, 79, 14, 0.12) 0%, rgba(255, 193, 7, 0.14) 100%);
	box-shadow: 0 10px 24px rgba(107, 79, 14, 0.16);
}

.vm-price-display__extra-tag,
.vm-price-display__extra-save-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.22rem 0.55rem;
	border-radius: 999px;
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.vm-price-display__extra-tag {
	background: var(--vm-gold-deep);
	color: var(--vm-white);
	box-shadow: 0 4px 12px rgba(107, 79, 14, 0.24);
}

.vm-price-display__extra-save-tag {
	background: rgba(255, 193, 7, 0.22);
	color: #8a5a00;
}

.vm-line-savings {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.25rem;
	margin-top: 0.35rem;
	padding: 0.22rem 0.5rem;
	border-radius: 999px;
	background: rgba(25, 135, 84, 0.1);
	color: var(--vm-forest-deep);
	font-size: 0.68rem;
	font-weight: 700;
}

.vm-line-savings--extra-sale {
	background: linear-gradient(135deg, rgba(107, 79, 14, 0.12) 0%, rgba(255, 193, 7, 0.18) 100%);
	color: var(--vm-cta-hover);
}

.vm-line-savings__label {
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Block mini cart, cart, and checkout line-item pricing */
.wc-block-cart-item__prices:not(:has(.vm-block-prices)) > .price[hidden] {
	display: none !important;
}

[data-vm-custom-pricing] .wc-block-cart-item__prices > .price,
[data-vm-custom-pricing] .wc-block-components-order-summary-item__individual-prices,
[data-vm-custom-pricing] .wc-block-cart-item__prices > .wc-block-components-product-price {
	display: none !important;
}

[data-vm-custom-pricing] .wc-block-components-sale-badge:not(.vm-block-save-badge),
[data-vm-custom-pricing] .wc-block-components-sale-badge[hidden] {
	display: none !important;
}

.vm-block-save-badge {
	display: inline-flex !important;
	margin-top: 0.25rem;
}

.vm-block-prices {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	margin-top: 0.15rem;
}

.vm-block-prices__row {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.25rem 0.4rem;
	font-size: 0.78rem;
	line-height: 1.25;
}

.vm-block-prices__label {
	color: var(--vm-muted);
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.vm-block-prices__old,
.vm-block-prices__regular {
	margin: 0;
	color: #888;
	font-weight: 650;
	text-decoration: none;
}

.vm-block-prices__old .woocommerce-Price-amount,
.vm-block-prices__regular .woocommerce-Price-amount {
	text-decoration: line-through;
	text-decoration-thickness: 1.5px;
}

.vm-block-prices__current {
	margin: 0;
	color: var(--vm-gold-deep);
	font-weight: 800;
	text-decoration: none;
}

.vm-block-prices--extra-sale .vm-block-prices__current .woocommerce-Price-amount {
	color: var(--vm-gold-deep);
}

.wp-block-woocommerce-mini-cart-contents .vm-cart-savings-summary,
.widget_shopping_cart_content .vm-cart-savings-summary {
	margin: 0.75rem 1rem 0.85rem;
}

.wc-block-mini-cart__footer .vm-cart-savings-totals {
	margin: 0 0 0.65rem;
	padding: 0 1rem;
}

.vm-product-grid .vm-price-display__offer {
	width: 100%;
}

.vm-product-grid .vm-price-display__current,
.vm-product-grid .vm-price-display__current .woocommerce-Price-amount {
	font-size: 1.05rem;
}

.vm-featured-band .vm-price-display__compare {
	color: rgba(255, 255, 255, 0.68);
}

.vm-featured-band .vm-price-display__was-tag {
	border-color: rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.78);
}

.vm-featured-band .vm-price-display__old {
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.72);
}

.vm-featured-band .vm-price-display__old .woocommerce-Price-amount {
	text-decoration-color: rgba(255, 255, 255, 0.55);
}

.vm-featured-band .vm-price-display__offer {
	border-color: rgba(255, 255, 255, 0.16);
	background: linear-gradient(135deg, rgba(251, 191, 36, 0.22) 0%, rgba(255, 255, 255, 0.08) 100%);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

.vm-featured-band .vm-price-display__offer-tag {
	color: var(--vm-ink);
}

.vm-featured-band .vm-price-display__current,
.vm-featured-band .vm-price-display__current .woocommerce-Price-amount {
	color: var(--vm-white);
}

.vm-featured-band .vm-price-display__save-tag {
	background: rgba(255, 255, 255, 0.16);
	color: var(--vm-sand);
}

.vm-product-summary .vm-price-display {
	gap: 0.75rem;
	margin-block: 0.35rem;
}

.vm-product-summary .vm-price-display__offer {
	padding: 0.85rem 1rem;
	border-radius: var(--vm-radius-sm);
}

.vm-product-summary .vm-price-display__offer-tag {
	font-size: 0.72rem;
}

.vm-product-summary .vm-price-display__current,
.vm-product-summary .vm-price-display__current .woocommerce-Price-amount {
	font-size: clamp(1.6rem, 3vw, 2.1rem);
}

.vm-product-summary .vm-price-display__save-tag {
	font-size: 0.72rem;
}

/* Cart and checkout savings */

.vm-cart-savings-summary {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	margin-bottom: 1rem;
	padding: 0.9rem 1rem;
	border: 1px solid rgba(5, 150, 105, 0.22);
	border-radius: var(--vm-radius-sm);
	background: linear-gradient(135deg, rgba(209, 250, 229, 0.65) 0%, rgba(255, 255, 255, 0.95) 100%);
	box-shadow: 0 10px 24px rgba(5, 150, 105, 0.12);
}

.vm-cart-savings-summary__badge {
	align-self: flex-start;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.08);
	color: var(--vm-muted);
	font-size: 0.62rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.vm-cart-savings-summary__content {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.45rem 0.75rem;
}

.vm-cart-savings-summary__label {
	color: var(--vm-forest-deep);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.vm-cart-savings-summary__amount,
.vm-cart-savings-summary__amount .woocommerce-Price-amount {
	color: var(--vm-forest-deep);
	font-size: clamp(1.35rem, 2.5vw, 1.8rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
}

.vm-cart-savings-summary__note {
	margin: 0;
	color: var(--vm-muted);
	font-size: 0.78rem;
	line-height: 1.45;
}

.vm-cart-savings-totals .vm-cart-savings-totals__label,
.wc-block-components-totals-item.vm-cart-savings-totals .vm-cart-savings-totals__label {
	display: inline-flex;
	align-items: center;
	padding: 0.24rem 0.6rem;
	border-radius: 999px;
	background: rgba(25, 135, 84, 0.1);
	color: var(--vm-forest-deep);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.vm-cart-savings-totals .vm-cart-savings-totals__value,
.wc-block-components-totals-item.vm-cart-savings-totals .vm-cart-savings-totals__value {
	color: var(--vm-forest-deep);
	font-size: 1rem;
	font-weight: 800;
}

.vm-cart-savings-totals th {
	border-top: 1px dashed rgba(25, 135, 84, 0.24);
}

.vm-cart-savings-totals td {
	border-top: 1px dashed rgba(25, 135, 84, 0.24);
}

.wc-block-components-totals-item.vm-cart-savings-totals {
	margin-top: 0.35rem;
	padding-top: 0.75rem;
	border-top: 1px dashed rgba(25, 135, 84, 0.24);
}

.vm-product-grid .wc-block-product,
.vm-product-grid .wp-block-post {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 0.75rem 0.75rem 1.1rem;
	border: 1px solid var(--vm-line);
	border-radius: var(--vm-radius);
	background: var(--vm-white);
	box-shadow: none;
	text-align: left;
	transition:
		transform var(--vm-duration) var(--vm-ease-out),
		box-shadow var(--vm-duration) var(--vm-ease-out),
		border-color var(--vm-duration) var(--vm-ease-out);
}

.vm-product-grid .wc-block-product:hover,
.vm-product-grid .wp-block-post:hover {
	border-color: rgba(107, 79, 14, 0.25);
	box-shadow: var(--vm-shadow-hover);
	transform: translateY(-4px);
}

.vm-product-grid .vm-product-image {
	position: relative;
	overflow: hidden;
	margin-bottom: 1rem;
	border-radius: var(--vm-radius-sm);
	background: var(--vm-surface);
}

.vm-product-grid .vm-product-image img {
	transition: transform var(--vm-duration-slow) var(--vm-ease-out);
}

.vm-product-grid .wc-block-product:hover .vm-product-image img,
.vm-product-grid .wp-block-post:hover .vm-product-image img {
	transform: scale(1.05);
}

.vm-product-grid .wp-block-post-title {
	margin: 0.6rem 0 0.25rem;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 650;
	line-height: 1.3;
	letter-spacing: -0.02em;
}

.vm-product-grid .wp-block-post-title a {
	text-decoration: none;
}

.vm-product-grid .wp-block-woocommerce-product-price {
	margin: 0;
	color: var(--vm-ink);
	font-size: 1.05rem;
}

.vm-product-grid .wc-block-components-product-price {
	font-weight: 800;
}

.vm-product-grid .wp-block-woocommerce-product-button {
	margin-top: auto;
	padding-top: 1rem;
}

.vm-product-grid .wp-block-woocommerce-product-button .wp-block-button__link {
	width: 100%;
	border: 2px solid var(--vm-ink);
	background: transparent;
	color: var(--vm-ink);
}

.vm-product-grid .wp-block-woocommerce-product-button .wp-block-button__link:hover {
	border-color: var(--vm-gold-deep);
	background: var(--vm-gold-deep);
	color: var(--vm-white);
	box-shadow: none;
}

.vm-product-card-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.45rem 0.75rem;
	color: var(--vm-muted);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vm-condition-badge {
	padding: 0.28rem 0.6rem;
	border-radius: var(--vm-radius-sm);
	background: rgba(212, 175, 55, 0.14);
	color: var(--vm-gold-deep);
}

.vm-availability {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.vm-availability > span {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--vm-forest);
	box-shadow: 0 0 0 3px rgba(25, 135, 84, 0.2);
}

@media (prefers-reduced-motion: no-preference) {
	.vm-availability > span {
		animation: vm-pulse 2.2s ease-in-out infinite;
	}
}

.vm-availability.is-unavailable > span {
	background: #d64545;
	box-shadow: 0 0 0 3px rgba(214, 69, 69, 0.16);
}

.vm-featured-band {
	padding-block: clamp(4rem, 8vw, 7rem);
	background: var(--vm-ink);
	color: var(--vm-white);
}

.vm-featured-band .vm-eyebrow {
	color: var(--vm-gold-deep);
}

.vm-featured-band .vm-section-intro,
.vm-featured-band .vm-product-card-meta {
	color: rgba(255, 255, 255, 0.66);
}

.vm-featured-band .vm-condition-badge {
	background: rgba(255, 255, 255, 0.12);
	color: var(--vm-white);
}

.vm-featured-band .wp-block-post-title a,
.vm-featured-band .wp-block-woocommerce-product-price,
.vm-featured-band .wc-block-components-product-price {
	color: var(--vm-white);
}

.vm-featured-band .vm-product-grid .wc-block-product,
.vm-featured-band .vm-product-grid .wp-block-post {
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.05);
	box-shadow: none;
}

.vm-featured-band .vm-product-grid .wc-block-product:hover,
.vm-featured-band .vm-product-grid .wp-block-post:hover {
	border-color: var(--vm-gold-deep);
	background: rgba(255, 255, 255, 0.06);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

.vm-featured-band .vm-product-grid .wp-block-woocommerce-product-button .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.4);
	color: var(--vm-white);
}

.vm-featured-band .vm-product-grid .wp-block-woocommerce-product-button .wp-block-button__link:hover {
	border-color: var(--vm-gold-deep);
	background: var(--vm-gold-deep);
}

.vm-featured-grid .vm-product-image {
	background: #1c2637;
}

.vm-empty-state {
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px dashed var(--vm-line);
	border-radius: var(--vm-radius);
	text-align: center;
}

.vm-shop-page,
.vm-product-page {
	margin-top: 0;
	padding-bottom: clamp(4rem, 8vw, 7rem);
}

.vm-shop-hero {
	margin-bottom: 2rem;
	padding-block: clamp(3rem, 7vw, 6rem);
	background: var(--vm-gradient-shop);
}

.vm-shop-hero .wp-block-query-title {
	max-width: 12ch;
	margin-block: 0.5rem 1rem;
}

.vm-shop-description {
	max-width: 46rem;
	color: var(--vm-muted);
}

.vm-catalog-toolbar {
	margin-bottom: 2rem;
	padding-block: 1rem;
	border-block: 1px solid var(--vm-line);
}

.vm-catalog-toolbar p {
	margin: 0;
}

.vm-catalog-toolbar select {
	padding: 0.65rem 2.2rem 0.65rem 0.85rem;
	border: 1px solid var(--vm-line);
	border-radius: 999px;
	background-color: var(--vm-white);
}

.vm-archive-grid .wp-block-query-pagination {
	margin-top: 4rem;
}

.vm-archive-grid .page-numbers,
.vm-archive-grid .wp-block-query-pagination-next,
.vm-archive-grid .wp-block-query-pagination-previous {
	padding: 0.6rem 0.85rem;
	border: 1px solid var(--vm-line);
	border-radius: 999px;
	text-decoration: none;
}

.vm-archive-grid .page-numbers.current {
	border-color: var(--vm-gold-deep);
	background: var(--vm-gold-deep);
	color: var(--vm-white);
}

.vm-archive-grid a.page-numbers:hover,
.vm-archive-grid .wp-block-query-pagination-next:hover,
.vm-archive-grid .wp-block-query-pagination-previous:hover {
	border-color: var(--vm-ink);
	background: var(--vm-ink);
	color: var(--vm-white);
}

/* Trust and editorial */

.vm-trust-section {
	padding-block: clamp(4rem, 8vw, 7rem);
	background: var(--vm-gradient-trust);
}

.vm-trust-grid {
	gap: 1rem;
	margin-bottom: 0;
}

.vm-trust-card {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid var(--vm-line);
	border-radius: var(--vm-radius);
	background: var(--vm-white);
	box-shadow: none;
	transition:
		transform var(--vm-duration) var(--vm-ease-out),
		box-shadow var(--vm-duration) var(--vm-ease-out),
		border-color var(--vm-duration) var(--vm-ease-out);
}

.vm-trust-card:hover {
	border-color: rgba(212, 175, 55, 0.35);
	box-shadow: var(--vm-shadow-hover);
	transform: translateY(-4px);
}

.vm-trust-card h3 {
	margin-block: 1.5rem 0.75rem;
}

.vm-trust-card p:last-child {
	margin-bottom: 0;
	color: var(--vm-muted);
	font-size: 0.9rem;
}

.vm-trust-number {
	display: grid;
	width: 2.4rem;
	height: 2.4rem;
	margin: 0;
	border-radius: var(--vm-radius-sm);
	background: var(--vm-gradient-gold);
	color: var(--vm-gold-ink);
	font-size: 0.72rem;
	font-weight: 800;
	place-items: center;
	transition: transform var(--vm-duration) var(--vm-ease-out);
}

.vm-trust-card:hover .vm-trust-number {
	transform: scale(1.06);
}

.vm-editorial {
	overflow: hidden;
	border: 1px solid var(--vm-line);
	border-radius: var(--vm-radius-lg);
	background: var(--vm-gradient-editorial);
	box-shadow: var(--vm-shadow);
}

.vm-editorial > .wp-block-columns {
	margin-bottom: 0;
}

.vm-editorial-media {
	align-self: stretch !important;
}

.vm-editorial-media figure,
.vm-editorial-media img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.vm-editorial-copy {
	padding: clamp(2rem, 5vw, 5rem);
}

.vm-editorial-copy h2 {
	margin-block: 0.5rem 1.5rem;
}

.vm-editorial-copy > p:not(.vm-eyebrow) {
	color: var(--vm-muted);
}

.vm-editorial-copy .vm-eyebrow {
	color: var(--vm-gold-deep);
}

.vm-editorial-copy .wp-block-button__link {
	background: var(--vm-ink);
	color: var(--vm-white);
}

.vm-editorial-copy .wp-block-button__link:hover {
	background: var(--vm-gold-deep);
	transform: translateY(-2px);
}

.vm-editorial-list {
	margin-block: 2rem;
	padding: 0;
	list-style: none;
}

.vm-editorial-list li {
	padding: 0.6rem 0 0.6rem 1.7rem;
	border-bottom: 1px solid var(--vm-line);
}

.vm-editorial-list li::before {
	position: absolute;
	margin-left: -1.7rem;
	color: var(--vm-gold-deep);
	content: "✓";
	font-weight: 800;
}

/* Product detail */

.vm-product-page > .wp-block-woocommerce-breadcrumbs {
	margin-block: 1.5rem 2rem;
}

.vm-product-main {
	gap: clamp(2rem, 6vw, 5rem);
	margin-bottom: clamp(4rem, 8vw, 7rem);
}

.vm-product-gallery .woocommerce-product-gallery,
.vm-product-gallery .wc-block-product-gallery {
	overflow: hidden;
	border-radius: var(--vm-radius);
	background: #f3f5f9;
	box-shadow: 0 18px 50px rgba(17, 24, 39, 0.09);
}

.vm-product-summary {
	position: sticky;
	top: 1.5rem;
}

.vm-product-summary .vm-product-category {
	margin: 0;
	color: var(--vm-accent-text);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.vm-product-summary .vm-product-category a {
	color: inherit;
	text-decoration: none;
}

.vm-product-summary .wp-block-post-title {
	margin-block: 0.7rem 1rem;
}

.vm-product-summary .wp-block-woocommerce-product-price {
	margin-block: 1.25rem;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: normal;
}

.vm-product-summary .wp-block-post-excerpt {
	color: var(--vm-muted);
}

.vm-product-summary form.cart {
	margin-block: 1.5rem;
}

.vm-product-summary form.cart:not(.variations_form):not(.grouped_form),
.vm-product-summary .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.vm-product-summary form.cart .quantity {
	flex: 0 0 auto;
	margin: 0;
}

.vm-product-summary form.cart .quantity:has(input[type="hidden"]) {
	display: none;
}

.vm-product-summary form.cart .quantity input.qty:not([type="hidden"]) {
	box-sizing: border-box;
	width: 5.5rem;
	min-height: 3.2rem;
	margin: 0;
	padding: 0.6rem 0.5rem;
	border: 1px solid var(--vm-gold-deep);
	border-radius: var(--vm-radius-sm);
	background: #fff;
	color: var(--vm-ink);
	font: inherit;
	font-weight: 600;
	text-align: center;
}

.vm-product-summary form.cart .quantity input.qty:focus-visible {
	outline: 2px solid var(--vm-gold-deep);
	outline-offset: 2px;
}

.vm-product-summary form.cart .single_add_to_cart_button {
	min-height: 3.2rem;
	border-radius: var(--vm-radius-sm);
	background: var(--vm-gold-deep);
	box-shadow: none;
	font-weight: 700;
}

.vm-product-summary form.cart .single_add_to_cart_button:hover {
	background: var(--vm-cta-hover);
	transform: translateY(-2px);
	box-shadow: var(--vm-shadow-hover);
}

.vm-product-summary form.cart .single_add_to_cart_button:active {
	transform: translateY(0) scale(0.98);
}

.wp-block-button__link:active,
button:active,
input[type="submit"]:active {
	transform: scale(0.98);
}

.vm-product-details {
	margin-block: 1.75rem;
	padding: 1.35rem;
	border: 0;
	border-radius: var(--vm-radius);
	background: var(--vm-white);
	box-shadow: 0 10px 30px rgba(17, 24, 39, 0.07);
}

.vm-product-details h2 {
	margin: 0 0 1rem;
	font-size: 0.82rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.vm-product-details dl {
	margin: 0;
}

.vm-product-details dl > div {
	display: grid;
	grid-template-columns: minmax(7.5rem, 0.8fr) 1.2fr;
	gap: 1rem;
	padding-block: 0.55rem;
	border-top: 1px solid var(--vm-line);
	font-size: 0.82rem;
}

.vm-product-details dt {
	color: var(--vm-muted);
}

.vm-product-details dd {
	margin: 0;
	font-weight: 650;
}

.vm-purchase-assurances {
	margin-block: 1.5rem;
	padding-block: 0.5rem;
	border-block: 1px solid var(--vm-line);
}

.vm-purchase-assurances p {
	margin-block: 0;
	padding-block: 0.65rem;
	font-size: 0.82rem;
}

.vm-purchase-assurances span {
	color: var(--vm-muted);
}

.vm-product-meta {
	color: var(--vm-muted);
	font-size: 0.75rem;
}

.vm-product-information {
	padding-block: clamp(3rem, 6vw, 5rem);
	border-block: 1px solid var(--vm-line);
}

.vm-product-information > h2 {
	max-width: 14ch;
}

/* Footer */

.vm-site-footer {
	margin-top: 0;
	padding-top: clamp(4rem, 8vw, 7rem);
	border-top: 3px solid var(--vm-gold-deep);
	background: var(--vm-ink);
	color: rgba(255, 255, 255, 0.72);
}

.vm-site-footer a {
	color: inherit;
	text-decoration: none;
}

.vm-site-footer a:hover {
	color: var(--vm-white);
	transform: translateX(3px);
}

.vm-footer-links a {
	display: inline-block;
	transition:
		color var(--vm-duration-fast) var(--vm-ease-out),
		transform var(--vm-duration-fast) var(--vm-ease-out);
}

.vm-footer-intro {
	align-items: flex-start;
	gap: 3rem;
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

.vm-footer-brand {
	flex: 0 1 22rem;
}

.vm-footer-brand .wp-block-site-title {
	margin: 0 0 1rem;
	font-size: 1.75rem;
	font-weight: 750;
}

.vm-footer-brand .wp-block-site-title a {
	color: var(--vm-white);
}

.vm-footer-brand > p {
	max-width: 21rem;
}

.vm-social-links {
	margin-top: 1.5rem;
}

.vm-footer-links {
	flex: 1 1 44rem;
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-bottom: 0;
}

.vm-footer-links h3 {
	margin-top: 0;
	color: var(--vm-white);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vm-footer-links a:hover {
	color: var(--vm-gold-deep);
}

.vm-footer-links ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vm-footer-links li {
	margin-bottom: 0.55rem;
	font-size: 0.82rem;
}

.vm-footer-bottom {
	padding-block: 1.4rem;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.vm-footer-bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.52);
}

/* Responsive */

@media (max-width: 1024px) {
	.vm-header-main > .wp-block-group {
		flex-wrap: wrap !important;
	}

	.vm-brand {
		order: 1;
	}

	.vm-header-actions {
		order: 2;
		margin-left: auto;
	}

	.vm-product-search {
		width: 100%;
		max-width: none;
		min-width: 0;
		flex-basis: 100%;
		order: 3;
	}

	.vm-category-card--small {
		grid-column: span 5;
	}

	.vm-category-card--small:last-child {
		grid-column: span 10;
	}

	.vm-product-grid .wc-block-product,
	.vm-product-grid .wp-block-post {
		min-width: 0;
	}

	.vm-trust-grid {
		flex-wrap: wrap !important;
	}

	.vm-trust-card {
		flex-basis: calc(50% - 0.5rem) !important;
	}

	.vm-product-main {
		gap: 2.5rem;
	}
}

@media (max-width: 781px) {
	.vm-announcement p:last-child {
		display: none;
	}

	.vm-main-nav {
		justify-content: flex-end !important;
		padding-block: 0.75rem;
	}

	.vm-main-nav::before {
		margin-right: auto;
		content: "Browse categories";
		font-size: 0.8rem;
		font-weight: 700;
		color: var(--vm-gold-ink);
	}

	.vm-main-nav .wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.5rem;
		background: var(--vm-gradient-gold-nav);
	}

	.vm-hero {
		min-height: 0;
		flex-direction: column !important;
	}

	.vm-hero-copy {
		padding: clamp(2rem, 8vw, 4rem);
	}

	.vm-hero-media {
		min-height: min(72vw, 520px);
	}

	.vm-category-card--large {
		grid-column: span 10;
	}

	.vm-category-card--small {
		grid-column: span 5;
	}

	.vm-editorial {
		border-radius: var(--vm-radius);
	}

	.vm-editorial-media {
		min-height: 420px;
	}

	.vm-product-summary {
		position: static;
	}

	.vm-product-main {
		flex-direction: column !important;
	}

	.vm-product-gallery,
	.vm-product-summary {
		flex-basis: 100% !important;
	}

	.vm-footer-intro {
		display: block;
	}

	.vm-footer-brand {
		margin-bottom: 3rem;
	}
}

@media (max-width: 600px) {
	.vm-section {
		margin-block: 4rem;
	}

	.vm-announcement {
		text-align: center;
	}

	.vm-announcement > .wp-block-group {
		justify-content: center;
	}

	.vm-brand .wp-block-site-title {
		font-size: 1.1rem;
	}

	.vm-brand:not(:has(.wp-block-site-logo img))::before {
		width: 2.4rem;
		height: 2.4rem;
		font-size: 0.65rem;
	}

	.vm-header-actions .wc-block-mini-cart__amount {
		display: none;
	}

	.vm-hero-wrap {
		padding-inline: 0.75rem;
	}

	.vm-hero {
		border-radius: var(--vm-radius);
	}

	.vm-hero-actions .wp-block-button {
		width: 100%;
	}

	.vm-hero-actions .wp-block-button__link {
		width: 100%;
	}

	.vm-hero-proof {
		display: grid;
		grid-template-columns: 1fr;
	}

	.vm-hero-media {
		min-height: 420px;
	}

	.vm-section-heading {
		display: block !important;
	}

	.vm-section-heading > p {
		margin-top: 1rem;
	}

	.vm-category-grid {
		gap: 0.75rem;
	}

	.vm-category-card--large,
	.vm-category-card--small,
	.vm-category-card--small:last-child {
		grid-column: span 10;
	}

	.vm-category-card--small {
		min-height: 190px;
	}

	.vm-trust-card {
		flex-basis: 100% !important;
		border-right: 0;
	}

	.vm-editorial-media {
		min-height: 320px;
	}

	.vm-product-details dl > div {
		grid-template-columns: 1fr;
		gap: 0.15rem;
	}

	.vm-catalog-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.vm-footer-links {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vm-footer-bottom {
		display: block;
	}

	.vm-footer-bottom p + p {
		margin-top: 0.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.vm-reveal,
	.vm-reveal.is-visible,
	.vm-reveal-scale,
	.vm-reveal-scale.is-visible {
		opacity: 1;
		transform: none;
	}

	.vm-category-card:hover,
	.vm-trust-card:hover,
	.vm-product-grid .wc-block-product:hover,
	.vm-product-grid .wp-block-post:hover,
	.vm-category-card--large:hover img,
	.vm-product-grid .wc-block-product:hover .vm-product-image img,
	.vm-product-grid .wp-block-post:hover .vm-product-image img,
	.vm-hero-actions .wp-block-button__link:hover,
	.vm-site-footer a:hover {
		transform: none;
	}
}

/* Back-to-top control. */
#oig-back-to-top {
	position: fixed;
	right: max(20px, env(safe-area-inset-right));
	bottom: calc(24px + env(safe-area-inset-bottom));
	z-index: 90;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var(--vm-gold, #c9a227);
	border-radius: 50%;
	background: var(--vm-gold-deep, #6b4f0e);
	color: #fff;
	box-shadow: 0 3px 12px rgb(0 0 0 / 18%);
	cursor: pointer;
	touch-action: manipulation;
}
#oig-back-to-top[hidden] { display: none; }
#oig-back-to-top:hover { background: var(--vm-cta-hover, #5a4309); }
#oig-back-to-top:focus-visible { outline: 3px solid var(--vm-gold, #c9a227); outline-offset: 4px; }
@media (max-width: 1200px) {
	#oig-back-to-top { right: auto; left: max(16px, env(safe-area-inset-left)); bottom: calc(20px + env(safe-area-inset-bottom)); }
}
