/* ==========================
   SINGLE FURNITURE PAGE
========================== */

.single-furniture {
	--single-furniture-header-offset: clamp(96px, 8vw, 124px);

	--wo05-primary: #8f2727;
	--wo05-primary-dark: #741818;
	--wo05-text: var(--color-content-primary);
	--wo05-body: var(--color-content-secondary);
	--wo05-muted: #746b64;
	--wo05-background: var(--color-canvas-default);
	--wo05-surface: #f3efea;
	--wo05-surface-light: #fdfcfa;
	--wo05-border: #d7d0c9;
	--wo05-border-soft: #e5dfd9;
	--wo05-gold-ornament: #d1b8a1;
	--wo05-focus-width: 3px;
	--wo05-control-radius: 10px;
	--wo05-panel-radius: 14px;
	--wo05-motion-fast:
		var(--motion-duration-fast)
		var(--motion-easing-standard);

	--wo05-motion-base:
		var(--motion-duration-base)
		var(--motion-easing-emphasized);

	--wo05-motion-slow:
		var(--motion-duration-slow)
		var(--motion-easing-emphasized);

	background: var(--wo05-background);
	color: var(--wo05-text);
}

/* ==========================
   HERO
========================== */

.furniture-hero {
	padding-block:
		calc(var(--section-spacing-sm) + var(--single-furniture-header-offset))
		var(--section-spacing-lg);

}

.furniture-hero__wrapper {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(360px, 2fr);
	gap: var(--space-10);
	align-items: center;
}

/* ==========================
   HERO PRODUCT GALLERY
========================== */

.furniture-hero-gallery {
	position: relative;

	min-width: 0;

	isolation: isolate;
}

.furniture-hero-gallery::before {
	content: "";

	position: absolute;
	inset: var(--space-5) calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-5);
	z-index: -1;

	border: 1px solid var(--wo05-border-soft);
	border-radius: var(--wo05-panel-radius);

	background:
		linear-gradient(
			135deg,
			var(--wo05-surface) 0%,
			var(--wo05-surface-light) 100%
		);

	box-shadow: var(--shadow-soft);
}

.furniture-hero-gallery::after {
	content: "";

	position: absolute;
	top: var(--space-5);
	left: var(--space-5);
	z-index: 2;

	width: 34%;
	height: 1px;

	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.85),
			rgba(255, 255, 255, 0)
		);

	pointer-events: none;
}

.furniture-hero-gallery__image-button {
	position: relative;
	z-index: 1;

	display: block;

	width: 100%;
	padding: 0;

	overflow: hidden;

	border: 1px solid var(--wo05-border);
	border-radius: var(--wo05-panel-radius);

	background: var(--wo05-surface-light);

	box-shadow:
		0 16px 38px rgba(45, 42, 40, 0.09),
		0 1px 2px rgba(45, 42, 40, 0.05);

	cursor: zoom-in;

	transform: translateZ(0);

	transition:
		transform var(--wo05-motion-base),
		box-shadow var(--wo05-motion-base),
		border-color var(--wo05-motion-base);
}

.furniture-hero-gallery__image-button:focus-visible {
	outline: var(--wo05-focus-width) solid var(--wo05-primary-dark);
	outline-offset: 3px;
}

.furniture-hero-gallery__image-wrap {
	position: relative;

	display: block;

	width: 100%;
	height: clamp(380px, 42vw, 560px);

	overflow: hidden;

	background: var(--wo05-surface);
}

.furniture-hero-gallery__image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	user-select: none;
	-webkit-user-drag: none;

	transform: scale(1);
	transform-origin: 50% 50%;

	opacity: 1;

	transition:
		opacity var(--transition-base),
		transform var(--transition-luxury),
		filter var(--transition-luxury);
}

.furniture-hero-gallery__image.is-changing {
	opacity: 0;
}

.furniture-hero-gallery__image.is-zoomed {
	transform: scale(1.75);
}

