/* ============================================================
   Template: newgold_lux
	CSS File
   ============================================================ */
/*
@font-face {
	font-family: 'Cormorant Garamond';
	src: url('/local/templates/newgold_lux/fonts/otf/CormorantGaramond-Regular.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Cormorant Garamond';
	src: url('/local/templates/newgold_lux/fonts/otf/CormorantGaramond-Bold.otf') format('opentype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Cormorant Garamond';
	src: url('/local/templates/newgold_lux/fonts/otf/CormorantGaramond-Italic.otf') format('opentype');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'Cormorant Garamond';
	src: url('/local/templates/newgold_lux/fonts/otf/CormorantGaramond-BoldItalic.otf') format('opentype');
	font-weight: bold;
	font-style: italic;
}

@font-face {
	font-family: 'JetBrains Mono';
	src: url('/local/templates/newgold_lux/fonts/otf/JetBrainsMono-Regular.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'JetBrains Mono';
	src: url('/local/templates/newgold_lux/fonts/otf/JetBrainsMono-Bold.otf') format('opentype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'JetBrains Mono';
	src: url('/local/templates/newgold_lux/fonts/otf/JetBrainsMono-Italic.otf') format('opentype');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'JetBrains Mono';
	src: url('/local/templates/newgold_lux/fonts/otf/JetBrainsMono-BoldItalic.otf') format('opentype');
	font-weight: bold;
	font-style: italic;
}

@font-face {
	font-family: 'Inter Tight';
	src: url('/local/templates/newgold_lux/fonts/ttf/InterTight-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Inter Tight';
	src: url('/local/templates/newgold_lux/fonts/ttf/InterTight-Italic.ttf') format('truetype');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'Inter Tight';
	src: url('/local/templates/newgold_lux/fonts/ttf/InterTight-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Inter Tight';
	src: url('/local/templates/newgold_lux/fonts/ttf/InterTight-MediumItalic.ttf') format('truetype');
	font-weight: 500;
	font-style: italic;
}

@font-face {
	font-family: 'Inter Tight';
	src: url('/local/templates/newgold_lux/fonts/ttf/InterTight-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Inter Tight';
	src: url('/local/templates/newgold_lux/fonts/ttf/InterTight-BoldItalic.ttf') format('truetype');
	font-weight: bold;
	font-style: italic;
}
*/
:root {
/* Warm ivory / carbon / rose-gold */
	--bg: #f6f2ed;
	--bg-card: #fdfbf7;
	--bg-muted: #f0ebe3;
	--bg-tint: #faf4ee;

	--ink: #1a1613;
	--ink-2: #3a342e;
	--ink-3: #6b6259;
	--ink-4: #9a9187;
	--ink-5: #c7beb2;

	--rule: #e4ddd1;
	--rule-soft: #efe9dd;
	--rule-strong: #d6ccbd;
	--rule-s:#ede6db;

	/* Neutral gray accent */
	--accent: oklch(0.52 0 0);
	--accent-2: oklch(0.40 0 0);
	--accent-soft: oklch(0.95 0 0);
	--accent-contrast: #fff;
	--on-ink: var(--bg);
	--on-light-pill: #1a1613;
	--on-success-soft: #1a1613;
	--order-panel-bg: rgba(253, 251, 247, 0.82);
	--order-panel-bg-soft: rgba(253, 251, 247, 0.78);
	--order-panel-rule: rgba(228, 221, 209, 0.78);
	--order-panel-shadow: 0 12px 24px -18px rgba(60, 40, 18, 0.22);
	--order-panel-shadow-hover: 0 18px 34px -26px rgba(60, 40, 18, 0.28);
	--lux-toast-bg: #1a1613;
	--lux-toast-text: #f6f2ed;
	--lux-toast-shadow: 0 18px 40px -16px rgba(0, 0, 0, 0.4);
	--accent-shadow: oklch(0.52 0 0 / 0.22);
	--logo-color: #000;

	--success: oklch(0.55 0.09 150);
	--success-soft: oklch(0.96 0.03 150);

	--star: oklch(0.78 0.13 80);

	--gold-deep: oklch(0.68 0.14 75);
	--danger: oklch(0.55 0.18 25);
	--shadow-soft: 0 12px 24px -18px color-mix(in oklch, var(--ink) 14%, transparent);
	--title-display: clamp(32px, 3.6vw, 52px);
  --title-display-mobile: 28px;
	--accent-shadow: color-mix(in oklch, var(--accent) 22%, transparent);
	--warn: oklch(0.78 0.13 80);
	--danger-soft: oklch(0.95 0.04 25);

	--swatch-red: linear-gradient(135deg, #d4a090 0%, #e8b8a8 30%, #fae0d4 55%, #e0a898 80%, #a06a58 100%);
	--swatch-yellow: linear-gradient(135deg, #b89858 0%, #e4c890 28%, #fdefc4 52%, #dcbc78 78%, #8a6828 100%);
	--swatch-white: linear-gradient(135deg, #9ba0a4 0%, #bfc3c6 30%, #f0f0f0 55%, #c2c5c6 80%, #55595a 100%);
	--swatch-rose: linear-gradient(135deg, #e2b5a8 0%, #cc9388 55%, #b67968 100%);

	--serif: 'Cormorant Garamond', 'Times New Roman', serif;
	--sans: 'Inter Tight', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--mono: 'JetBrains Mono', ui-monospace, monospace;

	--r-xs: 4px;
	--r-sm: 6px;
	--r-md: 10px;
	--r-lg: 14px;
	--r-xl: 20px;

	--t: 0.24s cubic-bezier(.2,.7,.2,1);
	--t-slow: 0.5s cubic-bezier(.2,.7,.2,1);
}

/* ========== RESET & BASE ========== */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
	scroll-behavior: smooth;
	overflow-x: clip;
}
body {
	font-family: var(--sans);
	color: var(--ink-2);
	background: var(--bg);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: 'ss01','cv11','tnum';
	font-size: 14px;
	overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: inherit; color: inherit; background: none; border: none; }
img, svg { display: block; max-width: 100%; }

/* Subtle paper grain on body */
body::before {
	content: '';
	position: fixed; inset: 0;
	pointer-events: none;
	background-image:
	radial-gradient(circle at 20% 10%, rgba(199,175,142,0.06), transparent 40%),
	radial-gradient(circle at 80% 90%, rgba(199,175,142,0.05), transparent 40%);
	z-index: 0;
}

.container {
	position: relative; z-index: 1;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 28px 64px;
}

/* ─────────────────────────────────────────────────────────────
   ANNOUNCE BAR
───────────────────────────────────────────────────────────── */
.hdr-announce {
	position: relative;
	background: var(--ink);
	color: var(--ink-5);
	overflow: hidden;
	max-height: 40px;
	transition: max-height 0.4s cubic-bezier(.2,.7,.2,1);
}
.hdr-announce-inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 28px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.hdr-announce-text {
	font-size: 11.5px;
	letter-spacing: 0.08em;
	font-family: var(--sans);
	font-weight: 400;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: flex;
	align-items: center;
	gap: 10px;
}
.hdr-announce-dot {
	display: inline-block;
	width: 5px; height: 5px;
	border-radius: 50%;
	background: var(--accent);
	flex-shrink: 0;
	animation: hdr-pulse 2.4s ease-in-out infinite;
}
@keyframes hdr-pulse {
	0%,100% { opacity: 1; transform: scale(1); }
	50%      { opacity: 0.4; transform: scale(0.7); }
}
.hdr-announce-close {
	position: absolute;
	right: 16px; top: 50%;
	transform: translateY(-50%);
	width: 28px; height: 28px;
	display: flex; align-items: center; justify-content: center;
	background: none; border: none; cursor: pointer;
	color: var(--ink-4);
	transition: color var(--t);
}
.hdr-announce-close:hover { color: var(--ink-5); }
.hdr-announce-close svg { width: 14px; height: 14px; }

/* ─────────────────────────────────────────────────────────────
   HEADER SHELL
───────────────────────────────────────────────────────────── */
#site-header-root {
	position: sticky;
	top: 0;
	z-index: 500;
	--hdr-hide-offset: 112px; /* будет переопределяться JS под реальную высоту */
	transition: transform 0.3s ease;
}
#site-header-root.luxh2-demo {
	--hdr-hide-offset: 0;
	transition: none;
}
#site-header-root.luxh2-demo.site-header--hidden {
	transform: none;
}
.site-header--hidden{
	transform: translateY(calc(-1 * var(--hdr-hide-offset)));
}
.hdr {
	background: #fffcf8;
	border-bottom: 1px solid var(--rule);
	box-shadow:
		0 30px 70px rgba(103, 79, 54, 0.08),
		0 8px 24px rgba(103, 79, 54, 0.04),
		inset 0 1px 0 rgba(255, 255, 255, 0.86);
	transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
.hdr--sticky {
	box-shadow:
		0 16px 34px rgba(67, 50, 31, 0.1),
		0 4px 16px rgba(103, 79, 54, 0.06),
		inset 0 1px 0 rgba(255, 255, 255, 0.86);
}
.hdr-inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 32px;
	min-height: 74px;
	height: auto;
	display: flex;
	align-items: center;
	gap: 20px;
}
.hdr-topmeta {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	flex-shrink: 1;
}
.hdr-service-nav {
	display: grid;
	gap: 2px;
}
.hdr-service-nav--top {
	position: relative;
	padding-left: 14px;
}
.hdr-service-nav--top::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 28px;
	background: rgba(218, 206, 192, 0.95);
	transform: translateY(-50%);
}
.hdr-service-nav a {
	font-size: 13px;
	color: var(--ink-3);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: color var(--t);
	white-space: nowrap;
}
.hdr-service-nav a:hover {
	color: var(--ink);
}
.hdr-utility-cluster{
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}
.hdr-utility-slot{
	display: flex;
	align-items: center;
	min-width: 0;
}
.hdr-utility-slot--inner{
	margin-left: 14px;
	flex: 1;
	justify-content: flex-end;
}
.hdr-utility-slot--nav,
.hdr-utility-slot--below,
.hdr-utility-slot--mobile{
	display: none;
}
.hdr[data-utility-placement="nav"] .hdr-utility-slot--nav{
	display: flex;
	margin-left: auto;
}
.hdr[data-utility-placement="nav"] .hdr-utility-slot--nav .hdr-search{
	flex: 0 1 360px;
	max-width: 360px;
	min-width: 220px;
	margin-left: 0;
}
.hdr[data-utility-placement="below"] .hdr-utility-slot--below{
	display: flex;
	max-width: 1600px;
	margin: 0 auto;
	padding: 3px 28px 5px;
	border-top: 1px solid var(--rule-soft);
}
.hdr[data-utility-placement="below"] .hdr-utility-slot--below .hdr-utility-cluster{
	width: 100%;
	justify-content: center;
	position: relative;
}
.hdr[data-utility-placement="below"] .hdr-search{
	flex: 0 1 40%;
	max-width: 640px;
	min-width: 260px;
	margin-left: 0;
}
.hdr[data-utility-placement="below"] .hdr-action-btn{
	padding-top: 6px;
	padding-bottom: 6px;
	gap: 2px;
}
.hdr[data-utility-placement="below"] .hdr-action-btn svg{
	width: 23px;
	height: 23px;
}
.hdr[data-utility-placement="below"] .hdr-actions{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

/* ─── Right side cluster ─── */
.hdr-right{
	margin-left: auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
	min-width: 0;
	flex-shrink: 0;
}

/* ─── Logo ─── */
.hdr-logo {
	display: flex;
	align-items: center;
	gap: 11px;
	flex-shrink: 0;
	text-decoration: none;
	color: var(--ink);
}
.hdr-logo-mark {
/*width: 34px; */
	height: 50px;
	display: flex; align-items: center; justify-content: center;
	color: var(--ink);
	flex-shrink: 0;
}
.hdr-logo-mark svg { width: 100%; height: 100%; }
.hdr-logo-text { display: flex; flex-direction: column; gap: 1px; }
.hdr-logo-name {
	font-family: var(--serif);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.32em;
	color: var(--ink);
	line-height: 1;
	text-transform: uppercase;
}
.hdr-logo-sub {
	font-size: 9px;
	letter-spacing: 0.22em;
	color: var(--ink-4);
	font-family: var(--sans);
	font-weight: 400;
	text-transform: uppercase;
}

/* ─── Search trigger ─── */
.hdr-search {
	flex: 1 1 540px;
	max-width: 620px;
	min-width: 240px;
	position: relative;
}
.hdr-search--inline { margin-left: 10px; }
.hdr-search-inline-form {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 38px;
	height: 38px;
	padding: 0 14px;
	border: 1px solid rgba(219, 208, 194, 0.96);
	border-radius: 999px;
	background: linear-gradient(180deg, var(--bg-card) 0%, #f5efe7 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
	transition: border-color var(--t), box-shadow var(--t), background var(--t);
}
.hdr-search-inline-form:focus-within {
	border-color: rgba(179, 58, 46, 0.7);
	box-shadow:
		0 0 0 2px rgba(179, 58, 46, 0.08),
		0 6px 14px rgba(179, 58, 46, 0.04),
		inset 0 1px 0 rgba(255, 255, 255, 0.94);
	background: var(--bg-card);
}
.hdr-search-inline-input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	width: 14px;
	height: 14px;
	margin-left: 6px;
	cursor: pointer;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b33a2e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='5' x2='19' y2='19'/><line x1='19' y1='5' x2='5' y2='19'/></svg>");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
}
.hdr-search-inline-submit {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--ink-4);
	border-radius: 999px;
	transition: color var(--t), background var(--t);
}
.hdr-search-inline-submit:hover {
	color: var(--ink-2);
	background: var(--bg-card);
}
.hdr-search-inline-input {
	flex: 1;
	width: 100%;
	min-width: 0;
	height: 100%;
	border: none;
	outline: none;
	background: transparent;
	font-family: var(--sans);
	font-size: 13.5px;
	color: var(--ink-2);
	letter-spacing: 0.01em;
}
.hdr-search-inline-input::placeholder { color: var(--ink-4); }
.hdr-search-trigger {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: none;
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--ink-3);
	cursor: pointer;
	transition: color var(--t), background var(--t), border-color var(--t);
}
.hdr-search-trigger:hover { background: none; }
.hdr-search-trigger:active { background: none; }
.hdr-search-trigger:focus-visible { border-color: var(--rule-strong); }
.hdr-search-trigger svg {
	width: 19px; height: 19px;
	flex-shrink: 0;
	stroke: currentColor; fill: none; stroke-width: 1.8;
}
.hdr-search-placeholder { flex: 1; }
.hdr-search-kbd {
	font-family: var(--mono);
	font-size: 10px;
	background: var(--bg-card);
	border: 1px solid var(--rule-strong);
	border-radius: 4px;
	padding: 1px 5px;
	color: var(--ink-4);
	flex-shrink: 0;
}

