/* Velvet Rose 2.1. Phone first. Matte charcoal ground, the VR monogram and wordmark in gradient gold,
   Cormorant Garamond over Jost, deep burgundy for the velvet band, gold hairlines for framing. */

:root {
	--vr-bg: var(--wp--preset--color--charcoal, #262625);
	--vr-bg-2: var(--wp--preset--color--charcoal-2, #2F2E2C);
	--vr-bg-3: var(--wp--preset--color--noir, #1B1B1A);
	--vr-black: var(--wp--preset--color--ivory, #F3EBDC);
	--vr-ink: var(--wp--preset--color--ink, #E9E1D2);
	--vr-text: #CFC6B6;
	--vr-stone: var(--wp--preset--color--stone, #A69D8C);
	--vr-line: var(--wp--preset--color--line, #3D3B38);
	--vr-line-strong: #5A5751;
	--vr-field: #6E6A63;
	--vr-sage: var(--vr-bg-2);
	--vr-burgundy: var(--wp--preset--color--burgundy, #4A0E17);
	--vr-velvet: var(--wp--preset--color--velvet, #6E1526);
	--vr-gold: var(--wp--preset--color--gold, #D4AF37);
	--vr-gold-icon: #D4AF37;
	--vr-gold-light: var(--wp--preset--color--gold-light, #FAE8AF);
	--vr-gold-dark: var(--wp--preset--color--gold-dark, #9E7B3B);
	--vr-gold-grad: linear-gradient(135deg, #FAE8AF 0%, #DEC78C 48%, #9E7B3B 100%);
	--vr-gold-line: rgba(212, 175, 55, .45);
	--vr-white: var(--vr-bg);
	--vr-display: var(--wp--preset--font-family--display, "Cormorant Garamond", Garamond, Georgia, serif);
	--vr-body: var(--wp--preset--font-family--body, Jost, "Futura", system-ui, sans-serif);
	--vr-script: var(--wp--preset--font-family--script, "Great Vibes", "Snell Roundhand", cursive);
	--vr-gutter: clamp(1rem, 5vw, 2.5rem);
	--vr-max: 1280px;
	--vr-header-h: 64px;
	--vr-topbar-h: 36px;
	--vr-section: clamp(3.25rem, 8vw, 6rem);
	--vr-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--vr-header-h) + 12px); }
html.vr-lock { overflow: hidden; }
body { margin: 0; overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; font-feature-settings: "kern"; background: var(--vr-white); color: var(--vr-ink); }
img, svg { max-width: 100%; height: auto; }
img { display: block; }
::selection { background: var(--vr-gold-light); color: var(--vr-bg); }
a { color: var(--vr-ink); text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--vr-black); }
:focus-visible { outline: 2px solid var(--vr-gold); outline-offset: 3px; }
.vr-sr, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.vr-skip { position: absolute; left: 1rem; top: -100px; z-index: 1000; background: var(--vr-gold); color: var(--vr-bg); padding: .75rem 1rem; }
.vr-skip:focus { top: 1rem; }
.vr-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vr-hidden-select { position: absolute !important; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.vr-icon { display: block; }

/* Block theme spacing: the theme sets rhythm itself. */
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.vr-main > * { margin-block: 0; }
.vr-main { min-height: 50vh; }

.vr-wrap { width: 100%; max-width: var(--vr-max); margin-inline: auto; padding-inline: var(--vr-gutter); box-sizing: border-box; }
.vr-section { padding-block: var(--vr-section); }
.vr-section-title { font-family: var(--vr-display); font-weight: 500; font-size: clamp(1.875rem, 6.4vw, 2.75rem); line-height: 1.12; letter-spacing: .005em; margin: 0 0 .5rem; color: var(--vr-black); }
.vr-gold-text { background: var(--vr-gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.vr-section-intro { margin: 0; font-size: clamp(.875rem, 2.4vw, 1rem); line-height: 1.6; color: var(--vr-stone); max-width: 36rem; }
.vr-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: clamp(1.5rem, 4vw, 2.25rem); }
.vr-section-link { display: none; min-height: 44px; align-items: center; font-size: .9375rem; text-underline-offset: 4px; }
.vr-lede { font-size: 1.125rem; line-height: 1.6; color: var(--vr-stone); }
.vr-empty { color: var(--vr-stone); padding-block: 2rem; }
@media (min-width: 960px) { .vr-section-link { display: inline-flex; } }

/* ---------- Buttons ---------- */
.vr-btn,
.wp-element-button,
.wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
	min-height: 52px; padding: .85rem 1.75rem; box-sizing: border-box;
	font-family: var(--vr-body); font-size: .9375rem; font-weight: 500; line-height: 1.2; letter-spacing: .04em;
	border: 1px solid var(--vr-gold); border-radius: 0; cursor: pointer; text-decoration: none;
	background: var(--vr-gold); color: var(--vr-bg);
	transition: background-color .2s var(--vr-ease), color .2s var(--vr-ease), border-color .2s var(--vr-ease);
}
.vr-btn:hover, .wp-element-button:hover, .wp-block-button__link:hover { background: var(--vr-gold-light); border-color: var(--vr-gold-light); color: var(--vr-bg); }
.vr-btn .vr-icon { width: 20px; height: 20px; }
.vr-btn--outline { background: transparent; color: var(--vr-gold-light); border-color: var(--vr-gold); }
.vr-btn--outline:hover { background: var(--vr-gold); border-color: var(--vr-gold); color: var(--vr-bg); }
.vr-btn--gold { background: transparent; color: var(--vr-gold-light); border-color: var(--vr-gold-light); }
.vr-btn--gold:hover { background: var(--vr-gold-light); border-color: var(--vr-gold-light); color: var(--vr-burgundy); }
.vr-btn--block { display: flex; width: 100%; }
.vr-btn--small { min-height: 44px; padding: .6rem 1.1rem; font-size: .875rem; }
.vr-btn[disabled], .vr-btn:disabled { opacity: .45; cursor: not-allowed; }
.vr-link { display: inline-block; color: var(--vr-ink); font-weight: 500; text-decoration: underline; padding-block: .5rem; }

/* ---------- Delivery bar and header ---------- */
.vr-site-header { position: sticky; top: calc(var(--vr-topbar-h) * -1); z-index: 50; }
.admin-bar .vr-site-header { top: calc(var(--vr-topbar-h) * -1 + 46px); }
@media (min-width: 783px) { .admin-bar .vr-site-header { top: calc(var(--vr-topbar-h) * -1 + 32px); } }
.vr-topbar { background: var(--vr-burgundy); color: var(--vr-gold-light); height: var(--vr-topbar-h); display: flex; align-items: center; justify-content: center; }
.vr-topbar__text { margin: 0; max-width: var(--vr-max); padding: 0 var(--vr-gutter); font-size: .78rem; line-height: 1.2; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 600px) { .vr-topbar__text { font-size: .8125rem; } }
.vr-setup-bar { background: var(--vr-gold-light); color: var(--vr-bg); padding: .65rem var(--vr-gutter); text-align: center; font-size: .875rem; line-height: 1.45; }
.vr-setup-bar p { margin: 0; }
.vr-setup-bar a { color: inherit; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.vr-header { background: var(--vr-bg); border-bottom: 1px solid var(--vr-gold-line); }
.vr-header__inner { max-width: var(--vr-max); margin-inline: auto; height: var(--vr-header-h); padding: 0 6px; box-sizing: border-box; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem; }
.vr-header__start { display: flex; align-items: center; min-width: 0; }
.vr-header__brand { display: flex; align-items: center; color: var(--vr-black); line-height: 0; }
.vr-header__brand .vr-wordmark { width: 196px; height: auto; display: block; }
.vr-header__tools { display: flex; justify-content: flex-end; align-items: center; }
.vr-iconbtn { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: var(--vr-black); cursor: pointer; text-decoration: none; }
.vr-iconbtn .vr-icon { width: 24px; height: 24px; }
.vr-header__account { display: none; }
.vr-bag-count { position: absolute; top: 6px; right: 4px; min-width: 17px; height: 17px; padding: 0 4px; box-sizing: border-box; border-radius: 9px; background: var(--vr-gold); color: var(--vr-bg); font-size: 11px; line-height: 17px; text-align: center; font-weight: 500; }
.vr-nav { display: none; }
.vr-nav ul { display: flex; flex-wrap: nowrap; gap: 0 1.75rem; list-style: none; margin: 0; padding: 0; }
.vr-nav a { display: flex; align-items: center; min-height: 44px; color: var(--vr-ink); text-decoration: none; font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.vr-nav a:hover, .vr-nav a[aria-current="page"] { color: var(--vr-gold-light); text-decoration: underline; text-underline-offset: 8px; text-decoration-color: var(--vr-gold); }
@media (min-width: 600px) { .vr-header__account { display: inline-grid; } }
@media (min-width: 960px) {
	:root { --vr-header-h: 84px; --vr-topbar-h: 40px; }
	.vr-header__inner { padding: 0 var(--vr-gutter); }
	.vr-header__brand .vr-wordmark { width: 250px; }
}
/* The full menu only where it fits on one line; smaller screens keep the menu button. */
@media (min-width: 1200px) {
	.vr-header__menu { display: none; }
	.vr-nav { display: block; }
	.vr-header__inner { grid-template-columns: auto 1fr auto; gap: 2rem; }
	.vr-header__brand { order: -1; }
	.vr-header__start { justify-content: center; }
	.vr-header__brand .vr-wordmark { width: 270px; }
}

/* Checkout header: brand and the way back, nothing else. */
.vr-header--checkout .vr-header__back { font-size: .875rem; color: var(--vr-ink); padding: .5rem 10px; white-space: nowrap; }
.vr-header__secure { display: inline-flex; align-items: center; gap: .4rem; font-size: .8125rem; color: var(--vr-stone); padding-right: 10px; }
.vr-header__secure .vr-icon { width: 18px; height: 18px; }
@media (max-width: 520px) { .vr-header__secure span { display: none; } }

/* Phone menu */
.vr-drawer { position: fixed; inset: 0 auto 0 0; width: min(88vw, 400px); height: 100%; max-height: none; max-width: none; margin: 0; padding: 0 0 1.5rem; border: 0; background: var(--vr-white); color: var(--vr-ink); overflow-y: auto; box-sizing: border-box; }
.vr-drawer::backdrop { background: rgba(0, 0, 0, .6); }
.vr-drawer__head { display: flex; align-items: center; justify-content: space-between; height: var(--vr-header-h); padding: 0 6px 0 var(--vr-gutter); border-bottom: 1px solid var(--vr-line); }
.vr-drawer__brand { color: var(--vr-black); line-height: 0; }
.vr-drawer__brand .vr-wordmark { width: 170px; height: auto; display: block; }
.vr-drawer__nav { padding: .75rem var(--vr-gutter) 0; }
.vr-drawer__main, .vr-drawer__help, .vr-drawer__chips { list-style: none; margin: 0; padding: 0; }
.vr-drawer__main a { display: flex; align-items: center; min-height: 52px; border-bottom: 1px solid var(--vr-line); color: var(--vr-black); text-decoration: none; font-family: var(--vr-display); font-size: 1.375rem; font-weight: 500; letter-spacing: .01em; }
.vr-drawer__label { margin: 1.5rem 0 .6rem; font-size: .875rem; font-weight: 500; color: var(--vr-stone); }
.vr-drawer__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.vr-drawer__chips a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1px solid var(--vr-line-strong); color: var(--vr-ink); text-decoration: none; font-size: .875rem; }
.vr-drawer__help { margin-top: 1.5rem; }
.vr-drawer__help a { display: flex; align-items: center; min-height: 44px; color: var(--vr-ink); text-decoration: none; font-size: .9375rem; }
.vr-drawer__note { margin: 1.25rem var(--vr-gutter) 0; padding-top: 1rem; border-top: 1px solid var(--vr-line); font-size: .8125rem; color: var(--vr-stone); }

/* ---------- Hero ---------- */
.vr-hero { display: grid; }
.vr-hero__media img { width: 100%; aspect-ratio: 5 / 6; object-fit: cover; object-position: 50% 40%; background: var(--vr-bg-2); }
.vr-hero__panel { position: relative; margin: -64px 16px 0; }
.vr-hero__card { background: var(--vr-bg); padding: 7px; box-shadow: 0 18px 44px rgba(0, 0, 0, .45); border: 1px solid var(--vr-gold-line); }
.vr-hero__frame { border: 1px solid var(--vr-gold); padding: 28px 22px 24px; display: grid; gap: 16px; }
.vr-hero__title { margin: 0; font-family: var(--vr-display); font-weight: 500; font-size: clamp(2.5rem, 10vw, 4.75rem); line-height: 1.02; letter-spacing: .005em; color: var(--vr-gold-light); text-wrap: balance; background: var(--vr-gold-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.vr-hero__text { margin: 0; font-size: .9375rem; line-height: 1.6; color: var(--vr-ink); max-width: 34em; }
.vr-hero__actions { display: grid; gap: 6px; margin-top: 4px; }
.vr-hero__link { display: flex; align-items: center; justify-content: center; min-height: 44px; color: var(--vr-gold-light); font-size: .875rem; text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 960px) {
	.vr-hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); background: radial-gradient(80% 90% at 70% 50%, var(--vr-bg-2) 0%, var(--vr-bg) 70%); }
	.vr-hero__media img { height: 100%; min-height: 620px; max-height: 760px; aspect-ratio: auto; }
	.vr-hero__panel { margin: 0; display: flex; align-items: center; justify-content: center; padding: clamp(24px, 5vw, 72px); }
	.vr-hero__card { max-width: 540px; padding: 8px; box-shadow: none; border: 1px solid var(--vr-gold); background: rgba(38, 38, 37, .92); }
	.vr-hero__frame { border: 0; padding: clamp(28px, 4vw, 52px) clamp(22px, 3.5vw, 46px); gap: 20px; }
	.vr-hero__text { font-size: 1.125rem; }
	.vr-hero__actions { display: grid; gap: 10px; margin-top: 6px; }
	.vr-hero__link { min-height: 52px; padding: 0 1.6rem; border: 1px solid var(--vr-gold); text-decoration: none; font-size: .9375rem; font-weight: 500; letter-spacing: .04em; color: var(--vr-gold-light); white-space: nowrap; }
	.vr-hero__link:hover { background: var(--vr-gold); color: var(--vr-bg); }
}
/* Side by side only when both buttons fit on one line; stacked and equal width below that. */
@media (min-width: 1320px) {
	.vr-hero__actions { display: flex; flex-wrap: nowrap; gap: 12px; }
	.vr-hero__actions > * { flex: none; white-space: nowrap; }
	.vr-hero__actions .vr-btn--block { width: auto; }
}

/* ---------- As seen with ---------- */
.vr-gifted { padding-bottom: calc(var(--vr-section) * .75); }
.vr-gifted__intro p { margin: 0; font-size: .875rem; line-height: 1.55; color: var(--vr-stone); }
.vr-gifted__list { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.vr-gifted__list > li { min-width: 0; }
.vr-gifted__person { margin: 0; display: grid; gap: 8px; }
.vr-gifted__person img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 40%; background: var(--vr-sage); }
.vr-gifted__person figcaption { display: grid; gap: 2px; }
.vr-gifted__name { font-size: .8125rem; font-weight: 500; line-height: 1.35; }
.vr-gifted__show { font-size: .75rem; line-height: 1.35; color: var(--vr-stone); }
@media (min-width: 960px) {
	.vr-gifted__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 24px; align-items: start; }
	.vr-gifted__intro { padding-top: .5rem; }
	.vr-gifted__intro p { font-size: 1rem; max-width: 22em; }
	.vr-gifted__list { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; overflow: visible; }
	.vr-gifted__name { font-size: 1rem; }
	.vr-gifted__show { font-size: .875rem; }
}

/* ---------- Box cards ---------- */
.vr-boxes { background: var(--vr-sage); }
.vr-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 12px; }
@media (min-width: 960px) { .vr-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 24px; } }
.vr-card a { display: flex; flex-direction: column; color: var(--vr-ink); text-decoration: none; }
.vr-card__img { display: block; overflow: hidden; background: var(--vr-bg-3); margin-bottom: 12px; border: 1px solid var(--vr-line); }
.vr-card__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .8s var(--vr-ease); }
.vr-card a:hover .vr-card__img img { transform: scale(1.03); }
.vr-card__name { font-family: var(--vr-display); font-size: clamp(1.1875rem, 3.4vw, 1.5rem); font-weight: 600; letter-spacing: .01em; line-height: 1.2; color: var(--vr-black); }
.vr-card__line { margin-top: 3px; font-size: .8125rem; line-height: 1.4; color: var(--vr-stone); }
.vr-card__price { margin-top: 5px; font-size: .875rem; font-weight: 500; color: var(--vr-gold-light); letter-spacing: .04em; }
@media (min-width: 960px) { .vr-card__line { font-size: .875rem; } .vr-card__price { font-size: .9375rem; } }
.vr-boxes__all { margin-top: 32px; }
@media (min-width: 960px) { .vr-boxes__all { display: none; } }

/* ---------- Occasions ---------- */
.vr-occasions { padding-block: clamp(3rem, 7vw, 5rem); }
.vr-occasions__inner { display: grid; gap: 20px; }
.vr-occasions .vr-section-title { margin: 0; }
.vr-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.vr-chip { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--vr-line-strong); color: var(--vr-ink); text-decoration: none; font-size: .875rem; transition: border-color .2s var(--vr-ease); }
.vr-chip:hover { border-color: var(--vr-gold); color: var(--vr-gold-light); }
@media (min-width: 960px) {
	.vr-occasions__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; }
	.vr-chip { min-height: 46px; padding: 0 20px; font-size: .9375rem; }
}

/* ---------- Their name, in gold ---------- */
.vr-gold-band { background: var(--vr-burgundy); color: #F3E6E2; display: grid; border-top: 1px solid var(--vr-gold-line); border-bottom: 1px solid var(--vr-gold-line); }
.vr-gold-band__media { margin: 0; }
.vr-gold-band__lid { display: flex; align-items: center; justify-content: center; padding: 44px var(--vr-gutter) 8px; background: radial-gradient(120% 90% at 50% 40%, var(--vr-velvet) 0%, var(--vr-burgundy) 60%); }
.vr-band-lid { width: min(260px, 68vw); aspect-ratio: 1; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0 24px; box-sizing: border-box; background: radial-gradient(circle at 36% 30%, #3B3637 0%, #1A1718 55%, #0E0C0D 100%); box-shadow: 0 0 0 6px rgba(0, 0, 0, .18), inset 0 -12px 28px rgba(0, 0, 0, .4), 0 18px 40px rgba(0, 0, 0, .35); }
.vr-band-lid__text { font-family: var(--vr-script); font-size: clamp(56px, 17vw, 76px); line-height: 1; color: #E2C27F; text-shadow: 0 1px 0 rgba(0, 0, 0, .4); background: linear-gradient(180deg, #F3DFA6 0%, #D9B46A 55%, #B88E45 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; padding: 0 .1em; }
.vr-gold-band__text { padding: 28px var(--vr-gutter) 48px; display: grid; gap: 14px; align-content: center; }
.vr-gold-band__title { margin: 0; font-family: var(--vr-display); font-weight: 500; font-size: clamp(2rem, 7vw, 3.25rem); line-height: 1.08; letter-spacing: .005em; color: var(--vr-gold-light); }
.vr-gold-band__text p { margin: 0; font-size: .9375rem; line-height: 1.6; max-width: 30em; }
.vr-gold-band__text .vr-btn { margin-top: 8px; }
@media (min-width: 960px) {
	.vr-gold-band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vr-gold-band { background: radial-gradient(60% 90% at 25% 50%, var(--vr-velvet) 0%, var(--vr-burgundy) 70%); }
	.vr-gold-band__lid { min-height: 520px; padding: 48px; background: none; }
	.vr-band-lid { width: min(340px, 30vw); }
	.vr-band-lid__text { font-size: clamp(64px, 6vw, 92px); }
	.vr-gold-band__text { padding: clamp(36px, 6vw, 96px) clamp(22px, 5vw, 88px); max-width: 520px; gap: 18px; }
	.vr-gold-band__text p { font-size: 1.0625rem; line-height: 1.65; }
	.vr-gold-band__text .vr-btn { justify-self: start; }
}

/* ---------- The three promises ---------- */
.vr-promise__list { list-style: none; margin-block: 0; display: grid; gap: 30px; }
.vr-promise__item { display: flex; gap: 16px; align-items: flex-start; }
.vr-promise__icon { flex: none; width: 32px; height: 32px; color: var(--vr-gold-icon); }
.vr-promise__title { margin: 0 0 4px; font-family: var(--vr-display); font-size: 1.375rem; font-weight: 600; line-height: 1.25; color: var(--vr-black); }
.vr-promise__item p { margin: 0; font-size: .875rem; line-height: 1.55; color: var(--vr-stone); }
@media (min-width: 760px) {
	.vr-promise__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 48px; }
	.vr-promise__item { flex-direction: column; gap: 10px; }
	.vr-promise__icon { width: 36px; height: 36px; }
	.vr-promise__title { font-size: 1.5rem; }
	.vr-promise__item p { font-size: .9375rem; }
}

/* ---------- Events and trade ---------- */
.vr-events { background: var(--vr-sage); }
.vr-events__media { margin: 0; }
.vr-events__shots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.vr-events__shots img { width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--vr-bg-3); }
.vr-events__media figcaption { padding-top: 10px; font-size: .75rem; color: var(--vr-stone); }
.vr-events__text { padding-top: 24px; display: grid; gap: 12px; }
.vr-events__text .vr-section-title { margin: 0; }
.vr-events__text p { margin: 0; font-size: .9375rem; line-height: 1.6; color: var(--vr-text); max-width: 30em; }
.vr-events__text .vr-btn { margin-top: 8px; }
@media (max-width: 959px) { .vr-events__text .vr-btn { width: 100%; } }
@media (min-width: 960px) {
	.vr-events__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 64px; align-items: center; }
	.vr-events__media { max-width: 500px; justify-self: end; width: 100%; }
	.vr-events__shots { gap: 14px; }
	.vr-events__media figcaption { font-size: .8125rem; }
	.vr-events__text { padding-top: 0; gap: 16px; max-width: 460px; }
	.vr-events__text p { font-size: 1.0625rem; line-height: 1.65; }
	.vr-events__text .vr-btn { justify-self: start; }
}

/* ---------- Instagram ---------- */
.vr-insta__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.vr-insta__grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--vr-sage); }
.vr-insta__follow { margin-top: 20px; }
@media (min-width: 960px) {
	.vr-insta__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
	.vr-insta__follow { display: inline-flex; width: auto; margin-top: 28px; }
}

/* ---------- Reminder (pages) ---------- */
.vr-reminder { background: var(--vr-sage); }
.vr-reminder__inner { display: grid; gap: 1.5rem; }
.vr-reminder__text p { margin: 0; max-width: 32rem; }
@media (min-width: 960px) { .vr-reminder__inner { grid-template-columns: 1fr 1.25fr; gap: 4rem; align-items: start; } }

/* ---------- Forms ---------- */
.vr-form { display: grid; gap: 1rem; }
.vr-form--two { grid-template-columns: 1fr; }
@media (min-width: 720px) { .vr-form--two { grid-template-columns: 1fr 1fr; column-gap: 1.25rem; } .vr-field--wide { grid-column: 1 / -1; } }
.vr-form--inline { grid-template-columns: 1fr; }
@media (min-width: 600px) { .vr-form--inline { grid-template-columns: 1fr 1fr; column-gap: 1rem; } .vr-form--inline .vr-check, .vr-form--inline .vr-form__small, .vr-form--inline .vr-btn { grid-column: 1 / -1; } }
.vr-field { margin: 0; display: grid; gap: .35rem; border: 0; padding: 0; min-width: 0; }
.vr-field label, .vr-field legend { font-size: .9375rem; font-weight: 500; padding: 0; }
.vr-optional { font-weight: 400; color: var(--vr-stone); }
.vr-field--date { grid-template-columns: 1fr 1.6fr; column-gap: .5rem; }
.vr-field--date legend { margin-bottom: .35rem; }
.vr-form input[type="text"], .vr-form input[type="email"], .vr-form input[type="tel"], .vr-form select, .vr-form textarea,
.vr-personalise input[type="text"] {
	width: 100%; box-sizing: border-box; min-height: 50px; padding: .75rem .85rem;
	font: inherit; font-size: 1rem; color: var(--vr-black); background: var(--vr-bg-3);
	border: 1px solid var(--vr-field); border-radius: 0; appearance: none; -webkit-appearance: none;
}
.vr-form select, .vr-remind select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23F3EBDC' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; padding-right: 2.4rem; }
.vr-form textarea { min-height: 140px; resize: vertical; }
.vr-form input:focus, .vr-form select:focus, .vr-form textarea:focus, .vr-personalise input:focus { outline: 2px solid var(--vr-gold); outline-offset: 1px; border-color: var(--vr-gold); }
.vr-check { display: flex; gap: .65rem; align-items: flex-start; margin: 0; }
.vr-check input { width: 22px; height: 22px; margin: .1rem 0 0; accent-color: var(--vr-gold); flex: none; }
.vr-check label { font-size: .9375rem; line-height: 1.45; }
.vr-form__small { margin: 0; font-size: .8125rem; color: var(--vr-stone); }
.vr-notice { padding: .9rem 1rem; border-left: 3px solid var(--vr-gold); background: var(--vr-bg-2); color: var(--vr-ink); margin: 0 0 1.25rem; }
.vr-notice--error { border-left-color: #E4717A; background: #3A1D1F; }
.vr-form-wrap { margin-block: 1.5rem; }

/* ---------- FAQs ---------- */
.vr-faqs { padding-block: var(--vr-section); }
.vr-home-main .vr-faqs { border-top: 1px solid var(--vr-line); }
.vr-faqs__list { border-top: 1px solid var(--vr-line); max-width: 52rem; }
.vr-faq { border-bottom: 1px solid var(--vr-line); }
.vr-faq summary { display: flex; justify-content: space-between; gap: 1rem; align-items: center; min-height: 56px; padding: .9rem .25rem; cursor: pointer; list-style: none; font-size: 1rem; font-weight: 500; line-height: 1.4; }
.vr-faq summary::-webkit-details-marker { display: none; }
.vr-faq__icon { width: 20px; height: 20px; flex: none; color: var(--vr-gold); transition: transform .25s var(--vr-ease); }
.vr-faq[open] .vr-faq__icon { transform: rotate(45deg); }
.vr-faq__a { padding: 0 .25rem 1.1rem; color: var(--vr-text); max-width: 44rem; }
.vr-faq__a p { margin: 0; }
.vr-prose .vr-faqs, .vr-page .vr-faqs { padding-block: 1rem 0; }
/* Homepage on wide screens: the heading on the left, the questions filling the right. */
@media (min-width: 960px) {
	.vr-home-main .vr-faqs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: clamp(2rem, 6vw, 6rem); align-items: start; }
	.vr-home-main .vr-faqs > .vr-section-title { margin-top: 0; text-wrap: balance; }
	.vr-home-main .vr-faqs__list { max-width: none; }
}
.vr-prose .vr-wrap { padding-inline: 0; }

/* ---------- Footer ---------- */
.vr-footer { background: var(--vr-bg-3); color: var(--vr-ink); border-top: 1px solid var(--vr-gold-line); }
.vr-footer a { color: var(--vr-ink); text-decoration: none; }
.vr-footer a:hover { color: var(--vr-gold-light); text-decoration: underline; }
.vr-footer__grid { max-width: var(--vr-max); margin-inline: auto; padding: clamp(3rem, 7vw, 5rem) var(--vr-gutter) 2rem; box-sizing: border-box; display: grid; grid-template-columns: 1fr 1fr; gap: 2.25rem 1.5rem; }
.vr-footer__brand { grid-column: 1 / -1; display: grid; gap: 2rem; }
.vr-footer__mark { display: inline-block; justify-self: start; line-height: 0; }
.vr-footer__mark .vr-wordmark { width: 230px; height: auto; display: block; }
.vr-footer__heading { margin: 0 0 .6rem; font-family: var(--vr-body); font-size: .8125rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--vr-gold-light); }
.vr-footer__remind p { margin: 0 0 .75rem; font-size: .8125rem; line-height: 1.55; color: var(--vr-stone); }
.vr-footer__remind .vr-notice { background: var(--vr-bg-2); color: var(--vr-black); border-left-color: var(--vr-gold); }
.vr-remind { display: grid; gap: 8px; max-width: 30rem; }
.vr-remind__row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(84px, .8fr) minmax(0, 1.15fr); gap: 8px; }
.vr-remind__row--send { grid-template-columns: 1fr auto; }
/* In a narrow footer column the occasion takes its own line, so no box cuts its words off. */
.vr-remind { container-type: inline-size; }
@container (max-width: 320px) {
	.vr-remind__row:not(.vr-remind__row--send) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.vr-remind__row:not(.vr-remind__row--send) > select:first-of-type { grid-column: 1 / -1; }
}
.vr-remind select, .vr-remind input { width: 100%; min-width: 0; height: 48px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--vr-field); border-radius: 0; background-color: var(--vr-bg); color: var(--vr-black); font: inherit; font-size: .9375rem; appearance: none; -webkit-appearance: none; }
.vr-remind select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23F3EBDC' stroke-width='1.5'/%3E%3C/svg%3E"); padding-right: 2rem; background-position: right .7rem center; }
.vr-remind input::placeholder { color: var(--vr-stone); }
.vr-remind select:focus, .vr-remind input:focus { outline: 2px solid var(--vr-gold); outline-offset: 1px; }
.vr-remind button { height: 48px; padding: 0 22px; border: 0; background: var(--vr-gold); color: var(--vr-bg); font: inherit; font-size: .9375rem; font-weight: 500; cursor: pointer; }
.vr-remind button:hover { background: var(--vr-gold-light); }
.vr-remind__small { margin: 0; font-size: .75rem; color: var(--vr-stone); }
.vr-footer__remind .vr-remind__small a { color: var(--vr-stone); text-decoration: underline; }
.vr-footer__col ul { list-style: none; margin: 0; padding: 0; }
.vr-footer__col a { display: flex; align-items: center; min-height: 40px; font-size: .875rem; }
.vr-footer__legal { max-width: var(--vr-max); margin-inline: auto; padding: 1.5rem var(--vr-gutter) 2.5rem; box-sizing: border-box; border-top: 1px solid var(--vr-line); font-size: .75rem; line-height: 1.6; color: var(--vr-stone); }
.vr-footer__legal p { margin: .5rem 0 0; max-width: 60rem; }
.vr-footer__social { display: flex; gap: 4px; margin: -.5rem 0 .5rem -10px; }
.vr-footer__social a { display: inline-grid; place-items: center; width: 44px; height: 44px; color: var(--vr-gold-light); }
.vr-footer__social .vr-icon { width: 22px; height: 22px; }
.vr-footer__links { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; list-style: none; margin: 0; padding: 0; }
.vr-footer__links a { display: inline-block; padding: .4rem 0; color: var(--vr-stone); }
.vr-footer--minimal .vr-footer__legal { border-top: 0; }
@media (min-width: 960px) {
	.vr-footer__grid { grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 2.5rem 3rem; }
	.vr-footer__brand { grid-column: auto; }
	.vr-footer__mark .vr-wordmark { width: 250px; }
	.vr-footer__legal { display: grid; grid-template-columns: auto 1fr; gap: .5rem 2rem; align-items: center; }
	.vr-footer__legal p { grid-column: 1 / -1; }
	.vr-footer__social { margin: 0 0 0 -10px; }
}

/* ---------- Breadcrumbs ---------- */
.vr-crumbs { padding-block: 1rem .25rem; font-size: .8125rem; color: var(--vr-stone); }
.vr-crumbs ol { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.vr-crumbs li + li::before { content: "/"; margin: 0 .5rem; color: var(--vr-line-strong); }
.vr-crumbs a { color: var(--vr-stone); }

/* ---------- Pages ---------- */
.vr-page { padding-bottom: var(--vr-section); }
.vr-page__inner { padding-top: clamp(1.5rem, 5vw, 3rem); }
.vr-page__title, .vr-catalogue__title, .vr-page .wp-block-post-title { font-family: var(--vr-display); font-weight: 500; font-size: clamp(2.5rem, 8.5vw, 3.75rem) !important; line-height: 1.05; letter-spacing: .005em; margin: 0 0 1.5rem; color: var(--vr-black); }
.vr-prose > * { max-width: 680px; }
.vr-prose h2 { font-size: clamp(1.75rem, 5vw, 2.25rem); margin: 2.25rem 0 .75rem; }
.vr-prose h3 { margin: 1.75rem 0 .5rem; }
.vr-prose p, .vr-prose li { color: var(--vr-ink); }
.vr-prose ul, .vr-prose ol { padding-left: 1.25rem; }
.vr-prose li { margin-bottom: .45rem; }
.vr-prose li::marker { color: var(--vr-gold-icon); }
.vr-prose .wp-block-table table { border-collapse: collapse; width: 100%; font-size: .9375rem; }
.vr-prose .wp-block-table th, .vr-prose .wp-block-table td { border: 0; border-bottom: 1px solid var(--vr-line); padding: .75rem .5rem .75rem 0; text-align: left; vertical-align: top; }
.vr-prose .wp-block-table thead th { font-weight: 600; border-bottom-color: var(--vr-line-strong); }
.vr-prose .wp-block-buttons { margin-block: 1.5rem; }
.vr-article__date { color: var(--vr-stone); font-size: .9375rem; margin-bottom: 1.5rem; }
.vr-article__image img { width: 100%; margin-bottom: 2rem; }

/* Colourways and company details */
.vr-colourway-list { list-style: none; padding: 0 !important; margin: 1rem 0; display: grid; gap: .75rem; }
.vr-colourway-list li { display: flex; gap: .85rem; align-items: center; margin: 0; }
.vr-swatch { --box: #141213; --rose: #C9A35C; display: inline-block; flex: none; width: 30px; height: 30px; border-radius: 50%; background: radial-gradient(circle at 50% 50%, var(--rose) 0 42%, var(--box) 44% 100%); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.vr-swatch--sm { width: 16px; height: 16px; }
.vr-legal { display: grid; gap: .35rem; margin: 1rem 0; font-size: .9375rem; }
.vr-legal div { display: grid; grid-template-columns: 11rem 1fr; gap: 1rem; padding: .4rem 0; border-bottom: 1px solid var(--vr-line); }
.vr-legal dt { color: var(--vr-stone); }
.vr-legal dd { margin: 0; }
@media (max-width: 520px) { .vr-legal div { grid-template-columns: 1fr; gap: 0; } }

/* Journal */
.vr-journal { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--vr-line); }
.vr-journal__item { border-bottom: 1px solid var(--vr-line); }
.vr-journal__link { display: grid; grid-template-columns: 1fr; gap: 1rem; padding: 1.25rem 0; color: var(--vr-ink); text-decoration: none; }
.vr-journal__img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.vr-journal__title { display: block; font-family: var(--vr-display); font-size: 1.625rem; font-weight: 600; letter-spacing: .005em; line-height: 1.2; margin-bottom: .35rem; }
.vr-journal__link:hover .vr-journal__title { text-decoration: underline; }
.vr-journal__excerpt { color: var(--vr-stone); font-size: .9688rem; }
@media (min-width: 700px) { .vr-journal__link { grid-template-columns: 220px 1fr; } }

/* ---------- Collections ---------- */
.vr-catalogue { padding-bottom: 0; }
.vr-catalogue > .vr-wrap { padding-bottom: var(--vr-section); }
.vr-catalogue__head { padding-block: 1rem 2rem; max-width: 44rem; }
.vr-catalogue__intro p { margin: 0; color: var(--vr-stone); font-size: 1rem; }
.vr-catalogue .vr-promise { border-top: 1px solid var(--vr-line); }
.vr-related { border-top: 1px solid var(--vr-line); }
.vr-grid--related { max-width: 860px; }
@media (min-width: 960px) { .vr-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Pagination */
.navigation.pagination { margin-top: 2.5rem; }
.nav-links { display: flex; gap: .5rem; flex-wrap: wrap; }
.nav-links .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .75rem; border: 1px solid var(--vr-line); color: var(--vr-ink); text-decoration: none; }
.nav-links .current { background: var(--vr-gold); color: var(--vr-bg); border-color: var(--vr-gold); }

/* ---------- Product page ---------- */
.vr-product__crumbs .vr-crumbs { display: none; }
.vr-product__top { display: grid; gap: 1.5rem; }
.vr-gallery { min-width: 0; }
.vr-gallery__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--vr-gutter) * -1); }
.vr-gallery__track::-webkit-scrollbar { display: none; }
.vr-gallery__slide { flex: 0 0 100%; margin: 0; scroll-snap-align: start; background: var(--vr-bg-3); }
.vr-gallery__slide img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.vr-gallery__thumbs { display: flex; gap: 8px; margin-top: 12px; }
.vr-gallery__thumb { width: 64px; height: 80px; padding: 0; border: 0; background: none; cursor: pointer; overflow: hidden; }
.vr-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.vr-gallery__thumb.is-active { box-shadow: 0 0 0 2px var(--vr-gold); }
.vr-product__title { font-family: var(--vr-display); font-weight: 500; font-size: clamp(2.125rem, 7.5vw, 3.5rem); line-height: 1.05; letter-spacing: .005em; margin: 0 0 .5rem; color: var(--vr-black); }
.vr-product__line { margin: 0; font-size: .9375rem; color: var(--vr-text); }
.vr-product__price { margin: .75rem 0 .5rem; font-size: 1.5rem; font-weight: 500; color: var(--vr-gold-light); font-variant-numeric: lining-nums tabular-nums; }
.vr-product__short { margin-top: .75rem; }
.vr-product__short p { margin: 0 0 .5rem; font-size: .9375rem; line-height: 1.6; color: var(--vr-text); }
@media (min-width: 960px) {
	.vr-product__crumbs .vr-crumbs { display: block; padding-bottom: 1rem; }
	.vr-product__top { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
	.vr-gallery { position: sticky; top: calc(var(--vr-header-h) + 1.5rem); }
	.vr-gallery__track { margin-inline: 0; }
	.vr-summary { padding-top: .5rem; }
	.vr-product__price { font-size: 1.625rem; }
}

/* Delivery line */
.vr-eta { display: flex; gap: .55rem; align-items: flex-start; margin: 0; font-size: .84375rem; line-height: 1.5; color: var(--vr-text); }
.vr-eta .vr-icon { flex: none; width: 20px; height: 20px; color: var(--vr-gold-icon); margin-top: 1px; }

/* Buying form */
.vr-buy { margin-top: 1.25rem; }
.vr-buyform { margin: 0; display: grid; gap: 0; }
.vr-opt { margin: 1.5rem 0 0; padding: 0; border: 0; min-width: 0; }
.vr-opt:first-child { margin-top: .5rem; }
.vr-opt__label { padding: 0; margin-bottom: 12px; font-size: .9375rem; font-weight: 500; }
.vr-opt__note { margin: 10px 0 0; font-size: .84375rem; color: var(--vr-stone); }
.vr-sizes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.vr-size { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 72px; padding: 12px 14px; box-sizing: border-box; border: 1px solid var(--vr-line-strong); background: var(--vr-bg-2); cursor: pointer; }
.vr-size input, .vr-colour input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.vr-size:has(input:checked), .vr-size.is-on { border-color: var(--vr-gold); box-shadow: inset 0 0 0 1px var(--vr-gold); }
.vr-size:has(input:focus-visible), .vr-colour:has(input:focus-visible) { outline: 2px solid var(--vr-gold); outline-offset: 2px; }
.vr-size__name { font-size: .9375rem; font-weight: 500; }
.vr-size__roses { font-size: .8125rem; color: var(--vr-stone); }
.vr-size__price { font-size: .875rem; }
@media (min-width: 1200px) { .vr-sizes { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.vr-colours { display: flex; flex-wrap: wrap; gap: 14px; padding-left: 2px; }
.vr-colour { position: relative; display: block; width: 60px; height: 60px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: var(--vr-bg-2); box-shadow: 0 0 0 1px var(--vr-line-strong); cursor: pointer; }
.vr-colour:has(input:checked), .vr-colour.is-on { box-shadow: 0 0 0 2px var(--vr-gold); }
.vr-colour__swatch { display: block; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: var(--vr-sage); }
.vr-colour__swatch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.vr-buy__btn { margin-top: 1.5rem; min-height: 56px; font-size: 1rem; }
.vr-buy .stock.out-of-stock { color: #E4717A; }

/* Classic WooCommerce form, for any product the theme form doesn't cover (some trade lines). */
.vr-buy form.cart:not(.vr-buyform) { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
.vr-buy table.variations { border: 0; border-collapse: collapse; width: 100%; margin: 0 0 1rem; }
.vr-buy table.variations tr, .vr-buy table.variations th, .vr-buy table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.vr-buy table.variations select { width: 100%; min-height: 50px; border: 1px solid var(--vr-field); padding: 0 .75rem; font: inherit; }
.vr-buy .quantity input.qty { width: 4.25rem; min-height: 56px; box-sizing: border-box; padding: .5rem; text-align: center; font: inherit; border: 1px solid var(--vr-field); background: var(--vr-bg-3); color: var(--vr-black); }
.vr-buy form.cart:not(.vr-buyform) .single_add_to_cart_button { flex: 1 1 12rem; min-height: 56px; }

/* Personalised lid, with the gold name preview */
.vr-personalise { margin: 1.5rem 0 0; }
.vr-personalise__toggle { min-height: 44px; align-items: center; }
.vr-personalise__toggle label { font-weight: 500; font-size: .9375rem; }
.vr-personalise__price { color: var(--vr-stone); font-weight: 400; }
.vr-personalise__panel { margin-top: .9rem; display: grid; gap: .5rem; }
.vr-personalise__panel .vr-field label { font-size: .875rem; font-weight: 400; color: var(--vr-text); }
.vr-personalise__panel input[type="text"] { min-height: 48px; }
.vr-help { margin: 0; font-size: .8125rem; color: var(--vr-stone); }
.vr-lid { margin-top: .5rem; padding: 22px 0 6px; background: var(--vr-bg-3); border: 1px solid var(--vr-line); display: grid; justify-items: center; gap: 10px; }
.vr-lid__disc { width: min(228px, 62vw); aspect-ratio: 1; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0 22px; box-sizing: border-box; background: radial-gradient(circle at 36% 30%, #3B3637 0%, #1A1718 55%, #0E0C0D 100%); box-shadow: inset 0 -10px 24px rgba(0, 0, 0, .35), 0 10px 24px rgba(0, 0, 0, .18); transition: background .3s var(--vr-ease); }
[data-lid-velvet="rouge"] .vr-lid__disc { background: radial-gradient(circle at 36% 30%, #A12A42 0%, #7A1527 55%, #560C1A 100%); }
[data-lid-shape="square"] .vr-lid__disc { border-radius: 6px; }
.vr-lid__text { font-family: var(--vr-script); font-size: 46px; line-height: 1.1; color: #E2C27F; text-align: center; overflow-wrap: anywhere; text-shadow: 0 1px 0 rgba(0, 0, 0, .35); }
.vr-lid__text.is-empty { opacity: .45; }
.vr-lid__note { margin: 0; padding: 0 16px 10px; font-size: .78rem; line-height: 1.5; color: var(--vr-stone); text-align: center; }

/* Reassurance and proof under the button */
.vr-assure { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 12px; font-size: .875rem; color: var(--vr-text); }
.vr-assure li { display: flex; gap: 10px; align-items: center; }
.vr-assure .vr-icon { width: 20px; height: 20px; color: var(--vr-gold-icon); flex: none; }
.vr-gifted-row { margin-top: 1.5rem; padding: 16px 0; border-top: 1px solid var(--vr-line); border-bottom: 1px solid var(--vr-line); display: flex; gap: 14px; align-items: center; }
.vr-gifted-row__faces { display: flex; flex: none; }
.vr-gifted-row__faces img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; border: 2px solid var(--vr-bg); }
.vr-gifted-row__faces img + img { margin-left: -12px; }
.vr-gifted-row p { margin: 0; font-size: .84375rem; line-height: 1.45; color: var(--vr-text); }

/* Details */
.vr-product__details { margin-top: .5rem; }
.vr-detail { border-bottom: 1px solid var(--vr-line); }
.vr-detail summary { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; font-weight: 500; font-size: .9375rem; list-style: none; }
.vr-detail summary::-webkit-details-marker { display: none; }
.vr-detail__chev { width: 18px; height: 18px; flex: none; transition: transform .25s var(--vr-ease); }
.vr-detail[open] .vr-detail__chev { transform: rotate(180deg); }
.vr-detail > :not(summary) { padding-bottom: 1.1rem; }
.vr-detail .vr-prose p { margin: 0 0 .85rem; font-size: .875rem; line-height: 1.6; color: var(--vr-text); }
.vr-ticks { list-style: none; margin: 0; padding: 0 !important; display: grid; gap: 6px; font-size: .875rem; line-height: 1.5; color: var(--vr-text); }
.vr-ticks li { padding-left: 1.5rem; position: relative; }
.vr-ticks li::before { content: ""; position: absolute; left: .2rem; top: .4em; width: 5px; height: 10px; border-right: 1.5px solid var(--vr-gold-icon); border-bottom: 1.5px solid var(--vr-gold-icon); transform: rotate(45deg); }
.vr-product__faqs .vr-faqs { padding-block: clamp(2.5rem, 6vw, 4rem) 0; }
.vr-product__faqs .vr-faqs h2 { font-size: clamp(1.375rem, 4.4vw, 1.75rem); }

/* Sticky bar (phones) */
.vr-sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: flex; align-items: center; gap: .75rem; padding: .6rem var(--vr-gutter) calc(.6rem + env(safe-area-inset-bottom)); background: rgba(38, 38, 37, .97); border-top: 1px solid var(--vr-gold-line); box-shadow: 0 -10px 30px -18px rgba(0, 0, 0, .35); }
.vr-sticky-buy[hidden] { display: none; }
.vr-sticky-buy__name { flex: 1; min-width: 0; font-family: var(--vr-display); font-size: 1.125rem; font-weight: 600; letter-spacing: .005em; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vr-sticky-buy__price { font-weight: 500; color: var(--vr-gold-light); }
@media (min-width: 960px) { .vr-sticky-buy { display: none !important; } }

/* Store notices */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-error, .woocommerce-info, .wc-block-components-notice-banner { list-style: none; margin: 1rem 0; padding: .9rem 1rem; background: var(--vr-bg-2); border-left: 3px solid var(--vr-gold); font-size: .9375rem; }
.woocommerce-error { border-left-color: #E4717A; background: #3A1D1F; }
.woocommerce-message .button { margin-left: .75rem; }

/* ---------- Gift finder ---------- */
.vr-finder fieldset { border: 0; padding: 0; margin: 0 0 1.75rem; }
.vr-finder legend { font-family: var(--vr-display); font-size: 1.625rem; font-weight: 600; letter-spacing: .005em; margin-bottom: .85rem; }
.vr-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
@media (min-width: 640px) { .vr-choice-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.vr-choice { position: relative; display: flex; align-items: center; min-height: 52px; padding: .5rem .85rem; border: 1px solid var(--vr-line-strong); background: var(--vr-bg-2); cursor: pointer; font-size: .9375rem; line-height: 1.25; }
.vr-choice input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.vr-choice:has(input:checked) { border-color: var(--vr-gold); box-shadow: inset 0 0 0 1px var(--vr-gold); }
.vr-choice:has(input:focus-visible) { outline: 2px solid var(--vr-gold); outline-offset: 2px; }
.vr-finder__result { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--vr-line); }
.vr-finder__result h2 { margin-top: 0; }
.vr-finder__card { display: grid; grid-template-columns: 38% 1fr; gap: 1.25rem; color: var(--vr-ink); text-decoration: none; align-items: center; }
.vr-finder__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.vr-finder__text { display: grid; gap: .5rem; }
.vr-finder__name { font-family: var(--vr-display); font-size: 1.625rem; font-weight: 600; letter-spacing: .005em; line-height: 1.15; }
.vr-finder__price { font-weight: 500; }
.vr-finder__text .vr-btn { justify-self: start; }

/* ---------- Basket and checkout (WooCommerce blocks) ---------- */
.vr-cart .wp-block-woocommerce-cart, .vr-checkout-wrap .wp-block-woocommerce-checkout { font-family: var(--vr-body); background: #F6F1E8; color: #1F1B1C; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--vr-gold-line); }
.vr-cart .wp-block-woocommerce-cart a, .vr-checkout-wrap .wp-block-woocommerce-checkout a { color: #1F1B1C; }
.vr-cart .wp-block-woocommerce-cart :is(h1, h2, h3, h4, p, li, label, legend, td, th, .wc-block-components-totals-item), .vr-checkout-wrap .wp-block-woocommerce-checkout :is(h1, h2, h3, h4, p, li, label, legend, td, th) { color: #1F1B1C; }
.vr-cart .wp-block-woocommerce-cart .wc-block-cart__empty-cart__title, .vr-cart .wp-block-woocommerce-cart .wp-block-heading { color: #1F1B1C; }
.wc-block-components-button:not(.is-link) { min-height: 52px; border-radius: 0 !important; font-family: var(--vr-body); font-weight: 500; letter-spacing: .03em; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--vr-gold) !important; color: #1F1B1C !important; border-color: var(--vr-gold) !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--vr-gold-light) !important; }
.wc-block-components-title.wc-block-components-title { font-family: var(--vr-display); font-weight: 600; font-size: 1.625rem; letter-spacing: .005em; }
.wc-block-components-product-name { font-family: var(--vr-display); font-size: 1.25rem !important; font-weight: 600; letter-spacing: .005em; color: #1F1B1C !important; text-decoration: none; }
.wc-block-components-radio-control__input:checked, .wc-block-components-checkbox__input[type="checkbox"]:checked { background: #1F1B1C !important; border-color: #1F1B1C !important; }
.wc-block-components-text-input input, .wc-block-components-select select, .wc-blocks-components-select__select, .wc-block-components-combobox input { border-radius: 0 !important; }
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: #1F1B1C !important; box-shadow: 0 0 0 1px #1F1B1C !important; }
.wc-block-cart-items__header, .wc-block-cart-item__total { font-size: .9375rem; }
.vr-checkout-note { background: var(--vr-bg-2); border-left: 3px solid var(--vr-gold); padding: 1rem 1.1rem; margin: 1rem 0 1.5rem; font-size: .9375rem; }
.vr-checkout-note p { margin: 0 0 .4rem; }
.vr-checkout-note p:last-child { margin: 0; }
.vr-checkout-wrap { padding-top: 1rem; }

/* Order confirmation */
.vr-confirm .wc-block-order-confirmation-status { font-family: var(--vr-display); }
.vr-next { margin: 1.5rem 0 2rem; padding: 1.25rem 1.25rem .5rem; background: var(--vr-bg-2); border-left: 3px solid var(--vr-gold); }
.vr-next h2 { margin-top: 0; font-size: 1.375rem; }
.vr-steps { padding-left: 1.25rem; }
.vr-steps li { margin-bottom: .6rem; }
.vr-steps li::marker { font-family: var(--vr-display); color: var(--vr-gold-icon); }

/* Account area (classic WooCommerce markup) */
.woocommerce-account .woocommerce { display: grid; gap: 2rem; }
@media (min-width: 900px) { .woocommerce-account .woocommerce { grid-template-columns: 220px 1fr; } }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--vr-line); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--vr-line); }
.woocommerce-MyAccount-navigation a { display: block; padding: .8rem 0; color: var(--vr-ink); text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a { color: var(--vr-gold-light); font-weight: 600; }
.woocommerce-account .woocommerce-form-row input.input-text, .woocommerce-account input.input-text { min-height: 50px; border: 1px solid var(--vr-field); border-radius: 0; padding: .7rem .85rem; font: inherit; width: 100%; box-sizing: border-box; background: var(--vr-bg-3); color: var(--vr-black); }
.woocommerce-account .button { min-height: 50px; padding: .8rem 1.4rem; background: var(--vr-gold); color: var(--vr-bg); border: 0; border-radius: 0; font: inherit; font-weight: 500; cursor: pointer; }
.woocommerce-account table.shop_table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.woocommerce-account table.shop_table th, .woocommerce-account table.shop_table td { text-align: left; padding: .75rem .5rem .75rem 0; border-bottom: 1px solid var(--vr-line); }

/* Trade */
.vr-trade-gate { padding: 1.5rem; background: var(--vr-bg-2); border-left: 3px solid var(--vr-gold); }
.vr-trade-gate .vr-btn { margin-right: 1rem; }
.vr-trade-note { color: var(--vr-stone); font-size: .9375rem; }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