.furniture-hero-gallery__thumbs {
	position: relative;
	z-index: 2;

	display: flex;
	flex-wrap: nowrap;
	gap: var(--space-3);

	width: 100%;

	margin-top: var(--space-4);
	padding-block: var(--space-1);
	padding-inline: var(--space-1);

	overflow-x: auto;
	overflow-y: hidden;

	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.furniture-hero-gallery__thumbs::-webkit-scrollbar {
	display: none;
}

.furniture-hero-gallery__thumb {
	position: relative;

	flex: 0 0 auto;

	width: clamp(74px, 7vw, 96px);
	height: clamp(56px, 5.4vw, 72px);

	padding: 0;

	overflow: hidden;

	box-sizing: border-box;

	border: 1px solid var(--wo05-border);
	border-radius: var(--wo05-control-radius);

	background: var(--wo05-surface-light);

	box-shadow: 0 6px 14px rgba(45, 42, 40, 0.05);

	cursor: pointer;

	opacity: 0.86;

	transition:
		opacity var(--wo05-motion-fast),
		border-color var(--wo05-motion-fast),
		box-shadow var(--wo05-motion-fast),
		transform var(--wo05-motion-fast);
}

.furniture-hero-gallery__thumb::after {
	content: "";

	position: absolute;
	inset: 0;

	border: 1px solid transparent;
	border-radius: calc(var(--radius-sm) - 1px);

	pointer-events: none;

	transition: border-color var(--transition-base);
}

.furniture-hero-gallery__thumb-image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transform: scale(1);

	transition:
		transform var(--transition-luxury),
		filter var(--transition-luxury);
}

.furniture-hero-gallery__thumb.is-active {
	opacity: 1;
	border: 2px solid var(--wo05-primary);

	box-shadow: 0 7px 16px rgba(45, 42, 40, 0.07);
}

.furniture-hero-gallery__thumb.is-active::after {
	display: none;
}

.furniture-hero-gallery__thumb:focus-visible {
	outline: var(--wo05-focus-width) solid var(--wo05-primary-dark);
	outline-offset: 3px;
}

.furniture-hero__image-placeholder {
	position: relative;
	z-index: 1;

	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 520px;

	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-md);

	background: var(--color-surface);

	box-shadow:
		0 22px 55px rgba(45, 42, 40, 0.1),
		0 1px 2px rgba(45, 42, 40, 0.05);

	color: var(--color-text-light);
}

@media (hover: hover) and (pointer: fine) {
	.furniture-hero-gallery__image-button:hover {
		transform: translateY(-1px);

		border-color: var(--wo05-muted);

		box-shadow:
			0 18px 42px rgba(45, 42, 40, 0.11),
			0 1px 2px rgba(45, 42, 40, 0.05);
	}

	.furniture-hero-gallery__image-button:hover .furniture-hero-gallery__image {
		filter: contrast(1.02) saturate(1.02);
	}

	.furniture-hero-gallery__thumb:hover {
		opacity: 1;
		transform: translateY(-1px);

		border-color: var(--wo05-muted);

		box-shadow: 0 7px 16px rgba(45, 42, 40, 0.07);
	}

	.furniture-hero-gallery__thumb:hover .furniture-hero-gallery__thumb-image {
		transform: none;
		filter: none;
	}
}

/* ==========================
   HERO CONTENT
========================== */

.furniture-hero__content {
	min-width: 0;
}

.furniture-hero__category {
	margin-bottom: var(--space-3);

	font-size: clamp(12px, 1vw, 13px);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.09em;
	line-height: 1.35;
	text-transform: uppercase;

	color: var(--color-content-tertiary);
	overflow-wrap: anywhere;
}

.furniture-hero__title {
	max-width: 16ch;

	margin-bottom: var(--space-5);

	font-size: clamp(48px, 5vw, 64px);
	font-weight: var(--font-weight-semibold);
	line-height: 1.05;
	letter-spacing: -0.02em;

	color: var(--wo05-text);
	overflow-wrap: anywhere;
}

.furniture-hero__description {
	max-width: 66ch;

	margin-bottom: var(--space-5);

	font-size: clamp(18px, 1.45vw, 20px);
	line-height: 1.62;

	color: var(--wo05-body);
	overflow-wrap: anywhere;
}