/* ─── Search panel overlay ─── */
.hdr-search-panel {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	left: auto;
	width: min(520px, calc(100vw - 56px));
	background: var(--bg-card);
	border: 1px solid var(--rule);
	border-radius: var(--r-lg);
	box-shadow: 0 16px 48px -12px rgba(26,22,19,.16);
	padding: 16px;
	z-index: 600;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}
.hdr-search-panel:not([aria-hidden="true"]) {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.hdr-search-field-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--rule-strong);
	border-radius: var(--r-sm);
	padding: 0 12px;
	background: var(--bg-muted);
	transition: border-color var(--t);
}
.hdr-search-field-wrap:focus-within { border-color: var(--accent); }
.hdr-search-submit{
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--ink-4);
	border-radius: 8px;
	transition: color var(--t), background var(--t);
}
.hdr-search-submit:hover{ background: var(--bg-tint); color: var(--ink-2); }
.hdr-search-submit:active{ background: var(--bg-muted); }
.hdr-search-submit:focus-visible{ outline: none; box-shadow: 0 0 0 3px var(--accent-soft); }
.hdr-search-icon { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.hdr-search-input {
	flex: 1;
	height: 44px;
	background: none;
	border: none;
	outline: none;
	font-size: 14px;
	font-family: var(--sans);
	color: var(--ink);
	letter-spacing: 0.01em;
}
.hdr-search-input::placeholder { color: var(--ink-4); }
.hdr-search-clear {
	width: 24px; height: 24px;
	display: flex; align-items: center; justify-content: center;
	background: none; border: none; cursor: pointer;
	color: var(--ink-4); border-radius: 4px;
	transition: color var(--t), background var(--t);
	flex-shrink: 0;
}
.hdr-search-clear:hover { color: var(--ink-2); background: var(--bg-muted); }
.hdr-search-clear svg { width: 13px; height: 13px; }

@media (min-width: 1101px) {
	.hdr-inner {
		display: grid;
		grid-template-columns: minmax(220px, 1fr) auto minmax(360px, 1fr);
		grid-template-areas: "topmeta logo utility";
		align-items: center;
		gap: 20px;
	}
	.hdr-topmeta {
		grid-area: topmeta;
		justify-self: start;
	}
	.hdr-logo {
		grid-area: logo;
		justify-self: center;
	}
	.hdr-logo-mark {
		width: 210px;
		height: 56px;
	}
	.hdr-right {
		display: contents;
	}
	.hdr-utility-slot--inner {
		grid-area: utility;
		margin-left: 0;
		width: 100%;
		justify-self: end;
	}
	.hdr[data-utility-placement="inner"] .hdr-utility-slot--inner .hdr-utility-cluster {
		width: 100%;
		justify-content: flex-end;
	}
	.hdr[data-utility-placement="inner"] .hdr-search {
		flex-basis: 455px;
		max-width: 520px;
		margin-left: 0;
	}
}

.hdr-search-hints { margin-top: 14px; }
.hdr-search-hint-label {
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-4);
	font-family: var(--sans);
	margin-bottom: 10px;
	display: block;
}
.hdr-search-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.hdr-search-chip {
	display: inline-flex;
	padding: 5px 12px;
	background: var(--bg-muted);
	border: 1px solid var(--rule);
	border-radius: 100px;
	font-size: 12px;
	color: var(--ink-3);
	font-family: var(--sans);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: background var(--t), border-color var(--t), color var(--t);
}
.hdr-search-chip:hover {
	background: var(--bg-tint);
	border-color: var(--rule-strong);
	color: var(--ink);
}

