/*
Theme Name: Woodsons Theme
Theme URI: https://woodsons.eu/
Author: Woodsons
Description: Bricksi child teema WooCommerce põhjal — visual layout Bricks paneelist, PHP hookid siin ja woodsons-core pluginas.
Template: bricks
Version: 0.3.6
Requires at least: 6.4
Requires PHP: 8.2
Text Domain: woodsons-theme
*/

/* ---- Design tokens — allikas: houses.woodsons.eu/configurator ---- */
:root {
	--ws-color-accent:       #8b7355;
	--ws-color-accent-dark:  #7a6448;
	--ws-color-accent-light: #a08875;
	--ws-color-ink:          #2c3e50;
	--ws-color-ink-muted:    #6c757d;
	--ws-color-surface:      #e0d0c6;
	--ws-color-surface-alt:  #e5dcc5;
	--ws-color-surface-warm: #f5f0e8;
	--ws-color-bg:           #ffffff;
	--ws-color-black:        #000000;

	--ws-font-body:    "Noto Sans", system-ui, sans-serif;
	--ws-font-heading: "Montserrat", var(--ws-font-body);

	--ws-container: 1280px;
	--ws-radius:    8px;
	--ws-focus-ring: 0 0 0 3px rgba(139, 115, 85, 0.4);
}

html {
	box-sizing: border-box;
}

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

body {
	margin: 0;
	font-family: var(--ws-font-body);
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--ws-color-ink);
	background: var(--ws-color-bg);
}

/* =========================================================
   HERO SLIDESHOW  [ws_hero]
   Ken Burns zoom + crossfade vahetus
   ========================================================= */

.ws-hero {
	position: relative;
	width: 100%;
	height: clamp(480px, 72svh, 680px);
	min-height: 0;
	overflow: hidden;
	background: #1a1510;
}

/* Tühi olek (admin näeb hoiatust) */
.ws-hero--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #2c2418;
	color: rgba(255,255,255,0.6);
	font-size: 1rem;
	padding: 2rem;
}

/* ---- Slides kontainer ---- */
.ws-hero__slides {
	position: absolute;
	inset: 0;
}

/* ---- Üksik slide ---- */
.ws-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.2s ease;
	will-change: opacity;
}

.ws-hero__slide.is-active {
	opacity: 1;
	z-index: 1;
}

.ws-hero__slide.is-leaving {
	opacity: 0;
	z-index: 0;
}

/* ---- Pilt Ken Burns zoom ---- */
.ws-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transform: scale(1);
	transform-origin: center center;
	will-change: transform;
}

.ws-hero__slide.is-active .ws-hero__img {
	animation: ws-ken-burns 8s ease-out forwards;
}

@keyframes ws-ken-burns {
	from { transform: scale(1);    }
	to   { transform: scale(1.08); }
}

/* ---- Gradient overlay — tugevam alt vasakus (teksti tsoon) ---- */
.ws-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background:
		linear-gradient(
			to top,
			rgba(0, 0, 0, 0.72) 0%,
			rgba(0, 0, 0, 0.28) 38%,
			transparent 62%
		),
		linear-gradient(
			105deg,
			rgba(0, 0, 0, 0.62) 0%,
			rgba(0, 0, 0, 0.12) 50%,
			rgba(0, 0, 0, 0.32) 100%
		);
	pointer-events: none;
}

/* ---- Sisu — allpool, vasakul ---- */
.ws-hero__content {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding: clamp(5rem, 10vh, 7rem) clamp(1.5rem, 6vw, 5rem) clamp(2.5rem, 5vh, 3.5rem);
	max-width: var(--ws-container);
	margin-inline: auto;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	box-sizing: border-box;
}

/* Kahetoon: pealkiri valge, alapealkiri soe hall-beige */
.ws-hero__title {
	margin: 0 0 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.25rem, 5.5vw, 4rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: #fff;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55), 0 4px 32px rgba(0, 0, 0, 0.35);
	max-width: 14em;
}

.ws-hero__subtitle {
	margin: 0 0 1.75rem;
	font-family: var(--ws-font-body);
	font-size: clamp(1.125rem, 2.5vw, 1.625rem);
	font-weight: 400;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.92);
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55), 0 2px 16px rgba(0, 0, 0, 0.35);
	max-width: 28em;
}

.ws-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 3.25rem;
	padding: 1rem 2.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--ws-color-accent);
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.ws-hero__btn:hover {
	background: transparent;
	border-color: #fff;
	color: #fff;
}

/* ---- Dot navigatsioon — peidetud (slaid vahetub automaatselt) ---- */
.ws-hero__dots {
	display: none;
}

.ws-hero__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: none;
	padding: 0;
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	transition: background 0.25s, transform 0.25s;
}

.ws-hero__dot.is-active {
	background: #fff;
	transform: scale(1.35);
}

.ws-hero__dot:hover:not(.is-active) {
	background: rgba(255, 255, 255, 0.7);
}

/* ---- Tablet / mobiil — lühem hero, kompaktsem sisu ---- */
@media (max-width: 960px) {
	.ws-hero {
		height: clamp(380px, 62svh, 480px);
	}

	.ws-hero__content {
		padding: 5.5rem clamp(1.25rem, 4vw, 2rem) 1.75rem;
	}

	.ws-hero__title {
		font-size: clamp(1.875rem, 5.5vw, 2.5rem);
		margin-bottom: 0.65rem;
	}

	.ws-hero__subtitle {
		font-size: clamp(1rem, 2.8vw, 1.25rem);
		margin-bottom: 1.25rem;
	}

	.ws-hero__btn {
		min-height: 2.875rem;
		padding: 0.75rem 1.85rem;
		font-size: 0.875rem;
	}

	.ws-hero__img {
		object-position: center 38%;
	}
}

@media (max-width: 560px) {
	.ws-hero {
		height: clamp(320px, 52svh, 400px);
	}

	.ws-hero__content {
		padding: 5rem 1.15rem 1.35rem;
	}

	.ws-hero__title {
		font-size: clamp(1.5rem, 7.2vw, 1.875rem);
		line-height: 1.15;
	}

	.ws-hero__subtitle {
		font-size: clamp(0.9375rem, 3.6vw, 1.0625rem);
		margin-bottom: 0.95rem;
		line-height: 1.35;
	}

	.ws-hero__btn {
		min-height: 2.625rem;
		padding: 0.6rem 1.35rem;
		font-size: 0.8125rem;
		letter-spacing: 0.06em;
	}

	.ws-hero__dots {
		bottom: 0.85rem;
		right: 1.15rem;
	}

	.ws-hero__dot {
		width: 7px;
		height: 7px;
	}
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
	.ws-hero__slide.is-active .ws-hero__img {
		animation: none;
	}
	.ws-hero__slide {
		transition: opacity 0.3s;
	}
}

/* =========================================================
   HERO BRICKS HEADERIS
   Hero algab viewport tipust; nav-rida katab hero peal.
   ========================================================= */

#brx-header:has(.ws-hero) {
	position: relative;
	padding: 0 !important;
	margin: 0;
	background: transparent !important;
}

/* Sticky header + hero: alati relative — hero scrollib lehega kaasa */
#brx-header.brx-sticky:has(.ws-hero) {
	position: relative !important;
	top: auto !important;
	transform: none !important;
}

#brx-header:has(.ws-hero) > .brxe-section {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	padding: 0 !important;
	margin: 0;
	width: 100%;
	max-width: none;
}

#brx-header:has(.ws-hero) > .brxe-section > .brxe-container {
	grid-area: 1 / 1;
	width: 100%;
	max-width: none;
}

/* Nav-rida hero peal */
#brx-header:has(.ws-hero) > .brxe-section > .brxe-container:not(:has(.ws-hero)) {
	z-index: 10;
	align-self: start;
	background: transparent !important;
}

/* Hero container — täislaius, ilma paddinguta */
#brx-header:has(.ws-hero) > .brxe-section > .brxe-container:has(.ws-hero) {
	z-index: 1;
	padding: 0 !important;
	margin: 0;
}

#brx-header:has(.ws-hero) .brxe-shortcode {
	display: contents;
}

/* Bricks sticky offset — hero võtab kogu kõrguse, content algab hero järel */
body:has(#brx-header .ws-hero) #brx-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.admin-bar #brx-header:has(.ws-hero) > .brxe-section > .brxe-container:not(:has(.ws-hero)) {
	padding-top: var(--wp-admin--admin-bar--height, 32px);
}

/* =========================================================
   CATEGORY GRID  [ws_category_grid]
   Esilehe 6 kategooriat — editorial overlay, 3×2, hero-ga sama keel
   ========================================================= */

.ws-cat-grid {
	background: #1a1510;
	font-size: 1.125rem;
}

.ws-cat-grid--empty {
	padding: 3rem;
	text-align: center;
	color: rgba(255, 255, 255, 0.5);
}

/* Sektsiooni pealkiri + alapealkiri */
.ws-cat-grid__header {
	padding: clamp(3rem, 6vw, 4.5rem) clamp(1.5rem, 5vw, 3rem) clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.ws-cat-grid__title {
	margin: 0 0 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: #fff;
}

.ws-cat-grid__subtitle {
	margin: 0 auto;
	max-width: 36em;
	font-size: clamp(1.4375rem, 2.6vw, 1.75rem);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.72);
}

/* 3×2 grid — seinast seina, minimaalne vahe */
.ws-cat-grid__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ws-cat-grid__item {
	margin: 0;
}

/* Kaart — pilt täidab, tekst overlay allosas */
.ws-cat-grid__card {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	text-decoration: none;
	color: #fff;
	background: #2c2418;
}

.ws-cat-grid__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 0.55s ease;
}

.ws-cat-grid__card:hover .ws-cat-grid__img {
	transform: scale(1.06);
}

.ws-cat-grid__placeholder {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2c2418 0%, #3d3020 100%);
}

/* Gradient overlay — sama stiil nagu hero */
.ws-cat-grid__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.82) 0%,
		rgba(0, 0, 0, 0.35) 45%,
		rgba(0, 0, 0, 0.08) 100%
	);
	transition: opacity 0.3s ease;
}

.ws-cat-grid__card:hover .ws-cat-grid__overlay {
	opacity: 0.85;
}

/* Tekst overlay allosas */
.ws-cat-grid__body {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: clamp(1.25rem, 3.5vw, 2rem) clamp(1.25rem, 3.5vw, 2rem) clamp(1.5rem, 3.5vw, 2.25rem);
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.ws-cat-grid__name {
	font-family: var(--ws-font-heading);
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: #fff;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
}

.ws-cat-grid__teaser {
	font-size: clamp(1.3125rem, 2vw, 1.5rem);
	line-height: 1.6;
	color: rgba(229, 220, 197, 0.92);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
	max-width: 32em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Focus ring */
.ws-cat-grid__card:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 3px rgba(139, 115, 85, 0.8);
}

/* Hover: kerge accent-highlight alumisele servale */
.ws-cat-grid__card::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--ws-color-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.ws-cat-grid__card:hover::after {
	transform: scaleX(1);
}

/* "Vaata kõiki" link */
.ws-cat-grid__footer {
	padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 5vw, 3rem);
	text-align: center;
}

.ws-cat-grid__link-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.5rem;
	padding: 1rem 2.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.125rem, 1.5vw, 1.3125rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.35);
	transition: background 0.2s, border-color 0.2s;
}

.ws-cat-grid__link-all:hover {
	background: var(--ws-color-accent);
	border-color: var(--ws-color-accent);
}

@media (max-width: 960px) {
	.ws-cat-grid__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.ws-cat-grid__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.ws-cat-grid__card {
		aspect-ratio: 3 / 2;
	}

	.ws-cat-grid__subtitle {
		font-size: 1.375rem;
	}

	.ws-cat-grid__name {
		font-size: 1.5625rem;
	}

	.ws-cat-grid__teaser {
		font-size: 1.25rem;
	}

	.ws-cat-grid__link-all {
		font-size: 1.125rem;
	}
}

/* Tooted leht — hero kasutab .ws-about-hero (vt Meist); grid allpool */
.ws-cat-grid--products .ws-cat-grid__header {
	padding-top: clamp(2.5rem, 5vw, 3.5rem);
}

@media (prefers-reduced-motion: reduce) {
	.ws-cat-grid__img,
	.ws-cat-grid__card::after {
		transition: none;
	}

	.ws-cat-grid__card:hover .ws-cat-grid__img {
		transform: none;
	}
}

/* Bricks shortcode wrapper ei tohi fonti vähendada */
#brx-content .ws-cat-grid .ws-cat-grid__subtitle {
	font-size: clamp(1.4375rem, 2.6vw, 1.75rem);
}

#brx-content .ws-cat-grid .ws-cat-grid__name {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
}

#brx-content .ws-cat-grid .ws-cat-grid__teaser {
	font-size: clamp(1.3125rem, 2vw, 1.5rem);
}

#brx-content .ws-cat-grid .ws-cat-grid__link-all {
	font-size: clamp(1.125rem, 1.5vw, 1.3125rem);
}

/* =========================================================
   SERVICES BANNER  [ws_services_banner]
   Sama kaardistiil nagu kategooriagrid, aga 2 veergu.
   ========================================================= */

.ws-services .ws-cat-grid__list,
.ws-services__list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 960px) {
	.ws-services .ws-cat-grid__list,
	.ws-services__list {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* =========================================================
   PORTFOLIO TEASER  [ws_portfolio_teaser]
   CPT ws_case — täislaius, overlay tekst (nagu kategooriagrid).
   ========================================================= */

.ws-portfolio {
	background: var(--ws-color-surface-warm);
	padding: clamp(5rem, 10vw, 8rem) 0;
	font-size: 1.125rem;
}

.ws-portfolio--empty {
	padding: 3rem clamp(1.5rem, 5vw, 3rem);
	text-align: center;
	color: var(--ws-color-ink-muted);
}

.ws-portfolio__inner {
	max-width: var(--ws-container);
	margin: 0 auto;
	padding: 0 clamp(1.5rem, 5vw, 3rem);
}

.ws-portfolio__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.ws-portfolio__label {
	margin: 0 0 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-accent);
}

.ws-portfolio__title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--ws-color-ink);
}

.ws-portfolio__link-all {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
	padding: 0.85rem 1.5rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.0625rem, 1.4vw, 1.1875rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	color: var(--ws-color-ink);
	border: 2px solid rgba(44, 62, 50, 0.2);
	transition: background 0.2s, border-color 0.2s, color 0.2s;
	white-space: nowrap;
}

.ws-portfolio__link-all:hover {
	background: var(--ws-color-accent);
	border-color: var(--ws-color-accent);
	color: #fff;
}

.ws-portfolio__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.85rem;
	flex-shrink: 0;
}

.ws-portfolio__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem;
	width: 100%;
}

.ws-portfolio__nav.is-hidden {
	display: none;
}

.ws-portfolio__nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(3.5rem, 5vw, 4.25rem);
	height: clamp(3.5rem, 5vw, 4.25rem);
	padding: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.375rem, 2vw, 1.75rem);
	font-weight: 700;
	line-height: 1;
	color: var(--ws-color-ink);
	background: transparent;
	border: 2px solid rgba(44, 62, 50, 0.2);
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s, opacity 0.2s;
}

.ws-portfolio__nav-btn:hover:not(:disabled) {
	background: var(--ws-color-accent);
	border-color: var(--ws-color-accent);
	color: #fff;
}

.ws-portfolio__nav-btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.ws-portfolio__nav-btn:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(139, 115, 85, 0.45);
}

/* Karussell — 2 kaarti desktopil, 1 mobiilis */
.ws-portfolio__slider {
	width: 100%;
}

.ws-portfolio__viewport {
	overflow: hidden;
	width: 100%;
}

.ws-portfolio__track {
	display: flex;
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
	will-change: transform;
}

.ws-portfolio__item {
	flex: 0 0 auto;
	min-width: 0;
	margin: 0;
}

/* Kaart — pilt + overlay tekst all */
.ws-portfolio-card {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	text-decoration: none;
	color: #fff;
	background: #2c2418;
}

.ws-portfolio-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 0.55s ease;
}

.ws-portfolio-card:hover .ws-portfolio-card__img {
	transform: scale(1.06);
}

.ws-portfolio-card__placeholder {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2c2418 0%, #3d3020 100%);
}

.ws-portfolio-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.88) 0%,
		rgba(0, 0, 0, 0.4) 45%,
		rgba(0, 0, 0, 0.08) 100%
	);
	transition: opacity 0.3s ease;
}

.ws-portfolio-card:hover .ws-portfolio-card__overlay {
	opacity: 0.92;
}

.ws-portfolio-card__body {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: clamp(1.5rem, 3.5vw, 2.5rem) clamp(1.5rem, 3.5vw, 2.5rem) clamp(1.75rem, 3.5vw, 2.75rem);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.ws-portfolio-card__cat {
	font-family: var(--ws-font-heading);
	font-size: clamp(0.8125rem, 1.1vw, 0.9375rem);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ws-color-surface-alt);
}

.ws-portfolio-card__name {
	font-family: var(--ws-font-heading);
	font-size: clamp(1.5625rem, 2.8vw, 2.25rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: #fff;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
}

.ws-portfolio-card__meta {
	font-size: clamp(1.125rem, 1.7vw, 1.3125rem);
	line-height: 1.5;
	color: rgba(229, 220, 197, 0.92);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
}

.ws-portfolio-card::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--ws-color-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.ws-portfolio-card:hover::after {
	transform: scaleX(1);
}

.ws-portfolio-card:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 3px rgba(139, 115, 85, 0.8);
}

@media (max-width: 960px) {
	.ws-portfolio__head {
		flex-direction: column;
		align-items: flex-start;
	}

	.ws-portfolio__actions {
		width: 100%;
		align-items: flex-start;
	}

	.ws-portfolio__nav {
		justify-content: flex-start;
	}
}

@media (max-width: 560px) {
	.ws-portfolio-card {
		aspect-ratio: 3 / 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ws-portfolio__track {
		transition: none !important;
	}

	.ws-portfolio-card__img,
	.ws-portfolio-card::after {
		transition: none;
	}

	.ws-portfolio-card:hover .ws-portfolio-card__img {
		transform: none;
	}
}

#brx-content .ws-portfolio .ws-portfolio__title {
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
}

#brx-content .ws-portfolio .ws-portfolio-card__name {
	font-size: clamp(1.5625rem, 2.8vw, 2.25rem);
}

#brx-content .ws-portfolio .ws-portfolio-card__meta {
	font-size: clamp(1.125rem, 1.7vw, 1.3125rem);
}

/* =========================================================
   SOCIAL PROOF  [ws_social_proof]
   Sertifikaadid ühes reas + suur testimoniaalide karussell.
   ========================================================= */

.ws-proof {
	background: var(--ws-color-surface-warm);
	padding: clamp(5rem, 10vw, 8rem) 0;
	font-size: 1.125rem;
}

.ws-proof--empty {
	padding: 3rem clamp(1.5rem, 5vw, 3rem);
	text-align: center;
	color: var(--ws-color-ink-muted);
}

.ws-proof__inner {
	max-width: var(--ws-container);
	margin: 0 auto;
	padding: 0 clamp(1.5rem, 5vw, 3rem);
}

.ws-proof__certs-bar {
	margin-bottom: clamp(3rem, 6vw, 4.5rem);
	padding-bottom: clamp(2rem, 4vw, 3rem);
	border-bottom: 1px solid rgba(44, 62, 50, 0.1);
}

.ws-proof__label {
	margin: 0 0 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-accent);
}

.ws-proof__label--certs {
	margin-bottom: 1rem;
}

.ws-proof__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.ws-proof__title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--ws-color-ink);
}

.ws-proof__nav {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	flex-shrink: 0;
}

.ws-proof__nav.is-hidden {
	display: none;
}

.ws-proof__nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(3.5rem, 5vw, 4.25rem);
	height: clamp(3.5rem, 5vw, 4.25rem);
	padding: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.375rem, 2vw, 1.75rem);
	font-weight: 700;
	line-height: 1;
	color: var(--ws-color-ink);
	background: #fff;
	border: 2px solid rgba(44, 62, 50, 0.15);
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s, opacity 0.2s;
}

.ws-proof__nav-btn:hover:not(:disabled) {
	background: var(--ws-color-accent);
	border-color: var(--ws-color-accent);
	color: #fff;
}

.ws-proof__nav-btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.ws-proof__nav-btn:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(139, 115, 85, 0.45);
}

/* Sertifikaadid — üks rida */
.ws-proof-certs-wrap {
	width: 100%;
}

.ws-proof-certs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.75rem, 2vw, 1.25rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ws-proof-certs__item {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 1.8vw, 1.25rem);
	min-height: 100%;
	padding: clamp(1.35rem, 2.5vw, 1.85rem) clamp(1.25rem, 2.5vw, 1.75rem);
	background: #fff;
	border: 1px solid rgba(44, 62, 50, 0.08);
}

.ws-proof-certs__icon {
	flex-shrink: 0;
	font-size: clamp(1.75rem, 2.8vw, 2.375rem);
	line-height: 1;
}

.ws-proof-certs__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.ws-proof-certs__name {
	font-family: var(--ws-font-heading);
	font-size: clamp(1.1875rem, 1.75vw, 1.4375rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--ws-color-ink);
}

.ws-proof-certs__sub {
	font-size: clamp(1.1875rem, 1.6vw, 1.375rem);
	line-height: 1.45;
	color: var(--ws-color-ink-muted);
}

/* Karussell */
.ws-proof__slider {
	width: 100%;
	padding: 0 clamp(1.5rem, 5vw, 3rem);
}

.ws-proof__viewport {
	overflow: hidden;
	width: 100%;
	max-width: var(--ws-container);
	margin: 0 auto;
}

.ws-proof__track {
	display: flex;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	will-change: transform;
}

.ws-proof__slide {
	flex: 0 0 auto;
	min-width: 0;
	margin: 0;
}