.furniture-hero__advantage {
	max-width: 620px;

	margin-bottom: var(--space-7);

	font-size: var(--font-size-body);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-body);

	color: var(--wo05-text);
	overflow-wrap: anywhere;
}

.furniture-hero__specs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4);

	max-width: 620px;

	margin: 0 0 var(--space-7);
	padding-block: var(--space-5);

	border-top: 1px solid var(--wo05-border-soft);
	border-bottom: 1px solid var(--wo05-border-soft);
}

.furniture-hero__spec {
	min-width: 0;
}

.furniture-hero__spec-label {
	display: block;

	margin: 0 0 var(--space-2);

	font-size: clamp(12px, 1vw, 13px);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.09em;
	line-height: 1.35;
	text-transform: uppercase;

	color: var(--color-content-tertiary);
}

.furniture-hero__spec-value {
	display: block;

	margin: 0;

	font-size: var(--font-size-body);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-body);

	color: var(--wo05-text);
	overflow-wrap: anywhere;
}

.furniture-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: stretch;

	max-width: 620px;
}

.furniture-hero__actions .button {
	max-width: 100%;

	white-space: normal;
	text-align: center;
	overflow-wrap: anywhere;
}

.furniture-hero__admin-warning {
	max-width: 620px;

	margin-top: var(--space-5);
	margin-bottom: 0;
	padding: var(--space-4);

	border: 1px solid rgba(179, 38, 30, 0.22);
	border-radius: var(--radius-sm);

	background: rgba(179, 38, 30, 0.06);
	color: var(--color-error);

	font-size: var(--font-size-small);
	line-height: var(--line-height-body);
	overflow-wrap: anywhere;
}

/* ==========================
   MANUFACTURER CONSULTATION
========================== */

.manufacturer-consultation {
	position: relative;

	padding-block: var(--section-spacing-lg);
}

.manufacturer-consultation__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
	gap: var(--space-9) var(--space-10);
	align-items: start;

	padding: var(--space-10);
}

.manufacturer-consultation__main,
.manufacturer-consultation__details,
.manufacturer-consultation__value {
	min-width: 0;
}

.manufacturer-consultation__eyebrow {
	margin-bottom: var(--space-4);

	font-size: clamp(12px, 1vw, 13px);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.09em;
	line-height: 1.35;
	text-transform: uppercase;

	color: var(--wo05-primary);
}

.manufacturer-consultation__title {
	max-width: 760px;

	margin-bottom: var(--space-5);

	font-size: clamp(32px, 3vw, 40px);
	font-weight: var(--font-weight-semibold);
	line-height: 1.15;
	letter-spacing: -0.015em;

	color: var(--wo05-text);
	overflow-wrap: anywhere;
}

.manufacturer-consultation__lead {
	max-width: 66ch;

	margin: var(--space-6) 0 0;

	font-size: clamp(18px, 1.45vw, 20px);
	line-height: 1.62;

	color: var(--wo05-body);
}

.manufacturer-consultation__details {
	padding-left: var(--space-8);

	border-left-width: 1px;
	border-left-style: solid;
}

.manufacturer-consultation__details-title {
	margin-bottom: var(--space-5);

	font-size: clamp(12px, 1vw, 13px);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.09em;
	line-height: 1.35;
	text-transform: uppercase;

	color: var(--wo05-text);
}

.manufacturer-consultation__list {
	display: grid;
	gap: var(--space-3);

	margin: 0;
	padding: 0;

	list-style: none;
}

.manufacturer-consultation__list li {
	position: relative;

	padding-left: var(--space-5);

	font-size: clamp(16px, 1.25vw, 18px);
	line-height: 1.68;

	color: var(--wo05-body);
}

.manufacturer-consultation__list li::before {
	content: "";

	position: absolute;
	top: 0.72em;
	left: 0;

	width: 6px;
	height: 6px;

	border:
		1px solid
		color-mix(
			in srgb,
			var(--color-accent-decorative) 72%,
			transparent
		);
	border-radius: 50%;

	background:
		radial-gradient(
			circle at 30% 30%,
			color-mix(
				in srgb,
				var(--color-material-pearl-light) 42%,
				transparent
			) 0 20%,
			transparent 22%
		),
		color-mix(
			in srgb,
			var(--color-accent-decorative) 72%,
			transparent
		);

	transform: translateY(-50%);
}