.hdr-search-backdrop {
	position: fixed; inset: 0; z-index: 580;
	background: transparent;
	display: none;
}
.hdr-search-backdrop--on { display: block; }

/* ─── Phone ─── */
.hdr-contacts { flex-shrink: 0; }
.hdr-phone {
	display: flex;
	align-items: center;
	gap: 9px;
	text-decoration: none;
	color: var(--ink-2);
	transition: color var(--t);
}
.hdr-phone:hover { color: var(--ink); }
.hdr-phone svg {
	width: 17px; height: 17px;
	fill: none; stroke: currentColor; stroke-width: 1.6;
	flex-shrink: 0;
	color: var(--ink-4);
}
.hdr-phone-wrap { display: flex; flex-direction: column; gap: 1px; }
.hdr-phone-num {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1;
	font-family: var(--sans);
}
.hdr-phone-note {
	font-size: 10px;
	color: var(--ink-4);
	letter-spacing: 0.04em;
	font-family: var(--sans);
}

/* ─── Icon actions ─── */
.hdr-actions {
	display: flex;
	align-items: center;
	gap: 2px;
	flex-shrink: 0;
}
.hdr-action-btn {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 8px 10px;
	border-radius: var(--r-sm);
	color: var(--ink-3);
	text-decoration: none;
	font-family: var(--sans);
	font-size: 10px;
	letter-spacing: 0.04em;
	transition: color var(--t), background var(--t);
	background: none; border: none; cursor: pointer;
}
.hdr-action-btn:hover { color: var(--ink); background: var(--bg-muted); }
.hdr-action-btn svg {
	width: 20px; height: 20px;
	fill: none; stroke: currentColor; stroke-width: 1.5;
}
.hdr-action-label { line-height: 1; }
.hdr-action-badge {
	position: absolute;
	top: 5px; right: 5px;
	min-width: 16px; height: 16px;
	background: var(--accent);
	color: #fff;
	font-size: 9px;
	font-weight: 500;
	border-radius: 100px;
	display: flex; align-items: center; justify-content: center;
	padding: 0 3px;
	font-family: var(--mono);
	line-height: 1;
	border: 1.5px solid var(--bg-card);
}
.hdr-cart-icon-wrap,
.hdr-fav-icon-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* Cart / favorites: jewel-chip badge on the icon */
.hdr-cart-count,
.hdr-fav-count {
	position: absolute;
	top: -7px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	display: none;
	align-items: center;
	justify-content: center;
	font-family: var(--mono);
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--bg-card);
	border-radius: 100px;
	border: 1.5px solid color-mix(in oklch, var(--bg-card) 88%, transparent);
	background: linear-gradient(
		145deg,
		color-mix(in oklch, var(--accent-2) 92%, #1a1613) 0%,
		var(--accent) 45%,
		color-mix(in oklch, var(--accent) 75%, #fff) 100%
	);
	box-shadow:
		0 1px 0 rgba(255,255,255,0.35) inset,
		0 6px 14px -6px color-mix(in oklch, var(--accent-2) 45%, transparent),
		0 0 0 1px color-mix(in oklch, var(--accent-2) 22%, transparent);
	pointer-events: none;
	z-index: 2;
}
.hdr-fav-btn--has-items .hdr-fav-icon-wrap svg {
	fill: color-mix(in oklch, var(--accent) 78%, var(--accent-2));
	stroke: color-mix(in oklch, var(--accent-2) 40%, #1a1613);
	stroke-width: 1.35;
	filter: drop-shadow(0 1px 2px color-mix(in oklch, var(--accent) 35%, transparent));
}
.hdr-fav-btn--has-items {
	color: var(--accent);
}
.hdr-cart-count--pulse,
.hdr-fav-count--pulse {
	animation: hdr-cart-badge-pop 0.55s cubic-bezier(.2,.85,.2,1);
}
@keyframes hdr-cart-badge-pop {
	0%   { transform: scale(0.65); opacity: 0; }
	55%  { transform: scale(1.12); opacity: 1; }
	100% { transform: scale(1); }
}

/* ═══════════════════════ NAV ═══════════════════════ */
.hdr-nav {
	border-top: 1px solid rgba(218, 206, 192, 0.82);
	background: #fffcf8;
}
.hdr-nav-inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 32px;
	min-height: 46px;
	display: flex;
	align-items: center;
	gap: 16px;
}
.hdr-nav-list {
	display: flex;
	align-items: center;
	justify-content: center;
	list-style: none;
	gap: 10px;
	margin: 0; padding: 0;
	flex: 1;
}
.hdr-nav-item { position: relative; }
.hdr-nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 1px;
	padding: 2px 0;
	margin: 13px 5px;
	font-size: 14px;
	font-weight: 400;
	color: var(--ink-3);
	text-decoration: none;
	letter-spacing: 0.04em;
	font-family: var(--sans);
	background: none; border: none; cursor: pointer;
	border-bottom: none;
	transition: color var(--t);
	white-space: nowrap;
}
.hdr-nav-link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -7px;
	height: 2px;
	background: transparent;
	transition: background var(--t);
}
.hdr-nav-link:hover,
.hdr-nav-item.hdr-open > .hdr-nav-link { color: var(--ink); }
.hdr-nav-link:hover::after,
.hdr-nav-item.hdr-open > .hdr-nav-link::after { background: var(--accent); }
.hdr-nav-link--sale:hover::after,
.hdr-nav-item.hdr-open > .hdr-nav-link--sale::after { background: #b33a2e; }

.hdr-nav-chevron {
	width: 12px; height: 12px;
	fill: none; stroke: currentColor; stroke-width: 2;
	transition: transform var(--t);
}
.hdr-nav-item.hdr-open .hdr-nav-chevron { transform: rotate(180deg); }

/* Планшет (горизонтальное меню, ≤1100): заметная стрелка у раскрывающихся пунктов */
@media (max-width: 1100px) and (min-width: 861px) {
	.hdr-nav-link{
		font-size: 14px;
		padding: 13px 14px;
	}
	.hdr-nav-item.hdr-has-panel > .hdr-nav-link--btn .hdr-nav-chevron {
		width: 14px;
		height: 14px;
		stroke-width: 2.2;
		opacity: 0.95;
		flex-shrink: 0;
	}
}

/* NEW badge */
.hdr-nav-link--new {
	color: var(--ink-3);
}
.hdr-nav-link--new::after {
	content: 'NEW';
	font-size: 8px;
	font-family: var(--sans);
	font-weight: 500;
	letter-spacing: 0.1em;
	background: var(--accent);
	color: var(--bg-card);
	padding: 1px 4px;
	border-radius: 3px;
	margin-left: 4px;
	vertical-align: middle;
}

/* SALE link */
.hdr-nav-link--sale {
	color: #b33a2e;
	font-weight: 500;
}
.hdr-nav-link--sale:hover { color: #b33a2e; }
.hdr-nav-item.hdr-open > .hdr-nav-link--sale,
.hdr-nav-link--sale:focus-visible {
	color: #b33a2e;
}
.hdr-nav-item.hdr-open > .hdr-nav-link--sale::after,
.hdr-nav-link--sale:hover::after {
	background: #b33a2e;
}
.hdr-nav-chevron {
	margin-left: -1px;
}

/* ─── Mega menu ─── */
.hdr-mega {
	position: absolute;
	top: 100%;
	left: -24px;
	background: var(--bg-card);
	border: 1px solid var(--rule);
	border-top: none;
	border-radius: 0 0 var(--r-lg) var(--r-lg);
	box-shadow: 0 20px 56px -16px rgba(26,22,19,.14);
	padding: 28px;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-8px);
	transition: opacity 0.22s ease, transform 0.22s ease;
	z-index: 400;
	min-width: 680px;
}
.hdr-nav-item.hdr-open .hdr-mega {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
@media (min-width: 1101px) {
	.hdr-nav-item:hover .hdr-mega {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}
}
.hdr-mega-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr) 180px;
	gap: 0 32px;
}
.hdr-mega-title {
	font-size: 9.5px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-4);
	font-family: var(--sans);
	font-weight: 500;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rule-soft);
}
.hdr-mega-links {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 9px;
}
.hdr-mega-links a {
	font-size: 13px;
	color: var(--ink-3);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: color var(--t), padding-left var(--t);
	display: block;
}
.hdr-mega-links a:hover { color: var(--ink); padding-left: 4px; }
.hdr-mega-all {
	font-size: 11.5px !important;
	color: var(--ink-4) !important;
	margin-top: 4px;
}
.hdr-mega-all:hover { color: var(--accent) !important; }