/* Suured testimoniaalikaardid */
.ws-proof-review {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	min-height: clamp(18rem, 32vw, 24rem);
	margin: 0;
	padding: clamp(1.75rem, 3.5vw, 2.75rem);
	background: #fff;
	border: 1px solid rgba(44, 62, 50, 0.08);
	border-top: 4px solid var(--ws-color-accent);
	box-shadow: 0 12px 40px rgba(26, 21, 16, 0.06);
}

.ws-proof-review__stars {
	display: flex;
	gap: 0.2rem;
	margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.ws-proof-review__star {
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	line-height: 1;
	color: rgba(44, 62, 50, 0.16);
}

.ws-proof-review__star.is-filled {
	color: var(--ws-color-accent);
}

.ws-proof-review__quote {
	flex: 1;
	margin: 0 0 clamp(1.5rem, 3vw, 2rem);
	font-size: clamp(1.3125rem, 2.2vw, 1.75rem);
	line-height: 1.65;
	font-style: italic;
	font-weight: 400;
	color: var(--ws-color-ink);
}

.ws-proof-review__author {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: auto;
}

.ws-proof-review__avatar,
.ws-proof-review__avatar-img {
	flex-shrink: 0;
	width: clamp(3.25rem, 4.5vw, 3.75rem);
	height: clamp(3.25rem, 4.5vw, 3.75rem);
	border-radius: 50%;
}

.ws-proof-review__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.4vw, 1.125rem);
	font-weight: 700;
	color: var(--ws-color-accent);
	background: rgba(139, 115, 85, 0.12);
}

.ws-proof-review__avatar-img {
	object-fit: cover;
	display: block;
}

.ws-proof-review__meta {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}

.ws-proof-review__name {
	font-family: var(--ws-font-heading);
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
	font-weight: 700;
	font-style: normal;
	color: var(--ws-color-ink);
}

.ws-proof-review__detail {
	font-size: clamp(1rem, 1.35vw, 1.1875rem);
	line-height: 1.45;
	color: var(--ws-color-ink-muted);
}

.ws-proof-review__source {
	font-size: clamp(0.8125rem, 1vw, 0.9375rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ws-color-accent);
}

.ws-proof-review__source a {
	color: inherit;
	text-decoration: none;
}

.ws-proof-review__source a:hover {
	text-decoration: underline;
}

@media (max-width: 960px) {
	.ws-proof__head {
		flex-direction: column;
		align-items: flex-start;
	}

	.ws-proof-certs {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 720px) {
	.ws-proof-certs {
		display: flex;
		overflow-x: auto;
		gap: 0.75rem;
		padding-bottom: 0;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.ws-proof-certs::-webkit-scrollbar {
		display: none;
	}

	.ws-proof-certs__item {
		flex: 0 0 min(85vw, 18rem);
		scroll-snap-align: start;
	}

	.ws-proof-certs__indicator {
		margin-top: 1.25rem;
		padding: 0 0.15rem;
	}

	.ws-proof-certs__indicator[hidden] {
		display: none;
	}

	.ws-proof-certs__indicator-track {
		position: relative;
		height: 4px;
		border-radius: 999px;
		background: rgba(44, 62, 50, 0.12);
		overflow: hidden;
	}

	.ws-proof-certs__indicator-thumb {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		border-radius: 999px;
		background: linear-gradient(90deg, var(--ws-color-accent) 0%, #a08968 100%);
		transition: transform 0.15s ease-out, width 0.15s ease-out;
		will-change: transform, width;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ws-proof__track {
		transition: none !important;
	}

	.ws-proof-certs__indicator-thumb {
		transition: none;
	}
}

#brx-content .ws-proof .ws-proof__title {
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
}

#brx-content .ws-proof .ws-proof-review__quote {
	font-size: clamp(1.3125rem, 2.2vw, 1.75rem);
}

#brx-content .ws-proof .ws-proof-review__name {
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
}

#brx-content .ws-proof .ws-proof-review__detail {
	font-size: clamp(1rem, 1.35vw, 1.1875rem);
}

#brx-content .ws-proof .ws-proof-certs__name {
	font-size: clamp(1.1875rem, 1.75vw, 1.4375rem);
}

#brx-content .ws-proof .ws-proof-certs__sub {
	font-size: clamp(1.1875rem, 1.6vw, 1.375rem);
}

/* =========================================================
   USP — "MIKS WOODSONS?"  [ws_usp]
   Split 2-veerg: vasak = suur pealkiri + lausung, parem = loetelu.
   Soe valge taust kontrasteerib eelnevate tumedate sektsioonidega.
   ========================================================= */

.ws-usp {
	background: var(--ws-color-surface-warm);
	padding: clamp(5rem, 10vw, 8rem) clamp(1.5rem, 5vw, 3rem);
	font-size: 1.125rem;
}

.ws-usp--empty {
	padding: 3rem;
	text-align: center;
	color: var(--ws-color-ink-muted);
	font-size: 1.0625rem;
}

/* ---- 2-veerg split wrapper ---- */
.ws-usp__inner {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: clamp(3rem, 7vw, 6rem);
	max-width: var(--ws-container);
	margin: 0 auto;
	align-items: start;
}

/* ---- Vasak veerg ---- */
.ws-usp__left {
	position: sticky;
	top: clamp(2rem, 5vh, 4rem);
}

/* Väike uppercase label */
.ws-usp__label {
	margin: 0 0 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-accent);
}

/* Suur pealkiri — jääb samaks */
.ws-usp__title {
	margin: 0 0 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--ws-color-ink);
}

/* Vasak veerg — brändi tekst (2 lõiku) */
.ws-usp__statement {
	margin: 0 0 2.25rem;
}

.ws-usp__statement p {
	margin: 0 0 1.5rem;
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
	line-height: 1.7;
	color: var(--ws-color-ink);
}

.ws-usp__statement p:last-child {
	margin-bottom: 0;
}

/* Dekoratiivne accent joon */
.ws-usp__accent-line {
	display: block;
	width: 40px;
	height: 2px;
	background: var(--ws-color-accent);
}

/* ---- Parem veerg: loetelu ---- */
.ws-usp__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Üksik rida */
.ws-usp__item {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 1.75rem;
	padding: clamp(2.25rem, 3.5vw, 3rem) 0;
	border-top: 1px solid rgba(44, 62, 50, 0.12);
	align-items: start;
}

.ws-usp__item:last-child {
	border-bottom: 1px solid rgba(44, 62, 50, 0.12);
}

/* Ikoon */
.ws-usp__icon-wrap {
	padding-top: 3px;
	flex-shrink: 0;
}

.ws-usp__icon-wrap svg {
	width: 42px;
	height: 42px;
	color: var(--ws-color-accent);
	display: block;
}

/* Item sisu */
.ws-usp__item-body {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

.ws-usp__item-title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.5625rem, 2.4vw, 1.875rem);
	font-weight: 700;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--ws-color-ink);
	line-height: 1.25;
}

.ws-usp__item-desc {
	margin: 0;
	font-size: clamp(1.1875rem, 1.8vw, 1.375rem);
	line-height: 1.7;
	color: var(--ws-color-ink);
	opacity: 0.85;
}

/* ---- Tablet: stack veerge ---- */
@media (max-width: 900px) {
	.ws-usp__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(2.5rem, 5vw, 3.5rem);
	}

	.ws-usp__left {
		position: static;
	}

	.ws-usp__title {
		font-size: clamp(2rem, 5vw, 3rem);
	}
}

/* ---- Mobiil ---- */
@media (max-width: 480px) {
	.ws-usp__item {
		grid-template-columns: 36px 1fr;
		gap: 1.25rem;
	}

	.ws-usp__icon-wrap svg {
		width: 32px;
		height: 32px;
	}

	.ws-usp__statement p {
		font-size: 1.3125rem;
	}

	.ws-usp__item-title {
		font-size: 1.4375rem;
	}

	.ws-usp__item-desc {
		font-size: 1.1875rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ws-usp__left {
		position: static;
	}
}

/* Bricks shortcode wrapper ei tohi fonti vähendada */
#brx-content .ws-usp .ws-usp__label {
	font-size: clamp(1rem, 1.3vw, 1.125rem);
}

#brx-content .ws-usp .ws-usp__statement p {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
}

#brx-content .ws-usp .ws-usp__item-title {
	font-size: clamp(1.5625rem, 2.4vw, 1.875rem);
}

#brx-content .ws-usp .ws-usp__item-desc {
	font-size: clamp(1.1875rem, 1.8vw, 1.375rem);
}

/* =========================================================
   PRIMARY NAV  [ws_primary_menu]
   Töötab üle hero-pildi (valge) ja pärast scrolli (tume).
   ========================================================= */

.ws-primary-nav {
	display: flex;
	align-items: center;
}

.ws-primary-nav__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.ws-primary-nav__list > li {
	position: relative;
}

/* Nähtamatu hover-sild — liikumine menüüst dropdowni ei kaota :hover */
.ws-primary-nav__list > li.menu-item-has-children::before {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 0.875rem;
	z-index: 1001;
}

/* Nav link */
.ws-primary-nav__list > li > a {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.75rem 1.5rem;
	font-family: var(--ws-font-heading);
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.92);
	transition: color 0.2s;
	position: relative;
}

/* Hover underline — ainult linkidel ilma alammenüüta */
.ws-primary-nav__list > li:not(.menu-item-has-children) > a::after {
	content: "";
	position: absolute;
	bottom: 0.3rem;
	left: 1.5rem;
	right: 1.5rem;
	height: 1px;
	background: var(--ws-color-accent-light);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}

.ws-primary-nav__list > li > a:hover,
.ws-primary-nav__list > li.current-menu-item > a,
.ws-primary-nav__list > li.current-menu-ancestor > a {
	color: #fff;
}

.ws-primary-nav__list > li:not(.menu-item-has-children) > a:hover::after,
.ws-primary-nav__list > li:not(.menu-item-has-children).current-menu-item > a::after {
	transform: scaleX(1);
}

/* Alammenüü nool (chevron) */
.ws-primary-nav__list li.menu-item-has-children > a::after {
	content: "";
	position: static;
	display: inline-block;
	width: 0.5625rem;
	height: 0.5625rem;
	margin-left: 0.5rem;
	border: none;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	background: none;
	left: auto;
	right: auto;
	bottom: auto;
	transform: rotate(45deg) translateY(-2px);
	transform-origin: center;
	transition: transform 0.2s ease;
	flex-shrink: 0;
	vertical-align: middle;
}

.ws-primary-nav__list li.menu-item-has-children:hover > a::after,
.ws-primary-nav__list li.menu-item-has-children:focus-within > a::after {
	transform: rotate(-135deg) translateY(2px);
}

/* Dropdown sub-menu */
.ws-primary-nav__list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	min-width: 20rem;
	margin: 0;
	padding: 0.5rem;
	list-style: none;
	background: rgba(28, 22, 16, 0.94);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--ws-radius);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.15s ease 0.12s, visibility 0.15s ease 0.12s;
}

.ws-primary-nav__list li.menu-item-has-children:hover > .sub-menu,
.ws-primary-nav__list li.menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.ws-primary-nav__list .sub-menu a {
	display: block;
	padding: 1rem 1.375rem;
	font-family: var(--ws-font-heading);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.88);
	border-radius: calc(var(--ws-radius) - 2px);
	transition: background 0.15s, color 0.15s;
}

.ws-primary-nav__list .sub-menu a:hover {
	background: rgba(139, 115, 85, 0.35);
	color: #fff;
}

#brx-header .ws-primary-nav__list .sub-menu a {
	font-size: 1.125rem;
}

/* ---- Scrolled state — Bricks lisab klassi #brx-header ---- */
#brx-header.ws-scrolled .ws-primary-nav__list > li > a {
	color: var(--ws-color-ink);
}

#brx-header.ws-scrolled .ws-primary-nav__list > li > a:hover,
#brx-header.ws-scrolled .ws-primary-nav__list > li.current-menu-item > a {
	color: var(--ws-color-accent);
}

/* =========================================================
   KEELE TOGGLE  [ws_lang_toggle]
   Kompaktne utility-nupp + tihe dropdown.
   ========================================================= */

.ws-lang-dropdown-wrap {
	position: relative;
	display: inline-flex;
}

.ws-lang-dropdown {
	position: relative;
	display: inline-flex;
	font-family: var(--ws-font-body);
	line-height: 1;
}

.ws-lang-dropdown__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-width: 4.75rem;
	min-height: 36px;
	padding: 0.25rem 0.65rem 0.25rem 0.55rem;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
	background: #1f1a16;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 6px;
	cursor: pointer;
	list-style: none;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

/* Hero päis: sama tume taust (ilma läbipaistvuse / blurita) */
#brx-header:not(.ws-scrolled) .ws-lang-dropdown__toggle {
	color: #fff;
	background: #1f1a16;
	border-color: rgba(255, 255, 255, 0.22);
}

.ws-lang-dropdown__toggle::-webkit-details-marker {
	display: none;
}

.ws-lang-dropdown__toggle::marker {
	content: "";
}

.ws-lang-dropdown__globe {
	width: 0.9rem;
	height: 0.9rem;
	opacity: 0.85;
	flex-shrink: 0;
}

.ws-lang-dropdown__flag {
	font-size: 1.2rem;
	line-height: 1;
	flex-shrink: 0;
}

.ws-lang-dropdown__code {
	line-height: 1;
}

.ws-lang-dropdown__toggle:hover {
	border-color: var(--ws-color-accent);
	color: var(--ws-color-accent);
}

#brx-header:not(.ws-scrolled) .ws-lang-dropdown__toggle:hover {
	background: #2a231c;
	border-color: var(--ws-color-accent-light);
	color: #fff;
}

.ws-lang-dropdown__toggle:focus-visible {
	outline: none;
	box-shadow: var(--ws-focus-ring);
}

.ws-lang-dropdown[open] .ws-lang-dropdown__toggle {
	border-color: var(--ws-color-accent);
	color: var(--ws-color-accent);
}

#brx-header:not(.ws-scrolled) .ws-lang-dropdown[open] .ws-lang-dropdown__toggle {
	background: #2a231c;
	border-color: var(--ws-color-accent-light);
	color: #fff;
}

.ws-lang-dropdown__chevron {
	width: 0.32rem;
	height: 0.32rem;
	margin-left: 0.1rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
	transition: transform 0.2s;
	flex-shrink: 0;
}

.ws-lang-dropdown[open] .ws-lang-dropdown__chevron {
	transform: rotate(-135deg) translateY(1px);
}

.ws-lang-dropdown__menu {
	position: absolute;
	top: calc(100% + 0.35rem);
	right: 0;
	z-index: 9999;
	width: max-content;
	min-width: 12rem;
	margin: 0;
	padding: 0.25rem;
	list-style: none;
	background: #1f1a16;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 6px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

.ws-lang-dropdown__menu > li {
	margin: 0;
	padding: 0;
}

.ws-lang-dropdown__link {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.35rem 0.55rem;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.2;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.9);
	border-radius: 4px;
	transition: background 0.15s, color 0.15s;
	white-space: nowrap;
}

.ws-lang-dropdown__link:hover {
	background: #2a231c;
	color: #fff;
}

.ws-lang-dropdown__link.is-current {
	background: #2a231c;
	color: #fff;
	font-weight: 600;
}

.ws-lang-dropdown__link-code {
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	min-width: 1.6rem;
	line-height: 1.2;
}

.ws-lang-dropdown__link .ws-lang-dropdown__label {
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1.2;
}

/* Scrolled — valge päis */
#brx-header.ws-scrolled .ws-lang-dropdown__toggle {
	color: var(--ws-color-ink);
	background: #fff;
	border-color: var(--ws-color-surface-alt);
}

#brx-header.ws-scrolled .ws-lang-dropdown__toggle:hover {
	border-color: var(--ws-color-accent);
	color: var(--ws-color-accent);
	background: transparent;
}

#brx-header.ws-scrolled .ws-lang-dropdown[open] .ws-lang-dropdown__toggle {
	border-color: var(--ws-color-accent);
	color: var(--ws-color-accent);
	background: transparent;
}

#brx-header.ws-scrolled .ws-lang-dropdown__menu {
	background: rgba(255, 255, 255, 0.92);
	border-color: var(--ws-color-surface-alt);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

#brx-header.ws-scrolled .ws-lang-dropdown__link {
	color: var(--ws-color-ink);
}

#brx-header.ws-scrolled .ws-lang-dropdown__link:hover {
	background: var(--ws-color-surface-warm);
	color: var(--ws-color-accent);
}

#brx-header.ws-scrolled .ws-lang-dropdown__link.is-current {
	background: rgba(139, 115, 85, 0.12);
	color: var(--ws-color-accent);
}

/* =========================================================
   CTA BÄNNER  [ws_cta]
   ========================================================= */

.ws-cta {
	position: relative;
	overflow: hidden;
	background: var(--ws-color-accent);
	padding: clamp(4.5rem, 9vw, 6.5rem) clamp(1.5rem, 5vw, 3rem);
	text-align: center;
	font-size: 1.125rem;
}

.ws-cta--has-image {
	background: #1a1510;
}

.ws-cta__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.ws-cta__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.ws-cta__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(
			105deg,
			rgba(0, 0, 0, 0.62) 0%,
			rgba(0, 0, 0, 0.42) 45%,
			rgba(0, 0, 0, 0.58) 100%
		);
	pointer-events: none;
}

.ws-cta--empty {
	color: rgba(255, 255, 255, 0.75);
}

.ws-cta__inner {
	position: relative;
	z-index: 2;
	max-width: 46rem;
	margin: 0 auto;
}

.ws-cta__title {
	margin: 0 0 1rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 5.5vw, 4rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: #fff;
}

.ws-cta--has-image .ws-cta__title {
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.ws-cta__subtitle {
	margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
	font-size: clamp(1.375rem, 2.5vw, 1.75rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
}

.ws-cta--has-image .ws-cta__subtitle {
	color: var(--ws-color-surface-alt);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}

.ws-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0.9rem 2.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.4vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--ws-color-accent);
	background: #fff;
	border: 2px solid #fff;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.ws-cta__btn:hover {
	background: transparent;
	color: #fff;
	border-color: #fff;
}

.ws-cta--has-image .ws-cta__btn {
	color: var(--ws-color-ink);
}

.ws-cta--has-image .ws-cta__btn:hover {
	color: #fff;
}

.ws-cta__btn:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.45);
}

#brx-content .ws-cta .ws-cta__title {
	font-size: clamp(2.5rem, 5.5vw, 4rem);
}

#brx-content .ws-cta .ws-cta__subtitle {
	font-size: clamp(1.375rem, 2.5vw, 1.75rem);
}

/* =========================================================
   CATALOG  [ws_catalog] + archive-product.php
   Hero = .ws-about-hero; kategooriariba; külgriba + grid.
   ========================================================= */

.ws-catalog {
	--catalog-gap: 1.25rem;
	--catalog-sidebar: min(320px, 30%);
	font-size: 1.125rem;
	background: var(--ws-color-bg);
}

/* Kataloogi hero — kõrgem kui Meist, mobiilil kompaktne */
.ws-catalog-hero.ws-about-hero {
	height: clamp(480px, 70vh, 720px);
}

@media (max-width: 768px) {
	.ws-catalog-hero.ws-about-hero {
		height: clamp(240px, 40svh, 320px);
	}
}

@media (max-width: 480px) {
	.ws-catalog-hero.ws-about-hero {
		height: clamp(200px, 35svh, 260px);
	}
}

/* --- Kategooriariba --- */

/* Ankrud — pärast kategooria/filtri vahetust jääb sticky headeri alla */
#ws-catalog-cats,
#ws-catalog-results {
	scroll-margin-top: calc(var(--brx-header-height, 5.5rem) + 1rem);
}

.admin-bar #ws-catalog-cats,
.admin-bar #ws-catalog-results {
	scroll-margin-top: calc(var(--brx-header-height, 5.5rem) + 1rem + 32px);
}

@media (max-width: 782px) {
	.admin-bar #ws-catalog-cats,
	.admin-bar #ws-catalog-results {
		scroll-margin-top: calc(var(--brx-header-height, 5.5rem) + 1rem + 46px);
	}
}

/* Välisümbris: noolte + riba paigutus */
.ws-catalog__cats-wrap {
	background: var(--ws-color-surface-warm);
	border-bottom: 1px solid rgba(0, 0, 0, .08);
	display: flex;
	align-items: stretch;
	position: relative;
	max-width: 100%;
}

/* Noolenupud — desktop: peidetud, mobiil: nähtav automaatselt JS kaudu */
.ws-catalog__cats-arrow {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.75rem;
	padding: 0;
	background: var(--ws-color-surface-warm);
	border: none;
	border-right: 1px solid rgba(0, 0, 0, .08);
	color: var(--ws-color-accent);
	cursor: pointer;
	transition: background .15s, color .15s;
	z-index: 2;
}

.ws-catalog__cats-arrow--next {
	border-right: none;
	border-left: 1px solid rgba(0, 0, 0, .08);
}

.ws-catalog__cats-arrow:hover {
	background: var(--ws-color-accent);
	color: #fff;
}

.ws-catalog__cats-arrow.is-visible {
	display: flex;
}

/* Riba ise */
.ws-catalog__cats-bar {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding-block: 1rem;
	padding-inline: clamp(1.25rem, 5vw, 4rem);
	flex: 1;
	min-width: 0;
	/* Desktop: mähib mitmele reale */
	flex-wrap: wrap;
	/* Kohandatud keritav scrollbar (pruun joon) */
	overflow-x: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--ws-color-accent) transparent;
}

.ws-catalog__cats-bar::-webkit-scrollbar {
	height: 3px;
}

.ws-catalog__cats-bar::-webkit-scrollbar-track {
	background: transparent;
}

.ws-catalog__cats-bar::-webkit-scrollbar-thumb {
	background: var(--ws-color-accent);
	border-radius: 0;
}

