/* VR Lounge — premium liquid glass theme (Pubzi / Kimi prototype) */

@font-face {
	font-family: 'Gilroy';
	src: url('../fonts/gilroy/Gilroy-Heavy_0.ttf') format('truetype');
	font-weight: 1000;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy';
	src: url('../fonts/gilroy/Gilroy-Black_0.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy';
	src: url('../fonts/gilroy/Gilroy-Extrabold_0.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy';
	src: url('../fonts/gilroy/Gilroy-Bold_0.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy';
	src: url('../fonts/gilroy/Gilroy-Light_0.ttf') format('truetype');
	font-weight: 250;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy';
	src: url('../fonts/gilroy/Gilroy-Regular_0.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy';
	src: url('../fonts/gilroy/Gilroy-Medium_0.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Gilroy';
	src: url('../fonts/gilroy/Gilroy-Semibold_0.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

:root {
	--vr-content-width: 1280px;
	--vr-body: #000000;
	--vr-surface: #14121c;
	--vr-glass-bg: rgba(255, 255, 255, 0.06);
	--vr-glass-border: rgba(255, 255, 255, 0.18);
	--vr-glass-blur: 24px;
	--vr-neon-pink: #f43f7f;
	--vr-neon-magenta: #c026d3;
	--vr-neon-purple: #8b5cf6;
	--vr-neon-cyan: #ff00bb;
	--vr-text-dim: #ababab;
	--vr-gradient-brand: linear-gradient(135deg, #f43f7f 0%, #c026d3 45%, #8b5cf6 100%);
	--vr-btn-primary-glass-bg: linear-gradient(90deg, #8a079a, #f43f7f, #672ae6);
	--vr-btn-primary-glass-hover-bg: linear-gradient(90deg, #c026d3, #d73b72, #672ae6);
	--vr-btn-primary-glass-border: rgba(255, 255, 255, 0.32);
	--vr-btn-primary-glass-hover-border: rgba(255, 255, 255, 0.6);
	--vr-btn-primary-glass-shadow: none;
	--vr-btn-primary-glass-hover-shadow: none;
	--vr-btn-primary-glass-blur: blur(12px);
	--vr-gradient-hero: linear-gradient(135deg, #1a0028 0%, #3d0a4a 25%, #6b1a6e 45%, #2a1a5e 70%, #0a1628 100%);
	--vr-font-family: 'Gilroy', Arial, Helvetica, sans-serif;
	--vr-font-display: var(--vr-font-family);
	--vr-font-heading: var(--vr-font-family);
	--vr-font-body: var(--vr-font-family);
	--vr-font-numeric: var(--vr-font-family);
}

html {
	scroll-behavior: smooth;
	overflow-x: clip;
}

body {
	background: var(--vr-body);
	font-family: var(--vr-font-body);
	overflow-x: hidden;
}

.wp-site-blocks {
	background-color: #000;
}

.wp-site-blocks > main.wp-block-group {
	margin-top: 0;
}

/* ── Liquid glass ── */
.vr-glass {
	background: var(--vr-glass-bg);
	backdrop-filter: blur(var(--vr-glass-blur)) saturate(180%);
	-webkit-backdrop-filter: blur(var(--vr-glass-blur)) saturate(180%);
	border: 1px solid var(--vr-glass-border);
	border-radius: 1.25rem;
	position: relative;
	overflow: hidden;
}

.vr-glass::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
	pointer-events: none;
}

.vr-glass-card {
	background: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(24px) saturate(180%);
	-webkit-backdrop-filter: blur(24px) saturate(180%);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
	padding: 1.5rem;
	transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.3s ease, box-shadow 0.35s ease;
}

.vr-glass-card:hover {
	transform: translateY(-6px);
	border-color: rgba(244, 63, 127, 0.45);
	box-shadow: 0 24px 48px rgba(244, 63, 127, 0.12), 0 0 0 1px rgba(244, 63, 127, 0.08);
}

/* ── Typography ── */
h1,
.vr-hero__content h1 {
	font-family: var(--vr-font-heading);
	font-weight: 1000;
}

h2.vr-section-title {
	font-family: var(--vr-font-heading);
	font-weight: 900;
}

h3 {
	font-family: var(--vr-font-heading);
	font-weight: 800;
}

h4 {
	font-family: var(--vr-font-heading);
	font-weight: 700;
}

.vr-gradient-text {
	background: linear-gradient(90deg, #f43f7f, #c084fc, #00f0ff);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.vr-section-label {
	font-family: var(--vr-font-heading);
	font-size: 0.75rem;
	font-weight: 250;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--vr-neon-cyan);
	opacity: 0.9;
}

@media (min-width: 768px) {
	.vr-hero__location-label br {
		display: none;
	}

	.vr-hero__location-label .vr-hero__location-place::before {
		content: " ";
	}
}

/* Phone numbers, prices, and numeric content */
.vr-header-phone,
.vr-header-phone a,
a[href^="tel:"],
.vr-zone-price,
.vr-pricing-row span:last-child,
.vr-birthday-price,
.vr-pricing-badge,
.vr-pricing-modal__price-row strong,
.vr-birthday-modal__price,
.vr-contact-modal__option--phone .vr-contact-modal__option-label {
	font-family: var(--vr-font-numeric);
	font-variant-numeric: tabular-nums;
}

.vr-section-title {
	font-family: var(--vr-font-heading);
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	line-height: 1.15;
}

/* Two-level section titles (reviews, pricing) — mirror About «Больше,» lead:
   first line larger on its own line, second line at the base title size. */
.vr-title-lead {
	display: block;
	font-size: 1.4em;
	line-height: 1.05;
}

/* Zones «Ваши развлечения» — match About «Больше,» lead size.
   Mobile mirrors the About mobile title; ≥768px mirrors the 1.4em lead
   (1.4 × clamp(1.75rem, 4vw, 2.75rem) = clamp(2.45rem, 5.6vw, 3.85rem)). */
.vr-section--gradient .vr-section-title {
	/* Mobile: match birthday section title size */
	font-size: clamp(1.75rem, 4vw, 2.75rem);
}

@media (min-width: 768px) {
	.vr-section--gradient .vr-section-title {
		font-size: clamp(2.45rem, 5.6vw, 3.85rem);
	}
}

.vr-gallery-section__title {
	font-size: clamp(2rem, 5vw, 3.25rem);
}

.vr-gallery-title-lead {
	display: inline-block;
	font-size: 1.4em;
	line-height: 1.05;
}

@media (min-width: 768px) {
	.vr-gallery-section__title {
		/* Match «Вау-момент» lead size: 2.75rem × 1.4 ≈ 3.85rem */
		font-size: clamp(2.5rem, 4.5vw, 3.85rem);
	}

	.vr-gallery-section__title br {
		display: none;
	}

	.vr-gallery-title-lead {
		display: inline;
		font-size: inherit;
		line-height: inherit;
	}
}

/* ── Parallax backgrounds (hero + about) ── */
.vr-section-about::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -12.5%;
	height: 125%;
	background-repeat: no-repeat;
	background-size: cover;
	transform: translate3d(0, var(--vr-parallax-y, 0px), 0);
	will-change: transform;
	z-index: 0;
	pointer-events: none;
}

.vr-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: #000;
	background-repeat: no-repeat;
	--vr-hero-bg-height: 111%;
	--vr-hero-bg-offset-y: calc(-98 / 900 * min(100dvh, 900px));
	background-size: auto var(--vr-hero-bg-height);
	background-position: left top var(--vr-hero-bg-offset-y);
	transform: translate3d(0, var(--vr-parallax-y, 0px), 0);
	will-change: transform;
	z-index: 0;
	pointer-events: none;
	background-image: url("/wp-content/uploads/vr-lounge/hero-david-bg.webp");
}

.vr-section-about::after {
	background-image: url("/wp-content/uploads/vr-lounge/hero-classical.webp");
	background-position: right 20% 8%;
}

@media (min-width: 768px) {
	.vr-hero::after {
		--vr-hero-bg-height: 111%;
		--vr-hero-bg-offset-y: calc(-98 / 900 * min(100dvh, 900px));
		background-size: auto var(--vr-hero-bg-height);
		background-position: left top var(--vr-hero-bg-offset-y);
	}

	.vr-section-about::after {
		left: 34%;
		right: calc(50% - 50vw);
		top: 0;
		height: 100%;
		background-color: #000;
		background-size: auto 210%;
		background-position: center var(--vr-about-bg-y, -100%);
		border-radius: 100px 0 0 0;
		overflow: hidden;
		transform: none;
		will-change: background-position;
	}
}

.vr-parallax--static::after {
	transform: none;
	top: 0;
	height: 100%;
	will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
	.vr-hero::after,
	.vr-section-about::after {
		transform: none;
		top: 0;
		height: 100%;
		will-change: auto;
	}
}

/* ── Hero ── */
.vr-hero {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	min-height: min(100dvh, 900px);
	max-height: 100dvh;
	background-color: #000;
	position: relative;
	overflow: hidden;
	border: none;
	outline: none;
	box-shadow: none;
}

.vr-hero.wp-block-group,
.vr-hero__inner.wp-block-group,
.vr-hero__content.wp-block-group {
	padding: 0 !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.vr-hero.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: 0 !important;
	padding-right: 0 !important;
}

:root :where(.is-layout-constrained) > .vr-hero,
:root :where(.is-layout-constrained) > .vr-section-about,
main.wp-block-group > .vr-hero.alignfull {
	max-width: none;
}

.vr-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(0, 0, 0, 0.3) 35%,
		rgba(0, 0, 0, 0.85) 55%,
		rgba(0, 0, 0, 0.95) 100%
	);
	z-index: 1;
	pointer-events: none;
}

.vr-hero__inner {
	position: relative;
	z-index: 2;
	min-height: inherit;
	max-width: 100%;
	padding: 2rem clamp(1rem, 4vw, 3rem);
}

@media (min-width: 992px) {
	.vr-hero__inner {
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
		align-items: center;
		min-height: inherit;
		max-width: 1280px;
		margin: 0 auto;
		padding: 2rem clamp(1rem, 4vw, 3rem);
	}

	.vr-hero__content {
		max-width: 520px;
		text-align: left;
		margin-left: auto;
	}

	.vr-hero__location-label {
		display: block;
		/* Ширина = ширине текста h1 «VR LOUNGE».
		   Текст h1 = 431.1px при font-size 80px (коэффициент 5.389),
		   привязка к тому же clamp() шрифта h1 сохраняет совпадение
		   краёв во всём десктоп-диапазоне. */
		width: calc(5.389 * clamp(2.5rem, 8vw, 5rem));
		max-width: 100%;
		text-align: justify;
		text-align-last: justify;
	}
}

.vr-hero__content h1 {
	font-size: clamp(2.5rem, 8vw, 5rem);
	line-height: 0.95;
	margin: 0.5rem 0;
}

.vr-hero__tagline {
	font-family: var(--vr-font-heading);
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	font-weight: 700;
	margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
	.vr-hero__tagline {
		font-size: clamp(1.625rem, 2.5vw, 2.125rem);
		white-space: nowrap;
	}
}

.vr-hero__desc {
	color: rgba(255, 255, 255, 0.6);
	font-size: 1.05rem;
	max-width: 520px;
	line-height: 1.7;
}

/* ── Buttons ── */
.vr-btn-primary .wp-block-button__link,
.vr-btn-primary a {
	background: var(--vr-btn-primary-glass-bg) !important;
	border: 1px solid var(--vr-btn-primary-glass-border) !important;
	border-radius: 9999px !important;
	color: #fff !important;
	padding: 0.875rem 2rem !important;
	font-weight: 600 !important;
	transition: filter 0.25s ease, border-color 0.25s ease !important;
}

.vr-btn-primary .wp-block-button__link:hover,
.vr-btn-primary a:hover {
	filter: brightness(1.08);
	border-color: var(--vr-btn-primary-glass-hover-border) !important;
}

.vr-btn-secondary .wp-block-button__link,
.vr-btn-secondary a {
	background: rgba(255, 255, 255, 0.08) !important;
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 9999px !important;
	color: #fff !important;
	padding: 0.875rem 2rem !important;
	font-weight: 600 !important;
	transition: background 0.25s ease, border-color 0.25s ease !important;
}

.vr-btn-secondary .wp-block-button__link:hover,
.vr-btn-secondary a:hover {
	background: rgba(255, 255, 255, 0.14) !important;
	border-color: rgba(244, 63, 127, 0.6) !important;
}

/* ── Stats row ── */
.vr-stats-row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	align-items: stretch;
}

@media (min-width: 768px) {
	.vr-stats-row {
		grid-template-columns: repeat(4, 1fr);
	}
}

.vr-stat-card {
	text-align: center;
	padding: 1.75rem 1rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	min-height: 120px;
}

/* Reset WP is-layout-flow block-gap margins inside card grids */
.vr-stats-row > *,
.vr-zones-grid > *,
.vr-pricing-grid > *,
.vr-gallery-grid > *,
.vr-reviews-grid > *,
.vr-birthday-grid > *,
.vr-scroll-row > * {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	align-self: stretch;
}

.vr-stat-number {
	font-family: var(--vr-font-display);
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 700;
	line-height: 1;
	margin: 0 !important;
}

.vr-stat-pink { color: #f43f7f; }
.vr-stat-cyan { color: #00f0ff; }
.vr-stat-purple { color: #8b5cf6; }
.vr-stat-magenta { color: #c026d3; }

.vr-stat-label {
	font-size: 0.85rem;
	color: var(--vr-neon-purple);
	opacity: 0.85;
	margin-top: 0.35rem;
}

.vr-stat-board {
	margin: 0 0 0.75rem !important;
	width: 100%;
	max-width: 200px;
}

.vr-stat-board img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
	object-fit: contain;
	filter: drop-shadow(0 4px 12px rgba(244, 63, 127, 0.2));
}

/* ── Mobile horizontal scroll rows (liquid glass carousel) ── */
@media (max-width: 767px) {
	.vr-section:has(.vr-scroll-row) {
		overflow: visible;
	}

	.vr-section .vr-scroll-row {
		margin-top: 0.5rem;
	}

	.vr-scroll-row,
	.vr-zones-grid.vr-scroll-row,
	.vr-pricing-grid.vr-scroll-row,
	.vr-gallery-grid.vr-scroll-row,
	.vr-stats-row.vr-scroll-row,
	.vr-reviews-grid.vr-scroll-row,
	.vr-birthday-grid.vr-scroll-row {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 12px;
		overflow-x: auto;
		overflow-y: visible;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		overscroll-behavior-x: contain;
		margin-top: 0;
		margin-bottom: 0;
		margin-left: 0;
		margin-right: 0;
		padding: 1rem 0 1.25rem;
		scroll-padding-left: 0;
		scroll-padding-right: 0;
		grid-template-columns: unset !important;
	}

	.vr-scroll-row::-webkit-scrollbar {
		display: none;
	}

	.vr-scroll-row::before {
		display: none !important;
	}

	.vr-scroll-row > *,
	.vr-scroll-row > .vr-glass-card,
	.vr-scroll-row > .vr-zone-card,
	.vr-scroll-row > .vr-pricing-card,
	.vr-scroll-row > .vr-gallery-item,
	.vr-scroll-row > .vr-stat-card,
	.vr-scroll-row > .vr-review-card,
	.vr-scroll-row > .vr-birthday-card {
		flex: 0 0 82%;
		width: 82%;
		min-width: 280px;
		max-width: 320px;
		box-sizing: border-box;
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}

	.vr-scroll-row > *:first-child,
	.vr-scroll-row > *:last-child {
		flex: 0 0 82%;
		min-width: 280px;
		max-width: 320px;
	}

	.vr-scroll-row--hint::after {
		display: none !important;
		content: none !important;
	}

	.vr-scroll-row > .vr-zone-card,
	.vr-scroll-row > .vr-pricing-card,
	.vr-scroll-row > .vr-gallery-item,
	.vr-scroll-row > .vr-stat-card,
	.vr-scroll-row > .vr-review-card,
	.vr-scroll-row > .vr-birthday-card {
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}

	.vr-scroll-row > .vr-zone-card {
		min-height: 430px;
		height: auto;
		max-height: none;
		box-sizing: border-box;
		overflow: hidden;
	}

	.vr-scroll-row > .vr-pricing-card {
		min-height: 420px;
		height: auto;
		max-height: none;
		box-sizing: border-box;
		overflow: hidden;
	}

	.vr-scroll-row > .vr-stat-card {
		min-height: 220px;
		height: auto;
		max-height: none;
		box-sizing: border-box;
		overflow: visible;
	}

	.vr-scroll-row > .vr-review-card {
		min-height: 320px;
		height: auto;
		max-height: none;
		box-sizing: border-box;
		overflow: hidden;
	}

	.vr-scroll-row > .vr-birthday-card {
		min-height: 480px;
		height: auto;
		max-height: none;
		box-sizing: border-box;
		overflow: hidden;
	}

	.vr-scroll-row > .vr-gallery-item {
		min-height: 300px;
		height: auto;
		max-height: none;
		aspect-ratio: unset;
	}

	.vr-scroll-row > .vr-glass-card {
		overflow: visible;
	}

	.vr-scroll-row > .is-snap-active {
		transform: scale(1.02);
		transform-origin: center center;
		z-index: 2;
		box-shadow: 0 12px 40px rgba(244, 63, 127, 0.15);
	}

	.vr-scroll-row .vr-glass-card:hover {
		transform: none;
		border-color: rgba(255, 255, 255, 0.15);
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
	}

	.vr-scroll-row > .is-snap-active:hover {
		transform: scale(1.02);
		border-color: rgba(244, 63, 127, 0.45);
		box-shadow: 0 12px 40px rgba(244, 63, 127, 0.15);
	}

	.vr-scroll-row .vr-pricing-card {
		padding: 1.5rem;
		min-width: 0;
	}

	.vr-scroll-row .vr-zone-card img {
		height: auto;
	}

	.vr-scroll-row .vr-zone-card,
	.vr-scroll-row .vr-pricing-card,
	.vr-scroll-row .vr-gallery-item,
	.vr-scroll-row .vr-birthday-card {
		display: flex;
		flex-direction: column;
	}

	.vr-scroll-row .vr-gallery-item {
		grid-column: unset !important;
		grid-row: unset !important;
		aspect-ratio: 1;
		flex-shrink: 0;
	}

	.vr-scroll-row .vr-zone-card .wp-block-image,
	.vr-scroll-row .vr-zone-card figure {
		flex-shrink: 0;
		margin: 0;
	}

	/* Horizontal scroll rows: bleed edge-to-edge past section padding */
	.vr-section .vr-scroll-row {
		--vr-row-bleed: clamp(1.25rem, 4vw, 2rem);
		margin-left: calc(-1 * var(--vr-row-bleed)) !important;
		margin-right: calc(-1 * var(--vr-row-bleed)) !important;
		padding-left: var(--vr-row-bleed);
		padding-right: var(--vr-row-bleed);
		scroll-padding-left: var(--vr-row-bleed);
		scroll-padding-right: var(--vr-row-bleed);
		width: auto !important;
		max-width: none;
	}
}

@media (min-width: 768px) {
	.vr-scroll-row--hint::after,
	.vr-scroll-row--hint::before {
		display: none !important;
		content: none !important;
		opacity: 0 !important;
	}

	.vr-scroll-row,
	.vr-zones-grid.vr-scroll-row,
	.vr-pricing-grid.vr-scroll-row,
	.vr-gallery-grid.vr-scroll-row,
	.vr-stats-row.vr-scroll-row,
	.vr-reviews-grid.vr-scroll-row,
	.vr-birthday-grid.vr-scroll-row {
		display: grid !important;
		overflow: visible !important;
		flex-wrap: unset !important;
		padding: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100%;
		max-width: none !important;
		scroll-snap-type: none !important;
		position: static !important;
		align-items: stretch !important;
	}

	.vr-zones-grid,
	.vr-pricing-grid,
	.vr-gallery-grid,
	.vr-stats-row,
	.vr-reviews-grid,
	.vr-birthday-grid {
		width: 100%;
		max-width: none !important;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.vr-scroll-row > *,
	.vr-scroll-row > .vr-glass-card,
	.vr-scroll-row > .vr-zone-card,
	.vr-scroll-row > .vr-pricing-card,
	.vr-scroll-row > .vr-gallery-item,
	.vr-scroll-row > .vr-stat-card,
	.vr-scroll-row > .vr-review-card,
	.vr-scroll-row > .vr-birthday-card {
		flex: unset !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		min-height: 0 !important;
		height: 100% !important;
		align-self: stretch !important;
		transform: none !important;
	}

	.is-snap-active {
		transform: none !important;
	}
}

/* ── Zone grid (6 cards) ── */
.vr-zones-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	align-items: stretch;
}

@media (min-width: 768px) and (max-width: 991px) {
	.vr-zones-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	.vr-zones-grid {
		grid-template-columns: repeat(3, 1fr);
		grid-auto-rows: 1fr;
	}
}

.vr-zone-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.vr-zone-card__image,
.vr-zone-card img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: center;
	border-radius: 12px 12px 0 0;
	transition: transform 0.4s ease;
	flex-shrink: 0;
}

.vr-zone-card .wp-block-image,
.vr-zone-card figure {
	flex-shrink: 0;
	margin: 0;
}

.vr-zone-card:hover img {
	transform: scale(1.03);
}

@media (min-width: 992px) {
	/* Desktop scroll optimization for zones: reduce heavy compositing while keeping style. */
	.vr-zones-grid .vr-zone-card {
		backdrop-filter: blur(12px) saturate(140%);
		-webkit-backdrop-filter: blur(12px) saturate(140%);
		box-shadow: 0 2px 14px rgba(0, 0, 0, 0.2);
		transition: border-color 0.25s ease, box-shadow 0.25s ease;
	}

	.vr-zones-grid .vr-zone-card img {
		transition: none;
	}

	.vr-zones-grid .vr-zone-card:hover {
		transform: none;
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.26);
	}

	.vr-zones-grid .vr-zone-card:hover img {
		transform: none;
	}

	/* Disable pulsing fixed CTA on desktop to avoid extra repaints while scrolling. */
	.vr-floating-cta {
		animation: none;
	}
}

.vr-zone-subtitle {
	color: var(--vr-neon-purple);
	font-size: clamp(0.95rem, 0.88rem + 0.35vw, 1.1rem);
	opacity: 0.9;
	margin: 0.25rem 0 !important;
	line-height: 1.4;
}

.vr-zone-desc {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 1 0 auto;
	font-size: clamp(0.95rem, 0.9rem + 0.3vw, 1.05rem) !important;
	line-height: 1.45;
}

.vr-zone-price {
	color: #f43f7f;
	font-weight: 600;
	font-size: clamp(1.2rem, 1.1rem + 0.5vw, 1.4rem);
	margin-top: auto !important;
	padding-top: 0.5rem;
	text-align: right;
	align-self: stretch;
}

/* ── Pricing ── */
#pricing {
	scroll-margin-top: 5.5rem;
}

.vr-pricing-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: stretch;
}

@media (min-width: 768px) {
	.vr-pricing-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.vr-pricing-card {
	padding: 2rem;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.vr-pricing-card .vr-pricing-group {
	flex: 1;
}

.vr-pricing-card h3 {
	font-family: var(--vr-font-display);
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid rgba(139, 92, 246, 0.35);
}

.vr-pricing-group {
	margin-bottom: 1.5rem;
}

.vr-pricing-group h4 {
	color: var(--vr-neon-cyan);
	font-size: clamp(0.95rem, 0.9rem + 0.25vw, 1.05rem);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 0.75rem;
}

.vr-pricing-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	font-size: clamp(1.125rem, 1.05rem + 0.5vw, 1.35rem);
	line-height: 1.4;
}

.vr-pricing-row span:first-child {
	flex: 1;
	min-width: 0;
}

.vr-pricing-row span:last-child {
	color: #f43f7f;
	font-weight: 600;
	font-size: clamp(1.2rem, 1.1rem + 0.45vw, 1.4rem);
	white-space: nowrap;
}

.vr-pricing-badge {
	display: inline-block;
	padding: 0.35rem 1rem;
	border-radius: 9999px;
	background: var(--vr-gradient-brand);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 1rem;
}

/* ── Birthday packages ── */
.vr-birthday-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	align-items: stretch;
	grid-auto-rows: 1fr;
}

@media (min-width: 768px) {
	.vr-birthday-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.vr-birthday-grid > .vr-birthday-card,
.vr-birthday-grid > * {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	display: flex;
	flex-direction: column;
}

@media (min-width: 768px) {
	.vr-birthday-grid > .vr-birthday-card,
	.vr-birthday-grid > * {
		height: 100%;
	}
}

.vr-birthday-card {
	padding: 2rem 1.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.vr-birthday-card .vr-birthday-features {
	flex: 1;
}

.vr-birthday-card.featured {
	border-color: rgba(244, 63, 127, 0.5);
	box-shadow: 0 0 40px rgba(244, 63, 127, 0.15);
	transform: scale(1.02);
}

.vr-birthday-price {
	font-family: var(--vr-font-display);
	font-size: 2rem;
	color: #f43f7f;
	margin: 0.5rem 0;
	margin-top: auto;
}

.vr-birthday-features {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	text-align: left;
}

.vr-birthday-features li {
	padding: 0.4rem 0;
	padding-left: 1.25rem;
	position: relative;
	color: var(--vr-text-dim);
	font-size: 0.9rem;
}

.vr-birthday-features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--vr-neon-cyan);
}

/* ── Gallery masonry ── */
.vr-gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
}

@media (min-width: 768px) {
	.vr-gallery-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
	}
}

@media (min-width: 992px) {
	.vr-gallery-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.vr-gallery-item {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 1;
	cursor: pointer;
}

@media (max-width: 767px) {
	.vr-gallery-scroll .vr-gallery-item {
		background: rgba(255, 255, 255, 0.06);
		backdrop-filter: blur(24px) saturate(180%);
		-webkit-backdrop-filter: blur(24px) saturate(180%);
		border: 1px solid rgba(255, 255, 255, 0.15);
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
	}

	.vr-gallery-scroll .vr-gallery-item:nth-child(n) {
		grid-column: unset;
		grid-row: unset;
	}
}

.vr-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease, filter 0.3s ease;
}

.vr-gallery-item:hover img {
	transform: scale(1.06);
	filter: brightness(1.1);
}

.vr-gallery-item::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(11, 14, 19, 0.5) 0%, transparent 50%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.vr-gallery-item:hover::after {
	opacity: 1;
}

.vr-gallery-item:nth-child(3n+1) {
	grid-row: span 1;
}

@media (min-width: 768px) {
	.vr-gallery-item:nth-child(5n+1) {
		grid-column: span 2;
		grid-row: span 2;
	}
}

/* Lightbox (CSS-only target) */
.vr-lightbox:target {
	display: flex;
}

.vr-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.92);
	backdrop-filter: blur(8px);
	align-items: center;
	justify-content: center;
	padding: 2rem;
}