/* Mega promo card */
.hdr-mega-promo {
	background: var(--bg-muted);
	border: 1px solid var(--rule-soft);
	border-radius: var(--r-md);
	padding: 22px 18px;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
}
.hdr-mega-promo-gem {
	position: absolute;
	bottom: -20px; right: -20px;
	width: 90px; height: 90px;
	background: radial-gradient(circle at 40% 40%, rgba(210,190,160,.35) 0%, transparent 70%);
	border-radius: 50%;
	pointer-events: none;
}
.hdr-mega-promo-eyebrow {
	font-size: 9px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--ink-4);
	font-family: var(--sans);
	margin-bottom: 8px;
}
.hdr-mega-promo-title {
	font-family: var(--serif);
	font-size: 26px;
	font-weight: 400;
	font-style: italic;
	color: var(--ink);
	line-height: 1.15;
	margin-bottom: 8px;
}
.hdr-mega-promo-sub {
	font-size: 12px;
	color: var(--ink-4);
	line-height: 1.55;
	margin-bottom: 16px;
	flex: 1;
}
.hdr-mega-promo-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	letter-spacing: 0.08em;
	color: var(--ink-2);
	text-decoration: none;
	border-bottom: 1px solid var(--rule-strong);
	padding-bottom: 1px;
	transition: color var(--t), border-color var(--t);
	align-self: flex-start;
	font-family: var(--sans);
}
.hdr-mega-promo-cta:hover { color: var(--accent); border-color: var(--accent); }

/* ─── Simple dropdown ─── */
.hdr-drop {
	position: absolute;
	top: 100%;
	left: -4px;
	background: var(--bg-card);
	border: 1px solid var(--rule);
	border-top: none;
	border-radius: 0 0 var(--r-md) var(--r-md);
	box-shadow: 0 14px 40px -10px rgba(26,22,19,.12);
	padding: 8px 0;
	list-style: none;
	min-width: 210px;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease;
	z-index: 400;
}
.hdr-nav-item.hdr-open .hdr-drop {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
@media (min-width: 1101px) {
	.hdr-nav-item:hover .hdr-drop {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}
}
.hdr-drop a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 18px;
	font-size: 13px;
	color: var(--ink-3);
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: background var(--t), color var(--t), padding-left var(--t);
	font-family: var(--sans);
}
.hdr-drop a:hover { background: var(--bg-muted); color: var(--ink); padding-left: 22px; }
.hdr-drop-swatch {
	display: inline-block;
	width: 16px; height: 16px;
	border-radius: 50%;
	flex-shrink: 0;
	border: 1px solid rgba(0,0,0,.08);
}

/* ─── Adaptive panel dropdown ─── */
.hdr-panel {
	position: absolute;
	top: 100%;
	left: 0;
	background: var(--bg-card);
	border: 1px solid var(--rule);
	border-top: none;
	border-radius: 0 0 var(--r-lg) var(--r-lg);
	box-shadow: 0 20px 56px -16px rgba(26,22,19,.14);
	padding: 14px 14px 16px;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-8px);
	transition: opacity 0.22s ease, transform 0.22s ease;
	z-index: 420;
	--menu-cols: 1;
	--menu-col-width: 214px;
	--menu-col-gap: 10px;
	width: min(
		calc((var(--menu-cols, 1) * var(--menu-col-width)) + ((var(--menu-cols, 1) - 1) * var(--menu-col-gap)) + 28px),
		calc(100vw - 56px)
	);
	min-width: min(248px, calc(100vw - 56px));
	max-width: calc(100vw - 56px);
}
.hdr-nav-item.hdr-open > .hdr-panel {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
@media (min-width: 1101px) {
	.hdr-nav-item:hover > .hdr-panel {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}
}
.hdr-panel-grid {
	display: grid;
	grid-template-columns: repeat(var(--menu-cols, 1), minmax(180px, 1fr));
	gap: 0 var(--menu-col-gap);
}
.hdr-panel-group { padding: 4px 6px; }
.hdr-panel[data-tier="compact"] .hdr-panel-links a { font-size: 12.5px; }
.hdr-panel[data-tier="balanced"] .hdr-panel-links a { font-size: 12.8px; }
.hdr-panel-title {
	display: inline-flex;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-4);
	font-family: var(--sans);
	font-weight: 600;
	margin-bottom: 10px;
}
.hdr-panel-links {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.hdr-panel-links a {
	display: block;
	padding: 5px 0;
	font-size: 13px;
	color: var(--ink-3);
	letter-spacing: 0.02em;
	transition: color var(--t), transform var(--t);
	line-height: 1.35;
}
.hdr-panel-links a:hover {
	color: var(--ink);
	transform: translateX(2px);
}
.hdr-sub-toggle {
	display: none;
}
.hdr-sub-list {
	list-style: none;
	display: none;
}
.hdr-sub-list .hdr-sub-list-heading {
	list-style: none;
	padding: 10px 0 4px;
	margin: 0;
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-4);
	font-family: var(--sans);
	font-weight: 600;
	pointer-events: none;
}
.hdr-sub-list .hdr-sub-list-heading:first-child {
	padding-top: 4px;
}
.hdr-sub-list .hdr-sub-list-heading span {
	display: block;
}
.hdr-menu-link--all {
	font-weight: 600;
	color: var(--accent) !important;
}
.hdr-panel-grid--tree .hdr-panel-group--tree-all {
	grid-column: 1 / -1;
}

/* ─── Burger (mobile) ─── */
/* Блоки «Главная / Каталог / меню футера» в drawer — только при ширине с бургером (≤860px) */
@media (min-width: 861px) {
	.hdr-nav-item--mobile-only {
		display: none !important;
	}
}
.hdr-burger {
	display: none;
	flex-direction: column;
	gap: 4px;
	padding: 0;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, var(--bg-card) 0%, var(--bg-muted) 100%);
	border: 1px solid var(--rule-strong);
	border-radius: 999px;
	cursor: pointer;
	box-shadow: 0 10px 22px -16px rgba(26,22,19,.28);
	transition: border-color var(--t), background var(--t), transform var(--t), box-shadow var(--t);
}
.hdr-burger:hover {
	background: var(--bg-card);
	border-color: var(--accent);
	transform: translateY(-1px);
	box-shadow: 0 14px 26px -16px rgba(26,22,19,.36);
}
.hdr-burger span {
	display: block;
	width: 18px; height: 1.5px;
	background: var(--ink-3);
	border-radius: 2px;
	transition: transform 0.3s ease, opacity 0.3s ease;
}
.hdr-burger--open span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.hdr-burger--open span:nth-child(2) { opacity: 0; }
.hdr-burger--open span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

/* ─── Mobile overlay ─── */
.hdr-mobile-overlay {
	display: none;
	position: fixed; inset: 0; z-index: 450;
	background: rgba(26,22,19,.52);
	backdrop-filter: blur(4px);
}
.hdr-mobile-overlay--on { display: block; }

/* ================================================================
   FOOTER
================================================================ */
.ftr { background: var(--bg-card); border-top: 1px solid var(--rule); }

/* ─── Upper: newsletter + USP ─── */
.ftr-upper {
	background: var(--bg-muted);
	border-bottom: 1px solid var(--rule-soft);
}
.ftr-upper-inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 52px 28px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	align-items: start;
}

/* Newsletter */
.ftr-newsletter {}
.ftr-newsletter-eyebrow {
	font-size: 9.5px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--ink-4);
	font-family: var(--sans);
	margin-bottom: 12px;
}
.ftr-newsletter-title {
	font-family: var(--serif);
	font-size: 30px;
	font-weight: 400;
	color: var(--ink);
	line-height: 1.2;
	margin-bottom: 12px;
}
.ftr-newsletter-title em { font-style: italic; font-weight: 400; color: var(--accent-2);}
.ftr-newsletter-sub {
	font-size: 13px;
	color: var(--ink-4);
	line-height: 1.6;
	margin-bottom: 22px;
	max-width: 320px;
}
.ftr-nl-form {}
.ftr-nl-field {
	display: flex;
	border: 1px solid var(--rule-strong);
	border-radius: var(--r-md);
	overflow: hidden;
	background: var(--bg-card);
	transition: border-color var(--t), box-shadow var(--t);
}
.ftr-nl-field:focus-within {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px var(--accent-soft);
}
.ftr-nl-input {
	flex: 1;
	height: 48px;
	padding: 0 16px;
	background: none;
	border: none;
	outline: none;
	font-size: 13.5px;
	font-family: var(--sans);
	color: var(--ink);
	letter-spacing: 0.01em;
}
.ftr-nl-input::placeholder { color: var(--ink-5); }
.ftr-nl-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 20px;
	background: var(--ink);
	color: var(--bg-card);
	border: none;
	cursor: pointer;
	font-size: 12px;
	font-family: var(--sans);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: background var(--t);
	white-space: nowrap;
}
.ftr-nl-btn:hover { background: var(--ink-2); }
.ftr-nl-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.ftr-nl-note {
	margin-top: 10px;
	font-size: 11px;
	color: var(--ink-5);
	font-family: var(--sans);
	letter-spacing: 0.01em;
}
.ftr-nl-note a { color: var(--ink-4); border-bottom: 1px solid var(--rule); }
.ftr-nl-success {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	font-size: 13px;
	color: var(--success);
	opacity: 0;
	transition: opacity 0.4s ease;
	font-family: var(--sans);
}
.ftr-nl-success svg { width: 18px; height: 18px; flex-shrink: 0; }
.ftr-nl-success--show { opacity: 1; }