/* Mobiil: üks rida, keritav */
@media (max-width: 680px) {
	.ws-catalog__cats-bar {
		flex-wrap: nowrap;
		padding-inline: 1rem;
		scroll-behavior: smooth;
		scroll-snap-type: x proximity;
	}

	.ws-catalog__cats-wrap {
		padding-inline: 0;
	}
}

/* Nupud — sama skaala mis .ws-hero__btn / .ws-cat-grid__link-all */
.ws-catalog__cat-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-height: 3.25rem;
	padding: 1rem 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--ws-color-ink);
	background: transparent;
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	transition: background .15s, color .15s, border-color .15s;
	white-space: nowrap;
}

@media (max-width: 680px) {
	.ws-catalog__cat-btn {
		min-height: 2.75rem;
		padding: 0.75rem 1.25rem;
		font-size: 0.9375rem;
	}
}

.ws-catalog__cat-btn:hover,
.ws-catalog__cat-btn--active {
	background: var(--ws-color-accent);
	border-color: var(--ws-color-accent);
	color: #fff;
}

/* --- Põhiosa: külgriba + grid --- */

.ws-catalog__main {
	padding-block: clamp(2rem, 4vw, 3rem);
	max-width: var(--ws-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 5vw, 4rem);
}

.ws-catalog__layout {
	display: grid;
	grid-template-columns: var(--catalog-sidebar) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

@media (max-width: 960px) {
	.ws-catalog__layout {
		grid-template-columns: 1fr;
	}
}

/* Külgriba — atribuudid (min 1.5rem, Bricks override) */
.ws-catalog__sidebar {
	--ws-catalog-filter-font: 1.5rem;
	box-sizing: border-box;
	border: 2px solid rgba(139, 115, 85, 0.35);
	background: var(--ws-color-surface-warm);
	font-size: var(--ws-catalog-filter-font);
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

/* Mobiilis sidebar on ENNE gridi (order -1 = enne content-i) */
@media (max-width: 960px) {
	.ws-catalog__sidebar {
		order: -1;
	}

	.ws-catalog__content {
		order: 1;
	}
}

/* details/summary kokkuvolditav paneel */
.ws-catalog__sidebar-details {
	display: block;
}

.ws-catalog__sidebar-details[open] .ws-catalog__sidebar-arrow {
	transform: rotate(-135deg);
	margin-top: 0.25rem;
}

.ws-catalog__sidebar-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	list-style: none;
	padding: clamp(1.25rem, 2vw, 1.75rem) clamp(1.25rem, 2vw, 1.75rem) 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: max(1.5rem, clamp(1.1875rem, 1.6vw, 1.375rem));
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ws-color-ink);
	border-bottom: 2px solid var(--ws-color-accent);
	cursor: pointer;
	user-select: none;
}

.ws-catalog__sidebar-summary::-webkit-details-marker {
	display: none;
}

.ws-catalog__sidebar-summary::marker {
	content: "";
}

.ws-catalog__sidebar-arrow {
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid var(--ws-color-accent);
	border-bottom: 2px solid var(--ws-color-accent);
	transform: rotate(45deg);
	transition: transform 0.2s;
	flex-shrink: 0;
}

/* Desktop: paneel alati lahti + sticky kerimisel */
@media (min-width: 961px) {
	.ws-catalog__sidebar {
		position: sticky;
		top: calc(var(--brx-header-height, 5.5rem) + 1.25rem);
		align-self: start;
		max-height: calc(100vh - var(--brx-header-height, 5.5rem) - 2.5rem);
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.admin-bar .ws-catalog__sidebar {
		top: calc(var(--brx-header-height, 5.5rem) + 1.25rem + 32px);
		max-height: calc(100vh - var(--brx-header-height, 5.5rem) - 2.5rem - 32px);
	}

	.ws-catalog__sidebar-summary {
		cursor: default;
		pointer-events: none;
	}

	.ws-catalog__sidebar-details:not([open]) {
		/* Tee alati lahti desktopil */
	}

	.ws-catalog__sidebar-arrow {
		display: none;
	}
}

.ws-catalog__sidebar-body {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0.5rem 0 1.25rem;
}

.ws-catalog__sidebar-note {
	margin: 0;
	padding: 1rem 1.25rem 0;
	font-size: var(--ws-catalog-filter-font, 1.5rem);
	line-height: 1.5;
	color: var(--ws-color-ink-muted);
}

/* —— Filtri grupid: lihtne loend, ilma pesastatud kastideta —— */
.ws-catalog__filter-group {
	box-sizing: border-box;
	min-width: 0;
	padding: 1.25rem 1.25rem 0;
	border-top: 1px solid rgba(139, 115, 85, 0.2);
}

.ws-catalog__filter-group:first-child {
	border-top: none;
	padding-top: 0.75rem;
}

.ws-catalog__filter-group-title {
	margin: 0 0 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: var(--ws-catalog-filter-font, 1.5rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--ws-color-ink);
}

.ws-catalog__filter-hint {
	margin: -0.35rem 0 0.75rem;
	font-size: max(1.125rem, 0.85em);
	line-height: 1.4;
	color: var(--ws-color-ink-muted);
}

/* Mitme seeria valik — checkbox stiil */
.ws-catalog__filter-group--multi .ws-catalog__filter-option:not(.ws-catalog__filter-option--reset) {
	position: relative;
	padding-left: 2.75rem;
}

.ws-catalog__filter-group--multi .ws-catalog__filter-option:not(.ws-catalog__filter-option--reset)::before {
	content: '';
	position: absolute;
	left: 0.85rem;
	top: 50%;
	width: 1.125rem;
	height: 1.125rem;
	margin-top: -0.5625rem;
	border: 2px solid rgba(139, 115, 85, 0.45);
	background: var(--ws-color-bg);
	box-sizing: border-box;
	transition: background 120ms ease, border-color 120ms ease;
}

.ws-catalog__filter-group--multi .ws-catalog__filter-option--active:not(.ws-catalog__filter-option--reset)::before {
	border-color: var(--ws-color-accent);
	background: var(--ws-color-accent);
	box-shadow: inset 0 0 0 2px var(--ws-color-bg);
}

.ws-catalog__filter-group--multi .ws-catalog__filter-option--active:not(.ws-catalog__filter-option--reset) {
	border-left-color: var(--ws-color-accent);
}

.ws-catalog__filter-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ws-catalog__filter-item {
	margin: 0;
}

.ws-catalog__filter-option {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0.7rem 0.75rem 0.7rem 0.85rem;
	font-family: var(--ws-font-body);
	font-size: var(--ws-catalog-filter-font, 1.5rem);
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
	color: var(--ws-color-ink);
	background: transparent;
	border: none;
	border-left: 3px solid transparent;
	border-radius: 0;
	overflow-wrap: break-word;
	word-break: break-word;
	transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

/* Hind — kahe käepidemega slider */
.ws-catalog__price-range {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ws-catalog__price-slider {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding-top: 0.25rem;
}

.ws-catalog__price-slider-track {
	position: relative;
	height: 2.75rem;
}

.ws-catalog__price-slider-rail,
.ws-catalog__price-slider-fill {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: 4px;
	border-radius: 999px;
}

.ws-catalog__price-slider-rail {
	left: 0;
	right: 0;
	background: rgba(44, 62, 50, 0.14);
}

.ws-catalog__price-slider-fill {
	left: 0;
	right: 0;
	background: var(--ws-color-accent);
}

.ws-catalog__price-range-input {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	background: none;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}

.ws-catalog__price-range-input::-webkit-slider-runnable-track {
	height: 4px;
	background: transparent;
	border: 0;
}

.ws-catalog__price-range-input::-moz-range-track {
	height: 4px;
	background: transparent;
	border: 0;
}

.ws-catalog__price-range-input::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 1.375rem;
	height: 1.375rem;
	margin-top: -0.5625rem;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--ws-color-accent);
	box-shadow: 0 1px 4px rgba(44, 62, 50, 0.22);
	cursor: pointer;
	pointer-events: all;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.ws-catalog__price-range-input::-moz-range-thumb {
	width: 1.375rem;
	height: 1.375rem;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--ws-color-accent);
	box-shadow: 0 1px 4px rgba(44, 62, 50, 0.22);
	cursor: pointer;
	pointer-events: all;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.ws-catalog__price-range-input:active::-webkit-slider-thumb,
.ws-catalog__price-range-input:active::-moz-range-thumb {
	transform: scale(1.08);
}

.ws-catalog__price-range-input:focus {
	outline: none;
}

.ws-catalog__price-range-input:focus-visible::-webkit-slider-thumb,
.ws-catalog__price-range-input:focus-visible::-moz-range-thumb {
	box-shadow: 0 0 0 3px rgba(139, 94, 60, 0.28);
}

.ws-catalog__price-slider-values {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.ws-catalog__price-slider-value {
	font-family: var(--ws-font-heading);
	font-size: 1.125rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--ws-color-ink);
}

.ws-catalog__price-actions {
	padding-top: 0.25rem;
}

.ws-catalog__price-clear {
	font-size: 1rem;
	font-weight: 600;
	color: var(--ws-color-ink-muted);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.ws-catalog__price-clear:hover {
	color: var(--ws-color-accent-dark);
}

.ws-catalog__filter-option--reset {
	color: var(--ws-color-ink-muted);
}

.ws-catalog__filter-option:hover {
	color: var(--ws-color-accent-dark);
	background: rgba(139, 115, 85, 0.08);
	border-left-color: rgba(139, 115, 85, 0.35);
}

.ws-catalog__filter-option--active {
	font-weight: 700;
	color: var(--ws-color-accent-dark);
	background: rgba(139, 115, 85, 0.14);
	border-left-color: var(--ws-color-accent);
}

.ws-catalog__filter-option--active.ws-catalog__filter-option--reset {
	color: var(--ws-color-ink);
}

/* AJAX laadimine — filtrid / sort / pagination */
.ws-catalog__content.is-loading {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 150ms ease;
}

/* Sort + tulemused */
.ws-catalog__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
}

@media (max-width: 680px) {
	.ws-catalog__toolbar {
		gap: 0.5rem;
	}
}

.ws-catalog__results-count {
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--ws-color-ink);
}

.ws-catalog__sort {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

@media (max-width: 680px) {
	.ws-catalog__sort {
		gap: 0.4rem;
	}
}

.ws-catalog__sort-label {
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ws-color-ink);
	white-space: nowrap;
}

/* --- Kohandatud sort dropdown (details/summary) --- */

.ws-catalog__sort-dd {
	position: relative;
}

.ws-catalog__sort-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 13rem;
	min-height: 3.25rem;
	padding: 0.75rem 1rem 0.75rem 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--ws-color-ink);
	background: #fff;
	border: 2px solid var(--ws-color-accent);
	cursor: pointer;
	list-style: none;
	user-select: none;
	transition: border-color 0.15s, background 0.15s;
}

.ws-catalog__sort-toggle::-webkit-details-marker {
	display: none;
}

.ws-catalog__sort-toggle::marker {
	content: "";
}

.ws-catalog__sort-toggle:hover {
	border-color: var(--ws-color-accent-dark);
}

.ws-catalog__sort-dd[open] .ws-catalog__sort-toggle {
	border-color: var(--ws-color-accent-dark);
	background: var(--ws-color-surface-warm);
}

.ws-catalog__sort-value {
	flex: 1;
	line-height: 1.3;
}

.ws-catalog__sort-chevron {
	flex-shrink: 0;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid var(--ws-color-accent);
	border-bottom: 2px solid var(--ws-color-accent);
	transform: rotate(45deg) translateY(-1px);
	transition: transform 0.2s;
}

.ws-catalog__sort-dd[open] .ws-catalog__sort-chevron {
	transform: rotate(-135deg) translateY(-1px);
}

/* Rippmenüü nimekiri */
.ws-catalog__sort-menu {
	position: absolute;
	top: calc(100% + 4px);
	right: 0;
	z-index: 500;
	min-width: 100%;
	width: max-content;
	margin: 0;
	padding: 0.375rem 0;
	list-style: none;
	background: #fff;
	border: 2px solid var(--ws-color-accent);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.ws-catalog__sort-option {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 500;
	color: var(--ws-color-ink);
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.12s, color 0.12s;
}

.ws-catalog__sort-option:hover {
	background: var(--ws-color-surface-warm);
	color: var(--ws-color-accent-dark);
}

.ws-catalog__sort-option--active {
	font-weight: 700;
	color: var(--ws-color-accent-dark);
	background: var(--ws-color-surface-warm);
}

.ws-catalog__sort-check {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	width: 1rem;
	color: var(--ws-color-accent);
}

@media (max-width: 680px) {
	.ws-catalog__sort-toggle {
		min-width: 0;
		min-height: 2.75rem;
		padding: 0.6rem 0.75rem 0.6rem 1rem;
		font-size: 0.9375rem;
	}

	.ws-catalog__sort-menu {
		right: 0;
		left: auto;
	}
}

/* --- Tootegrid (väiksemad kaardid) --- */

.ws-catalog__empty {
	padding: 3rem 1rem;
	text-align: center;
	color: var(--ws-color-ink-muted);
	font-size: 1.0625rem;
}

.ws-catalog__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--catalog-gap);
}

@media (max-width: 1100px) {
	.ws-catalog__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.ws-catalog__grid {
		grid-template-columns: 1fr;
	}
}

.ws-catalog__grid-item {
	display: flex;
	min-width: 0;
}

/* --- Tootekaart --- */

.ws-product-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 0;
	overflow: hidden;
	transition: box-shadow .2s;
}

.ws-product-card:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
}

.ws-product-card__link {
	display: block;
	text-decoration: none;
}

.ws-product-card__image-wrap {
	aspect-ratio: 5 / 4;
	overflow: hidden;
	background: var(--ws-color-surface-warm);
}

.ws-product-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.ws-product-card__img-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--ws-color-surface);
}

.ws-product-card__body {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	flex: 1;
	padding: 1rem 1.1rem 1.15rem;
}

.ws-product-card__category {
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ws-color-accent);
}

.ws-product-card__name {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.0625rem, 1.35vw, 1.25rem);
	font-weight: 700;
	line-height: 1.35;
}

.ws-product-card__name-link {
	color: var(--ws-color-ink);
	text-decoration: none;
}

.ws-product-card__name-link:hover {
	color: var(--ws-color-accent);
}

.ws-product-card__price {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--ws-color-ink);
}

.ws-product-card__price .amount {
	font-variant-numeric: tabular-nums;
}

.ws-product-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	align-self: flex-start;
	min-height: 2.75rem;
	padding: .65rem 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ws-color-accent-dark);
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	text-decoration: none;
	transition: background .15s, color .15s;
}

.ws-product-card__cta:hover {
	background: var(--ws-color-accent);
	border-color: var(--ws-color-accent);
	color: #fff;
}

/* --- Pagination --- */

.ws-catalog__pagination {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(0, 0, 0, .08);
}

.ws-catalog__pagination-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	flex-wrap: wrap;
}

.ws-catalog__pag-pages {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: .25rem;
}

.ws-catalog__pag-page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 .35rem;
	border-radius: 0;
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--ws-color-ink);
	text-decoration: none;
	border: 2px solid transparent;
	transition: background .15s, border-color .15s;
}

.ws-catalog__pag-page:hover {
	background: var(--ws-color-surface-warm);
	border-color: var(--ws-color-accent);
}

.ws-catalog__pag-page--active {
	background: var(--ws-color-accent);
	color: #fff;
	border-color: var(--ws-color-accent);
	pointer-events: none;
}

.ws-catalog__pag-btn {
	padding: .65rem 1.25rem;
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--ws-color-ink);
	text-decoration: none;
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	transition: background .15s, color .15s;
}

.ws-catalog__pag-btn:hover {
	background: var(--ws-color-accent);
	color: #fff;
}

/* Bricks shortcode — säilita loetav font (vt .ws-cat-grid) */
#brx-content .ws-catalog {
	font-size: 1.125rem;
}

#brx-content .ws-catalog .ws-catalog__cat-btn {
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
}

#brx-content .ws-catalog .ws-catalog__sidebar-heading {
	font-size: max(1.5rem, clamp(1.125rem, 1.5vw, 1.3125rem));
}

#brx-content .ws-catalog .ws-catalog__sidebar-summary {
	font-size: max(1.5rem, clamp(1.1875rem, 1.6vw, 1.375rem));
}

#brx-content .ws-catalog .ws-catalog__sidebar-note,
#brx-content .ws-catalog .ws-catalog__filter-group-title,
#brx-content .ws-catalog .ws-catalog__filter-option {
	font-size: 1.5rem;
	line-height: 1.35;
}

#brx-content .ws-catalog .ws-catalog__results-count {
	font-size: 1.0625rem;
}

#brx-content .ws-catalog .ws-catalog__sort-label {
	font-size: clamp(1rem, 1.3vw, 1.125rem);
}

#brx-content .ws-catalog .ws-catalog__sort-toggle,
#brx-content .ws-catalog .ws-catalog__sort-option {
	font-size: clamp(1rem, 1.3vw, 1.125rem);
}

#brx-content .ws-catalog .ws-product-card__name {
	font-size: clamp(1.0625rem, 1.35vw, 1.25rem);
}

#brx-content .ws-catalog .ws-product-card__price {
	font-size: 1.0625rem;
}

#brx-content .ws-catalog .ws-product-card__cta {
	font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
}

#brx-content .ws-catalog .ws-catalog__pag-page,
#brx-content .ws-catalog .ws-catalog__pag-btn {
	font-size: 1.0625rem;
}

/* =========================================================
   FOOTER  [ws_footer]
   ========================================================= */

.ws-footer {
	background: #111;
	color: rgba(255, 255, 255, 0.55);
	padding: clamp(4rem, 8vw, 5.5rem) 0 clamp(2rem, 4vw, 2.75rem);
	font-size: 1.1875rem;
}

.ws-footer__inner {
	max-width: var(--ws-container);
	margin: 0 auto;
	padding: 0 clamp(1.5rem, 5vw, 3rem);
}

.ws-footer__top {
	display: grid;
	grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr));
	gap: clamp(2rem, 5vw, 3.5rem);
	margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.ws-footer__logo {
	margin: 0 0 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
}

.ws-footer__logo-accent {
	color: var(--ws-color-accent);
}

.ws-footer__desc {
	margin: 0;
	max-width: 24rem;
	font-size: clamp(1.1875rem, 1.65vw, 1.4375rem);
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.48);
}

.ws-footer__heading {
	margin: 0 0 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.0625rem, 1.35vw, 1.1875rem);
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.42);
}

.ws-footer__links,
.ws-footer__socials,
.ws-footer__legal {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ws-footer__links a,
.ws-footer__socials a,
.ws-footer__legal a {
	display: inline-block;
	font-size: clamp(1.1875rem, 1.6vw, 1.375rem);
	line-height: 1.45;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.62);
	transition: color 0.2s;
}

.ws-footer__links li + li,
.ws-footer__socials li + li {
	margin-top: 0.8rem;
}

.ws-footer__links a:hover,
.ws-footer__socials a:hover,
.ws-footer__legal a:hover {
	color: #fff;
}

.ws-footer__text {
	font-size: clamp(1.1875rem, 1.6vw, 1.375rem);
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.62);
}

.ws-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1.25rem;
	margin-top: 1.25rem;
}

.ws-footer__socials li + li {
	margin-top: 0;
}

.ws-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ws-footer__copy {
	margin: 0;
	font-size: clamp(1.0625rem, 1.35vw, 1.1875rem);
	color: rgba(255, 255, 255, 0.38);
}

.ws-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
}

.ws-footer__legal a {
	font-size: clamp(1.0625rem, 1.35vw, 1.1875rem);
	color: rgba(255, 255, 255, 0.42);
}

@media (max-width: 960px) {
	.ws-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ws-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 560px) {
	.ws-footer__top {
		grid-template-columns: minmax(0, 1fr);
	}

	.ws-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}

#brx-content .ws-footer .ws-footer__logo {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
}

#brx-content .ws-footer .ws-footer__desc {
	font-size: clamp(1.1875rem, 1.65vw, 1.4375rem);
}

#brx-content .ws-footer .ws-footer__heading {
	font-size: clamp(1.0625rem, 1.35vw, 1.1875rem);
}

#brx-content .ws-footer .ws-footer__links a,
#brx-content .ws-footer .ws-footer__socials a,
#brx-content .ws-footer .ws-footer__text {
	font-size: clamp(1.1875rem, 1.6vw, 1.375rem);
}

/* =========================================================
   MEIST LEHT  [ws_page_about]
   ========================================================= */

/* ---- Shared: sektsiooni sisemine kontainer ---- */
.ws-about-hero__content,
.ws-about-story__inner,
.ws-about-workshop__inner,
.ws-about-cta__inner {
	max-width: var(--ws-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 5vw, 4rem);
}

/* ---- Shared: sektsiooni pealkiri (töökoda — tumeda ploki pealkiri) ---- */
.ws-about-workshop__heading {
	margin: 0 0 clamp(2.5rem, 4vw, 3.5rem);
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--ws-color-ink);
	text-align: center;
}

/* =========================================================
   MEIST HERO  .ws-about-hero
   ========================================================= */

.ws-about-hero {
	position: relative;
	width: 100%;
	height: clamp(420px, 65vh, 640px);
	overflow: hidden;
	background: #1a1510;
}

.ws-about-hero--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #2c2418;
	color: rgba(255,255,255,0.6);
	font-size: 1rem;
	padding: 2rem;
}

.ws-about-hero__bg {
	position: absolute;
	inset: 0;
}

.ws-about-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
	display: block;
}

.ws-about-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		105deg,
		rgba(0,0,0,0.60) 0%,
		rgba(0,0,0,0.22) 50%,
		rgba(0,0,0,0.40) 100%
	);
	pointer-events: none;
}

.ws-about-hero__content {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding-block: clamp(3rem, 7vh, 5rem);
}

.ws-about-hero__eyebrow {
	margin: 0 0 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-accent-light);
}

.ws-about-hero__title {
	margin: 0 0 1rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: #fff;
	text-shadow: 0 2px 24px rgba(0,0,0,0.35);
	max-width: 16em;
}