.manufacturer-consultation__value {
	grid-column: 1 / -1;

	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--space-7);
	align-items: center;

	padding-top: var(--space-8);

	border-top: 1px solid var(--wo05-border-soft);
}

.manufacturer-consultation__value-text {
	max-width: 72ch;

	margin: 0;

	font-size: clamp(16px, 1.25vw, 18px);
	font-weight: var(--font-weight-semibold);
	line-height: 1.68;

	color: var(--wo05-text);
	overflow-wrap: anywhere;
}

.manufacturer-consultation__value .button {
	max-width: 100%;

	white-space: normal;
	text-align: center;
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	.manufacturer-consultation__panel {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}

	.manufacturer-consultation__details {
		padding-top: var(--space-7);
		padding-left: 0;

		border-top-width: 1px;
		border-top-style: solid;
		border-left-width: 0;
	}

	.manufacturer-consultation__value {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.manufacturer-consultation {
		padding-block: var(--section-spacing-sm);
	}

	.manufacturer-consultation__panel {
		gap: var(--space-7);

		padding: var(--space-6);
	}

	.manufacturer-consultation__title {
		margin-bottom: var(--space-4);
	}

	.manufacturer-consultation__lead {
		margin-top: var(--space-5);
	}

	.manufacturer-consultation__value {
		gap: var(--space-6);

		padding-top: var(--space-6);
	}

	.manufacturer-consultation__value .button {
		width: 100%;
	}
}

/* ==========================
   MODEL PRESENTATION
========================== */

.furniture-presentation {
	padding-block: var(--section-spacing-lg);
}

.furniture-presentation__layout {
	display: grid;
	grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
	gap: var(--space-10);
	align-items: start;
}

.furniture-presentation__header,
.furniture-presentation__content {
	min-width: 0;
}

.furniture-presentation__eyebrow {
	margin-bottom: var(--space-4);

	font-size: clamp(12px, 1vw, 13px);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.09em;
	line-height: 1.35;
	text-transform: uppercase;

	color: var(--wo05-primary);
}

.furniture-presentation__title {
	max-width: 520px;

	margin-bottom: var(--space-5);

	font-size: clamp(32px, 3vw, 40px);
	font-weight: var(--font-weight-semibold);
	line-height: 1.15;
	letter-spacing: -0.015em;

	color: var(--wo05-text);
	overflow-wrap: anywhere;
}

.furniture-presentation__content {
	max-width: 72ch;

	font-size: clamp(16px, 1.25vw, 18px);
	line-height: 1.68;

	color: var(--wo05-body);
}

.furniture-presentation__content > * {
	margin-bottom: var(--space-5);
}

.furniture-presentation__content > *:last-child {
	margin-bottom: 0;
}

.furniture-presentation__content h2,
.furniture-presentation__content h3,
.furniture-presentation__content h4 {
	margin-top: var(--space-7);

	font-size: clamp(22px, 2.2vw, 26px);
	font-weight: var(--font-weight-semibold);
	line-height: 1.24;
	letter-spacing: -0.008em;

	color: var(--wo05-text);
}

.furniture-presentation__content ul,
.furniture-presentation__content ol {
	padding-left: var(--space-6);
}

.furniture-presentation__content li + li {
	margin-top: var(--space-2);
}

@media (max-width: 900px) {
	.furniture-presentation__layout {
		grid-template-columns: 1fr;
		gap: var(--space-7);
	}

	.furniture-presentation__header {
		max-width: 720px;
	}
}

@media (max-width: 680px) {
	.furniture-presentation {
		padding-block: var(--section-spacing-sm);
	}
}

/* ==========================
   DIMENSIONS
========================== */

.furniture-dimensions {
	padding-block: var(--section-spacing-md);
}

.furniture-dimensions__title {
	margin-bottom: var(--space-5);

	font-size: var(--font-size-section-title);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-heading);
	letter-spacing: var(--letter-spacing-heading);

	color: var(--color-text);
}