/* USP grid */
.ftr-usp {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px 32px;
}
.ftr-usp-item { display: flex; align-items: flex-start; gap: 13px; }
.ftr-usp-icon {
	width: 36px; height: 36px;
	background: var(--bg-card);
	border: 1px solid var(--rule);
	border-radius: var(--r-md);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
	color: var(--ink-3);
}
.ftr-usp-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ftr-usp-name {
	font-size: 13px;
	font-weight: 500;
	color: var(--ink-2);
	font-family: var(--sans);
	margin-bottom: 4px;
	letter-spacing: 0.02em;
}
.ftr-usp-text {
	font-size: 12px;
	color: var(--ink-4);
	line-height: 1.55;
	font-family: var(--sans);
}

/* ─── Main links grid ─── */
.ftr-main {
	border-bottom: 1px solid var(--rule-soft);
}
.ftr-main-inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 52px 28px;
	display: grid;
	/* Brand + 4 menu columns on desktop in one row */
	grid-template-columns: minmax(280px, 1.6fr) repeat(4, minmax(140px, 1fr));
	gap: 28px;
}
.ftr-col--brand { padding-right: 20px; }

.ftr-brand {
	display: flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
	color: var(--ink);
	margin-bottom: 16px;
}
.ftr-brand-mark { /*width: 30px; */height: 40px; color: var(--ink); flex-shrink: 0; }
.ftr-brand-mark svg { width: 100%; height: 100%; }
.ftr-brand-name {
	font-family: var(--serif);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.3em;
	color: var(--ink);
	text-transform: uppercase;
	line-height: 1;
}
.ftr-brand-sub {
	font-size: 9px;
	letter-spacing: 0.2em;
	color: var(--ink-4);
	text-transform: uppercase;
	font-family: var(--sans);
}
.ftr-brand-desc {
	font-size: 12.5px;
	color: var(--ink-4);
	line-height: 1.7;
	margin-bottom: 22px;
	max-width: 280px;
}

.ftr-contact { display: flex; flex-direction: column; gap: 4px; margin-bottom: 22px; }
.ftr-contact-phone {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 500;
	color: var(--ink-2);
	text-decoration: none;
	font-family: var(--sans);
	transition: color var(--t);
}
.ftr-contact-phone:hover { color: var(--ink); }
.ftr-contact-phone svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; color: var(--ink-4); }
.ftr-contact-note {
	font-size: 11px;
	color: var(--ink-5);
	letter-spacing: 0.04em;
	font-family: var(--sans);
	padding-left: 23px;
}
.ftr-contact-email {
	font-size: 12.5px;
	color: var(--ink-4);
	text-decoration: none;
	padding-left: 23px;
	border-bottom: 1px solid transparent;
	transition: color var(--t), border-color var(--t);
}
.ftr-contact-email:hover { color: var(--ink-2); border-bottom-color: var(--rule-strong); }

.ftr-socials { display: flex; gap: 8px; }
.ftr-social {
	width: 34px; height: 34px;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--rule);
	border-radius: var(--r-sm);
	color: var(--ink-4);
	text-decoration: none;
	transition: border-color var(--t), color var(--t), background var(--t);
}
.ftr-social:hover { border-color: var(--rule-strong); color: var(--ink-2); background: var(--bg-muted); }
.ftr-social svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: var(--accent); /*currentColor;*/
	stroke-width: 1.4;
}
.ftr-social svg path {
	fill: var(--accent);
	transition: fill 0.2s;
}
/* Links columns */
.ftr-col-title {
	font-size: 9.5px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--ink-4);
	font-family: var(--sans);
	font-weight: 500;
	margin-bottom: 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--rule-soft);
}
.ftr-links {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.ftr-links a {
	font-size: 13px;
	color: var(--ink-4);
	text-decoration: none;
	letter-spacing: 0.02em;
	font-family: var(--sans);
	transition: color var(--t), padding-left var(--t);
	display: block;
}
.ftr-links a:hover { color: var(--ink-2); padding-left: 4px; }
.ftr-link--sale {
	font-weight: 500;
	color: #b33a2e !important;
}

/* ─── Bottom bar ─── */
.ftr-bottom {
	background: var(--bg-muted);
}
.ftr-bottom-inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 18px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}
.ftr-copy {
	font-size: 11.5px;
	color: var(--ink-5);
	font-family: var(--sans);
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.ftr-copy a { color: var(--ink-5); border-bottom: 1px solid transparent; transition: color var(--t), border-color var(--t); }
.ftr-copy a:hover { color: var(--ink-4); border-bottom-color: var(--rule); }
.ftr-copy-sep { color: var(--rule-strong); }
.ftr-policy {
	display: flex;
	gap: 20px;
	list-style: none;
	flex-wrap: wrap;
}
.ftr-policy a {
	font-size: 11.5px;
	color: var(--ink-5);
	text-decoration: none;
	font-family: var(--sans);
	transition: color var(--t);
}
.ftr-policy a:hover { color: var(--ink-4); }
.ftr-right {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.ftr-payments { display: flex; gap: 5px; flex-wrap: wrap; }
.ftr-pay {
	border: 1px solid var(--rule);
	border-radius: var(--r-xs);
	padding: 3px 7px;
	font-size: 10px;
	color: var(--ink-5);
	letter-spacing: 0.06em;
	font-family: var(--sans);
	background: var(--bg-card);
}
.ftr-probe {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	color: var(--ink-5);
	font-family: var(--sans);
	letter-spacing: 0.04em;
}
.ftr-probe svg { width: 14px; height: 14px; flex-shrink: 0; }

.ftr-tweak-btn{
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--rule);
	border-radius: var(--r-sm);
	background: var(--bg-card);
	color: var(--ink-4);
	transition: border-color var(--t), color var(--t), background var(--t), box-shadow var(--t);
}
.ftr-tweak-btn:hover{
	border-color: var(--rule-strong);
	color: var(--ink-2);
	background: var(--bg-muted);
}
.ftr-tweak-btn:focus-visible{
	outline: none;
	box-shadow: 0 0 0 3px var(--accent-soft);
	border-color: var(--accent);
}
.ftr-tweak-btn svg{ width: 16px; height: 16px; flex-shrink: 0; }

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width: 1100px) {
	.hdr-contacts { display: none; }
	.hdr-right { gap: 12px; }
	.hdr[data-utility-placement="below"] .hdr-utility-slot--below{
		display: flex;
		max-width: 1600px;
		margin: 0 auto;
		padding: 3px 28px 5px;
		border-top: 1px solid var(--rule-soft);
	}
	.hdr[data-utility-placement="below"] .hdr-utility-slot--below .hdr-utility-cluster{
		width: 100%;
		justify-content: center;
	}
	.hdr[data-utility-placement="below"] .hdr-search{
		flex: 0 1 40%;
		max-width: 440px;
		min-width: 240px;
		margin-left: 0;
	}
	.hdr-mega-inner { grid-template-columns: repeat(3, 1fr) 160px; }

	/* Footer: on tablets place menu columns in 2 rows */
	.ftr-upper-inner { grid-template-columns: 1fr; gap: 36px; }
	.ftr-usp { grid-template-columns: 1fr; }
	.ftr-main-inner { grid-template-columns: 1fr 1fr; }
	.ftr-col--brand { grid-column: 1 / -1; padding-right: 0; }
}

@media (max-width: 1100px) and (min-width: 861px) {
	.hdr-right {
		flex: 1 1 auto;
		margin-left: 20px;
	}
	.hdr-utility-slot--inner {
		flex: 1 1 auto;
		width: 100%;
		margin-left: 0;
	}
	.hdr[data-utility-placement="inner"] .hdr-utility-slot--inner .hdr-utility-cluster {
		width: 100%;
		justify-content: flex-end;
	}
	.hdr[data-utility-placement="inner"] .hdr-search {
		flex: 1 1 auto;
		max-width: none;
		min-width: 0;
		margin-left: 0;
	}
}

@media (max-width: 1100px) and (min-width: 861px) {
	.hdr-topmeta {
		flex: 1 1 auto;
		min-width: 0;
	}
	.hdr-service-nav a {
		font-size: 12px;
	}
}