.ws-about-hero__subtitle {
	margin: 0;
	font-family: var(--ws-font-body);
	font-size: clamp(1.25rem, 2.8vw, 1.875rem);
	font-weight: 400;
	line-height: 1.45;
	color: var(--ws-color-surface-alt);
	text-shadow: 0 1px 12px rgba(0,0,0,0.4);
	max-width: 30em;
}

@media (max-width: 768px) {
	.ws-about-hero {
		height: clamp(320px, 55svh, 420px);
	}

	.ws-about-hero__content {
		justify-content: flex-end;
		padding-block: 2rem;
	}

	.ws-about-hero__title {
		font-size: clamp(1.875rem, 5.5vw, 2.5rem);
	}

	.ws-about-hero__subtitle {
		font-size: clamp(1rem, 2.8vw, 1.25rem);
	}
}

/* =========================================================
   MEIE LUGU  .ws-about-story
   ========================================================= */

.ws-about-story {
	padding-block: clamp(4rem, 7vw, 7rem);
	background: var(--ws-color-bg);
}

.ws-about-story__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2.5rem, 5vw, 5rem);
}

.ws-about-story--has-image .ws-about-story__inner {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
}

.ws-about-story__text-col {
	display: flex;
	flex-direction: column;
}

.ws-about-story__label {
	margin: 0 0 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-accent);
}

.ws-about-story__heading {
	margin: 0 0 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--ws-color-ink);
}

.ws-about-story__body {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
	line-height: 1.7;
	color: var(--ws-color-ink);
}

.ws-about-story__body p {
	margin: 0 0 1.5rem;
}

.ws-about-story__body p:last-child {
	margin-bottom: 0;
}

.ws-about-story__founded {
	display: flex;
	align-items: baseline;
	gap: 0.625rem;
	margin-top: 2.25rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(44, 62, 50, 0.1);
}

.ws-about-story__founded-year {
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	color: var(--ws-color-accent);
	line-height: 1;
}

.ws-about-story__founded-label {
	font-size: clamp(0.875rem, 1.2vw, 1rem);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ws-color-ink-muted);
}

/* Pildiveerg */
.ws-about-story__img-col {
	position: relative;
}

.ws-about-story__img-wrap {
	position: relative;
	border-radius: var(--ws-radius);
	overflow: hidden;
	aspect-ratio: 4 / 5;
}

.ws-about-story__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Dekoratiivne raam pildil */
.ws-about-story__img-wrap::after {
	content: '';
	position: absolute;
	inset: 1rem -1rem -1rem 1rem;
	border: 2px solid var(--ws-color-accent);
	border-radius: var(--ws-radius);
	z-index: -1;
	pointer-events: none;
}

@media (max-width: 900px) {
	.ws-about-story--has-image .ws-about-story__inner {
		grid-template-columns: 1fr;
	}

	.ws-about-story__img-col {
		order: -1;
	}

	.ws-about-story__img-wrap {
		aspect-ratio: 16 / 9;
	}

	.ws-about-story__img-wrap::after {
		display: none;
	}
}

/* =========================================================
   MEIE TOOTED  .ws-about-products
   Sama tumeda teenuste stiil — ws-cat-grid + ws-services.
   ========================================================= */

.ws-about-products.ws-cat-grid {
	background: #1a1510;
	font-size: 1.125rem;
}

/* Overlay nupp kaardil — viib alalehele */
.ws-about-products .ws-cat-grid__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	margin-top: 0.75rem;
	min-height: 2.75rem;
	padding: 0.65rem 1.5rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--ws-color-accent);
	border: 2px solid var(--ws-color-accent);
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.ws-about-products .ws-cat-grid__card:hover .ws-cat-grid__cta {
	background: transparent;
	border-color: #fff;
	color: #fff;
}

#brx-content .ws-about-products .ws-cat-grid__cta {
	font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
}

/* =========================================================
   TÖÖKODA GALERII  .ws-about-workshop
   Dark äärest-ääreni grid — sama premium stiil mis esilehe kategooriad.
   ========================================================= */

.ws-about-workshop {
	background: #1a1510;
	font-size: 1.125rem;
}

/* Sektsiooni pealkiri (valgel taustal dark bg peal) */
.ws-about-workshop__header {
	padding: clamp(3rem, 6vw, 4.5rem) clamp(1.5rem, 5vw, 3rem) clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.ws-about-workshop__title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: #fff;
}

/* 3×N grid — äärest ääreni, minimaalne vahe (3px nagu esilehel) */
.ws-about-workshop__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ws-about-workshop__item {
	margin: 0;
}

/* Nupp = kaart */
.ws-about-workshop__btn {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	padding: 0;
	border: none;
	background: #2c2418;
	cursor: pointer;
}

.ws-about-workshop__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 0.55s ease;
}

.ws-about-workshop__btn:hover .ws-about-workshop__img,
.ws-about-workshop__btn:focus-visible .ws-about-workshop__img {
	transform: scale(1.06);
}

/* Hover overlay — sama gradient nagu kategoorias */
.ws-about-workshop__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.55) 0%,
		rgba(0, 0, 0, 0.10) 50%,
		rgba(0, 0, 0, 0.00) 100%
	);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.ws-about-workshop__btn:hover .ws-about-workshop__overlay {
	opacity: 1;
}

/* Accent viirg allservas hoveril */
.ws-about-workshop__btn::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--ws-color-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.ws-about-workshop__btn:hover::after {
	transform: scaleX(1);
}

.ws-about-workshop__btn:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 3px rgba(139, 115, 85, 0.8);
}

/* Lightbox */
.ws-about-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9000;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	padding: 0;
	border: none;
	background: rgba(0, 0, 0, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ws-about-lightbox:not([open]) {
	display: none;
}

.ws-about-lightbox::backdrop {
	background: rgba(0, 0, 0, 0.92);
}

.ws-about-lightbox__img-wrap {
	max-width: min(90vw, 1200px);
	max-height: 85vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ws-about-lightbox__img {
	max-width: 100%;
	max-height: 85vh;
	object-fit: contain;
	display: block;
	border-radius: var(--ws-radius);
}

.ws-about-lightbox__close {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s;
}

.ws-about-lightbox__close:hover {
	background: rgba(255,255,255,0.22);
}

.ws-about-lightbox__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s;
}

.ws-about-lightbox__nav:hover {
	background: rgba(255,255,255,0.2);
}

.ws-about-lightbox__nav--prev { left: 1.25rem; }
.ws-about-lightbox__nav--next { right: 1.25rem; }

.ws-about-lightbox__counter {
	position: absolute;
	bottom: 1.25rem;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.875rem;
	color: rgba(255,255,255,0.6);
	letter-spacing: 0.08em;
}

@media (max-width: 960px) {
	.ws-about-workshop__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.ws-about-workshop__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ws-about-workshop__btn {
		aspect-ratio: 3 / 2;
	}

	.ws-about-lightbox__nav {
		width: 40px;
		height: 40px;
	}

	.ws-about-lightbox__nav--prev { left: 0.5rem; }
	.ws-about-lightbox__nav--next { right: 0.5rem; }
}

@media (prefers-reduced-motion: reduce) {
	.ws-about-workshop__img,
	.ws-about-workshop__btn::after {
		transition: none;
	}

	.ws-about-workshop__btn:hover .ws-about-workshop__img {
		transform: none;
	}
}

/* ---- Empty states (admin) ---- */
.ws-about-story--empty,
.ws-about-products--empty,
.ws-about-workshop--empty,
.ws-about-cta--empty {
	padding: 1.5rem;
	background: #fff8e1;
	border: 1px dashed #f0b429;
	border-radius: var(--ws-radius);
	color: #6b4c00;
	font-size: 1.0625rem;
}

/* Bricks shortcode wrapper ei tohi Meist lehe fonti vähendada */
#brx-content .ws-about-hero .ws-about-hero__title {
	font-size: clamp(2.5rem, 6vw, 4.5rem);
}

#brx-content .ws-about-hero .ws-about-hero__subtitle {
	font-size: clamp(1.25rem, 2.8vw, 1.875rem);
}

#brx-content .ws-about-story .ws-about-story__heading {
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
}

#brx-content .ws-about-story .ws-about-story__body,
#brx-content .ws-about-story .ws-about-story__body p {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
}

#brx-content .ws-about-workshop .ws-about-workshop__heading {
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
}

#brx-content .ws-about-products .ws-cat-grid__title {
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
}

#brx-content .ws-about-products .ws-cat-grid__name {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
}

#brx-content .ws-about-products .ws-cat-grid__teaser {
	font-size: clamp(1.3125rem, 2vw, 1.5rem);
}

#brx-content .ws-about-cta .ws-about-cta__title {
	font-size: clamp(2.5rem, 5.5vw, 4rem);
}

#brx-content .ws-about-cta .ws-about-cta__subtitle {
	font-size: clamp(1.375rem, 2.5vw, 1.75rem);
}

/* Väärtused kasutab ws-usp stiile — Bricks override on juba olemas */
#brx-content .ws-about-values .ws-usp__title {
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
}

#brx-content .ws-about-values .ws-usp__statement p {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
}

#brx-content .ws-about-values .ws-usp__item-title {
	font-size: clamp(1.5625rem, 2.4vw, 1.875rem);
}

#brx-content .ws-about-values .ws-usp__item-desc {
	font-size: clamp(1.1875rem, 1.8vw, 1.375rem);
}

.ws-about-cta {
	position: relative;
	padding-block: clamp(4.5rem, 8vw, 7rem);
	background: var(--ws-color-ink);
	overflow: hidden;
}

.ws-about-cta__bg {
	position: absolute;
	inset: 0;
}

.ws-about-cta__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.ws-about-cta__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.60);
	pointer-events: none;
}

.ws-about-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1.5rem;
}

.ws-about-cta__title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 5.5vw, 4rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: #fff;
}

.ws-about-cta__subtitle {
	margin: 0;
	font-size: clamp(1.375rem, 2.5vw, 1.75rem);
	line-height: 1.55;
	color: rgba(255,255,255,0.78);
	max-width: 36em;
}

.ws-about-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 1rem 2.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.4vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--ws-color-accent);
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s;
	margin-top: 0.5rem;
}

.ws-about-cta__btn:hover {
	background: transparent;
	border-color: #fff;
}

@media (max-width: 600px) {
	.ws-about-cta__btn {
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 480px) {
	.ws-about-story__heading {
		font-size: clamp(2rem, 5vw, 3rem);
	}

	.ws-about-story__body,
	.ws-about-story__body p {
		font-size: 1.3125rem;
	}
}

/* =========================================================
   KONTAKT LEHT  [ws_page_contact]
   Disain: identne Meist + Esilehtega —
   seinast-seina grid, overlay kaardid, surface-warm/bg vaheldumine,
   täisnurksed elemendid, Montserrat pealkirjad, suured tekstid.
   ========================================================= */

/* ---- Hero — identne ws-about-hero-ga ---- */
.ws-contact-hero {
	position: relative;
	width: 100%;
	height: clamp(420px, 65vh, 640px);
	overflow: hidden;
	background: #1a1510;
}

.ws-contact-hero--plain {
	height: auto;
	background: var(--ws-color-bg);
	padding-block: clamp(4rem, 8vw, 7rem);
}

.ws-contact-hero--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #2c2418;
	color: rgba(255,255,255,0.6);
	font-size: 1rem;
	padding: 2rem;
}

.ws-contact-hero__bg {
	position: absolute;
	inset: 0;
}

.ws-contact-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
	display: block;
}

.ws-contact-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		105deg,
		rgba(0,0,0,0.62) 0%,
		rgba(0,0,0,0.20) 55%,
		rgba(0,0,0,0.38) 100%
	);
	pointer-events: none;
}

.ws-contact-hero__content {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	max-width: var(--ws-container);
	margin: 0 auto;
	left: 0;
	right: 0;
	padding: 0 clamp(1.5rem, 5vw, 3rem) clamp(3rem, 7vh, 5rem);
}

.ws-contact-hero--plain .ws-contact-hero__content {
	position: static;
	inset: auto;
	max-width: var(--ws-container);
	margin: 0 auto;
	padding: 0 clamp(1.5rem, 5vw, 3rem);
}

.ws-contact-hero__eyebrow {
	margin: 0 0 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-accent-light);
}

.ws-contact-hero--plain .ws-contact-hero__eyebrow {
	color: var(--ws-color-accent);
}

.ws-contact-hero__title {
	margin: 0 0 1rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: #fff;
	text-shadow: 0 2px 24px rgba(0,0,0,0.35);
	max-width: 18em;
}

.ws-contact-hero--plain .ws-contact-hero__title {
	color: var(--ws-color-ink);
	text-shadow: none;
}

.ws-contact-hero__intro {
	margin: 0;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	line-height: 1.55;
	color: var(--ws-color-surface-alt);
	text-shadow: 0 1px 12px rgba(0,0,0,0.4);
	max-width: 38em;
}

.ws-contact-hero--plain .ws-contact-hero__intro {
	color: var(--ws-color-ink-muted);
	text-shadow: none;
}

@media (max-width: 768px) {
	.ws-contact-hero {
		height: clamp(320px, 55svh, 420px);
	}

	.ws-contact-hero__title {
		font-size: clamp(1.875rem, 5.5vw, 2.5rem);
	}

	.ws-contact-hero__intro {
		font-size: clamp(1rem, 2.8vw, 1.25rem);
	}
}

/* =========================================================
   MEESKOND — seinast seina, overlay kaardid nagu kategooriagrid
   ========================================================= */
.ws-contact-team {
	background: #1a1510;
}

.ws-contact-team--empty {
	padding: 3rem clamp(1.5rem, 5vw, 3rem);
	text-align: center;
	color: rgba(255,255,255,0.5);
}

/* Päis sektsioon enne gridi */
.ws-contact-team__header {
	padding: clamp(3rem, 6vw, 4.5rem) clamp(1.5rem, 5vw, 3rem) clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.ws-contact-team__header-inner {
	max-width: var(--ws-container);
	margin: 0 auto;
}

.ws-contact-team__eyebrow {
	margin: 0 0 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-accent-light);
}

.ws-contact-team__title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: #fff;
}

/* Grid — identne ws-cat-grid__list-iga */
.ws-contact-team__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ws-contact-team__item {
	margin: 0;
}

/* Kaart — identne ws-cat-grid__card stiilile */
.ws-contact-team__card {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: #2c2418;
}

.ws-contact-team__img-wrap {
	position: absolute;
	inset: 0;
}

.ws-contact-team__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
	transition: transform 0.55s ease;
}

.ws-contact-team__card:hover .ws-contact-team__img {
	transform: scale(1.06);
}

/* Placeholder ilma fotota — tume gradient nagu portfolio */
.ws-contact-team__placeholder {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2c2418 0%, #3d3020 100%);
}

/* Gradient overlay allosas */
.ws-contact-team__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0,0,0,0.88) 0%,
		rgba(0,0,0,0.40) 45%,
		rgba(0,0,0,0.08) 100%
	);
	transition: opacity 0.3s ease;
}

.ws-contact-team__card:hover .ws-contact-team__overlay {
	opacity: 0.85;
}

/* Tekst overlay allosas */
.ws-contact-team__body {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: clamp(1.25rem, 3.5vw, 2rem) clamp(1.25rem, 3.5vw, 2rem) clamp(1.5rem, 3.5vw, 2.25rem);
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.ws-contact-team__name {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: #fff;
	text-shadow: 0 1px 12px rgba(0,0,0,0.5);
}

.ws-contact-team__role {
	margin: 0;
	font-size: clamp(1.3125rem, 2vw, 1.5rem);
	line-height: 1.55;
	color: rgba(229, 220, 197, 0.88);
	text-shadow: 0 1px 8px rgba(0,0,0,0.5);
}

.ws-contact-team__links {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin-top: 0.5rem;
}

.ws-contact-team__link {
	display: inline-block;
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
	color: var(--ws-color-accent-light);
	text-decoration: none;
	word-break: break-word;
	transition: color 0.15s;
}

.ws-contact-team__link:hover {
	color: #fff;
	text-decoration: underline;
}

/* Hover: accent-joon allosas nagu kategooriagrid */
.ws-contact-team__card::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--ws-color-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.ws-contact-team__card:hover::after {
	transform: scaleX(1);
}

@media (max-width: 960px) {
	.ws-contact-team__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.ws-contact-team__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ws-contact-team__card {
		aspect-ratio: 4 / 3;
	}
}

/* =========================================================
   VORM + KONTAKTANDMED  [2 tulpa]
   ========================================================= */
.ws-contact-form-block {
	padding-block: clamp(4rem, 7vw, 7rem);
	background: var(--ws-color-bg);
}

.ws-contact-form-block__inner {
	max-width: var(--ws-container);
	margin: 0 auto;
	padding: 0 clamp(1.5rem, 5vw, 3rem);
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(3rem, 6vw, 5rem);
	align-items: start;
}

@media (min-width: 900px) {
	.ws-contact-form-block__inner {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	}
}

.ws-contact-form-block__title {
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
	font-family: var(--ws-font-heading);
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--ws-color-ink);
}

/* Tagasiside teade */
.ws-contact-form__notice {
	margin-bottom: 1.5rem;
	padding: 1.125rem 1.375rem;
	font-size: clamp(1rem, 1.5vw, 1.125rem);
	line-height: 1.55;
	border-left: 3px solid;
}

.ws-contact-form__notice--success {
	background: #f0faf4;
	border-color: var(--ws-color-accent);
	color: var(--ws-color-ink);
}

.ws-contact-form__notice--error {
	background: #fdf4f4;
	border-color: #c0392b;
	color: var(--ws-color-ink);
}

.ws-contact-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.ws-contact-form__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ws-contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.ws-contact-form__field label {
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ws-color-ink);
}

.ws-contact-form__req {
	color: var(--ws-color-accent);
}

.ws-contact-form__field input,
.ws-contact-form__field textarea {
	width: 100%;
	padding: 1.125rem 1.25rem;
	font-family: var(--ws-font-body);
	font-size: clamp(1.1875rem, 1.6vw, 1.375rem);
	line-height: 1.5;
	color: var(--ws-color-ink);
	background: var(--ws-color-bg);
	border: 1px solid rgba(44, 62, 50, 0.18);
	border-radius: 0;
	transition: border-color 0.15s;
	-webkit-appearance: none;
	appearance: none;
}

.ws-contact-form__field input:focus,
.ws-contact-form__field textarea:focus {
	outline: none;
	border-color: var(--ws-color-accent);
}

.ws-contact-form__field textarea {
	resize: vertical;
	min-height: 10rem;
}

/* Saada nupp — identne ws-about-cta__btn-iga */
.ws-contact-form__submit {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.5rem;
	padding: 1rem 2.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.0625rem, 1.4vw, 1.1875rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: var(--ws-color-accent);
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.ws-contact-form__submit:hover {
	background: transparent;
	border-color: var(--ws-color-ink);
	color: var(--ws-color-ink);
}

@media (max-width: 600px) {
	.ws-contact-form__submit {
		width: 100%;
	}
}

/* Parempoolne andmete veerg */
.ws-contact-form-block__details-col {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.ws-contact-details__block {
	padding-bottom: 1.75rem;
	margin-bottom: 1.75rem;
	border-bottom: 1px solid rgba(44, 62, 50, 0.1);
}

.ws-contact-details__block:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.ws-contact-details {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.ws-contact-details--inline {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.75rem 1.75rem;
}

.ws-contact-details__item,
.ws-contact-details__link {
	font-family: var(--ws-font-body);
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	font-weight: 400;
	line-height: 1.6;
	color: var(--ws-color-ink);
	text-decoration: none;
}

.ws-contact-details__link:hover {
	color: var(--ws-color-accent);
}

.ws-contact-details__hours,
.ws-contact-details__socials {
	margin: 0;
	padding: 0;
	border: none;
}

.ws-contact-details__subheading {
	margin: 0 0 1rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ws-color-ink-muted);
}

#brx-content .ws-contact-details__item,
#brx-content .ws-contact-details__link {
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	font-weight: 400;
}

/* =========================================================
   KAART — täislaius, ainult kaart (ei beige ääri)
   ========================================================= */
.ws-contact-map {
	padding: 0;
	margin: 0;
	background: transparent;
	overflow: hidden;
}

.ws-contact-map__wrap {
	position: relative;
	width: 100%;
	line-height: 0;
}

.ws-contact-map__iframe {
	width: 100%;
	height: clamp(22rem, 55vh, 36rem);
	border: 0;
	display: block;
	vertical-align: top;
}

/* Nupp kaardi peal — vasakus all nurgas */
.ws-contact-map__link {
	position: absolute;
	bottom: clamp(1rem, 2.5vw, 1.5rem);
	left: clamp(1rem, 3vw, 2rem);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1.5rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.0625rem, 1.4vw, 1.1875rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	line-height: 1.2;
	color: var(--ws-color-ink);
	background: #fff;
	border: 2px solid rgba(44, 62, 50, 0.2);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.ws-contact-map__link:hover {
	background: var(--ws-color-accent);
	border-color: var(--ws-color-accent);
	color: #fff;
}

/* ---- visually-hidden utiliit ---- */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---- Bricks overrides ---- */
#brx-content .ws-contact-hero .ws-contact-hero__title {
	font-size: clamp(2.5rem, 6vw, 4.5rem);
}

#brx-content .ws-contact-hero .ws-contact-hero__intro {
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
}

#brx-content .ws-contact-team .ws-contact-team__title {
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
}

#brx-content .ws-contact-team .ws-contact-team__name {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
}

#brx-content .ws-contact-team .ws-contact-team__role {
	font-size: clamp(1.3125rem, 2vw, 1.5rem);
}

#brx-content .ws-contact-form-block .ws-contact-form-block__title {
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
}


/* =========================================================
   MOBIILNE MENÜÜ  [ws_mobile_menu]
   Hamburger toggle + slide-in drawer paremalt.
   Stiil: Woodsons dark premium / skandinaavia.
   ========================================================= */