.vr-lightbox img {
	max-width: 90vw;
	max-height: 85vh;
	border-radius: 1rem;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
}

.vr-lightbox-close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	color: #fff;
	font-size: 2rem;
	text-decoration: none;
	opacity: 0.7;
	transition: opacity 0.2s;
}

.vr-lightbox-close:hover {
	opacity: 1;
}

/* ── Reviews ── */
.vr-reviews-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: stretch;
}

@media (min-width: 768px) {
	.vr-reviews-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.vr-review-card {
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.vr-review-card .vr-review-text {
	flex: 1;
}

.vr-review-card .vr-review-author {
	margin-top: auto !important;
}

.vr-review-stars {
	color: #fbbf24;
	font-size: 1rem;
	letter-spacing: 0.1em;
	margin-bottom: 0.75rem;
}

.vr-review-text {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.95rem;
	line-height: 1.65;
	font-style: italic;
	margin-bottom: 1rem !important;
}

.vr-review-author {
	font-weight: 600;
	color: #fff;
	margin: 0 !important;
}

.vr-review-detail {
	font-size: 0.8rem;
	color: var(--vr-neon-purple);
	margin: 0 !important;
}

/* ── FAQ ── */
.vr-faq-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	max-width: 800px;
	margin: 0 auto;
}

.vr-faq-list details,
.wp-block-details {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1rem;
	padding: 1rem 1.25rem;
	transition: border-color 0.25s ease, background 0.25s ease;
}

.vr-faq-list details:hover,
.wp-block-details:hover {
	border-color: rgba(139, 92, 246, 0.35);
	background: rgba(255, 255, 255, 0.06);
}

.vr-faq-list details[open],
.wp-block-details[open] {
	border-color: rgba(244, 63, 127, 0.35);
}

.vr-faq-list summary,
.wp-block-details summary {
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	padding-right: 1.5rem;
	position: relative;
}

.vr-faq-list summary::-webkit-details-marker,
.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.vr-faq-list summary::after,
.wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 0;
	color: var(--vr-neon-cyan);
	font-size: 1.25rem;
	transition: transform 0.25s ease;
}