@media (max-width: 860px) {
	.hdr-topmeta {
		display: none;
	}
	.hdr-inner {
		gap: 8px 10px;
		height: auto;
		padding-top: 8px;
		padding-bottom: 8px;
		padding-inline: 18px;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"logo logo"
			"right mobile";
		align-items: center;
	}
	.hdr-logo{
		grid-area: logo;
		margin: 0 auto;
	}
	.hdr-logo-mark{
		height: 46px;
	}
	.hdr-right{
		grid-area: right;
		margin-left: 0;
		gap: 0;
		justify-content: flex-start;
	}
	.hdr-utility-slot--inner{ display: none; }
	.hdr-utility-slot--mobile{
		grid-area: mobile;
		display: flex;
		min-width: 0;
		justify-content: flex-end;
	}
	.hdr[data-utility-placement="mobile"] .hdr-utility-slot--mobile .hdr-utility-cluster{
		display: flex;
		align-items: center;
		gap: 8px;
		width: auto;
		margin-left: auto;
	}
	.hdr[data-utility-placement="mobile"] .hdr-search{
		max-width: 240px;
		min-width: 140px;
		margin-left: 0;
	}
	.hdr[data-utility-placement="mobile"] .hdr-search-inline-form{
		height: 38px;
		padding: 0 9px;
	}
	.hdr[data-utility-placement="mobile"] .hdr-actions{
		gap: 0;
	}
	.hdr[data-utility-placement="mobile"] .hdr-action-btn{
		padding: 7px 8px;
	}
	.hdr[data-utility-placement="mobile"] .hdr-action-btn svg{
		width: 18px;
		height: 18px;
	}
	.hdr[data-utility-placement="mobile"] .hdr-action-badge,
	.hdr[data-utility-placement="mobile"] .hdr-cart-count,
	.hdr[data-utility-placement="mobile"] .hdr-fav-count {
		top: -7px;
		right: -9px;
		min-width: 15px;
		height: 15px;
		font-size: 8px;
		padding: 0 3px;
	}
	.hdr-nav-inner{
		/*padding-top: 8px;
		padding-bottom: 8px;*/
		gap: 10px;
	}
	.hdr[data-utility-placement="nav"] .hdr-utility-slot--nav{
		display: flex;
		margin-left: auto;
	}
	.hdr[data-utility-placement="nav"] .hdr-utility-slot--nav .hdr-utility-cluster{
		gap: 8px;
	}
	.hdr[data-utility-placement="nav"] .hdr-search{
		max-width: 240px;
		min-width: 140px;
		margin-left: 0;
	}
	.hdr[data-utility-placement="nav"] .hdr-search-inline-form{
		height: 38px;
		padding: 0 9px;
	}
	.hdr[data-utility-placement="nav"] .hdr-actions{
		gap: 0;
	}
	.hdr[data-utility-placement="nav"] .hdr-action-btn{
		padding: 7px 8px;
	}
	.hdr[data-utility-placement="nav"] .hdr-action-btn svg{
		width: 18px;
		height: 18px;
	}
	/* Бэйджи: вынесены за контур иконки, не перекрывают штрихи */
	.hdr[data-utility-placement="nav"] .hdr-action-badge,
	.hdr[data-utility-placement="nav"] .hdr-cart-count,
	.hdr[data-utility-placement="nav"] .hdr-fav-count {
		top: -7px;
		right: -9px;
		min-width: 15px;
		height: 15px;
		font-size: 8px;
		padding: 0 3px;
	}
	.hdr-action-label { display: none; }
	.hdr-search-kbd { display: none; }

	.hdr-burger { display: flex; }
	.hdr-nav-list {
		position: fixed;
		top: 0; left: 0;
		width: 90vw; max-width: 390px;
		height: 100vh;
		background:
			radial-gradient(circle at 90% 10%, rgba(197,142,110,0.10), transparent 40%),
			linear-gradient(180deg, var(--bg-card) 0%, var(--bg-muted) 100%);
		border-right: 1px solid var(--rule-strong);
		border-radius: 0 20px 20px 0;
		flex-direction: column;
		align-items: stretch;
		padding: 12px 14px 28px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		transform: translateX(-100%);
		transition: transform 0.34s cubic-bezier(.2,.7,.2,1);
		z-index: 460;
		box-shadow: 16px 0 70px rgba(26,22,19,.22);
	}
	.hdr-nav-list--dragging {
		transition: none !important;
	}
	.hdr-nav-item.hdr-nav-drawer-top {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 10px 4px 14px 6px;
		margin: 0 0 4px;
		/*position: sticky;*/
		top: 0;
		z-index: 6;
		flex-shrink: 0;
		/*background:
			linear-gradient(180deg, var(--bg-card) 70%, rgba(253,251,247,0)),
			var(--bg-card);*/
		border-bottom: 1px solid var(--rule-soft);
		list-style: none;
	}
	.hdr-nav-drawer-title {
		font-size: 11px;
		letter-spacing: 0.22em;
		text-transform: uppercase;
		color: var(--ink-4);
		font-family: var(--sans);
		font-weight: 500;
	}
	.hdr-nav-drawer-close {
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		padding: 0;
		margin: 0;
		border: 1px solid var(--rule-strong);
		border-radius: 50%;
		background: var(--bg-muted);
		color: var(--ink-3);
		cursor: pointer;
		transition: color var(--t), background var(--t), border-color var(--t), transform var(--t);
		box-shadow: 0 6px 16px -10px rgba(26,22,19,.25);
	}
	.hdr-nav-drawer-close:hover {
		color: var(--ink);
		background: var(--bg-card);
		border-color: var(--accent);
	}
	.hdr-nav-drawer-close:active {
		transform: scale(0.96);
	}
	.hdr-nav-drawer-close:focus-visible {
		outline: none;
		box-shadow: 0 0 0 3px var(--accent-soft);
	}
	.hdr-nav-list--open { transform: translateX(0); }
	.hdr-nav-item { border-bottom: 1px solid var(--rule-soft); }
	.hdr-nav-link {
		display: flex;
		padding: 15px 14px;
		margin: 0;
		width: 100%;
		justify-content: space-between;
		font-size: 14px;
		letter-spacing: 0.07em;
		color: var(--ink-2);
		border-bottom: none;
		border-radius: var(--r-sm);
	}
	.hdr-nav-link::after {
		display: none;
	}
	.hdr-nav-link:hover {
		background: var(--bg-card);
		color: var(--ink);
	}
	/* Стрелка вправо → вниз при раскрытии: понятнее, что пункт раскрывается */
	.hdr-nav-item.hdr-has-panel > .hdr-nav-link--btn .hdr-nav-chevron {
		width: 15px;
		height: 15px;
		stroke-width: 2.25;
		flex-shrink: 0;
		opacity: 0.94;
		transform: rotate(-90deg);
		transition: transform 0.26s cubic-bezier(.2,.7,.2,1);
	}
	.hdr-nav-item.hdr-open > .hdr-nav-link--btn .hdr-nav-chevron {
		transform: rotate(0deg);
	}
	.hdr-panel,
	.hdr-mega,
	.hdr-drop {
		position: static;
		min-width: auto;
		max-width: none;
		width: auto;
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: none !important;
		box-shadow: none;
		border: none;
		border-radius: 0;
		padding: 4px 0 8px 8px;
		display: none;
		background: transparent;
	}
	.hdr-nav-item.hdr-open > .hdr-panel,
	.hdr-nav-item.hdr-open .hdr-mega,
	.hdr-nav-item.hdr-open .hdr-drop { display: block; }
	.hdr-panel-grid {
		display: block;
	}
	.hdr-panel-group {
		padding: 0;
	}
	.hdr-panel-title {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 10px 12px;
		margin-bottom: 0;
		color: var(--ink-3);
		letter-spacing: 0.12em;
	}
	.hdr-panel-links {
		padding: 0 0 4px 12px;
	}
	.hdr-panel-links a {
		padding: 8px 12px;
		border-radius: var(--r-xs);
		font-size: 13px;
	}
	.hdr-panel-links a:hover {
		transform: none;
		background: var(--bg-card);
	}
	.hdr-sub-toggle {
		display: flex;
		width: calc(100% - 12px);
		margin: 4px 0 4px 12px;
		padding: 8px 12px;
		border: 1px solid var(--rule-soft);
		border-radius: var(--r-xs);
		font-size: 12px;
		color: var(--ink-3);
		align-items: center;
		justify-content: space-between;
		background: var(--bg-tint);
	}
	.hdr-sub-toggle::after {
		content: '+';
		font-size: 16px;
		line-height: 1;
		color: var(--ink-4);
	}
	.hdr-sub-open > .hdr-sub-toggle::after { content: '−'; }
	.hdr-sub-list {
		padding: 2px 0 8px 24px;
		display: none;
	}
	.hdr-sub-open > .hdr-sub-list {
		display: block;
	}
	.hdr-sub-list a {
		display: block;
		padding: 7px 10px;
		font-size: 12.5px;
		color: var(--ink-3);
	}

	/* Разделитель; меню футера — как LuxMegaMenu: .hdr-has-panel + .hdr-panel */
	.hdr-nav-mobile-divider {
		list-style: none;
		border-bottom: none !important;
		height: 0;
		min-height: 0;
		margin: 12px 10px 14px;
		padding: 0;
		pointer-events: none;
	}
	.hdr-nav-mobile-divider::before {
		content: '';
		display: block;
		height: 1px;
		background: linear-gradient(90deg, transparent, var(--rule-strong) 15%, var(--rule-strong) 85%, transparent);
		opacity: 0.9;
	}
	.hdr-nav-item--mobile-only.hdr-has-panel > .hdr-panel .ftr-links {
		list-style: none;
		margin: 0;
		padding: 0 0 6px;
	}
	.hdr-nav-item--mobile-only.hdr-has-panel > .hdr-panel .ftr-links li {
		margin: 0;
		padding: 0;
		border-bottom: none;
	}
	.hdr-nav-item--mobile-only.hdr-has-panel > .hdr-panel .ftr-links a {
		display: block;
		padding: 8px 12px 8px 18px;
		font-size: 13px;
		letter-spacing: 0.04em;
		color: var(--ink-3);
		text-decoration: none;
		border-radius: var(--r-xs);
		transition: color var(--t), background var(--t);
	}
	.hdr-nav-item--mobile-only.hdr-has-panel > .hdr-panel .ftr-links a:hover {
		color: var(--ink);
		background: var(--bg-card);
	}
	.hdr-nav-item--mobile-only.hdr-has-panel > .hdr-panel .ftr-link--sale {
		color: #b33a2e;
		font-weight: 500;
	}

	/* Телефон и соцсети (как в футере), внизу drawer */
	.hdr-nav-mobile-contacts {
		border-bottom: none !important;
	}
	.hdr-nav-mobile-contacts-inner {
		padding: 6px 10px 12px;
	}
	.hdr-nav-mobile-contacts .ftr-contact {
		margin-bottom: 16px;
	}
	.hdr-nav-mobile-contacts .ftr-socials {
		flex-wrap: wrap;
	}

	.hdr-mega-inner { grid-template-columns: 1fr; gap: 0; }
	.hdr-mega-promo { display: none; }

}