/* ---- Nähtavus: ainult ≤1000px ---- */
.ws-mob-toggle {
	display: none;
}

@media (max-width: 1000px) {
	.ws-mob-toggle {
		display: inline-flex;
	}
}

/* ---- Hamburger nupp ---- */
.ws-mob-toggle {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 6px;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	color: #fff;
	-webkit-tap-highlight-color: transparent;
}

.ws-mob-toggle__bar {
	display: block;
	width: 28px;
	height: 2px;
	background: #fff;
	border-radius: 0;
	transition: transform 0.32s ease, opacity 0.2s ease, width 0.2s ease;
	transform-origin: center;
}

/* Hamburger → X */
.ws-mob-toggle[aria-expanded="true"] .ws-mob-toggle__bar:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}
.ws-mob-toggle[aria-expanded="true"] .ws-mob-toggle__bar:nth-child(2) {
	opacity: 0;
	width: 0;
}
.ws-mob-toggle[aria-expanded="true"] .ws-mob-toggle__bar:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}

/* ---- Taust-overlay ---- */
.ws-mob-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.32s ease;
}

.ws-mob-backdrop.is-visible {
	display: block;
}

.ws-mob-backdrop.is-open {
	opacity: 1;
}

/* ---- Drawer ---- */
.ws-mob-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	width: min(400px, 100vw);
	background: #1a1510;
	transform: translateX(100%);
	transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.ws-mob-drawer:not([hidden]) {
	display: block;
}

.ws-mob-drawer.is-open {
	transform: translateX(0);
}

.ws-mob-drawer__inner {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

/* ---- Drawer päis ---- */
.ws-mob-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.375rem 1.75rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ws-mob-drawer__brand {
	font-family: var(--ws-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
}

.ws-mob-drawer__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 0;
	color: rgba(255, 255, 255, 0.7);
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	flex-shrink: 0;
}

.ws-mob-drawer__close:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
}

/* ---- Navigatsiooni loetelu ---- */
.ws-mob-drawer__nav {
	flex: 1;
}

.ws-mob-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Iga top-level item eraldatakse peene valge joonega */
.ws-mob-nav__list > li {
	margin: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ws-mob-nav__list > li:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ws-mob-nav__list a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.75);
	transition: color 0.15s, background 0.15s;
}

.ws-mob-nav__list a:hover,
.ws-mob-nav__list a:focus-visible {
	color: #fff;
	background: rgba(255, 255, 255, 0.04);
}

.ws-mob-nav__list .current-menu-item > a,
.ws-mob-nav__list .current-page-ancestor > a {
	color: var(--ws-color-accent-light, #c4a882);
}

/* Alammenüüd */
.ws-mob-nav__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	background: rgba(0, 0, 0, 0.25);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.ws-mob-nav__list .sub-menu > li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ws-mob-nav__list .sub-menu a {
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.5);
	padding: 0.875rem 1.75rem;
}

.ws-mob-nav__list .sub-menu a:hover {
	color: rgba(255, 255, 255, 0.85);
}

/* ---- Keele switcher — äärest ääreni kategooriastiil ---- */
.ws-mob-drawer__langs {
	margin-top: auto;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ws-mob-drawer__langs-label {
	margin: 0;
	padding: 1rem 1.75rem 0.625rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.35);
}

/* 2×3 ruudustik, 1px vahe = õhuke joon eraldajana */
.ws-mob-langs__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	list-style: none;
	margin: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.08);
}

.ws-mob-langs__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 1.5rem 1rem;
	background: #1a1510;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.55);
	transition: background 0.18s, color 0.18s;
	border-radius: 0;
}

.ws-mob-langs__item:hover {
	background: #26201a;
	color: #fff;
}

.ws-mob-langs__item.is-current {
	background: #231d16;
	color: #fff;
	position: relative;
}

/* Kuldne ülemine joon aktiivsel keelel — nagu kategooriate accent-line */
.ws-mob-langs__item.is-current::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--ws-color-accent, #8b7355);
}

.ws-mob-langs__flag {
	font-size: 2rem;
	line-height: 1;
}

.ws-mob-langs__code {
	font-family: var(--ws-font-heading);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1;
}

.ws-mob-langs__label {
	font-size: 0.75rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.4);
	line-height: 1;
}

.ws-mob-langs__item.is-current .ws-mob-langs__label {
	color: rgba(255, 255, 255, 0.65);
}

/* Peida body scroll draweri avamisel */
body.ws-mob-open {
	overflow: hidden;
	touch-action: none;
}

/* =========================================================
   WHP PANEEL LEHT  [ws_page_whp]
   ========================================================= */

/* ---- Shared: sektsiooni sisemine kontainer ---- */
.ws-whp-intro__inner,
.ws-whp-benefits__inner,
.ws-whp-download__inner {
	max-width: var(--ws-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 5vw, 4rem);
}

/* =========================================================
   WHP TOOTETUTVUSTUS  .ws-whp-intro
   (Sama struktuur nagu ws-about-story)
   ========================================================= */

.ws-whp-intro {
	padding-block: clamp(4rem, 7vw, 7rem);
	background: var(--ws-color-bg);
}

.ws-whp-intro--empty {
	padding: 1.5rem;
	background: #fff8e1;
	border: 1px dashed #f0b429;
	border-radius: var(--ws-radius);
	color: #6b4c00;
	font-size: 1.0625rem;
}

.ws-whp-intro__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2.5rem, 5vw, 5rem);
}

.ws-whp-intro--has-image .ws-whp-intro__inner {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
}

.ws-whp-intro__text-col {
	display: flex;
	flex-direction: column;
}

.ws-whp-intro__label {
	margin: 0 0 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-accent);
}

.ws-whp-intro__heading {
	margin: 0 0 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--ws-color-ink);
}

.ws-whp-intro__body {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
	line-height: 1.7;
	color: var(--ws-color-ink);
}

.ws-whp-intro__body p {
	margin: 0 0 1.5rem;
}

.ws-whp-intro__body p:last-child {
	margin-bottom: 0;
}

/* Pildiveerg */
.ws-whp-intro__img-col {
	position: relative;
}

.ws-whp-intro__img-wrap {
	position: relative;
	border-radius: var(--ws-radius);
	overflow: hidden;
	aspect-ratio: 4 / 5;
}

.ws-whp-intro__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ws-whp-intro__img-wrap::after {
	content: '';
	position: absolute;
	inset: 1rem -1rem -1rem 1rem;
	border: 2px solid var(--ws-color-accent);
	border-radius: var(--ws-radius);
	z-index: -1;
	pointer-events: none;
}

@media (max-width: 900px) {
	.ws-whp-intro--has-image .ws-whp-intro__inner {
		grid-template-columns: 1fr;
	}

	.ws-whp-intro__img-col {
		order: -1;
	}

	.ws-whp-intro__img-wrap {
		aspect-ratio: 16 / 9;
	}

	.ws-whp-intro__img-wrap::after {
		display: none;
	}
}

#brx-content .ws-whp-intro .ws-whp-intro__heading {
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
}

#brx-content .ws-whp-intro .ws-whp-intro__body,
#brx-content .ws-whp-intro .ws-whp-intro__body p {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
}

/* =========================================================
   WHP EELISED  .ws-whp-benefits  — 3-veerg kaardikind
   ========================================================= */

.ws-whp-benefits {
	padding-block: clamp(4rem, 7vw, 6.5rem);
	background: var(--ws-color-surface-warm);
}

.ws-whp-benefits__inner {
	max-width: var(--ws-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 5vw, 4rem);
}

.ws-whp-benefits__header {
	text-align: center;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.ws-whp-benefits__title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--ws-color-ink);
}

.ws-whp-benefits__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 1.75rem);
}

.ws-whp-benefits__card {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	background: var(--ws-color-bg);
	border: 1px solid rgba(44, 62, 50, 0.1);
	border-radius: var(--ws-radius);
	padding: clamp(2rem, 3.5vw, 2.75rem);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.ws-whp-benefits__card:hover {
	box-shadow: 0 4px 28px rgba(44, 62, 50, 0.09);
	border-color: rgba(139, 115, 85, 0.3);
}

.ws-whp-benefits__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: rgba(139, 115, 85, 0.1);
	color: var(--ws-color-accent);
	flex-shrink: 0;
}

.ws-whp-benefits__icon svg {
	width: 1.625rem;
	height: 1.625rem;
}

.ws-whp-benefits__card-title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.375rem, 2.2vw, 1.625rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--ws-color-ink);
}

.ws-whp-benefits__card-desc {
	margin: 0;
	font-size: clamp(1.125rem, 1.8vw, 1.375rem);
	line-height: 1.7;
	color: var(--ws-color-ink-muted);
}

@media (max-width: 860px) {
	.ws-whp-benefits__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.ws-whp-benefits__grid {
		grid-template-columns: 1fr;
	}
}

#brx-content .ws-whp-benefits .ws-whp-benefits__title {
	font-size: clamp(2rem, 4vw, 3rem);
}

#brx-content .ws-whp-benefits .ws-whp-benefits__card-title {
	font-size: clamp(1.375rem, 2.2vw, 1.625rem);
}

#brx-content .ws-whp-benefits .ws-whp-benefits__card-desc {
	font-size: clamp(1.125rem, 1.8vw, 1.375rem);
}

/* =========================================================
   WHP PDF ALLALAADIMINE  .ws-whp-download
   Hele ribaga sektsiooon — accent-joon vasakul, nupp paremal
   ========================================================= */

.ws-whp-download {
	padding-block: clamp(3.5rem, 6vw, 5rem);
	background: #2c2418;
}

.ws-whp-download--empty {
	padding: 1.5rem;
	background: #fff8e1;
	border: 1px dashed #f0b429;
	border-radius: var(--ws-radius);
	color: #6b4c00;
	font-size: 1.0625rem;
}

.ws-whp-download__inner {
	max-width: var(--ws-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 5vw, 4rem);
}

.ws-whp-download__text {
	display: flex;
	align-items: center;
	gap: clamp(1.5rem, 4vw, 3rem);
	flex-wrap: wrap;
	padding-left: clamp(1.25rem, 3vw, 2rem);
	border-left: 3px solid var(--ws-color-accent);
}

.ws-whp-download__note {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.375rem, 2.5vw, 1.75rem);
	font-weight: 600;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.92);
	flex: 1;
}

.ws-whp-download__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	min-height: 3rem;
	padding: 0.75rem 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--ws-color-accent);
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	white-space: nowrap;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
	flex-shrink: 0;
}

.ws-whp-download__btn:hover,
.ws-whp-download__btn:focus-visible {
	background: transparent;
	color: #fff;
	border-color: #fff;
}

.ws-whp-download__btn-icon {
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
}

@media (max-width: 600px) {
	.ws-whp-download__text {
		flex-direction: column;
		align-items: flex-start;
	}

	.ws-whp-download__btn {
		width: 100%;
		justify-content: center;
	}
}

/* ---- WHP empty states (admin) ---- */
.ws-whp-intro--empty {
	padding: 1.5rem;
	background: #fff8e1;
	border: 1px dashed #f0b429;
	border-radius: var(--ws-radius);
	color: #6b4c00;
	font-size: 1.0625rem;
}

/* =========================================================
   WXP PANEEL LEHT  [ws_page_wxp]
   ========================================================= */

/* ---- Shared intro (sama mis WHP) ---- */
.ws-wxp-intro__inner,
.ws-wxp-uses__inner,
.ws-wxp-specs__inner,
.ws-wxp-benefits__inner,
.ws-wxp-variants__inner {
	max-width: var(--ws-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 5vw, 4rem);
}

.ws-wxp-intro {
	padding-block: clamp(4rem, 7vw, 7rem);
	background: var(--ws-color-bg);
}

.ws-wxp-intro__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2.5rem, 5vw, 5rem);
}

.ws-wxp-intro--has-image .ws-wxp-intro__inner {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
}

.ws-wxp-intro__label {
	margin: 0 0 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-accent);
}

.ws-wxp-intro__heading {
	margin: 0 0 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--ws-color-ink);
}

.ws-wxp-intro__body {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
	line-height: 1.7;
	color: var(--ws-color-ink);
}

.ws-wxp-intro__body p {
	margin: 0 0 1.5rem;
}

.ws-wxp-intro__body p:last-child {
	margin-bottom: 0;
}

.ws-wxp-intro__img-wrap {
	position: relative;
	border-radius: var(--ws-radius);
	overflow: hidden;
	aspect-ratio: 4 / 5;
}

.ws-wxp-intro__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ws-wxp-intro__img-wrap::after {
	content: '';
	position: absolute;
	inset: 1rem -1rem -1rem 1rem;
	border: 2px solid var(--ws-color-accent);
	border-radius: var(--ws-radius);
	z-index: -1;
	pointer-events: none;
}

@media (max-width: 900px) {
	.ws-wxp-intro--has-image .ws-wxp-intro__inner {
		grid-template-columns: 1fr;
	}

	.ws-wxp-intro__img-col {
		order: -1;
	}

	.ws-wxp-intro__img-wrap {
		aspect-ratio: 16 / 9;
	}

	.ws-wxp-intro__img-wrap::after {
		display: none;
	}
}

#brx-content .ws-wxp-intro .ws-wxp-intro__heading {
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
}

#brx-content .ws-wxp-intro .ws-wxp-intro__body,
#brx-content .ws-wxp-intro .ws-wxp-intro__body p {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
}

/* ---- Kasutusalad + omadused (kombineeritud 2-veeruline sektsioon) ---- */
.ws-wxp-uses {
	padding-block: clamp(4rem, 7vw, 6.5rem);
	background: var(--ws-color-surface-warm);
}

.ws-wxp-uses__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: clamp(3rem, 6vw, 6rem);
	align-items: start;
}

.ws-wxp-uses__title {
	margin: 0 0 1.5rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--ws-color-ink);
}

.ws-wxp-uses__body {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
	line-height: 1.7;
	color: var(--ws-color-ink);
}

.ws-wxp-uses__body p {
	margin: 0 0 1.5rem;
}

.ws-wxp-uses__body p:last-child {
	margin-bottom: 0;
}

.ws-wxp-uses__specs-col {
	padding: clamp(1.75rem, 3vw, 2.5rem);
	background: var(--ws-color-bg);
	border-left: 3px solid var(--ws-color-accent);
}

.ws-wxp-uses__specs-title {
	margin: 0 0 1.5rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.375rem, 2.2vw, 1.625rem);
	font-weight: 700;
	color: var(--ws-color-ink);
}

.ws-wxp-uses__specs-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.ws-wxp-uses__spec-item {
	position: relative;
	padding-left: 1.5rem;
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
	line-height: 1.7;
	color: var(--ws-color-ink);
}

.ws-wxp-uses__spec-item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 0.4375rem;
	height: 0.4375rem;
	border-radius: 50%;
	background: var(--ws-color-accent);
}

@media (max-width: 800px) {
	.ws-wxp-uses__inner {
		grid-template-columns: 1fr;
	}
}

#brx-content .ws-wxp-uses .ws-wxp-uses__title {
	font-size: clamp(2rem, 3.5vw, 2.75rem);
}

#brx-content .ws-wxp-uses .ws-wxp-uses__body,
#brx-content .ws-wxp-uses .ws-wxp-uses__body p,
#brx-content .ws-wxp-uses .ws-wxp-uses__spec-item {
	font-size: clamp(1.375rem, 2.4vw, 1.625rem);
}

/* ---- Eelised (sama grid stiil mis WHP) ---- */
.ws-wxp-benefits {
	padding-block: clamp(4rem, 7vw, 6.5rem);
	background: var(--ws-color-surface-warm);
}

.ws-wxp-benefits__header {
	text-align: center;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.ws-wxp-benefits__title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.15;
	color: var(--ws-color-ink);
}

.ws-wxp-benefits__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 1.75rem);
}

.ws-wxp-benefits__card {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	background: var(--ws-color-bg);
	border: 1px solid rgba(44, 62, 50, 0.1);
	border-radius: var(--ws-radius);
	padding: clamp(2rem, 3.5vw, 2.75rem);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.ws-wxp-benefits__card:hover {
	box-shadow: 0 4px 28px rgba(44, 62, 50, 0.09);
	border-color: rgba(139, 115, 85, 0.3);
}

.ws-wxp-benefits__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: rgba(139, 115, 85, 0.1);
	color: var(--ws-color-accent);
	flex-shrink: 0;
}

.ws-wxp-benefits__icon svg {
	width: 1.625rem;
	height: 1.625rem;
}

.ws-wxp-benefits__card-title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.375rem, 2.2vw, 1.625rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--ws-color-ink);
}

.ws-wxp-benefits__card-desc {
	margin: 0;
	font-size: clamp(1.125rem, 1.8vw, 1.375rem);
	line-height: 1.7;
	color: var(--ws-color-ink-muted);
}

@media (max-width: 860px) {
	.ws-wxp-benefits__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.ws-wxp-benefits__grid {
		grid-template-columns: 1fr;
	}
}

#brx-content .ws-wxp-benefits .ws-wxp-benefits__title {
	font-size: clamp(2rem, 4vw, 3rem);
}

#brx-content .ws-wxp-benefits .ws-wxp-benefits__card-title {
	font-size: clamp(1.375rem, 2.2vw, 1.625rem);
}

#brx-content .ws-wxp-benefits .ws-wxp-benefits__card-desc {
	font-size: clamp(1.125rem, 1.8vw, 1.375rem);
}

/* ---- Tooteliigid — kasutab ws-cat-grid stiili ---- */