.vr-faq-list details[open] summary::after,
.wp-block-details[open] summary::after {
	content: "−";
}

/* ── Header ── */
.vr-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	padding: 0.75rem 1rem;
	background: #000;
}

.vr-site-header .vr-header-inner {
	max-width: 1280px;
	margin: 0 auto;
	background: var(--vr-glass-bg);
	border: 1px solid var(--vr-glass-border);
	border-radius: 16px;
	padding: 0.6rem 1.25rem;
	position: relative;
	isolation: isolate;
}

.vr-site-header .vr-header-inner::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--vr-glass-bg);
	backdrop-filter: blur(24px) saturate(180%);
	-webkit-backdrop-filter: blur(24px) saturate(180%);
	z-index: -1;
	pointer-events: none;
}

.vr-logo-text {
	font-family: var(--vr-font-display);
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin: 0 !important;
}

.vr-logo-text a {
	color: #fff;
	text-decoration: none;
	background: var(--vr-gradient-brand);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.vr-site-header .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, 0.85) !important;
	font-weight: 500;
	transition: color 0.2s ease;
}

.vr-site-header .wp-block-navigation-item__content:hover {
	color: var(--vr-neon-cyan) !important;
}

.vr-header-phone {
	display: none;
}

@media (min-width: 992px) {
	.vr-header-phone {
		display: block;
	}

	.vr-header-phone a {
		font-size: 0.9rem;
		font-weight: 600;
		color: var(--vr-neon-cyan) !important;
		text-decoration: none;
	}
}