.furniture-dimensions__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-6);

	margin-bottom: var(--space-8);
}

.furniture-dimensions__card {
	min-height: 140px;
	padding: var(--space-7);
}

.furniture-dimensions__card h3 {
	margin-bottom: var(--space-4);

	font-size: var(--font-size-card-title);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-heading);
	letter-spacing: var(--letter-spacing-heading);

	color: var(--color-text);
}

.furniture-dimensions__card p {
	margin: 0;

	font-size: var(--font-size-body-large);
	line-height: var(--line-height-body);

	color: var(--color-text-light);
}

.furniture-dimensions__note {
	max-width: 800px;

	font-size: var(--font-size-body);
	line-height: var(--line-height-relaxed);

	color: var(--color-text-light);
}

/* ==========================
   INQUIRY / CUSTOM ORDER
========================== */

.furniture-inquiry {
	padding-block: var(--section-spacing-md);

	scroll-margin-top: calc(var(--site-header-height, 80px) + var(--space-5));
}

.furniture-inquiry:focus {
	outline: var(--wo05-focus-width) solid var(--wo05-primary-dark);
	outline-offset: calc(var(--focus-ring-offset) * -1);
}

.furniture-inquiry__panel {
	max-width: 980px;
}

.furniture-inquiry .section__eyebrow {
	font-size: clamp(12px, 1vw, 13px);
	font-weight: var(--font-weight-semibold);
	line-height: 1.35;
	letter-spacing: 0.09em;

	color: var(--color-content-tertiary);
}

.furniture-inquiry .section__title {
	font-size: clamp(32px, 3vw, 40px);
	font-weight: var(--font-weight-semibold);
	line-height: 1.15;
	letter-spacing: -0.015em;

	color: var(--wo05-text);
}

.furniture-inquiry .section__intro {
	max-width: 66ch;

	font-size: clamp(18px, 1.45vw, 20px);
	line-height: 1.62;

	color: var(--wo05-body);
}

.furniture-inquiry__reassurance {
	max-width: 760px;
	padding: var(--space-5);

	border-width: 1px;
	border-style: solid;
	border-radius: 12px;
}

.furniture-inquiry__reassurance-label {
	margin: 0 0 var(--space-2);

	font-size: clamp(12px, 1vw, 13px);
	font-weight: var(--font-weight-semibold);
	line-height: 1.35;
	letter-spacing: 0.09em;
	text-transform: uppercase;

	color: var(--color-content-tertiary);
}

.furniture-inquiry__reassurance-text {
	max-width: 66ch;
	margin: 0;

	font-size: 16px;
	line-height: 1.68;

	color: var(--wo05-body);
}

.furniture-inquiry__actions {
	margin-top: var(--space-6);
}

.furniture-inquiry__context {
	margin-top: var(--space-4);
	padding-top: var(--space-4);

	border-top-width: 1px;
	border-top-style: solid;

	font-size: var(--font-size-small);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-body);

	color: var(--wo05-primary-dark);
}

.furniture-inquiry__context[hidden] {
	display: none;
}

.furniture-inquiry__admin-warning {
	margin-top: var(--space-5);
	margin-bottom: 0;
	padding: var(--space-4);

	border: 1px solid rgba(179, 38, 30, 0.22);
	border-radius: var(--radius-sm);

	background: rgba(179, 38, 30, 0.06);
	color: var(--color-error);

	font-size: var(--font-size-small);
	line-height: var(--line-height-body);
}

/* ==========================
   LIGHTBOX
========================== */

.gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: var(--z-lightbox);

	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	align-items: stretch;
	justify-items: center;

	width: 100vw;
	height: 100vh;
	height: 100dvh;

	padding:
		clamp(64px, 8vh, 88px)
		clamp(16px, 4vw, 40px)
		clamp(18px, 3vh, 28px);

	box-sizing: border-box;

	overflow: hidden;
	overscroll-behavior: none;

	background:
		radial-gradient(
			circle at center,
			rgba(210, 205, 200, 0.98),
			rgba(162, 156, 150, 0.98)
		);

	backdrop-filter: blur(8px);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity var(--transition-slow),
		visibility var(--transition-slow);
}