/* Mobile: hide only logo row on scroll */
@media (max-width: 860px){
	.site-header--mobile-logo-hidden .hdr-logo{
		display: none;
	}
	.site-header--mobile-logo-hidden .hdr-inner{
		grid-template-areas: "right mobile";
		padding-top: 6px;
		padding-bottom: 6px;
	}
}

@media (max-width: 540px) {
	.hdr[data-utility-placement="mobile"] .hdr-search{
		max-width: 190px;
		min-width: 0;
	}
	.hdr[data-utility-placement="mobile"] .hdr-search-inline-form {
		height: 36px;
		padding: 0 8px;
	}
	.hdr[data-utility-placement="mobile"] .hdr-search-inline-input { font-size: 12.5px; }
	.hdr[data-utility-placement="mobile"] .hdr-actions{
		gap: 0;
	}
	.hdr[data-utility-placement="mobile"] .hdr-action-btn{
		padding: 6px 7px;
	}
	.hdr[data-utility-placement="mobile"] .hdr-action-btn svg{
		width: 17px;
		height: 17px;
	}
	.hdr[data-utility-placement="mobile"] .hdr-cart-count,
	.hdr[data-utility-placement="mobile"] .hdr-fav-count {
		top: -8px;
		right: -10px;
		min-width: 14px;
		height: 14px;
		font-size: 7.5px;
	}
	.hdr-logo-sub { display: none; }
	.ftr-main-inner { grid-template-columns: 1fr; }
	.ftr-bottom-inner { flex-direction: column; align-items: flex-start; gap: 10px; }
	.ftr-policy { gap: 12px; }

	.hdr-search-panel{
		position: fixed;
		top: 12px;
		left: 12px;
		right: 12px;
		width: auto;
		max-height: calc(100vh - 24px);
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* ========== TWEAK PANEL ========== */
.tweak-panel {
    position: fixed;
    bottom: 76px; right: 20px;
    width: 260px;
    background: var(--bg-card);
    border: 1px solid var(--rule);
    border-radius: var(--r-lg);
    box-shadow: 0 20px 40px -20px rgba(0,0,0,0.2);
    padding: 16px 18px;
    font-size: 12px;
    z-index: 2000;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}
.tweak-panel.visible{
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.tweak-title {
    font-family: var(--serif);
    font-size: 15px;
    color: var(--ink);
    margin-bottom: 12px;
    display: flex; justify-content: space-between; align-items: center;
}
.tweak-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-top: 1px solid var(--rule-soft); }
.tweak-row:first-of-type { border-top: none; }
.tweak-label { color: var(--ink-3); font-size: 11.5px; }
.tweak-row select, .tweak-row input[type=text] {
    font-family: inherit; font-size: 11.5px;
    border: 1px solid var(--rule); border-radius: 4px;
    padding: 3px 6px; background: var(--bg-card); color: var(--ink);
}

.ftr-brand-mark svg path, .hdr-logo-mark svg path{
	fill:var(--logo-color, #000);
}

/* Единый слой модалок/лайтбокса: выше шапки, sticky каталога и cookie-баннера (~99999) */
:root {
	--lux-layer-modal: 150000;
	--lux-cookie-bar-offset: 0px;
}

/* Уведомление о cookie — ниже липкой панели «В корзину» (z-index 950) */
.lux-cookie-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: var(--lux-cookie-bar-offset);
	z-index: 900;
	background: var(--bg-muted);
	border-top: 1px solid var(--rule);
	box-shadow: 0 -10px 28px -20px rgba(26, 22, 19, 0.14);
	transition: bottom 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.lux-cookie-bar[hidden] {
	display: none !important;
}
.lux-cookie-bar__inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 12px 28px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 24px;
	text-align: center;
}
.lux-cookie-bar__text {
	margin: 0;
	flex: 0 1 auto;
	font-family: var(--sans);
	font-size: 13px;
	line-height: 1.45;
	color: var(--ink-3);
}
.lux-cookie-bar__link {
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color var(--t);
}
.lux-cookie-bar__link:hover {
	color: var(--accent-2);
}
.lux-cookie-bar__accept {
	flex: 0 0 auto;
	margin: 0;
	padding: 8px 20px;
	border: 1px solid var(--rule-strong);
	border-radius: 999px;
	background: var(--bg-card);
	color: var(--ink);
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background var(--t), border-color var(--t), color var(--t);
}
.lux-cookie-bar__accept:hover {
	border-color: var(--accent);
	background: var(--accent-soft);
	color: var(--accent-2);
}
@media (max-width: 767px) {
	.lux-cookie-bar__inner {
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
		gap: 10px 16px;
	}
}

/* Глобальный toast (как cart_proto: checkout submit / согласие) */
.lux-toast {
	position: fixed;
	bottom: var(--lux-toast-bottom, max(24px, env(safe-area-inset-bottom, 0px)));
	left: 50%;
	transform: translateX(-50%);
	z-index: calc(var(--lux-layer-modal, 150000) + 120);
	max-width: min(560px, calc(100vw - 32px));
	box-sizing: border-box;
	background: var(--lux-toast-bg, var(--ink));
	color: var(--lux-toast-text, var(--on-ink));
	padding: 12px 18px;
	border-radius: 100px;
	font-size: 13px;
	letter-spacing: 0.01em;
	line-height: 1.35;
	box-shadow: var(--lux-toast-shadow, 0 18px 40px -16px rgba(0, 0, 0, 0.4));
	display: flex;
	align-items: center;
	gap: 10px;
	animation: luxToastIn 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.lux-toast[hidden] {
	display: none !important;
}
.lux-toast-icon {
	color: var(--warn, var(--accent-2));
	display: flex;
	flex-shrink: 0;
	margin-top: 1px;
}
.lux-toast-icon svg {
	display: block;
}
.lux-toast-text {
	flex: 1;
	min-width: 0;
	white-space: pre-line;
}
.lux-toast--success .lux-toast-icon {
	color: oklch(0.72 0.14 150);
}
.lux-toast--error .lux-toast-icon {
	color: oklch(0.72 0.16 25);
}
.lux-toast--success {
	box-shadow: 0 18px 40px -16px rgba(0, 0, 0, 0.4), 0 0 0 1px oklch(0.72 0.14 150 / 0.35);
}
.lux-toast--error {
	box-shadow: 0 18px 40px -16px rgba(0, 0, 0, 0.4), 0 0 0 1px oklch(0.72 0.16 25 / 0.35);
}
.lux-toast--multiline {
	border-radius: 14px;
	align-items: flex-start;
	padding-top: 14px;
	padding-bottom: 14px;
}
@keyframes luxToastIn {
	from {
		opacity: 0;
		transform: translateX(-50%) translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
}
/* Мобильная вёрстка — как proto/cart_proto @media (max-width: 768px) */
@media (max-width: 768px) {
	.lux-toast {
		left: 12px;
		right: 12px;
		width: auto;
		max-width: none;
		transform: none;
		border-radius: 14px;
		font-size: 12.5px;
		padding: 12px 14px;
		align-items: flex-start;
	}
	.lux-toast--multiline {
		padding-top: 12px;
		padding-bottom: 12px;
	}
	@keyframes luxToastIn {
		from {
			opacity: 0;
			transform: translateY(8px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
}

/* Модалка #requestSizeModal — css/lux-request-size-modal.css */

/* ========== INFO MODAL (возвраты и т.п.) ========== */
.info-modal {
	position: fixed;
	inset: 0;
	z-index: var(--lux-layer-modal);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .25s ease, visibility .25s ease;
}
.info-modal.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.info-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(26, 22, 19, 0.55);
	backdrop-filter: blur(4px);
	cursor: pointer;
}
.info-modal-dialog {
	position: relative;
	width: min(440px, calc(100vw - 32px));
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	background: var(--bg-card);
	border: 1px solid var(--rule-soft);
	border-radius: var(--r-lg);
	box-shadow: 0 24px 48px -16px rgba(0, 0, 0, 0.25);
	padding: 28px 28px 24px;
	transform: translateY(8px) scale(0.985);
	transition: transform .25s ease;
}
.info-modal.active .info-modal-dialog {
	transform: translateY(0) scale(1);
}
.info-modal-close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 28px;
	height: 28px;
	border: none;
	background: rgba(0, 0, 0, 0.05);
	border-radius: 50%;
	color: var(--ink-4);
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s ease, color .15s ease;
}
.info-modal-close:hover {
	background: rgba(0, 0, 0, 0.1);
	color: var(--ink);
}
.info-modal-title {
	font-family: var(--serif);
	font-size: 22px;
	font-weight: 500;
	color: var(--ink);
	margin: 0 36px 14px 0;
	line-height: 1.25;
}
.info-modal-body {
	font-family: var(--sans);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-3);
}
.info-modal-body p {
	margin: 0 0 10px;
}
.info-modal-body p:last-child {
	margin-bottom: 0;
}
.info-modal-footer {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--rule-soft);
}
.info-modal-link {
	font-family: var(--sans);
	font-size: 12.5px;
	color: var(--accent);
	text-decoration: none;
	border-bottom: 1px dashed var(--rule);
	padding-bottom: 1px;
	transition: color .15s ease, border-color .15s ease;
}
.info-modal-link:hover {
	color: var(--ink);
	border-bottom-color: var(--ink);
}

@media (max-width: 480px) {
	.info-modal-dialog {
		padding: 22px 20px 20px;
	}
	.info-modal-title {
		font-size: 19px;
	}
}

/* ========== LIGHTBOX (разметка в footer.php; без стилей из карточки товара не работал оверлей) ========== */
.lightbox {
	position: fixed;
	inset: 0;
	z-index: calc(var(--lux-layer-modal) + 100);
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	opacity: 0;
	transition: opacity var(--t);
}
.lightbox.open {
	opacity: 1;
	pointer-events: auto;
}
.lightbox.open .lightbox-img {
	opacity: 1;
	transform: scale(1);
}
.lightbox.open .lightbox-img-wrapper {
	transform: scale(1);
}
.lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 14, 10, 0.88);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	cursor: zoom-out;
	z-index: 0;
}
.lightbox-logobg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	fill: oklch(0.86 0.1 45);
	opacity: 0.08;
	pointer-events: none;
	z-index: 0;
}
.lightbox-img-wrapper {
	position: relative;
	max-width: 90vw;
	max-height: 85vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	z-index: 1;
	transform: scale(0.96);
	transition: transform 0.32s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.lightbox-img {
	max-width: 100%;
	max-height: 85vh;
	object-fit: contain;
	border-radius: var(--r-lg);
	box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.6);
	opacity: 0;
	transform: scale(0.96);
	transition: opacity 0.35s ease, transform 0.35s ease;
}
.lightbox-btn {
	position: absolute;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.10);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background var(--t), transform var(--t);
	z-index: 2;
}
.lightbox-btn:hover {
	background: rgba(255, 255, 255, 0.22);
	transform: scale(1.05);
}
.lightbox-btn:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.7);
	outline-offset: 3px;
}
.lightbox-close {
	top: 20px;
	right: 20px;
}
.lightbox-prev {
	left: 20px;
}
.lightbox-next {
	right: 20px;
}
.lightbox-btn svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	stroke-width: 1.6;
	fill: none;
}
.lightbox-counter {
	position: absolute;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--mono);
	font-size: 12px;
	color: rgba(255, 255, 255, 0.88);
	background: rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(6px);
	padding: 6px 14px;
	border-radius: 100px;
	pointer-events: none;
	z-index: 2;
}
.lightbox-loader {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	z-index: 0;
}
.lightbox-loader::after {
	content: '';
	width: 24px;
	height: 24px;
	border: 2px solid var(--rule);
	border-top-color: var(--accent);
	border-radius: 50%;
	animation: lux-spin 0.8s linear infinite;
}
@keyframes lux-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Breadcrumbs */
.breadcrumbs{
	padding: 20px 0 0;
	font-size: 12px;
	color: var(--ink-4);
	letter-spacing: 0.02em;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
}
.breadcrumbs a{
	color: var(--ink-3);
	transition: color var(--t);
	position: relative;
	flex: 0 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}