.ws-wxp-variants.ws-cat-grid {
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

/* ---- Video ---- */
.ws-wxp-video {
	padding-block: clamp(4rem, 7vw, 6.5rem);
	background: var(--ws-color-bg);
}

.ws-wxp-video__inner {
	max-width: var(--ws-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 5vw, 4rem);
}

.ws-wxp-video__embed {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin-inline: auto;
	aspect-ratio: 16 / 9;
	background: #1a1510;
	overflow: hidden;
}

.ws-wxp-video__iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.ws-wxp-video--empty {
	padding: 1.5rem;
	background: #fff8e1;
	border: 1px dashed #f0b429;
	border-radius: var(--ws-radius);
	color: #6b4c00;
	font-size: 1.0625rem;
}

/* Non-link kaart (div i.o. a) — sama hover efekt */
.ws-wxp-variants__card {
	cursor: default;
}

/* Meta rida overlay tekstis (kg/m² jne) */
.ws-wxp-variants__meta {
	font-size: clamp(1.125rem, 1.8vw, 1.375rem);
	line-height: 1.5;
	color: var(--ws-color-accent-light, #c8a97a);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
}

/* ---- WXP empty states (admin) ---- */
.ws-wxp-intro--empty,
.ws-wxp-uses--empty,
.ws-wxp-specs--empty,
.ws-wxp-benefits--empty,
.ws-wxp-variants--empty {
	padding: 1.5rem;
	background: #fff8e1;
	border: 1px dashed #f0b429;
	border-radius: var(--ws-radius);
	color: #6b4c00;
	font-size: 1.0625rem;
}

/* =========================================================
   OSTUKORV  [woocommerce/cart/cart.php]
   Hero + kaheveeruline layout (tooted | kokkuvõte)
   ========================================================= */

/* ---- Lehe kontainer ---- */
.ws-cart-page {
	background: var(--ws-color-bg);
	padding-bottom: clamp(4rem, 8vw, 7rem);
}

.ws-container {
	max-width: var(--ws-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1.25rem, 4vw, 2.5rem);
	padding-right: clamp(1.25rem, 4vw, 2.5rem);
}

.ws-cart-page__body {
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

/* ---- Kaheveeruline grid ---- */
.ws-cart-page__layout {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: clamp(2rem, 4vw, 3rem);
	align-items: start;
}

@media (max-width: 960px) {
	.ws-cart-page__layout {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   HERO  (template-parts/cart/hero.php)
   Kasutab ws-about-hero mustrit — vaata selle sektsiooni CSS-i
   ========================================================= */

/* Cart + Checkout hero — kompaktne, ei blokeeri kogu ekraani */
.ws-cart-hero.ws-about-hero,
.ws-checkout-hero.ws-about-hero {
	height: clamp(220px, 40vh, 420px);
}

@media (max-width: 640px) {
	.ws-cart-hero.ws-about-hero,
	.ws-checkout-hero.ws-about-hero {
		height: 240px;
	}
}

/* =========================================================
   TOODETE NIMEKIRI  (template-parts/cart/items.php)
   Veergude järjekord: Toode | Hind | Kogus | Vahesumma | ×
   ========================================================= */

/* Ühine grid mõõdustik — lihtsam muuta ühest kohast */
:root {
	--wc-col-price:    130px;
	--wc-col-qty:      150px;
	--wc-col-sub:      140px;
	--wc-col-remove:   44px;
}

.ws-cart-items {
	background: var(--ws-color-bg);
	border: 1px solid var(--ws-color-surface);
	border-radius: 0;
	overflow: hidden;
}

/* ---- Päis (desktop) ---- */
.ws-cart-items__header {
	display: grid;
	grid-template-columns: 1fr var(--wc-col-price) var(--wc-col-qty) var(--wc-col-sub) var(--wc-col-remove);
	align-items: center;
	padding: 1rem 1.75rem;
	background: var(--ws-color-surface-warm);
	border-bottom: 2px solid var(--ws-color-surface);
	font-family: var(--ws-font-heading);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-ink-muted);
}

/* Päise lahtrid — hind/kogus/vahesumma tsentreeritud */
.ws-cart-items__col-price,
.ws-cart-items__col-qty,
.ws-cart-items__col-subtotal {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 720px) {
	.ws-cart-items__header {
		display: none;
	}
}

/* ---- Üks rida ---- */
.ws-cart-row {
	display: grid;
	grid-template-columns: 1fr var(--wc-col-price) var(--wc-col-qty) var(--wc-col-sub) var(--wc-col-remove);
	align-items: center;
	padding: 1.5rem 1.75rem;
	border-bottom: 1px solid var(--ws-color-surface);
	transition: background 0.2s ease;
}

.ws-cart-row:last-of-type {
	border-bottom: none;
}

.ws-cart-row:hover {
	background: var(--ws-color-surface-warm);
}

/* ---- Mobiil (≤ 720px): kaardikujuline layout ---- */
@media (max-width: 720px) {
	.ws-cart-row {
		display: grid;
		grid-template-columns: 88px 1fr auto;
		grid-template-rows: auto auto auto;
		grid-template-areas:
			"img  name    remove"
			"img  price   price"
			"img  qty     qty"
			"img  sub     sub";
		gap: 0.4rem 1rem;
		padding: 1.25rem 1rem;
		align-items: start;
	}

	.ws-cart-row__product {
		grid-area: img;
		flex-direction: column;
		align-items: flex-start;
	}

	.ws-cart-row__img-wrap {
		width: 80px;
		height: 80px;
	}

	.ws-cart-row__info {
		display: none; /* nimi eraldi gridis */
	}

	.ws-cart-row__name-mobile {
		display: block;
		grid-area: name;
		font-family: var(--ws-font-heading);
		font-size: 1rem;
		font-weight: 700;
		color: var(--ws-color-ink);
		text-decoration: none;
		line-height: 1.3;
	}

	.ws-cart-row__name-mobile:hover { color: var(--ws-color-accent); }

	.ws-cart-row__price    { grid-area: price; }
	.ws-cart-row__qty      { grid-area: qty; }
	.ws-cart-row__subtotal { grid-area: sub; }
	.ws-cart-row__remove   {
		grid-area: remove;
		justify-self: end;
		align-self: start;
	}
}

@media (min-width: 721px) {
	.ws-cart-row__name-mobile { display: none; }
}

/* Toote veerg: pilt + info (desktop) */
.ws-cart-row__product {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-width: 0;
}

.ws-cart-row__img-wrap {
	flex-shrink: 0;
	width: 96px;
	height: 96px;
	overflow: hidden;
	background: var(--ws-color-surface-warm);
}

.ws-cart-row__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ws-cart-row__info {
	min-width: 0;
}

.ws-cart-row__name {
	display: block;
	font-family: var(--ws-font-heading);
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--ws-color-ink);
	text-decoration: none;
	line-height: 1.3;
	transition: color 0.2s;
}

.ws-cart-row__name:hover {
	color: var(--ws-color-accent);
}

/* Hind, kogus, vahesumma — tsentreeritud oma veerus */
.ws-cart-row__price,
.ws-cart-row__qty,
.ws-cart-row__subtotal {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.125rem;
	color: var(--ws-color-ink);
	white-space: nowrap;
}

.ws-cart-row__subtotal {
	font-family: var(--ws-font-heading);
	font-weight: 700;
	font-size: 1.1875rem;
}

/* Mobile: hind/vahesumma vasakule + label */
@media (max-width: 720px) {
	.ws-cart-row__price,
	.ws-cart-row__qty,
	.ws-cart-row__subtotal {
		justify-content: flex-start;
		font-size: 1rem;
	}

	.ws-cart-row__price::before,
	.ws-cart-row__subtotal::before {
		content: attr(data-label) ":\00a0";
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: var(--ws-color-ink-muted);
	}
}

/* WC koguse kontainer — tsentreeritud, ilma kasti/border-ita */
.ws-cart-row__qty .quantity {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: none;
	border: none;
}

/* Koguse number-input: ainult alumine joon */
.ws-cart-row__qty .quantity input[type="number"],
.ws-cart-row__qty .quantity input.qty {
	width: 52px;
	padding: 0.35rem 0.25rem;
	border: none;
	border-bottom: 2px solid var(--ws-color-surface);
	border-radius: 0;
	font-family: var(--ws-font-heading);
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--ws-color-ink);
	background: transparent;
	text-align: center;
	-moz-appearance: textfield;
}

.ws-cart-row__qty .quantity input[type="number"]::-webkit-outer-spin-button,
.ws-cart-row__qty .quantity input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ws-cart-row__qty .quantity input[type="number"]:focus,
.ws-cart-row__qty .quantity input.qty:focus {
	outline: none;
	border-bottom-color: var(--ws-color-accent);
}

/* WC +/− nupud — väikesed ikoonid, kastita */
.ws-cart-row__qty .quantity .qty-minus,
.ws-cart-row__qty .quantity .qty-plus,
.ws-cart-row__qty .quantity button.minus,
.ws-cart-row__qty .quantity button.plus,
.ws-cart-row__qty .quantity input[type="button"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border: 1px solid var(--ws-color-surface);
	border-radius: 0;
	background: transparent;
	color: var(--ws-color-ink-muted);
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.ws-cart-row__qty .quantity .qty-minus:hover,
.ws-cart-row__qty .quantity .qty-plus:hover,
.ws-cart-row__qty .quantity button.minus:hover,
.ws-cart-row__qty .quantity button.plus:hover {
	background: var(--ws-color-surface-warm);
	color: var(--ws-color-accent);
	border-color: var(--ws-color-accent);
}

/* Eemalda nupp */
.ws-cart-row__remove-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 0;
	color: var(--ws-color-ink-muted);
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.ws-cart-row__remove-btn:hover {
	background: #fde8e8;
	color: #c0392b;
}

/* ---- Uuenda korvi nupp ---- */
.ws-cart-items__actions {
	padding: 1rem 1.5rem;
	display: flex;
	justify-content: flex-end;
	border-top: 1px solid var(--ws-color-surface);
	background: var(--ws-color-surface-warm);
}

.ws-cart-items__update-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.75rem;
	border: 1px solid var(--ws-color-surface);
	border-radius: 0;
	background: transparent;
	font-family: var(--ws-font-heading);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ws-color-ink-muted);
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.ws-cart-items__update-btn:hover {
	border-color: var(--ws-color-accent);
	color: var(--ws-color-accent);
	background: var(--ws-color-surface-warm);
}

/* ---- WooCommerce .button üleskirjutus cart-lehel — EI ole border-radius ---- */
.ws-cart-page .button,
.ws-cart-page input[type="submit"],
.ws-cart-page button[type="submit"],
.ws-cart-page .wc-block-components-button,
.ws-cart-page .woocommerce-Button {
	border-radius: 0 !important;
}

/* WC notices (woocommerce_notices_wrapper) */
.ws-cart-page .woocommerce-notices-wrapper ul,
.ws-cart-page ul.woocommerce-error {
	border-radius: 0;
	padding: 1rem 1.25rem;
	list-style: none;
	margin: 0;
}

/* =========================================================
   KUPONGI KOOD  (template-parts/cart/coupon.php)
   ========================================================= */

.ws-cart-coupon {
	margin-top: 1.5rem;
	padding: 1.5rem;
	background: var(--ws-color-surface-warm);
	border: 1px solid var(--ws-color-surface);
	border-radius: 0;
}

.ws-cart-coupon__label {
	display: block;
	margin-bottom: 0.65rem;
	font-family: var(--ws-font-heading);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ws-color-ink-muted);
}

.ws-cart-coupon__row {
	display: flex;
	gap: 0.5rem;
}

.ws-cart-coupon__input {
	flex: 1;
	padding: 0.75rem 1rem;
	border: 1px solid var(--ws-color-surface);
	border-radius: 0;
	font-family: var(--ws-font-body);
	font-size: 1rem;
	color: var(--ws-color-ink);
	background: var(--ws-color-bg);
	transition: border-color 0.2s, box-shadow 0.2s;
}

.ws-cart-coupon__input:focus {
	outline: none;
	border-color: var(--ws-color-accent);
	box-shadow: var(--ws-focus-ring);
}

.ws-cart-coupon__btn {
	flex-shrink: 0;
	padding: 0.75rem 1.5rem;
	border: none;
	border-radius: 0;
	background: var(--ws-color-accent);
	font-family: var(--ws-font-heading);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
}

.ws-cart-coupon__btn:hover {
	background: var(--ws-color-accent-dark);
	transform: translateY(-1px);
}

.ws-cart-coupon__btn:active {
	transform: translateY(0);
}

@media (max-width: 400px) {
	.ws-cart-coupon__row {
		flex-direction: column;
	}

	.ws-cart-coupon__btn {
		width: 100%;
	}
}

/* =========================================================
   TELLIMUSE KOKKUVÕTE  (template-parts/cart/summary.php)
   ========================================================= */

.ws-cart-summary {
	position: sticky;
	top: 2rem;
	background: var(--ws-color-bg);
	border: 1px solid var(--ws-color-surface);
	border-radius: 0;
	overflow: hidden;
}

@media (max-width: 960px) {
	.ws-cart-summary {
		position: static;
	}
}

.ws-cart-summary__title {
	margin: 0;
	padding: 1.25rem 1.5rem;
	background: var(--ws-color-surface-warm);
	border-bottom: 1px solid var(--ws-color-surface);
	font-family: var(--ws-font-heading);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ws-color-ink);
}

.ws-cart-summary__lines {
	margin: 0;
	padding: 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	border-bottom: 1px solid var(--ws-color-surface);
}

.ws-cart-summary__line {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	font-size: 1.0625rem;
	color: var(--ws-color-ink);
}

.ws-cart-summary__line dt {
	color: var(--ws-color-ink-muted);
	font-weight: 400;
}

.ws-cart-summary__line dd {
	margin: 0;
	font-weight: 600;
	text-align: right;
}

.ws-cart-summary__line--discount dd {
	color: #2ecc71;
}

.ws-cart-summary__line--total {
	padding-top: 0.875rem;
	margin-top: 0.25rem;
	border-top: 1px solid var(--ws-color-surface);
	font-size: 1.125rem;
}

.ws-cart-summary__line--total dt {
	font-family: var(--ws-font-heading);
	font-weight: 700;
	color: var(--ws-color-ink);
}

.ws-cart-summary__line--total dd {
	font-family: var(--ws-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--ws-color-ink);
}

.ws-cart-summary__checkout {
	padding: 1.25rem 1.5rem;
}

.ws-cart-summary__checkout-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	padding: 1.125rem 1.5rem;
	border-radius: 0;
	background: var(--ws-color-accent);
	font-family: var(--ws-font-heading);
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #fff;
	text-decoration: none;
	transition: background 0.25s, transform 0.15s, box-shadow 0.25s;
	box-shadow: 0 4px 16px rgba(139, 115, 85, 0.3);
}

.ws-cart-summary__checkout-btn:hover {
	background: var(--ws-color-accent-dark);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(139, 115, 85, 0.4);
	color: #fff;
}

.ws-cart-summary__checkout-btn:active {
	transform: translateY(0);
}

.ws-cart-summary__checkout-btn:focus-visible {
	outline: none;
	box-shadow: var(--ws-focus-ring);
}

/* =========================================================
   TÜHI OLEK  (template-parts/cart/empty.php)
   ========================================================= */

.ws-cart-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 5vw, 3rem);
	text-align: center;
	max-width: 540px;
	margin: 0 auto;
}

.ws-cart-empty__icon {
	color: var(--ws-color-surface);
	margin-bottom: 2rem;
}

.ws-cart-empty__title {
	margin: 0 0 0.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	color: var(--ws-color-ink);
}

.ws-cart-empty__message {
	margin: 0 0 3.5rem;
	color: var(--ws-color-ink-muted);
	font-size: 1.125rem;
	line-height: 1.7;
}

.ws-cart-empty__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.875rem 2rem;
	border-radius: 0;
	background: var(--ws-color-accent);
	font-family: var(--ws-font-heading);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	transition: background 0.25s, transform 0.15s, box-shadow 0.25s;
	box-shadow: 0 4px 16px rgba(139, 115, 85, 0.25);
}

.ws-cart-empty__cta:hover {
	background: var(--ws-color-accent-dark);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(139, 115, 85, 0.35);
	color: #fff;
}

.ws-cart-empty__cta:active {
	transform: translateY(0);
}

/* =========================================================
   PÄRINGU KINNITUS  (template-parts/checkout/thankyou.php)
   ========================================================= */

.ws-thankyou {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 760px;
	margin: 0 auto;
	padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 5vw, 2.5rem) clamp(3.5rem, 7vw, 5.5rem);
}

.ws-thankyou__icon {
	color: var(--ws-color-accent);
	margin-bottom: 2rem;
}

.ws-thankyou__icon svg {
	width: clamp(4.5rem, 10vw, 5.5rem);
	height: clamp(4.5rem, 10vw, 5.5rem);
}

.ws-thankyou__lead {
	margin: 0 0 2rem;
	font-size: clamp(1.35rem, 2.8vw, 1.75rem);
	line-height: 1.6;
	color: var(--ws-color-ink);
	max-width: 38rem;
}

.ws-thankyou__ref {
	margin: 0 0 1rem;
	font-size: clamp(1.125rem, 2vw, 1.35rem);
	color: var(--ws-color-ink-muted);
}

.ws-thankyou__ref-label {
	margin-right: 0.35rem;
}

.ws-thankyou__ref-number {
	font-family: var(--ws-font-heading);
	font-size: clamp(1.35rem, 2.5vw, 1.65rem);
	color: var(--ws-color-ink);
}

.ws-thankyou__email {
	margin: 0 0 2.5rem;
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
	line-height: 1.6;
	color: var(--ws-color-ink-muted);
	max-width: 34rem;
}

.ws-thankyou__products {
	width: 100%;
	margin: 0 0 3rem;
	padding: clamp(1.25rem, 3vw, 1.75rem) clamp(1.25rem, 3vw, 2rem);
	background: var(--ws-color-surface-warm);
	border: 1px solid var(--ws-color-surface);
	text-align: left;
}

.ws-thankyou__products-title {
	margin: 0 0 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.5vw, 1.05rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ws-color-ink-muted);
}

.ws-thankyou__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ws-thankyou__product {
	padding: 1rem 0;
	border-bottom: 1px solid var(--ws-color-surface);
}

.ws-thankyou__product:first-child {
	padding-top: 0;
}

.ws-thankyou__product:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.ws-thankyou__product-head {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: flex-start;
}

.ws-thankyou__item-name {
	font-size: clamp(1.125rem, 2vw, 1.35rem);
	font-weight: 700;
	color: var(--ws-color-ink);
	line-height: 1.4;
}

.ws-thankyou__item-qty {
	flex-shrink: 0;
	font-size: clamp(1rem, 1.8vw, 1.2rem);
	color: var(--ws-color-ink-muted);
}

.ws-thankyou__addons {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0.75rem 0 0;
	border-top: 1px dashed var(--ws-color-surface);
}

.ws-thankyou__addon {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.35rem 0;
	font-size: clamp(1rem, 1.7vw, 1.15rem);
	color: var(--ws-color-ink-muted);
}

.ws-thankyou__addon-name {
	color: var(--ws-color-ink);
}

.ws-thankyou__addon-price {
	flex-shrink: 0;
	font-weight: 700;
	color: var(--ws-color-accent);
}

.ws-thankyou__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.875rem;
	justify-content: center;
}

.ws-thankyou__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 2rem;
	border-radius: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.5vw, 1.05rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.25s, color 0.25s, transform 0.15s, box-shadow 0.25s;
}

.ws-thankyou__cta--primary {
	background: var(--ws-color-accent);
	color: #fff;
	box-shadow: 0 4px 16px rgba(139, 115, 85, 0.25);
}

.ws-thankyou__cta--primary:hover {
	background: var(--ws-color-accent-dark);
	transform: translateY(-2px);
	color: #fff;
}

.ws-thankyou__cta--secondary {
	background: transparent;
	color: var(--ws-color-ink);
	border: 1px solid var(--ws-color-surface);
}

.ws-thankyou__cta--secondary:hover {
	border-color: var(--ws-color-accent);
	color: var(--ws-color-accent);
}

@media (max-width: 520px) {
	.ws-thankyou__actions {
		flex-direction: column;
		width: 100%;
	}

	.ws-thankyou__cta {
		width: 100%;
	}
}

/* =========================================================
   WooCommerce teadete stiil (notices) ostukorvi lehel
   ========================================================= */

.ws-cart-page .woocommerce-notices-wrapper,
.ws-cart-page .woocommerce-message,
.ws-cart-page .woocommerce-error,
.ws-cart-page .woocommerce-info {
	max-width: var(--ws-container);
	margin: 1.5rem auto 0;
	padding-left: clamp(1.25rem, 4vw, 2.5rem);
	padding-right: clamp(1.25rem, 4vw, 2.5rem);
}

.ws-cart-page .woocommerce-message {
	padding: 1rem 1.25rem;
	background: var(--ws-color-surface-warm);
	border-left: 4px solid var(--ws-color-accent);
	border-radius: 0;
	color: var(--ws-color-ink-muted);
	font-size: 1rem;
	list-style: none;
	margin-bottom: 0;
}

.ws-cart-page .woocommerce-error {
	padding: 1rem 1.25rem;
	background: #fde8e8;
	border-left: 4px solid #c0392b;
	border-radius: 0;
	color: var(--ws-color-ink);
	font-size: 0.9375rem;
	list-style: none;
	margin-bottom: 0;
}

.ws-cart-page .woocommerce-info {
	padding: 1rem 1.25rem;
	background: var(--ws-color-surface-warm);
	border-left: 4px solid var(--ws-color-accent);
	border-radius: 0;
	color: var(--ws-color-ink);
	font-size: 0.9375rem;
	list-style: none;
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	.ws-cart-summary__checkout-btn,
	.ws-cart-empty__cta,
	.ws-cart-coupon__btn,
	.ws-cart-row__remove-btn,
	.ws-cart-items__update-btn {
		transition: none;
	}
}

/* =========================================================
   KASSA  [woocommerce/checkout/form-checkout.php]
   Hero + kaheveeruline layout (vorm vasakul | kokkuvõte paremal)
   ========================================================= */

.ws-checkout-page {
	background: var(--ws-color-bg);
	padding-bottom: clamp(4rem, 8vw, 7rem);
}

.ws-checkout-page__body {
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

/* ---- Kaheveeruline grid ---- */
.ws-checkout-layout {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

@media (max-width: 1080px) {
	.ws-checkout-layout {
		grid-template-columns: 1fr 360px;
	}
}

@media (max-width: 860px) {
	.ws-checkout-layout {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   KUPONGI TOGGLE + VORM (meie custom, asendab WC sinist lipikut)
   ========================================================= */

.ws-coupon-toggle {
	margin-bottom: 1rem;
}

.ws-coupon-toggle__text {
	margin: 0;
	padding: 0.875rem 1.25rem;
	background: var(--ws-color-surface-warm);
	border-left: 3px solid var(--ws-color-accent);
	font-family: var(--ws-font-body);
	font-size: 1.3rem;
	color: var(--ws-color-ink-muted);
	display: flex;
	align-items: center;
	gap: 0.625rem;
	flex-wrap: wrap;
}

.ws-coupon-toggle__btn {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--ws-color-accent);
	cursor: pointer;
	text-decoration: underline;
	text-decoration-color: transparent;
	transition: text-decoration-color 0.2s, color 0.2s;
}

.ws-coupon-toggle__btn:hover {
	text-decoration-color: var(--ws-color-accent);
}

.ws-coupon-form {
	margin-bottom: 1.5rem;
}

.ws-coupon-form__inner {
	padding: 1.25rem 1.5rem;
	background: var(--ws-color-surface-warm);
	border: 1px solid var(--ws-color-surface);
	border-top: none;
}

.ws-coupon-form__label {
	display: block;
	margin-bottom: 0.5rem;
	font-family: var(--ws-font-heading);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ws-color-ink-muted);
}

.ws-coupon-form__row {
	display: flex;
	gap: 0.625rem;
}

.ws-coupon-form__input {
	flex: 1;
	padding: 0.875rem 1rem !important;
	border: 1px solid var(--ws-color-surface) !important;
	border-radius: 0 !important;
	font-family: var(--ws-font-body) !important;
	font-size: 1.3rem !important;
	background: var(--ws-color-bg) !important;
	color: var(--ws-color-ink) !important;
	min-width: 0;
}

.ws-coupon-form__input:focus {
	outline: none;
	border-color: var(--ws-color-accent) !important;
}

.ws-coupon-form__btn {
	flex-shrink: 0;
	padding: 0.875rem 1.5rem;
	background: var(--ws-color-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0 !important;
	font-family: var(--ws-font-heading) !important;
	font-size: 1.0625rem !important;
	font-weight: 700 !important;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s;
}

.ws-coupon-form__btn:hover {
	background: var(--ws-color-accent-dark) !important;
}

/* =========================================================
   SEKTSIOONID (arve / tarne / märkused)
   ========================================================= */

.ws-checkout-section {
	margin-bottom: 1.75rem;
}

.ws-checkout-section:last-child {
	margin-bottom: 0;
}

.ws-checkout-section__title {
	margin: 0 0 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 700;
	color: var(--ws-color-ink);
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--ws-color-surface);
}

/* =========================================================
   WC VORM — VÄLJAD
   Stiilid kõigile woocommerce_form_field() väljunditele
   ========================================================= */

.ws-checkout-fields .woocommerce-billing-fields,
.ws-checkout-fields .woocommerce-shipping-fields,
.ws-checkout-fields .woocommerce-additional-fields {
	padding: 0;
}

/* Eemalda WC sektsioonipealkirjad — meie omad asuvad .ws-checkout-section__title all */
.ws-checkout-fields .woocommerce-billing-fields h3,
.ws-checkout-fields .woocommerce-shipping-fields h3,
.ws-checkout-section--shipping .woocommerce-shipping-fields__field-wrapper > h3 {
	display: none;
}

/* Form row — kompaktsem */
.ws-checkout-page .form-row,
.ws-checkout-page .woocommerce-form-row {
	margin-bottom: 1rem;
}

/* Eesnimi + Perekonnanimi kõrvuti CSS grid-iga */
.ws-checkout-page .woocommerce-billing-fields__field-wrapper,
.ws-checkout-page .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1rem;
}

/* Mõned väljad peaksid olema täislaiuses */
.ws-checkout-page .woocommerce-billing-fields__field-wrapper .form-row-wide,
.ws-checkout-page .woocommerce-shipping-fields__field-wrapper .form-row-wide {
	grid-column: 1 / -1;
}

/* WC inline-block first/last ülekirjutus */
.ws-checkout-page .form-row-first,
.ws-checkout-page .form-row-last {
	display: block;
	width: 100%;
	margin-right: 0;
	float: none;
}

@media (max-width: 540px) {
	.ws-checkout-page .woocommerce-billing-fields__field-wrapper,
	.ws-checkout-page .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
}

/* Label */
.ws-checkout-page .form-row label,
.ws-checkout-page .woocommerce-form-row label {
	display: block;
	margin-bottom: 0.4rem;
	font-family: var(--ws-font-heading);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--ws-color-ink-muted);
}