.gallery-lightbox.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.gallery-lightbox::before {
	content: "";

	position: absolute;
	inset: 0;
	z-index: 0;

	background:
		radial-gradient(
			circle at 20% 20%,
			rgba(255, 255, 255, 0.18),
			transparent 28%
		),
		radial-gradient(
			circle at 80% 75%,
			rgba(120, 80, 70, 0.12),
			transparent 34%
		),
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.06),
			transparent 40%
		);

	pointer-events: none;
}

.gallery-lightbox::after {
	content: "";

	position: absolute;
	inset: 0;
	z-index: 0;

	background-image:
		linear-gradient(
			45deg,
			rgba(255, 255, 255, 0.025) 25%,
			transparent 25%,
			transparent 50%,
			rgba(255, 255, 255, 0.018) 50%,
			rgba(255, 255, 255, 0.018) 75%,
			transparent 75%,
			transparent
		);

	background-size: 6px 6px;
	opacity: 0.2;

	pointer-events: none;
}

.gallery-lightbox__image-wrap {
	position: relative;
	z-index: 2;

	align-self: center;
	justify-self: center;

	width: min(82vw, 1100px);
	height: 100%;
	min-height: 0;
	max-height: 720px;

	overflow: hidden;

	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--radius-md);

	background: rgba(255, 255, 255, 0.1);

	box-shadow: var(--shadow-strong);
}

.gallery-lightbox__image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: contain;

	user-select: none;
	-webkit-user-drag: none;

	cursor: zoom-in;

	transform: scale(1);
	transform-origin: 50% 50%;

	transition: transform var(--transition-slow);
}

.gallery-lightbox__image.is-zoomed {
	transform: scale(2);
	cursor: zoom-out;

	transition:
		transform var(--transition-slow),
		transform-origin 0s linear;
}

.gallery-lightbox__image.is-origin-resetting {
	transition:
		transform var(--transition-slow),
		transform-origin 220ms ease;
}

.gallery-lightbox__status {
	position: absolute;
	top: clamp(18px, 3vw, 28px);
	left: 50%;
	z-index: 5;

	width: auto;
	height: auto;

	margin: 0;
	padding: 8px 12px;

	overflow: visible;

	clip: auto;
	clip-path: none;

	border: 1px solid rgba(255, 255, 255, 0.64);
	border-radius: var(--wo05-control-radius);

	background: rgba(45, 42, 40, 0.72);
	color: #ffffff;

	font-size: 14px;
	font-weight: var(--font-weight-medium);
	line-height: 1.4;
	letter-spacing: 0.04em;
	white-space: nowrap;

	pointer-events: none;
	transform: translateX(-50%);
}

.gallery-lightbox__arrow[hidden] {
	display: none;
}

/* ==========================
   LIGHTBOX CONTROLS
========================== */

.gallery-lightbox__close,
.gallery-lightbox__arrow,
.gallery-lightbox__zoom {
	position: absolute;
	z-index: 5;

	display: flex;
	align-items: center;
	justify-content: center;

	min-width: var(--touch-target-min);
	min-height: var(--touch-target-min);

	border: 1px solid rgba(255, 255, 255, 0.64);
	border-radius: var(--wo05-control-radius);

	background: rgba(45, 42, 40, 0.72);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	backdrop-filter: blur(8px);

	color: var(--color-text-inverse);

	cursor: pointer;

	transition:
		background-color var(--wo05-motion-fast),
		border-color var(--wo05-motion-fast),
		transform var(--wo05-motion-fast);
}

.gallery-lightbox__close:focus-visible,
.gallery-lightbox__arrow:focus-visible,
.gallery-lightbox__zoom:focus-visible,
.gallery-lightbox__thumb:focus-visible {
	outline: var(--wo05-focus-width) solid var(--wo05-primary-dark);
	outline-offset: 3px;
	box-shadow:
		0 0 0 2px var(--wo05-surface-light),
		0 4px 14px rgba(0, 0, 0, 0.18);
}