.breadcrumbs a:hover{
	color: var(--accent);
}
.breadcrumbs-sep{
	color: var(--ink-5);
	font-size: 9px;
}
.breadcrumbs-current{
	color: var(--ink-2);
	flex: 0 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}
.breadcrumbs--mobile{
	display: none;
}
.breadcrumbs-hidden{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.breadcrumbs-more{
	border: none;
	background: transparent;
	color: var(--ink-3);
	font-size: 13px;
	line-height: 1;
	padding: 0;
	cursor: pointer;
}
.breadcrumbs-more:hover{
	color: var(--accent);
}
.breadcrumbs.is-expanded{
	flex-wrap: wrap;
	white-space: normal;
	overflow: visible;
}
@media (max-width: 767px){
	.breadcrumbs{
		padding: 10px 0 12px;
		font-size: 11px;
		gap: 6px;
		line-height: 1.25;
		flex-wrap: nowrap;
		white-space: nowrap;
	}
	.breadcrumbs--desktop{
		display: none;
	}
	.breadcrumbs--mobile{
		display: flex;
	}
	.breadcrumbs--mobile .breadcrumbs-hidden{
		display: none !important;
	}
	.breadcrumbs--mobile.is-expanded .breadcrumbs-hidden{
		display: inline-flex !important;
	}
	.breadcrumbs-sep{
		font-size: 8px;
	}
	.breadcrumbs-current{
		max-width: none;
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}
}

/* Заголовок страницы (H1) под хлебными крошками */
.page-heading{
	padding: 0 0 5px;
	margin: 0 0 10px;
	border-bottom: 1px solid var(--rule-soft);
	text-align: center;
}
.page-main-title{
	margin: 0;
	padding: 4px 0 0;
	font-family: var(--serif);
	font-weight: 500;
	font-size: clamp(28px, 3.2vw, 38px);
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--ink);
	text-align: center;
}
.page-main-title em{
	color: var(--accent-2);
	font-weight: 400;
}
@media (max-width: 767px){
	.page-heading{
		padding: 0 0 16px;
	}
	.page-main-title{
		font-size: 28px;
		padding-top: 2px;
	}
}

/* Финальный приоритет стека: cookie/виджеты не перекрывают модалки при любом порядке CSS */
#requestSizeModal.modal-overlay,
#moneybackModal.info-modal {
	z-index: var(--lux-layer-modal) !important;
}
#lightbox.lightbox {
	z-index: calc(var(--lux-layer-modal) + 100) !important;
}

/* Валидные поля: светло-зелёный фон — текст всегда тёмный (и на carbon) */
.field-input.is-valid,
.profile-input.is-valid,
.profile-select.is-valid,
.ng-cart .field-input.is-valid {
	color: var(--on-success-soft);
	caret-color: var(--on-success-soft);
}

.field-input.is-valid:-webkit-autofill,
.field-input.is-valid:-webkit-autofill:hover,
.field-input.is-valid:-webkit-autofill:focus,
.field-input.is-valid:-webkit-autofill:active,
.profile-input.is-valid:-webkit-autofill,
.profile-input.is-valid:-webkit-autofill:hover,
.profile-input.is-valid:-webkit-autofill:focus,
.profile-input.is-valid:-webkit-autofill:active,
.ng-cart .field-input.is-valid:-webkit-autofill,
.ng-cart .field-input.is-valid:-webkit-autofill:hover,
.ng-cart .field-input.is-valid:-webkit-autofill:focus,
.ng-cart .field-input.is-valid:-webkit-autofill:active {
	-webkit-text-fill-color: var(--on-success-soft);
}