/* ── Mobile nav — Apple liquid glass overlay ── */

/* Desktop: horizontal nav */
@media (min-width: 768px) {
	.vr-main-nav .wp-block-navigation__container {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.25rem 1.25rem;
	}

	.vr-main-nav .wp-block-navigation__responsive-container-open,
	.vr-main-nav .wp-block-navigation__responsive-container-close {
		display: none !important;
	}

	.vr-main-nav .vr-nav-cta .wp-block-navigation-item__content {
		position: relative;
		overflow: hidden;
		isolation: isolate;
		background: var(--vr-btn-primary-glass-bg) !important;
		backdrop-filter: var(--vr-btn-primary-glass-blur);
		-webkit-backdrop-filter: var(--vr-btn-primary-glass-blur);
		border: 1px solid var(--vr-btn-primary-glass-border) !important;
		border-radius: 9999px !important;
		padding: 0.5rem 1.25rem !important;
		color: #fff !important;
		box-shadow: var(--vr-btn-primary-glass-shadow);
		transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
	}

	.vr-main-nav .vr-nav-cta .wp-block-navigation-item__content:hover {
		color: #fff !important;
		background: var(--vr-btn-primary-glass-hover-bg) !important;
		border-color: var(--vr-btn-primary-glass-hover-border) !important;
	}
}