.ws-checkout-page .required {
	color: var(--ws-color-accent);
}

/* Input, select, textarea — min 1.3rem */
.ws-checkout-page .form-row input.input-text,
.ws-checkout-page .form-row select,
.ws-checkout-page .form-row textarea,
.ws-checkout-page .woocommerce-form-row input.input-text,
.ws-checkout-page .woocommerce-form-row select,
.ws-checkout-page .woocommerce-form-row textarea {
	display: block;
	width: 100%;
	padding: 0.875rem 1rem;
	border: 1px solid var(--ws-color-surface);
	border-radius: 0 !important;
	font-family: var(--ws-font-body);
	font-size: 1.3rem;
	color: var(--ws-color-ink);
	background: var(--ws-color-bg);
	transition: border-color 0.2s, box-shadow 0.2s;
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
}

.ws-checkout-page .form-row input.input-text:focus,
.ws-checkout-page .form-row select:focus,
.ws-checkout-page .form-row textarea:focus {
	outline: none;
	border-color: var(--ws-color-accent);
	box-shadow: var(--ws-focus-ring);
}

.ws-checkout-page .form-row textarea {
	min-height: 90px;
	resize: vertical;
}

/* Select nool */
.ws-checkout-page .form-row select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238b7355' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.875rem center;
	padding-right: 2.5rem;
}

/* Checkbox (tarne eraldi aadress) */
.ws-checkout-page .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	font-family: var(--ws-font-body);
	font-size: 1.3rem;
	font-weight: 400;
	color: var(--ws-color-ink);
	text-transform: none;
	letter-spacing: 0;
}

.ws-checkout-page .woocommerce-form__input-checkbox {
	width: 18px;
	height: 18px;
	border: 1px solid var(--ws-color-surface);
	border-radius: 0;
	accent-color: var(--ws-color-accent);
	flex-shrink: 0;
}

/* Valideerimise veateade */
.ws-checkout-page .woocommerce-invalid input.input-text,
.ws-checkout-page .woocommerce-invalid select {
	border-color: #c0392b;
}

.ws-checkout-page .woocommerce-error,
.ws-checkout-page .woocommerce-NoticeGroup {
	padding: 1rem 1.25rem;
	background: #fde8e8;
	border-left: 4px solid #c0392b;
	border-radius: 0;
	color: var(--ws-color-ink);
	font-size: 1rem;
	list-style: none;
	margin: 0 0 1.5rem;
}

/* =========================================================
   TELLIMUSE KOKKUVÕTE (sidebar)
   ========================================================= */

.ws-checkout-review {
	position: sticky;
	top: 2rem;
	background: var(--ws-color-bg);
	border: 1px solid var(--ws-color-surface);
}

@media (max-width: 860px) {
	.ws-checkout-review {
		position: static;
		order: -1;
	}
}

.ws-checkout-review__title {
	margin: 0;
	padding: 1.25rem 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-ink);
	background: var(--ws-color-surface-warm);
	border-bottom: 2px solid var(--ws-color-surface);
}

/* ---- WC order review tabel (tooted + totaalid) ---- */
.ws-checkout-review .shop_table,
.ws-checkout-review table.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.3rem;
}

/* Tabelipäis */
.ws-checkout-review .shop_table thead tr th {
	padding: 0.75rem 1.75rem;
	background: var(--ws-color-surface-warm);
	border-bottom: 1px solid var(--ws-color-surface);
	font-family: var(--ws-font-heading);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ws-color-ink-muted);
	text-align: left;
}

.ws-checkout-review .shop_table thead tr th.product-total {
	text-align: right;
}

/* Tooteread */
.ws-checkout-review .shop_table tbody tr.cart_item td {
	padding: 1.1rem 1.75rem;
	border-bottom: 1px solid var(--ws-color-surface);
	vertical-align: middle;
	font-size: 1.3rem;
	color: var(--ws-color-ink);
}

.ws-checkout-review .shop_table tbody tr.cart_item td.product-name {
	font-family: var(--ws-font-heading);
	font-weight: 600;
}

.ws-checkout-review .shop_table tbody tr.cart_item td.product-total {
	text-align: right;
	font-weight: 700;
	white-space: nowrap;
}

/* Toodete footer (subtotal, shipping, total) */
.ws-checkout-review .shop_table tfoot tr th,
.ws-checkout-review .shop_table tfoot tr td {
	padding: 0.875rem 1.75rem;
	border-bottom: 1px solid var(--ws-color-surface);
	font-size: 1.3rem;
	color: var(--ws-color-ink-muted);
	font-weight: 400;
}

.ws-checkout-review .shop_table tfoot tr td {
	text-align: right;
	color: var(--ws-color-ink);
	font-weight: 600;
}

.ws-checkout-review .shop_table tfoot tr.order-total th,
.ws-checkout-review .shop_table tfoot tr.order-total td {
	font-family: var(--ws-font-heading);
	font-weight: 700;
	font-size: 1.4rem;
	color: var(--ws-color-ink);
	border-bottom: none;
}

.ws-checkout-review .shop_table tfoot tr.order-total td {
	font-size: 1.75rem;
}

/* ---- Makseviis ---- */
.ws-checkout-review #payment {
	background: var(--ws-color-surface-warm);
	border-top: 2px solid var(--ws-color-surface);
	padding: 1.5rem 1.75rem;
}

.ws-checkout-review #payment ul.payment_methods {
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.ws-checkout-review #payment ul.payment_methods li {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.ws-checkout-review #payment ul.payment_methods label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--ws-font-body);
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--ws-color-ink);
	cursor: pointer;
	text-transform: none;
	letter-spacing: 0;
}

.ws-checkout-review #payment ul.payment_methods .payment_box {
	padding: 0.875rem 1rem;
	background: rgba(139, 115, 85, 0.06);
	border-left: 3px solid var(--ws-color-accent);
	font-size: 1.3rem;
	color: var(--ws-color-ink-muted);
	line-height: 1.6;
}

/* Privacy policy tekst + väikesed tekstid payment sekstsioonis */
.ws-checkout-review #payment .woocommerce-privacy-policy-text,
.ws-checkout-review #payment p {
	font-size: 1.3rem;
	font-family: var(--ws-font-body);
	color: var(--ws-color-ink-muted);
	line-height: 1.6;
	margin: 0 0 1.25rem;
}

.ws-checkout-review #payment .woocommerce-privacy-policy-text a,
.ws-checkout-review #payment p a {
	color: var(--ws-color-accent);
	font-weight: 600;
}

/* "No payment methods" teade */
.ws-checkout-review #payment .woocommerce-noPaymentMethod,
.ws-checkout-review #payment .woocommerce-info {
	font-size: 1.3rem !important;
	padding: 1rem 1.25rem !important;
	background: rgba(139, 115, 85, 0.06) !important;
	border-left: 3px solid var(--ws-color-accent) !important;
	border-top: none !important;
	border-right: none !important;
	border-bottom: none !important;
	color: var(--ws-color-ink-muted) !important;
	border-radius: 0 !important;
	margin-bottom: 1.25rem !important;
}

/* ---- Telli nupp ---- */
.ws-checkout-review #payment #place_order,
.ws-checkout-review .wc-block-components-checkout-place-order-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1.25rem 1.5rem;
	border: none;
	border-radius: 0 !important;
	background: var(--ws-color-accent);
	font-family: var(--ws-font-heading);
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #fff;
	cursor: pointer;
	transition: background 0.25s, transform 0.15s, box-shadow 0.25s;
	box-shadow: 0 4px 16px rgba(139, 115, 85, 0.3);
	text-decoration: none;
}

.ws-checkout-review #payment #place_order:hover {
	background: var(--ws-color-accent-dark);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(139, 115, 85, 0.4);
}

/* =========================================================
   KASSANOTICED
   WC vaikimisi sinine/teal asendatakse meie disainiga
   !important kuna WC woocommerce.css laeb peale meid
   ========================================================= */

/* Kõik woocommerce-info ja woocommerce-message lipikud kassas */
.ws-checkout-page .woocommerce-info,
.ws-checkout-page .woocommerce-message,
.ws-checkout-page div.woocommerce-info,
.ws-checkout-page div.woocommerce-message {
	background: var(--ws-color-surface-warm) !important;
	border-top: none !important;
	border-right: none !important;
	border-bottom: none !important;
	border-left: 3px solid var(--ws-color-accent) !important;
	border-radius: 0 !important;
	color: var(--ws-color-ink-muted) !important;
	font-size: 1rem !important;
	font-family: var(--ws-font-body) !important;
	padding: 0.875rem 1.25rem !important;
	margin-bottom: 0.75rem !important;
	box-shadow: none !important;
	list-style: none !important;
}

/* Kupongi ja login lipiku link */
.ws-checkout-page .woocommerce-info a,
.ws-checkout-page .woocommerce-message a {
	color: var(--ws-color-accent) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.ws-checkout-page .woocommerce-info a:hover,
.ws-checkout-page .woocommerce-message a:hover {
	text-decoration: underline !important;
}

/* WC info ikoon (before pseudo) — peidame ära */
.ws-checkout-page .woocommerce-info::before,
.ws-checkout-page .woocommerce-message::before {
	display: none !important;
}

/* Kupongi + login WC vaikimisi vormid */
.ws-checkout-page .woocommerce-form-login-toggle,
.ws-checkout-page .woocommerce-form-coupon-toggle {
	margin-bottom: 0;
}

.ws-checkout-page .woocommerce-form-login,
.ws-checkout-page .woocommerce-form-coupon {
	padding: 1.5rem;
	background: var(--ws-color-surface-warm);
	border: 1px solid var(--ws-color-surface);
	border-top: none;
	margin-bottom: 1.5rem;
}

.ws-checkout-page .woocommerce-notices-wrapper {
	margin-bottom: 0.5rem;
}

/* ---- WC button ja border-radius override ---- */
.ws-checkout-page .button,
.ws-checkout-page input[type="submit"],
.ws-checkout-page button[type="submit"] {
	border-radius: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
	.ws-checkout-review #payment #place_order {
		transition: none;
	}
}

/* Peida eemaldatud väljad (backup) */
.ws-checkout-page #billing_state_field,
.ws-checkout-page #billing_postcode_field,
.ws-checkout-page #billing_company_field,
.ws-checkout-page #billing_address_2_field {
	display: none !important;
}

/* ---- Päringu checkout: teated ---- */

.ws-checkout-page #billing_country {
	width: 100%;
	max-width: 100%;
	cursor: pointer;
}

.ws-checkout-inquiry-notice,
.ws-checkout-price-note,
.ws-cart-summary__note {
	margin: 0 0 1rem;
	font-family: var(--ws-font-body);
	font-size: 1.25rem;
	line-height: 1.55;
	color: var(--ws-color-ink-muted);
}

.ws-checkout-inquiry-notice {
	padding: 1rem 1.125rem;
	background: var(--ws-color-surface-warm);
	border-left: 3px solid var(--ws-color-accent);
}

.ws-checkout-price-note {
	font-size: 1.15rem;
}

.ws-cart-summary__note {
	padding-top: 0.25rem;
	border-top: 1px solid var(--ws-color-surface);
	margin-top: 0.25rem;
	padding-bottom: 0.5rem;
}

/* Peida tühi makseviiside plokk */
.ws-checkout-review #payment ul.payment_methods:empty {
	display: none;
}

.ws-checkout-review #payment .payment_methods {
	margin-bottom: 0;
}

/* =========================================================
   SINGLE PRODUCT PAGE — [ws_single_product] shortcode
   ========================================================= */

/* ── Muutujad (override teemaga) ── */
.ws-single-product {
	--sp-radius: 0;
	--sp-font-min: 1.4rem;
	--sp-accent:  var(--ws-color-accent);
	--sp-dark:    #2a1f14;

	padding-bottom: 5rem;
	background: var(--ws-color-bg);
}

/* ── Tume riba — header jääb peale, nupp riba alumises osas ── */
.ws-single-product__top-bar {
	background: var(--sp-dark);
	margin-bottom: 0;
}

.ws-single-product__top-bar-inner {
	/* Tühi ruum sticky headeri kõrguse võrra, siis nupp */
	padding-top: calc(var(--brx-header-height, 6.25rem) + 1.5rem);
	padding-bottom: 2.5rem;
}

.admin-bar .ws-single-product__top-bar-inner {
	padding-top: calc(var(--brx-header-height, 6.25rem) + 1.5rem + 32px);
}

@media (max-width: 782px) {
	.admin-bar .ws-single-product__top-bar-inner {
		padding-top: calc(var(--brx-header-height, 6.25rem) + 1.5rem + 46px);
	}
}

/* ── Tagasi nupp tumel ribal ── */
.ws-single-product__back-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.625rem 1.375rem 0.625rem 1rem;
	background: rgba(255, 255, 255, 0.1);
	border: 1.5px solid rgba(255, 255, 255, 0.25);
	border-radius: 0;
	color: rgba(255, 255, 255, 0.85);
	font-family: var(--ws-font-heading);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	cursor: pointer;
	text-transform: uppercase;
	transition: background 150ms ease, border-color 150ms ease, color 150ms ease;
}

.ws-single-product__back-btn:hover {
	background: rgba(255, 255, 255, 0.18);
	border-color: rgba(255, 255, 255, 0.5);
	color: #fff;
}

.ws-back-icon {
	flex-shrink: 0;
	margin-top: -1px;
}

/* ── Hero: galerii + summary — 2-veergu ── */
.ws-single-product__hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: start;
	padding-top: 3.5rem;
	padding-bottom: 2rem;
}

@media (min-width: 860px) {
	.ws-single-product__hero {
		grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
		gap: 3rem;
	}
}

@media (min-width: 1100px) {
	.ws-single-product__hero {
		grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
		gap: 4rem;
	}
}

/* ──────────────────────────────────────────────────
   GALERII
   ────────────────────────────────────────────────── */

.ws-single-product__gallery {
	min-width: 0;
}

/* Sticky galerii — desktop; sama muster mis kataloogi FILTRID külgribal */
@media (min-width: 860px) {
	.ws-single-product__gallery {
		position: sticky;
		top: calc(var(--brx-header-height, 5.5rem) + 1.25rem);
		align-self: start;
		max-height: calc(100vh - var(--brx-header-height, 5.5rem) - 2.5rem);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
	}

	.admin-bar .ws-single-product__gallery {
		top: calc(var(--brx-header-height, 5.5rem) + 1.25rem + 32px);
		max-height: calc(100vh - var(--brx-header-height, 5.5rem) - 2.5rem - 32px);
	}

	.ws-single-product__gallery .woocommerce-product-gallery {
		position: static;
	}
}

/* WC float reset */
.ws-single-product__gallery .woocommerce-product-gallery,
.ws-single-product .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

/* Peamine pilt — fikseeritud 4:3 proportsioon */
.ws-single-product__gallery .woocommerce-product-gallery .flex-viewport {
	border-radius: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--ws-color-surface-warm);
}

.ws-single-product__gallery .woocommerce-product-gallery .flex-viewport img,
.ws-single-product__gallery .woocommerce-product-gallery__image > a > img,
.ws-single-product__gallery .woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Kui FlexSlider pole laaditud (ainult pilt) */
.ws-single-product__gallery .woocommerce-product-gallery__image:first-child {
	border-radius: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

/* Suurendus-nupp */
.ws-single-product__gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 9;
	width: 2.25rem;
	height: 2.25rem;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 150ms ease;
	backdrop-filter: blur(4px);
}

.ws-single-product__gallery:hover .woocommerce-product-gallery__trigger {
	opacity: 1;
}

/* Thumbnaili rida */
.ws-single-product__gallery .flex-control-nav.flex-control-thumbs {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.ws-single-product__gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }

.ws-single-product__gallery .flex-control-thumbs li {
	flex: 0 0 calc(16.66% - 0.42rem);
	min-width: 60px;
}

.ws-single-product__gallery .flex-control-thumbs li img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 0;
	cursor: pointer;
	border: 2px solid transparent;
	transition: border-color 140ms ease, opacity 140ms ease;
	display: block;
	opacity: 0.65;
}

.ws-single-product__gallery .flex-control-thumbs li img:hover {
	opacity: 1;
}

.ws-single-product__gallery .flex-control-thumbs .flex-active img {
	border-color: var(--ws-color-accent);
	opacity: 1;
}

/* ──────────────────────────────────────────────────
   SUMMARY — info kaart (border-radius 0, font ≥1.4rem)
   ────────────────────────────────────────────────── */

.ws-single-product__summary {
	min-width: 0;
	background: var(--ws-color-surface-warm);
	border-radius: 0;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	font-size: var(--sp-font-min);
}