.gallery-lightbox__close {
	top: clamp(14px, 3vw, 28px);
	right: clamp(14px, 3vw, 28px);

	width: clamp(42px, 5vw, 52px);
	height: clamp(42px, 5vw, 52px);

	font-size: clamp(28px, 4vw, 34px);
	line-height: 1;
}

.gallery-lightbox__arrow {
	top: 50%;

	width: 56px;
	height: 56px;

	font-size: 42px;
	line-height: 1;

	transform: translateY(-50%);
}

.gallery-lightbox__arrow--prev {
	left: var(--space-7);
}

.gallery-lightbox__arrow--next {
	right: var(--space-7);
}

.gallery-lightbox__zoom {
	right: clamp(18px, 4vw, 32px);
	bottom: clamp(84px, 12vh, 104px);

	width: clamp(44px, 5vw, 56px);
	height: clamp(44px, 5vw, 56px);

	font-size: clamp(18px, 3vw, 22px);
	font-weight: var(--font-weight-bold);
	line-height: 1;
}

.gallery-lightbox[data-image-count="1"]
	.gallery-lightbox__zoom {
	bottom: clamp(18px, 4vh, 32px);
}

@media (hover: hover) and (pointer: fine) {
	.gallery-lightbox__close:hover,
	.gallery-lightbox__arrow:hover,
	.gallery-lightbox__zoom:hover {
		background: rgba(45, 42, 40, 0.84);
		border-color: rgba(255, 255, 255, 0.84);
	}

	.gallery-lightbox__close:hover {
		transform: none;
	}

	.gallery-lightbox__arrow:hover {
		transform: translateY(-50%);
	}

	.gallery-lightbox__zoom:hover {
		transform: none;
	}
}

/* ==========================
   LIGHTBOX THUMBNAILS
========================== */

.gallery-lightbox__thumbs {
	position: relative;
	z-index: 5;

	display: flex;
	justify-content: flex-start;
	justify-content: safe center;
	gap: var(--space-3);

	align-self: end;

	width: 100%;
	min-width: 0;
	max-width: calc(100vw - 32px);

	overflow-x: auto;
	overflow-y: hidden;

	padding-top: var(--space-4);
	padding-bottom: var(--space-1);

	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.gallery-lightbox__thumbs:empty {
	display: none;
}

.gallery-lightbox__thumbs::-webkit-scrollbar {
	display: none;
}

.gallery-lightbox__thumb {
	flex: 0 0 auto;

	width: clamp(62px, 12vw, 72px);
	height: clamp(46px, 9vw, 52px);

	padding: 0;

	overflow: hidden;

	border: 2px solid rgba(255, 255, 255, 0.58);
	border-radius: var(--wo05-control-radius);

	background: rgba(255, 255, 255, 0.12);

	cursor: pointer;

	opacity: 0.86;

	transition:
		opacity var(--wo05-motion-fast),
		border-color var(--wo05-motion-fast),
		transform var(--wo05-motion-fast);
}

.gallery-lightbox__thumb img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}

.gallery-lightbox__thumb.is-active {
	opacity: 1;
	border-color: rgba(255, 255, 255, 0.95);
}

@media (hover: hover) and (pointer: fine) {
	.gallery-lightbox__thumb:hover {
		opacity: 1;
		border-color: rgba(255, 255, 255, 0.95);
		transform: translateY(-1px);
	}
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width: 1100px) {
	.furniture-hero__wrapper {
		grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
		gap: var(--space-8);
	}

	.furniture-hero-gallery__image-wrap {
		height: clamp(360px, 45vw, 500px);
	}
}

@media (max-width: 991px) {
	.single-furniture {
		--single-furniture-header-offset: clamp(84px, 18vw, 116px);
	}
}

@media (max-width: 900px) {
	.furniture-hero__wrapper {
		grid-template-columns: 1fr;
		gap: var(--space-7);
	}

	.furniture-hero-gallery::before {
		inset: var(--space-4) 0 calc(var(--space-4) * -1) var(--space-4);
	}

	.furniture-hero-gallery__image-wrap {
		height: clamp(320px, 64vw, 520px);
	}

	.furniture-hero__image-placeholder {
		min-height: 320px;
	}

	.furniture-hero__content {
		max-width: 760px;
	}
}