@media (max-width: 767px) {
	/* Hamburger — glass circle */
	.vr-main-nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		margin: 0;
		border: 1px solid rgba(255, 255, 255, 0.15);
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.08);
		backdrop-filter: blur(20px) saturate(180%);
		-webkit-backdrop-filter: blur(20px) saturate(180%);
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
		color: transparent !important;
		cursor: pointer;
		transition: background 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
			border-color 0.3s ease,
			box-shadow 0.3s ease,
			transform 0.3s ease;
		position: relative;
		z-index: 10001;
	}

	.vr-main-nav .wp-block-navigation__responsive-container-open:hover {
		background: rgba(255, 255, 255, 0.14);
		border-color: rgba(244, 63, 127, 0.4);
		box-shadow: 0 6px 24px rgba(244, 63, 127, 0.2);
	}

	.vr-main-nav .wp-block-navigation__responsive-container-open svg {
		display: none;
	}

	/* Custom 3-line hamburger */
	.vr-main-nav .wp-block-navigation__responsive-container-open::before,
	.vr-main-nav .wp-block-navigation__responsive-container-open::after {
		content: "";
		position: absolute;
		left: 50%;
		width: 18px;
		height: 2px;
		margin-left: -9px;
		background: #fff;
		border-radius: 2px;
		transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
			opacity 0.3s ease,
			top 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
	}

	.vr-main-nav .wp-block-navigation__responsive-container-open::before {
		top: calc(50% - 6px);
		box-shadow: 0 6px 0 #fff;
	}

	.vr-main-nav .wp-block-navigation__responsive-container-open::after {
		top: calc(50% + 6px);
	}

	.vr-main-nav .wp-block-navigation__responsive-container-open.vr-hamburger--active::before {
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
		box-shadow: none;
	}

	.vr-main-nav .wp-block-navigation__responsive-container-open.vr-hamburger--active::after {
		top: 50%;
		transform: translateY(-50%) rotate(-45deg);
	}

	/* Full-screen glass backdrop */
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		display: flex !important;
		flex-direction: column !important;
		background:
			linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0, rgba(255, 255, 255, 0.03) 3.25rem, transparent 4.5rem),
			radial-gradient(circle at 20% 30%, rgba(244, 63, 127, 0.14) 0%, transparent 50%),
			radial-gradient(circle at 80% 70%, rgba(139, 92, 246, 0.1) 0%, transparent 45%),
			linear-gradient(165deg, rgba(8, 4, 18, 0.92) 0%, rgba(12, 6, 24, 0.88) 100%) !important;
		backdrop-filter: blur(40px) saturate(180%);
		-webkit-backdrop-filter: blur(40px) saturate(180%);
		color: #fff !important;
		padding:
			env(safe-area-inset-top, 0)
			env(safe-area-inset-right, 0)
			env(safe-area-inset-bottom, 0)
			env(safe-area-inset-left, 0) !important;
		animation: vr-overlay-in 0.42s cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
		overflow: hidden;
	}

	@keyframes vr-overlay-in {
		from {
			opacity: 0;
			transform: translateY(-12px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	/* Top bar brand — right side */
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open::after {
		content: "VR LOUNGE";
		position: absolute;
		top: calc(1.125rem + env(safe-area-inset-top, 0));
		right: calc(1.25rem + env(safe-area-inset-right, 0));
		z-index: 10002;
		font-family: var(--vr-font-display);
		font-size: 0.95rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		line-height: 44px;
		pointer-events: none;
		background: var(--vr-gradient-brand);
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
	}

	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
		padding-top: calc(5rem + env(safe-area-inset-top, 0)) !important;
	}

	/* Scrollable content — top-aligned below close bar */
	.vr-main-nav .wp-block-navigation__responsive-container-content {
		position: relative;
		z-index: 2;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		flex: 1;
		width: 100%;
		min-height: 0;
		margin: 0 auto;
		padding:
			calc(5rem + env(safe-area-inset-top, 0))
			1.25rem
			calc(1.5rem + env(safe-area-inset-bottom, 0));
		background: transparent;
		border: none;
		border-radius: 0;
		box-shadow: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
	}

	/* Close button — glass circle, top-left */
	.vr-main-nav .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: calc(1.125rem + env(safe-area-inset-top, 0));
		left: calc(1.25rem + env(safe-area-inset-left, 0));
		right: auto;
		z-index: 10003;
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 1px solid rgba(255, 255, 255, 0.15);
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.08);
		backdrop-filter: blur(20px) saturate(180%);
		-webkit-backdrop-filter: blur(20px) saturate(180%);
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
		color: transparent !important;
		cursor: pointer;
		transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
	}

	.vr-main-nav .wp-block-navigation__responsive-container-close:hover {
		background: rgba(255, 255, 255, 0.14);
		border-color: rgba(244, 63, 127, 0.45);
		transform: rotate(90deg);
	}

	.vr-main-nav .wp-block-navigation__responsive-container-close svg {
		display: none;
	}

	.vr-main-nav .wp-block-navigation__responsive-container-close::before,
	.vr-main-nav .wp-block-navigation__responsive-container-close::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 18px;
		height: 2px;
		margin-left: -9px;
		margin-top: -1px;
		background: #fff;
		border-radius: 2px;
	}

	.vr-main-nav .wp-block-navigation__responsive-container-close::before {
		transform: rotate(45deg);
	}

	.vr-main-nav .wp-block-navigation__responsive-container-close::after {
		transform: rotate(-45deg);
	}

	/* Glass card panel — centered, 320px max, inner gutter 16px */
	.vr-main-nav .wp-block-navigation__container {
		position: relative;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		width: 100%;
		max-width: 320px;
		margin: 0 auto;
		padding: 0;
		list-style: none;
		background: transparent;
		border: none;
		border-radius: 0;
		box-shadow: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		box-sizing: border-box;
	}

	.vr-main-nav .wp-block-navigation__container:has(.vr-nav-cta) {
		--vr-nav-cta-slot: calc(3.25rem + 1rem);
	}

	.vr-main-nav .wp-block-navigation__container:has(.vr-nav-cta)::before {
		content: "";
		position: absolute;
		z-index: 0;
		inset: 0;
		bottom: var(--vr-nav-cta-slot);
		background: rgba(255, 255, 255, 0.08);
		border: 1px solid rgba(255, 255, 255, 0.15);
		border-radius: 1.25rem;
		box-shadow:
			0 8px 32px rgba(0, 0, 0, 0.35),
			inset 0 1px 0 rgba(255, 255, 255, 0.12);
		backdrop-filter: blur(24px) saturate(180%);
		-webkit-backdrop-filter: blur(24px) saturate(180%);
		pointer-events: none;
	}

	.vr-main-nav .wp-block-navigation-item {
		width: 100%;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		opacity: 0;
		transform: translateY(10px);
	}

	.vr-main-nav .wp-block-navigation-item:not(.vr-nav-cta) {
		position: relative;
		z-index: 1;
		padding-left: 1rem;
		padding-right: 1rem;
		overflow: hidden;
	}

	.vr-main-nav .wp-block-navigation-item:not(.vr-nav-cta):first-child {
		padding-top: 1rem;
	}

	.vr-main-nav .wp-block-navigation-item:not(.vr-nav-cta):nth-last-child(2) {
		padding-bottom: 1rem;
	}

	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		animation: vr-nav-item-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	}

	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: 0.06s; }
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 0.1s; }
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 0.14s; }
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 0.18s; }
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 0.22s; }
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: 0.26s; }
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(7) { animation-delay: 0.3s; }
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(8) { animation-delay: 0.34s; }
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(9) { animation-delay: 0.38s; }
	.vr-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(10) { animation-delay: 0.42s; }

	@keyframes vr-nav-item-in {
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	/* Nav links — pill rows, 48px tap targets */
	.vr-main-nav .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 48px;
		padding: 0.75rem 1rem !important;
		box-sizing: border-box;
		font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
		font-size: 1.125rem !important;
		font-weight: 600 !important;
		letter-spacing: -0.01em;
		color: rgba(255, 255, 255, 0.94) !important;
		text-decoration: none;
		border-radius: 0.875rem;
		border: 1px solid rgba(255, 255, 255, 0.08);
		background: rgba(255, 255, 255, 0.04);
		transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
	}

	.vr-main-nav .wp-block-navigation-item__content:hover,
	.vr-main-nav .wp-block-navigation-item__content:focus {
		color: #fff !important;
		background: rgba(255, 255, 255, 0.1);
		border-color: rgba(255, 255, 255, 0.18);
	}

	.vr-main-nav .wp-block-navigation-item__content:active {
		background: rgba(244, 63, 127, 0.14);
		border-color: rgba(244, 63, 127, 0.35);
	}

	/* CTA — bottom pill, outside glass card, same 320px column */
	.vr-main-nav .vr-nav-cta {
		position: relative;
		z-index: 1;
		width: 100%;
		margin: 0.5rem 0 0;
		padding: 0;
		border: none;
	}

	.vr-main-nav .vr-nav-cta .wp-block-navigation-item__content {
		position: relative;
		overflow: hidden;
		isolation: isolate;
		justify-content: center;
		min-height: 52px;
		background: var(--vr-btn-primary-glass-bg) !important;
		backdrop-filter: var(--vr-btn-primary-glass-blur);
		-webkit-backdrop-filter: var(--vr-btn-primary-glass-blur);
		border: 1px solid var(--vr-btn-primary-glass-border) !important;
		border-radius: 9999px !important;
		text-align: center;
		font-size: 1.05rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.02em;
		padding: 0.875rem 1.5rem !important;
		box-shadow: var(--vr-btn-primary-glass-shadow);
	}

	.vr-main-nav .vr-nav-cta .wp-block-navigation-item__content:hover,
	.vr-main-nav .vr-nav-cta .wp-block-navigation-item__content:focus {
		background: var(--vr-btn-primary-glass-hover-bg) !important;
		border-color: var(--vr-btn-primary-glass-hover-border) !important;
	}

	/* Hide inline nav on mobile — only hamburger */
	.vr-main-nav > .wp-block-navigation__container {
		display: none;
	}
}