/* WC enda entry-summary float reset */
.ws-single-product__summary .entry-summary,
.ws-single-product .entry-summary {
	float: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Rating peidame */
.ws-single-product__summary .woocommerce-product-rating {
	display: none;
}

/* Toote nimi */
.ws-single-product__summary .product_title {
	font-family: var(--ws-font-heading);
	font-size: clamp(1.875rem, 1.25rem + 2.5vw, 2.75rem);
	font-weight: 700;
	line-height: 1.15;
	color: var(--ws-color-ink);
	margin: 0 0 1.25rem;
}

/* Vahehind */
.ws-single-product__summary > .price,
.ws-single-product__summary .woocommerce-product-details__short-description + .price {
	font-family: var(--ws-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--ws-color-accent-dark);
	margin: 0 0 1rem;
}

.ws-single-product__summary .price ins {
	text-decoration: none;
}

.ws-single-product__summary .price del {
	color: var(--ws-color-ink-muted);
	font-size: 0.85em;
	margin-right: 0.5rem;
}

/* Lühikirjeldus */
.ws-single-product__summary .woocommerce-product-details__short-description {
	margin: 0 0 1.75rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	font-size: var(--sp-font-min);
	line-height: 1.7;
	color: var(--ws-color-ink-muted);
}

.ws-single-product__summary .woocommerce-product-details__short-description p {
	margin: 0 0 0.5rem;
}

.ws-single-product__summary .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* ── Variatsioonide valikuvorm ── */
.ws-single-product__summary .variations_form {
	margin: 0;
}

.ws-single-product__summary table.variations {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1rem;
}

.ws-single-product__summary table.variations tr {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

.ws-single-product__summary table.variations th.label {
	display: block;
	font-size: 1.25rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ws-color-ink-muted);
	padding: 0;
}

.ws-single-product__summary table.variations td.value {
	padding: 0;
	width: 100%;
	display: block;
}

.ws-single-product__summary table.variations td.value > * {
	display: block;
	width: 100%;
}

/* Native select peidetakse JS-iga — fallback kui JS pole veel laadinud */
.ws-single-product__summary table.variations select {
	width: 100%;
	padding: 1rem 3rem 1rem 1.25rem;
	background-color: var(--ws-color-bg);
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	font-family: var(--ws-font-heading);
	font-size: var(--sp-font-min, 1.4rem);
	color: var(--ws-color-ink);
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238b7355' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	cursor: pointer;
	font-weight: 700;
}

/* ── Custom variation dropdown — div-põhine, identne kataloogiga ── */

.ws-var-dd {
	position: relative;
	width: 100%;
	display: block;
}

.ws-var-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	min-height: 3.5rem;
	padding: 1rem 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: var(--sp-font-min, 1.4rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--ws-color-ink);
	background: var(--ws-color-bg);
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	cursor: pointer;
	user-select: none;
	text-align: left;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.ws-var-toggle:hover,
.ws-var-dd.is-open .ws-var-toggle {
	border-color: var(--ws-color-accent-dark);
	background: var(--ws-color-surface-warm);
}

.ws-var-value {
	flex: 1;
	line-height: 1.3;
}

.ws-var-chevron {
	flex-shrink: 0;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid var(--ws-color-accent);
	border-bottom: 2px solid var(--ws-color-accent);
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s ease;
}

.ws-var-dd.is-open .ws-var-chevron {
	transform: rotate(-135deg) translateY(1px);
}

/* Dropdown nimekiri — peidetud vaikimisi, nähtav .is-open korral */
.ws-var-menu {
	display: none;
	position: absolute;
	top: calc(100% + 2px);
	left: 0;
	right: 0;
	z-index: 600;
	margin: 0;
	padding: 0.375rem 0;
	list-style: none;
	background: #fff;
	border: 2px solid var(--ws-color-accent);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.ws-var-dd.is-open .ws-var-menu {
	display: block;
}

.ws-var-option {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.875rem 1.25rem;
	font-family: var(--ws-font-heading);
	font-size: var(--sp-font-min, 1.4rem);
	font-weight: 600;
	color: var(--ws-color-ink);
	cursor: pointer;
	transition: background 0.12s ease, color 0.12s ease;
}

.ws-var-option:hover {
	background: var(--ws-color-surface-warm);
	color: var(--ws-color-accent-dark);
}

.ws-var-option--active {
	font-weight: 700;
	color: var(--ws-color-accent-dark);
	background: var(--ws-color-surface-warm);
}

.ws-var-option--disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}

.ws-var-check {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	width: 1rem;
	font-size: 0.875rem;
	color: var(--ws-color-accent);
}

.ws-var-label {
	flex: 1;
}

.ws-single-product__summary .reset_variations {
	display: inline-block;
	margin-top: 0.375rem;
	font-size: 0.875rem;
	color: var(--ws-color-ink-muted);
	text-decoration: none;
	transition: color 140ms ease;
}

.ws-single-product__summary .reset_variations:hover {
	color: var(--ws-color-accent);
}

/* ── Variatsiooni hind + kogus + ostukorv
      Layout:
        [hind $X,XXX]         [−] 1 [+]
        [    ADD TO CART (full width)   ]
   ── */

/* single_variation_wrap = grid, 2 rida */
.ws-single-product__summary .single_variation_wrap {
	display: grid;
	grid-template-areas:
		"price qty"
		"cart  cart";
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 1rem 2rem;
	margin-top: 1.25rem;
}

/* variations_button: display:contents — laseb lapsi otse griidile */
.ws-single-product__summary .woocommerce-variation-add-to-cart.variations_button {
	display: contents;
}

/* Hind */
.ws-single-product__summary .woocommerce-variation.single_variation {
	grid-area: price;
}

.ws-single-product__summary .woocommerce-variation-price {
	margin: 0;
}

.ws-single-product__summary .woocommerce-variation-price .price {
	font-family: var(--ws-font-heading);
	font-size: 2.25rem;
	font-weight: 700;
	color: var(--ws-color-accent-dark);
	letter-spacing: -0.02em;
	line-height: 1;
}

/* Koguse valik */
.ws-single-product__summary .quantity {
	grid-area: qty;
	display: flex;
	align-items: stretch;
	background: var(--ws-color-bg);
	border: 2px solid var(--ws-color-surface);
	height: 3.25rem;
}

.ws-single-product__summary .quantity input.qty {
	width: 4rem;
	padding: 0;
	border: none;
	background: transparent;
	font-family: var(--ws-font-heading);
	font-size: 1.375rem;
	font-weight: 700;
	text-align: center;
	color: var(--ws-color-ink);
	-moz-appearance: textfield;
}

.ws-single-product__summary .quantity input.qty::-webkit-outer-spin-button,
.ws-single-product__summary .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.ws-single-product__summary .quantity input.qty:focus {
	outline: none;
}

/* +/- nupud (kui WC/teema neid renderdab) */
.ws-single-product__summary .quantity .qty-minus,
.ws-single-product__summary .quantity .qty-plus,
.ws-single-product__summary .quantity button.minus,
.ws-single-product__summary .quantity button.plus {
	width: 3rem;
	background: none;
	border: none;
	font-size: 1.375rem;
	font-weight: 300;
	color: var(--ws-color-accent);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 140ms ease;
}

.ws-single-product__summary .quantity .qty-minus:hover,
.ws-single-product__summary .quantity .qty-plus:hover,
.ws-single-product__summary .quantity button.minus:hover,
.ws-single-product__summary .quantity button.plus:hover {
	background: rgba(139, 115, 85, 0.1);
}

/* Lisa korvi — täislaius */
.ws-single-product__summary .single_add_to_cart_button {
	grid-area: cart;
	width: 100%;
	padding: 1.25rem 2rem;
	height: auto;
	line-height: 1;
	background: var(--ws-color-accent);
	color: #fff;
	font-family: var(--ws-font-heading);
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	border: none;
	border-radius: 0;
	cursor: pointer;
	text-transform: uppercase;
	transition: background 160ms ease;
}

.ws-single-product__summary .single_add_to_cart_button:hover {
	background: var(--ws-color-accent-dark);
}

.ws-single-product__summary .single_add_to_cart_button.disabled,
.ws-single-product__summary .single_add_to_cart_button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* ── Lihtsa toote ostukorv (variants puuduvad) ── */
.ws-single-product__summary form.cart:not(.variations_form) {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	margin-top: 1.5rem;
}

.ws-single-product__summary form.cart:not(.variations_form) .quantity {
	align-self: flex-end;
}

/* ── Toote meta ── */
.ws-single-product__summary .product_meta {
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	font-size: 0.9375rem;
	color: var(--ws-color-ink-muted);
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.ws-single-product__summary .product_meta .sku_wrapper,
.ws-single-product__summary .product_meta .posted_in,
.ws-single-product__summary .product_meta .tagged_as {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.375rem;
	align-items: center;
}

.ws-single-product__summary .product_meta span.sku {
	font-weight: 600;
	color: var(--ws-color-ink);
}

.ws-single-product__summary .product_meta a {
	color: var(--ws-color-accent);
	text-decoration: none;
}

.ws-single-product__summary .product_meta a:hover {
	text-decoration: underline;
}

/* ── WC cart notices ── */
.ws-single-product .woocommerce-error,
.ws-single-product .woocommerce-message,
.ws-single-product .woocommerce-info {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: var(--ws-radius);
	font-size: 0.875rem;
	list-style: none;
}

/* ── Ujumise reset (vajalik WC-le) ── */
.ws-single-product__gallery::after,
.ws-single-product__summary::after,
.ws-single-product .woocommerce-product-gallery::after,
.ws-single-product .entry-summary::after {
	display: none !important;
	content: none !important;
}

/* =========================================================
   SINGLE PRODUCT DETAILS
   Struktureeritud sektsioonid pärast WC summary blokki:
   sissejuhatus / videod / standardvarustus / suurused / lisad
   Andmed JSON-meta-väljadelt (vt inc/single-product.php).
   ========================================================= */

.ws-product-details {
	margin: 3rem 0 5rem;
	display: grid;
	gap: 3rem;
}

/* Sauna: paremas veerus olevad sektsioonid (addons + standard) */
.ws-single-product__summary .ws-product-section {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	background: transparent;
}

.ws-product-section {
	background: var(--ws-color-bg);
}

.ws-product-section__title {
	font-family: var(--ws-font-heading);
	font-size: clamp(1.5rem, 1.125rem + 1.2vw, 2rem);
	font-weight: 700;
	color: var(--ws-color-ink);
	margin: 0 0 1.5rem;
	padding-bottom: 0.625rem;
	border-bottom: 2px solid var(--ws-color-accent);
	display: inline-block;
}

.ws-product-section__body {
	font-size: var(--sp-font-min, 1.4rem);
	line-height: 1.75;
	color: var(--ws-color-ink);
}

.ws-product-section__body p {
	margin: 0 0 1rem;
}

.ws-product-section__body p:last-child {
	margin-bottom: 0;
}

.ws-product-section__body strong {
	font-weight: 700;
	color: var(--ws-color-ink);
}

.ws-product-section__hint {
	font-size: 1.1rem;
	color: var(--ws-color-ink-muted);
	margin: -0.5rem 0 1.5rem;
	font-style: italic;
}

/* ---- Videod ---- */

.ws-product-videos__grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1fr;
}

.ws-product-videos__grid--cols-2 {
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.ws-product-videos__grid--cols-2 {
		grid-template-columns: repeat(2, 1fr);
	}
}

.ws-product-video {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 0;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(26, 21, 16, 0.14);
}

.ws-product-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ---- Standardvarustus ---- */

.ws-product-standard__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.375rem;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.ws-product-standard__list li {
	position: relative;
	padding: 0.875rem 1.25rem 0.875rem 3rem;
	background: #fff;
	border: 2px solid var(--ws-color-surface);
	border-radius: 0;
	font-size: var(--sp-font-min, 1.4rem);
	font-weight: 700;
	color: var(--ws-color-ink);
	line-height: 1.45;
}

.ws-product-standard__list li::before {
	content: "";
	position: absolute;
	left: 1.125rem;
	top: 50%;
	width: 0.875rem;
	height: 0.5rem;
	border-left: 2px solid var(--ws-color-accent);
	border-bottom: 2px solid var(--ws-color-accent);
	transform: translateY(-65%) rotate(-45deg);
}

/* ---- Suuruste tabel ---- */

.ws-product-sizes__wrap {
	overflow-x: auto;
	border: 1px solid var(--ws-color-surface);
	border-radius: 0;
}

.ws-product-sizes__table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--sp-font-min, 1.4rem);
}

.ws-product-sizes__table thead th {
	background: var(--ws-color-surface-warm);
	color: var(--ws-color-ink);
	font-family: var(--ws-font-heading);
	font-weight: 700;
	text-align: left;
	padding: 0.875rem 1.25rem;
	border-bottom: 2px solid var(--ws-color-accent);
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ws-product-sizes__table tbody td {
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--ws-color-surface);
	font-size: var(--sp-font-min, 1.4rem);
}

.ws-product-sizes__table tbody tr:last-child td {
	border-bottom: none;
}

.ws-product-sizes__table tbody tr:nth-child(even) td {
	background: rgba(245, 240, 232, 0.5);
}

.ws-product-sizes__table code {
	font-family: var(--ws-font-body);
	font-weight: 700;
	color: var(--ws-color-accent-dark);
	background: transparent;
	padding: 0;
	font-size: inherit;
}

/* ---- Lisavarustus (interaktiivne) ---- */

.variations_form .ws-product-addons,
form.cart .ws-product-addons {
	margin-top: 1.75rem;
	width: 100%;
	clear: both;
}

.ws-product-addons {
	width: 100%;
}

.ws-product-addons__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.375rem;
}

.ws-product-addon {
	background: #fff;
	border: 2px solid var(--ws-color-surface);
	border-radius: 0;
	width: 100%;
	transition: border-color 160ms ease, background 160ms ease;
}

.ws-product-addon:hover {
	border-color: var(--ws-color-accent);
	background: var(--ws-color-surface-warm);
}

.ws-product-addon.is-disabled {
	opacity: 0.55;
	pointer-events: none;
}

.ws-product-addon.is-checked {
	border-color: var(--ws-color-accent);
	background: var(--ws-color-surface-warm);
	box-shadow: inset 3px 0 0 0 var(--ws-color-accent);
}

.ws-product-addon__row {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1.25rem;
	width: 100%;
	padding: 1rem 1.25rem;
	cursor: pointer;
	margin: 0;
}

.ws-product-addon__check {
	display: inline-flex;
}

.ws-product-addon__input {
	width: 1.25rem;
	height: 1.25rem;
	accent-color: var(--ws-color-accent);
	margin: 0;
	cursor: pointer;
}

.ws-product-addon__name {
	font-size: var(--sp-font-min, 1.4rem);
	font-weight: 600;
	color: var(--ws-color-ink);
}

.ws-product-addon__price {
	font-family: var(--ws-font-heading);
	font-weight: 700;
	font-size: var(--sp-font-min, 1.4rem);
	color: var(--ws-color-accent-dark);
	white-space: nowrap;
}

.ws-product-addon.is-disabled .ws-product-addon__price {
	font-family: var(--ws-font-body);
	font-style: italic;
	font-size: 1.1rem;
	color: var(--ws-color-ink-muted);
}

@media (max-width: 560px) {
	.ws-product-addon__row {
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		gap: 0.75rem;
	}

	.ws-product-addon__price {
		grid-column: 2 / -1;
	}
}

/* =========================================================
   CART TOAST — lisatud ostukorvi (asendab WC rohelist riba)
   ========================================================= */

.ws-cart-toast {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	z-index: 99999;
	width: min(28rem, calc(100vw - 2rem));
	max-width: min(28rem, calc(100vw - 2rem));
	pointer-events: none;
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity 280ms ease, transform 280ms ease;
}

.ws-cart-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.ws-cart-toast__inner {
	display: flex;
	align-items: flex-start;
	gap: 1.125rem;
	padding: 1.375rem 1.5rem;
	background: var(--ws-color-ink, #1a1510);
	color: #fff;
	border-left: 5px solid var(--ws-color-accent, #8b7355);
	box-shadow: 0 14px 48px rgba(26, 21, 16, 0.32);
}

.ws-cart-toast__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	background: var(--ws-color-accent, #8b7355);
	color: #fff;
}

.ws-cart-toast__icon svg {
	width: 1.375rem;
	height: 1.375rem;
}

.ws-cart-toast__text {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
	flex: 1;
	padding-top: 0.125rem;
}

.ws-cart-toast__title {
	font-family: var(--ws-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.ws-cart-toast__product {
	font-size: 1.0625rem;
	color: rgba(255, 255, 255, 0.75);
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 20rem;
}

.ws-cart-toast__close {
	flex-shrink: 0;
	background: none;
	border: none;
	color: rgba(255, 255, 255, 0.55);
	font-size: 1.625rem;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	margin: -0.25rem -0.125rem 0 0;
	transition: color 140ms ease;
}

.ws-cart-toast__close:hover {
	color: #fff;
}

.ws-cart-toast__link {
	display: block;
	margin-top: 0.625rem;
	padding: 0.875rem 1.5rem;
	background: var(--ws-color-accent, #8b7355);
	color: #fff;
	font-family: var(--ws-font-heading);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	transition: background 150ms ease;
}

.ws-cart-toast__link:hover {
	background: var(--ws-color-accent-dark, #7a6448);
	color: #fff;
}

@media (max-width: 560px) {
	.ws-cart-toast {
		left: 1rem;
		right: 1rem;
		bottom: 1rem;
		max-width: none;
	}

	.ws-cart-toast__product {
		max-width: none;
		white-space: normal;
	}
}

/* =========================================================
   TEENUSELEHED — projekteerimine / visualiseerimine
   ========================================================= */

/* Scope / väljundid — 2×2, täislaius (sama konteiner mis protsess) */
.ws-svc-cards .ws-whp-benefits__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.ws-svc-cards .ws-whp-benefits__card {
	padding: clamp(2.5rem, 4.5vw, 3.5rem);
	min-height: 11rem;
}

.ws-svc-cards .ws-whp-benefits__icon {
	width: 3.75rem;
	height: 3.75rem;
}

.ws-svc-cards .ws-whp-benefits__icon svg {
	width: 1.875rem;
	height: 1.875rem;
}

.ws-svc-cards .ws-whp-benefits__card-title {
	font-size: clamp(1.5rem, 2.5vw, 1.875rem);
}

.ws-svc-cards .ws-whp-benefits__card-desc {
	font-size: clamp(1.1875rem, 1.9vw, 1.4375rem);
}

@media (max-width: 640px) {
	.ws-svc-cards .ws-whp-benefits__grid {
		grid-template-columns: 1fr;
	}
}

.ws-about-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 1.75rem;
	min-height: 3.25rem;
	padding: 1rem 2.25rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(0.9375rem, 1.4vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--ws-color-accent);
	border: 2px solid var(--ws-color-accent);
	border-radius: 0;
	transition: background 0.2s, border-color 0.2s;
}

.ws-about-hero__btn:hover {
	background: var(--ws-color-accent-dark);
	border-color: var(--ws-color-accent-dark);
	color: #fff;
}

.ws-svc-process__inner,
.ws-svc-packages__inner,
.ws-svc-showcase__inner,
.ws-svc-faq__inner {
	max-width: var(--ws-container);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 5vw, 4rem);
}

/* Protsess — timeline */
.ws-svc-process {
	padding-block: clamp(4rem, 7vw, 6rem);
	background: var(--ws-color-surface-warm);
}

.ws-svc-process--empty,
.ws-svc-packages--empty,
.ws-svc-showcase--empty,
.ws-svc-faq--empty {
	padding: 1.5rem;
	background: #fff8e1;
	border: 1px dashed #f0b429;
	color: #6b4c00;
	max-width: var(--ws-container);
	margin: 2rem auto;
}

.ws-svc-process__title,
.ws-svc-packages__title,
.ws-svc-showcase__title,
.ws-svc-faq__title {
	margin: 0 0 2.5rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	color: var(--ws-color-ink);
}

.ws-svc-process__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.ws-svc-process__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.ws-svc-process__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.ws-svc-process__step {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	padding: 1.75rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

.ws-svc-process__num {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	font-family: var(--ws-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	color: #fff;
	background: var(--ws-color-accent);
}

.ws-svc-process__step-title {
	margin: 0 0 0.5rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 700;
	color: var(--ws-color-ink);
}

.ws-svc-process__step-desc {
	margin: 0;
	font-size: clamp(1.125rem, 1.8vw, 1.3125rem);
	line-height: 1.6;
	color: var(--ws-color-ink-muted);
}

/* Showcase */
.ws-svc-showcase {
	padding-block: clamp(4rem, 7vw, 6rem);
	background: var(--ws-color-bg);
}

.ws-svc-showcase__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	align-items: center;
}

@media (min-width: 900px) {
	.ws-svc-showcase__inner {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	}
}

.ws-svc-showcase__desc {
	margin: 0;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	line-height: 1.65;
	color: var(--ws-color-ink-muted);
}

.ws-svc-showcase__img {
	width: 100%;
	display: block;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* Paketid */
.ws-svc-packages {
	padding-block: clamp(4rem, 7vw, 6rem);
	background: var(--ws-color-bg);
}

.ws-svc-packages__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.ws-svc-packages__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.ws-svc-packages__card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 2rem 1.75rem;
	background: #fff;
	border: 2px solid rgba(0, 0, 0, 0.08);
	min-height: 100%;
}

.ws-svc-packages__card.is-featured {
	border-color: var(--ws-color-accent);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.ws-svc-packages__card-title {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.5rem, 2.5vw, 1.875rem);
	font-weight: 700;
	color: var(--ws-color-ink);
}

.ws-svc-packages__card-price {
	margin: 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.375rem, 2vw, 1.625rem);
	font-weight: 700;
	color: var(--ws-color-accent-dark);
}

.ws-svc-packages__card-desc {
	margin: 0;
	flex: 1;
	font-size: clamp(1.125rem, 1.8vw, 1.3125rem);
	line-height: 1.6;
	color: var(--ws-color-ink-muted);
}

.ws-svc-packages__card-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	min-height: 3rem;
	padding: 0.875rem 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--ws-color-accent);
	border: 2px solid var(--ws-color-accent);
	transition: background 0.2s, border-color 0.2s;
}

.ws-svc-packages__card-btn:hover {
	background: var(--ws-color-accent-dark);
	border-color: var(--ws-color-accent-dark);
	color: #fff;
}

/* KKK */
.ws-svc-faq {
	padding-block: clamp(4rem, 7vw, 6rem);
	background: var(--ws-color-surface-warm);
}

.ws-svc-faq__header {
	margin-bottom: 2rem;
}

.ws-svc-faq__list {
	display: grid;
	gap: 1rem;
}

.ws-svc-faq__item {
	background: #fff;
	border: 2px solid rgba(44, 62, 50, 0.1);
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.ws-svc-faq__item:hover {
	border-color: var(--ws-color-accent);
}

.ws-svc-faq__item[open] {
	border-color: var(--ws-color-accent);
	box-shadow: 0 6px 24px rgba(44, 62, 50, 0.08);
}

.ws-svc-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.375rem 1.75rem;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.1875rem, 1.9vw, 1.4375rem);
	font-weight: 700;
	line-height: 1.35;
	color: var(--ws-color-ink);
	cursor: pointer;
	list-style: none;
	user-select: none;
	transition: color 0.15s ease;
}

.ws-svc-faq__question::-webkit-details-marker {
	display: none;
}

.ws-svc-faq__question::marker {
	display: none;
	content: '';
}

/* Nool paremal — näitab, et rida on avatav */
.ws-svc-faq__question::after {
	content: '';
	flex-shrink: 0;
	width: 0.625rem;
	height: 0.625rem;
	border-right: 2.5px solid var(--ws-color-accent);
	border-bottom: 2.5px solid var(--ws-color-accent);
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s ease, border-color 0.15s ease;
}

.ws-svc-faq__item[open] .ws-svc-faq__question {
	background: rgba(139, 115, 85, 0.06);
	color: var(--ws-color-accent-dark);
}

.ws-svc-faq__item[open] .ws-svc-faq__question::after {
	transform: rotate(-135deg) translateY(1px);
	border-color: var(--ws-color-accent-dark);
}

.ws-svc-faq__question:focus-visible {
	outline: 2px solid var(--ws-color-accent);
	outline-offset: -2px;
}

.ws-svc-faq__answer {
	padding: 0 1.75rem 1.5rem;
	margin: 0;
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
	line-height: 1.65;
	color: var(--ws-color-ink-muted);
	border-top: 1px solid rgba(44, 62, 50, 0.08);
}

.ws-svc-faq__item[open] .ws-svc-faq__answer {
	padding-top: 1.25rem;
}

.ws-svc-faq__answer p {
	margin: 0 0 0.75rem;
}

.ws-svc-faq__answer p:last-child {
	margin-bottom: 0;
}

/* =========================================================
   KONTAKTIVORMI POPUP
   ========================================================= */
.ws-contact-modal {
	position: fixed;
	inset: 0;
	z-index: 9100;
	width: min(100%, 42rem);
	max-width: calc(100% - 2rem);
	max-height: calc(100% - 2rem);
	margin: auto;
	padding: 0;
	border: none;
	background: transparent;
	overflow: visible;
}

.ws-contact-modal:not([open]) {
	display: none;
}

.ws-contact-modal::backdrop {
	background: rgba(20, 24, 21, 0.72);
}

.ws-contact-modal__panel {
	position: relative;
	max-height: calc(100vh - 2rem);
	overflow: auto;
	padding: clamp(1.75rem, 4vw, 2.5rem);
	background: var(--ws-color-bg);
	border: 1px solid rgba(44, 62, 50, 0.12);
}

.ws-contact-modal__close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	color: var(--ws-color-ink);
	background: transparent;
	border: none;
	cursor: pointer;
}

.ws-contact-modal__close:hover {
	color: var(--ws-color-accent);
}

.ws-contact-modal__title {
	margin: 0 3rem 1.5rem 0;
	font-family: var(--ws-font-heading);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--ws-color-ink);
}

.ws-contact-modal__notice {
	margin-bottom: 1.25rem;
}

.ws-contact-modal__form .ws-contact-form__field textarea {
	min-height: 7rem;
}

.ws-contact-form__submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

@media (max-width: 600px) {
	.ws-contact-modal {
		width: 100%;
		max-width: calc(100% - 1rem);
		max-height: calc(100% - 1rem);
	}

	.ws-contact-modal__panel {
		padding: 1.5rem 1.25rem 1.75rem;
	}
}