@media (max-width: 768px) {
	.furniture-dimensions__grid {
		grid-template-columns: 1fr;
	}

	.furniture-hero__specs {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.single-furniture {
		--single-furniture-header-offset: 82px;
	}

	.furniture-hero {
		padding-block:
			calc(var(--section-spacing-sm) + var(--single-furniture-header-offset))
			var(--section-spacing-sm);
	}

	.furniture-hero-gallery::before {
		inset: var(--space-3) 0 calc(var(--space-3) * -1) var(--space-3);
	}

	.furniture-hero-gallery::after {
		top: var(--space-4);
		left: var(--space-4);
		width: 42%;
	}

	.furniture-hero-gallery__image-wrap {
		height: clamp(300px, 72vw, 420px);
	}

	.furniture-hero-gallery__thumbs {
		gap: var(--space-3);

		margin-top: var(--space-3);
		padding-inline: 0;
		padding-bottom: var(--space-2);
	}

	.furniture-hero-gallery__thumb {
		width: 76px;
		height: 58px;
	}

	.furniture-presentation,
	.furniture-dimensions,
	.furniture-inquiry {
		padding-block: var(--section-spacing-sm);
	}

	.furniture-hero__title {
		max-width: none;

		font-size: clamp(36px, 11vw, 44px);
		line-height: 1.06;
		letter-spacing: -0.018em;
	}

	.furniture-presentation__title,
	.manufacturer-consultation__title,
	.furniture-inquiry .section__title {
		font-size: clamp(28px, 8vw, 32px);
		line-height: 1.16;
	}

	.furniture-hero__description,
	.manufacturer-consultation__lead,
	.furniture-inquiry .section__intro {
		font-size: clamp(17px, 4.8vw, 18px);
		line-height: 1.62;
	}

	.furniture-hero__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-3);

		width: 100%;
	}

	.furniture-hero__action {
		width: 100%;
	}

	.furniture-inquiry__reassurance {
		padding: var(--space-4);
		border-radius: 10px;
	}

	.furniture-dimensions__card,
	.surface-panel.furniture-inquiry__panel {
		padding: var(--space-6);
	}
}

@media (max-width: 600px) {
	.gallery-lightbox {
		padding: 64px 16px 18px;
		row-gap: var(--space-3);

		backdrop-filter: none;
	}

	.gallery-lightbox__image-wrap {
		align-self: stretch;

		width: 100%;
		height: 100%;
		min-height: 0;
		max-height: none;
	}

	.gallery-lightbox__arrow {
		display: none;
	}

	.gallery-lightbox__zoom {
		right: 24px;
		bottom: 86px;
	}

	.gallery-lightbox[data-image-count="1"]
		.gallery-lightbox__zoom {
		bottom: 24px;
	}
}

/* ==========================
   ACCESSIBILITY / MOTION
========================== */

@media (prefers-reduced-motion: reduce) {
	.furniture-hero-gallery__thumbs,
	.gallery-lightbox__thumbs {
		scroll-behavior: auto;
	}

	.furniture-hero-gallery__image-button,
	.furniture-hero-gallery__image,
	.furniture-hero-gallery__thumb,
	.furniture-hero-gallery__thumb::after,
	.furniture-hero-gallery__thumb-image,
	.gallery-lightbox,
	.gallery-lightbox__image,
	.gallery-lightbox__close,
	.gallery-lightbox__arrow,
	.gallery-lightbox__zoom,
	.gallery-lightbox__thumb {
		transition: none;
	}

	.furniture-hero-gallery__image-button:hover,
	.furniture-hero-gallery__thumb:hover,
	.gallery-lightbox__close:hover,
	.gallery-lightbox__zoom:hover,
	.gallery-lightbox__thumb:hover {
		transform: none;
	}

	.gallery-lightbox__arrow:hover {
		transform: translateY(-50%);
	}

	.furniture-hero-gallery__image-button:hover .furniture-hero-gallery__image,
	.furniture-hero-gallery__thumb:hover .furniture-hero-gallery__thumb-image {
		filter: none;
	}
}