/* Body lock + hero parallax when menu open */
html.vr-menu-open,
body.vr-menu-open {
	overflow: hidden;
}

@media (max-width: 767px) {
	body.vr-menu-open .vr-hero {
		background-size: 115%;
		background-position: center 15%;
		transition: background-size 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), background-position 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
	}

	body.vr-menu-open .vr-page-hero::before {
		transform: scale(1.06) translateY(-12px);
		transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.vr-main-nav .wp-block-navigation__responsive-container,
	.vr-main-nav .wp-block-navigation-item,
	.vr-main-nav .wp-block-navigation__responsive-container-open::before,
	.vr-main-nav .wp-block-navigation__responsive-container-open::after {
		transition: none !important;
		animation: none !important;
	}

	.vr-main-nav .wp-block-navigation-item {
		opacity: 1;
		transform: none;
	}
}

/* ── Footer ── */
.vr-footer {
	background: #06080c;
	border-top: 1px solid rgba(139, 92, 246, 0.2);
	padding-top: clamp(2.5rem, 6vw, 4rem);
	padding-bottom: clamp(1.75rem, 4vw, 2.5rem);
	padding-left: clamp(1.25rem, 4vw, 2rem);
	padding-right: clamp(1.25rem, 4vw, 2rem);
}

.vr-footer.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: var(--vr-content-width, 1280px);
	margin-left: auto;
	margin-right: auto;
}

.vr-footer__grid {
	gap: clamp(2rem, 4vw, 3rem) !important;
	align-items: start;
}

@media (min-width: 782px) {
	.vr-footer__grid {
		flex-wrap: nowrap !important;
	}

	.vr-footer__grid > .wp-block-column {
		flex-basis: 0;
		flex-grow: 1;
	}

	.vr-footer__brand {
		flex-grow: 1.15;
	}

	.vr-footer__social {
		flex-grow: 1.25;
	}
}

.vr-footer .vr-logo-text {
	font-size: clamp(1.8rem, 5vw, 2.65rem);
	letter-spacing: 0.12em;
	background: var(--vr-gradient-brand);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.vr-footer__tagline {
	margin-top: 0.65rem !important;
	margin-bottom: 0 !important;
	line-height: 1.55;
	opacity: 0.9;
}

.vr-footer__heading {
	font-family: var(--vr-font-display);
	font-size: 0.95rem !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #fff !important;
	margin: 0 0 1rem !important;
}

.vr-footer__contacts p,
.vr-footer__social > p {
	margin-top: 0;
	margin-bottom: 0.55rem;
	line-height: 1.55;
}

.vr-footer__contacts a {
	color: #fff;
	text-decoration: none;
	transition: color 0.2s ease;
}

.vr-footer__contacts a:hover {
	color: var(--vr-neon-purple);
}

.vr-footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
}

.vr-footer__links p {
	margin: 0 !important;
}

.vr-footer__links a,
.vr-social-link a {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.9rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.78rem;
	text-decoration: none;
	color: #fff !important;
	transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}

.vr-footer__links a:hover,
.vr-social-link a:hover {
	background: rgba(244, 63, 127, 0.2);
	border-color: rgba(244, 63, 127, 0.4);
	transform: translateY(-2px);
}

.vr-footer__divider {
	margin-top: clamp(1.75rem, 4vw, 2.5rem) !important;
	margin-bottom: clamp(1.25rem, 3vw, 1.75rem) !important;
	opacity: 1;
}

.vr-footer__copyright {
	margin: 0 !important;
	opacity: 0.75;
	letter-spacing: 0.02em;
}

/* ── Section spacing ── */
.vr-section {
	padding-top: clamp(3rem, 8vw, 5rem);
	padding-bottom: clamp(3rem, 8vw, 5rem);
	padding-left: clamp(1.25rem, 4vw, 2rem);
	padding-right: clamp(1.25rem, 4vw, 2rem);
	position: relative;
}

.vr-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: var(--vr-content-width, 1280px);
	margin-left: auto;
	margin-right: auto;
}

.vr-section--dark {
	background: var(--vr-surface);
}

.vr-section--dark > .wp-block-columns:first-of-type .vr-section-label {
	text-align: center;
}

.vr-section--gradient {
	background: linear-gradient(180deg, var(--vr-surface) 0%, var(--vr-body) 100%);
}

/* ── CTA banner ── */
.vr-cta-banner {
	text-align: center;
	margin-inline: clamp(1.25rem, 4vw, 2rem);
	padding-top: clamp(2.5rem, 6vw, 3.5rem);
	padding-bottom: clamp(2.5rem, 6vw, 3.5rem);
	padding-left: clamp(1.25rem, 4vw, 2rem) !important;
	padding-right: clamp(1.25rem, 4vw, 2rem) !important;
}

/* ── Floating phone CTA ── */
.vr-floating-cta {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 999;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--vr-gradient-brand);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 32px rgba(244, 63, 127, 0.45);
	text-decoration: none;
	color: #fff !important;
	font-size: 1.5rem;
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
	animation: vr-pulse-ring 2.5s ease-in-out infinite;
}

.vr-floating-cta:hover {
	transform: scale(1.1);
	box-shadow: 0 12px 40px rgba(244, 63, 127, 0.6);
}

@keyframes vr-pulse-ring {
	0%, 100% { box-shadow: 0 8px 32px rgba(244, 63, 127, 0.45); }
	50% { box-shadow: 0 8px 32px rgba(244, 63, 127, 0.45), 0 0 0 8px rgba(244, 63, 127, 0.15); }
}

/* ── Page hero (inner pages) ── */
.vr-page-hero {
	padding: 7rem 1.5rem 3rem;
	background: var(--vr-gradient-hero);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.vr-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 0%, rgba(244, 63, 127, 0.2) 0%, transparent 60%);
	pointer-events: none;
}

.vr-page-hero h1 {
	font-family: var(--vr-font-display);
	font-size: clamp(2rem, 5vw, 3.5rem);
	position: relative;
}

.vr-page-hero--birthday {
	background-image: url('/wp-content/uploads/vr-lounge/gallery-vr-1.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 280px;
}

.vr-page-hero--birthday::before {
	background: linear-gradient(
		180deg,
		rgba(10, 5, 20, 0.5) 0%,
		rgba(10, 5, 20, 0.85) 100%
	);
	z-index: 0;
}

.vr-page-hero--birthday > * {
	position: relative;
	z-index: 1;
}

/* ── Yandex Maps embed ── */
.yandex-map-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	min-height: 360px;
	border-radius: 1.5rem;
	overflow: hidden;
	border: 1px solid rgba(139, 92, 246, 0.22);
	background: rgba(20, 18, 28, 0.65);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

@media (min-width: 768px) {
	.yandex-map-wrap {
		min-height: 450px;
	}
}

.yandex-map-wrap--compact {
	min-height: 220px;
	margin-top: 2rem;
	aspect-ratio: 16 / 9;
}

@media (min-width: 768px) {
	.yandex-map-wrap--compact {
		min-height: 280px;
	}
}

.yandex-map-wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ── Yandex «Хорошее место» badge (hero corner — mobile right, desktop left) ── */
.hero-good-place--corner {
	position: absolute;
	z-index: 10;
	pointer-events: auto;
}

.hero-good-place__badges {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 10px;
}

.hero-good-place--corner .hero-good-place__badges {
	display: inline-flex;
	flex-direction: row;
	gap: 6px;
	align-items: flex-start;
	width: fit-content;
}

.hero-good-place--corner .hero-good-place__badge-link + .hero-good-place__badge-link {
	margin-left: 0;
}

.hero-good-place__badge-link {
	display: block;
	line-height: 0;
	border-radius: 0.75rem;
	transition: transform 0.35s ease, filter 0.35s ease, box-shadow 0.35s ease;
}

.hero-good-place--corner .hero-good-place__badge-link {
	margin: 0;
	padding: 0;
	line-height: 0;
	display: block;
}

.hero-good-place--corner .hero-good-place__badge-link img,
.hero-good-place--corner .hero-good-place__badge-link .yandex-good-place__img {
	display: block;
}

.hero-good-place__badge-link:hover {
	transform: translateY(-3px) scale(1.04);
	filter: drop-shadow(0 8px 24px rgba(255, 204, 0, 0.35));
}

.hero-good-place--corner .hero-good-place__badge-link img,
.hero-good-place--corner .yandex-good-place__img {
	width: 56px;
	height: auto;
	max-height: none;
	object-fit: contain;
	flex-shrink: 0;
}

@media (max-width: 767px) {
	.hero-good-place--corner {
		left: auto;
		right: max(1rem, env(safe-area-inset-right, 0px));
		top: 0.75rem;
	}
}

@media (max-width: 360px) {
	.hero-good-place--corner {
		right: max(0.75rem, env(safe-area-inset-right, 0px));
	}

	.hero-good-place--corner .hero-good-place__badge-link img,
	.hero-good-place--corner .yandex-good-place__img {
		width: 50px;
		height: auto;
	}
}

@media (min-width: 768px) {
	.hero-good-place--corner {
		top: 1.25rem;
		left: 3.5rem;
		right: auto;
	}

	.hero-good-place--corner .hero-good-place__badge-link img,
	.hero-good-place--corner .yandex-good-place__img {
		width: 72px;
		height: auto;
	}
}

.yandex-good-place {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	text-align: center;
	text-decoration: none;
	color: inherit;
	margin-top: 1.5rem;
	transition: transform 0.35s ease, border-color 0.3s ease, box-shadow 0.35s ease;
}

@media (min-width: 576px) {
	.yandex-good-place {
		flex-direction: row;
		align-items: flex-start;
		text-align: left;
	}
}

.yandex-good-place:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 204, 0, 0.45);
	box-shadow: 0 16px 40px rgba(255, 204, 0, 0.12);
}

.yandex-good-place__badges {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	flex-shrink: 0;
}

.yandex-good-place__badge,
.yandex-good-place__img {
	flex-shrink: 0;
}

.yandex-good-place__badge {
	width: 88px;
	height: 88px;
}

.footer-good-place {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
}

.footer-good-place__link {
	display: block;
	line-height: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	transition: transform 0.3s ease, filter 0.3s ease;
}

.footer-good-place__link:hover {
	transform: translateY(-2px);
	filter: drop-shadow(0 4px 12px rgba(255, 204, 0, 0.3));
	background: none;
	border: none;
}

.footer-good-place .yandex-good-place__img {
	display: block;
	width: 56px;
	height: auto;
	object-fit: contain;
}

@media (min-width: 782px) {
	.footer-good-place .yandex-good-place__img {
		width: 64px;
	}
}

.yandex-good-place__title {
	display: block;
	font-family: var(--vr-font-display);
	font-size: 1.1rem;
	color: #fff;
}

.yandex-good-place__subtitle {
	display: block;
	font-size: 0.85rem;
	color: var(--vr-neon-purple);
	margin-top: 0.15rem;
}

/* ── Reviews section header (badges left, titles right) ── */
.vr-reviews-header {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1.5rem;
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.vr-reviews-header__badges {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	flex-shrink: 0;
}

.vr-reviews-header__badge-row {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 6px;
	width: fit-content;
}

.vr-reviews-header__badge-link {
	display: block;
	line-height: 0;
	transition: transform 0.35s ease, filter 0.35s ease;
}

.vr-reviews-header__badge-link:hover {
	transform: translateY(-3px) scale(1.04);
	filter: drop-shadow(0 8px 24px rgba(255, 204, 0, 0.35));
}

.vr-reviews-header__badge-link img,
.vr-reviews-header__badge-link .yandex-good-place__img {
	display: block;
	width: 64px;
	height: auto;
	max-height: none;
	object-fit: contain;
	flex-shrink: 0;
}

.vr-reviews-header__caption {
	margin: 0;
	text-align: left;
	line-height: 1.35;
}

.vr-reviews-header__caption-title {
	display: block;
	font-family: var(--vr-font-display);
	font-size: 1.1rem;
	color: #fff;
}

.vr-reviews-header__caption-sub {
	display: block;
	font-size: 0.85rem;
	color: var(--vr-neon-purple);
	margin-top: 0.15rem;
}

.vr-reviews-header__titles {
	text-align: left;
}

.vr-reviews-header__titles .vr-section-label {
	margin: 0 0 0.5rem;
}

.vr-reviews-header__titles .vr-section-title {
	margin: 0;
	/* Base title size — not the zones «Ваши развлечения» oversize */
	font-size: clamp(1.75rem, 4vw, 2.75rem);
}

@media (max-width: 767px) {
	.vr-reviews-header {
		gap: 1rem;
	}

	.vr-reviews-header__titles {
		order: 1;
	}

	.vr-reviews-header__badges {
		order: 2;
	}
}

@media (min-width: 768px) {
	.vr-reviews-header {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 2.5rem;
	}

	.vr-reviews-header__badge-link img,
	.vr-reviews-header__badge-link .yandex-good-place__img {
		width: 90px;
	}

	.vr-reviews-header__titles {
		text-align: right;
		margin-left: auto;
		max-width: min(100%, 28rem);
	}
}

@media (max-width: 360px) {
	.vr-reviews-header__badge-link img,
	.vr-reviews-header__badge-link .yandex-good-place__img {
		width: 56px;
	}
}

/* ── Yandex reviews widget ── */
.yandex-reviews-wrap {
	position: relative;
	padding: 0 !important;
	overflow: hidden;
	border-radius: 1.5rem;
}

.yandex-reviews-wrap iframe {
	width: 100%;
	height: 520px;
	border: 0;
	display: block;
	background: #fff;
}

.yandex-reviews-wrap--home iframe {
	height: 480px;
}

/* ── Reviews + map two-column (desktop) ── */
.vr-reviews-map-grid__map {
	position: relative;
	padding: 0 !important;
	overflow: hidden;
	border-radius: 1.5rem;
}

.vr-reviews-map-grid__map iframe {
	width: 100%;
	border: 0;
	display: block;
	background: rgba(20, 18, 28, 0.65);
}

@media (max-width: 767px) {
	.vr-reviews-map-grid__map {
		margin-top: 1.75rem;
	}

	.vr-reviews-map-grid__map iframe {
		width: 100%;
		height: 420px;
		min-height: 420px;
		border-radius: 1.5rem;
	}
}

@media (min-width: 992px) {
	/* Desktop: reviews widget left, map right — full section width */
	.vr-reviews-map-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 1.5rem;
		align-items: stretch;
		width: 100%;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.vr-reviews-map-grid__reviews,
	.vr-reviews-map-grid .yandex-reviews-wrap {
		width: 100%;
		max-width: none;
	}

	.vr-reviews-map-grid .yandex-reviews-wrap iframe {
		width: 100%;
		max-width: none;
		height: 480px;
	}

	.vr-reviews-map-grid__map {
		width: 100%;
	}

	.vr-reviews-map-grid__map iframe {
		height: 480px;
		border-radius: 1.5rem;
	}
}

.yandex-reviews-wrap__credit {
	position: absolute;
	bottom: 8px;
	left: 0;
	right: 0;
	text-align: center;
	font-size: 10px;
	color: #b3b3b3;
	text-decoration: none;
	padding: 0 16px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	pointer-events: auto;
	z-index: 2;
}

.yandex-reviews-cta {
	text-align: center;
	margin-top: 1.5rem;
}

.yandex-reviews-cta a {
	color: var(--vr-neon-cyan);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
	transition: color 0.2s ease;
}

.yandex-reviews-cta a:hover {
	color: #fff;
}

/* ── Contact form placeholder ── */
.vr-contact-form-placeholder {
	padding: 2.5rem;
	text-align: center;
	border: 2px dashed rgba(139, 92, 246, 0.3);
	border-radius: 1.5rem;
}

.vr-contact-form-placeholder p {
	color: var(--vr-text-dim);
	margin: 0;
}

/* ── Animations on scroll (subtle) ── */
@media (prefers-reduced-motion: no-preference) {
	.vr-animate-in {
		animation: vr-fade-up 0.7s ease both;
	}

	@keyframes vr-fade-up {
		from {
			opacity: 0;
			transform: translateY(24px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
}

/* ── About section — background image right, text left ── */
.vr-section-about {
	position: relative;
	width: 100%;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: clamp(1.25rem, 4vw, 2rem);
	padding-right: clamp(1.25rem, 4vw, 2rem);
	background-color: var(--vr-body);
	overflow: hidden;
	min-height: clamp(22rem, 42vw, 32rem);
	display: flex;
	align-items: flex-end;
}

@media (min-width: 768px) {
	.vr-section.vr-section-about {
		align-items: center;
		width: 100vw;
		max-width: 100vw;
		padding-right: 0 !important;
	}
}

.vr-section-about + .vr-birthday-intro {
	margin-top: 0 !important;
}

.vr-section-about::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		var(--vr-body) 0%,
		rgba(11, 14, 19, 0.97) 24%,
		rgba(11, 14, 19, 0.9) 34%,
		rgba(11, 14, 19, 0.62) 44%,
		rgba(11, 14, 19, 0.22) 52%,
		transparent 58%
	);
	-webkit-mask-image: linear-gradient(
		180deg,
		transparent 0%,
		transparent 10%,
		#000 10%,
		#000 90%,
		transparent 90%,
		transparent 100%
	);
	mask-image: linear-gradient(
		180deg,
		transparent 0%,
		transparent 10%,
		#000 10%,
		#000 90%,
		transparent 90%,
		transparent 100%
	);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	z-index: 1;
	pointer-events: none;
}

.vr-about-bg-alt {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.vr-section-about .vr-about-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: var(--vr-content-width, 1280px);
	margin-inline: auto;
	padding: 0 !important;
}

.vr-section-about .vr-about-content {
	max-width: min(34rem, 52%);
}

@media (min-width: 768px) {
	.vr-section-about {
		padding-top: 0;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.vr-section-about .vr-about-inner {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
		max-width: none;
		min-height: inherit;
		padding-inline: clamp(1.25rem, 4vw, 2rem);
		padding-top: 0;
		padding-bottom: 0;
	}

	.vr-section-about .vr-about-content {
		/* Image mask starts at 34vw; keep text fully left of it with a gap. */
		max-width: min(34rem, calc(34vw - 4.5rem));
		width: auto;
		margin-left: 0 !important;
		margin-right: auto !important;
		text-align: left;
		align-self: center;
		transform: translateY(-1.75rem);
	}

	.vr-section-about .vr-about-content .wp-block-buttons {
		justify-content: flex-start;
	}

	.vr-section-about .vr-about-title-lead {
		display: inline-block;
		font-size: 1.4em;
		line-height: 1.05;
	}
}

.vr-section-about .vr-about-content .vr-section-label {
	margin-bottom: 0.75rem;
}

.vr-section-about .vr-about-content .vr-section-title {
	margin-bottom: 1rem;
}

.vr-section-about .vr-btn-secondary .wp-block-button__link,
.vr-section-about .vr-btn-secondary a {
	font-family: var(--vr-font-body) !important;
	font-weight: 500 !important;
}

/* ── About section desktop — no gradient overlay ── */
@media (min-width: 768px) {
	.vr-section-about::before {
		display: none;
	}
}

/* ── About section mobile — text overlay on hero-classical.webp (1024×1024) ── */
@media (max-width: 767px) {
	.vr-section-about {
		aspect-ratio: 1 / 1;
		min-height: unset;
		height: auto;
		padding-top: 0 !important;
		padding-bottom: 1.25rem !important;
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
		align-items: flex-end;
		overflow: hidden;
	}

	.vr-section-about::after {
		/* Square section (1:1) + square image (1024×1024): cover shows the full frame,
		   no side cropping — full VR glasses and the "VR LOUNGE" backdrop text stay visible. */
		background-size: cover;
		background-position: center;
		top: 0;
		height: 100%;
	}

	.vr-section-about::before {
		display: none;
	}

	.vr-section-about .vr-about-inner {
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: flex-end;
	}

	.vr-section-about .vr-about-content {
		max-width: 100%;
		width: 100%;
		padding: 0;
		text-align: right;
	}

	.vr-section-about .vr-about-inner .wp-block-buttons {
		justify-content: flex-end;
	}

	.vr-section-about .vr-about-inner .vr-section-label,
	.vr-section-about .vr-about-inner .vr-section-title,
	.vr-section-about .vr-about-inner p,
	.vr-section-about .vr-about-inner .wp-block-button__link {
		text-shadow:
			0 1px 3px rgba(0, 0, 0, 0.75),
			0 2px 12px rgba(0, 0, 0, 0.45);
	}

	.vr-section-about .vr-about-content .vr-section-label {
		margin-bottom: 0.5rem;
	}

	.vr-section-about .vr-about-content .vr-section-title {
		margin-bottom: 0.625rem;
		font-size: clamp(1.375rem, 5.5vw, 1.625rem);
		line-height: 1.15;
	}

	.vr-section-about .vr-about-title-lead {
		font-size: inherit;
	}

	.vr-section-about .vr-section-title br {
		display: none;
	}

	.vr-section-about .vr-about-inner p:not(.vr-section-label) {
		color: #fff !important;
		font-size: 0.875rem;
		line-height: 1.45;
		margin-top: 0;
		margin-bottom: 0;
		-webkit-text-stroke: 0.25px rgba(0, 0, 0, 0.55);
		text-shadow:
			0 0 1px rgba(0, 0, 0, 0.85),
			0 0 3px rgba(0, 0, 0, 0.65),
			0 1px 4px rgba(0, 0, 0, 0.5);
	}

	.vr-section--dark > .wp-block-columns .wp-block-buttons {
		justify-content: center;
	}
}

/* ── Responsive utilities ── */
@media (max-width: 767px) {
	.vr-hero.alignfull {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.vr-section-about.alignfull,
	.vr-section-about {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.vr-hero {
		min-height: min(100dvh, 900px);
		display: flex;
		flex-direction: column;
		text-align: center;
		margin-top: 0;
	}

	.vr-hero::after {
		--vr-hero-bg-height: 111%;
		--vr-hero-bg-offset-y: calc(-98 / 900 * min(100dvh, 900px));
		background-size: auto var(--vr-hero-bg-height);
		background-position: 19% var(--vr-hero-bg-offset-y);
		inset: 0;
	}

	.vr-hero::before {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.15) 0%,
			rgba(0, 0, 0, 0.45) 50%,
			rgba(0, 0, 0, 0.92) 100%
		);
	}

	.vr-hero__inner {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: stretch;
		min-height: inherit;
		margin-top: 0;
		padding: 5rem 1.25rem 2.5rem;
	}

	.vr-hero__content {
		padding: 0 0.25rem;
		max-width: 100%;
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.vr-hero__content > .vr-hero__location-label {
		order: 5;
		margin-top: 3.75rem;
		margin-bottom: 0;
		text-align: center;
		width: 100%;
		font-size: clamp(0.9375rem, 4vw, 1.0625rem);
		line-height: 1.5;
		letter-spacing: 0.16em;
	}

	.vr-hero__content > .wp-block-heading,
	.vr-hero__content > h1 {
		order: 1;
		margin-bottom: 0;
	}

	.vr-hero__content > .vr-hero__tagline {
		order: 2;
		margin-top: 0.25rem;
	}

	.vr-hero__content > .vr-hero__desc {
		order: 3;
	}

	.vr-hero__content > .wp-block-buttons {
		order: 4;
	}

	.vr-hero__desc {
		margin-left: auto;
		margin-right: auto;
	}

	.vr-hero .wp-block-buttons {
		justify-content: center;
		gap: 0.5rem;
		flex-wrap: nowrap;
		padding: 0 0.5rem;
	}

	/* Keep both hero buttons on one row down to iPhone SE (375px) */
	.vr-hero .wp-block-buttons .wp-block-button {
		flex: 0 1 auto;
		min-width: 0;
	}

	.vr-hero .wp-block-buttons .wp-block-button__link {
		white-space: nowrap;
		font-size: 1.0625rem !important;
		padding: 0.8rem 1.25rem !important;
	}

	.vr-birthday-card.featured {
		transform: none;
	}
}

/* Tall mobile viewports (XR, 12 Pro, 14 Pro Max) — not iPhone SE (667px) */
@media (max-width: 767px) and (min-height: 800px) {
	.vr-hero__content h1.wp-block-heading {
		font-size: clamp(3rem, 12vw, 3.25rem);
	}

	.vr-hero__inner.is-layout-flow > .vr-hero__content:last-child {
		margin-block-end: 170px;
	}
}
