/* CO.ZI РІР‚вЂќ design tokens, fonts, and site header (Figma 92:270) */

/* -------------------------------------------------------------------------- */
/* Local fonts (WOFF2 from Google Fonts / Fontsource builds, Cyrillic support) */
/* -------------------------------------------------------------------------- */

/* Cormorant Garamond Medium (500) */
@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-cyrillic-ext-500.woff2") format("woff2");
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-cyrillic-500.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-ext-500.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-500.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Cormorant Garamond Regular (400) — About heading (Figma 8:161) */
@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-cyrillic-ext-400.woff2") format("woff2");
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-cyrillic-400.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-ext-400.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-400.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Manrope Regular (400) */
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/manrope-cyrillic-ext-400.woff2") format("woff2");
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/manrope-cyrillic-400.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/manrope-latin-ext-400.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/manrope-latin-400.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Manrope Medium (500) */
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/manrope-cyrillic-ext-500.woff2") format("woff2");
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/manrope-cyrillic-500.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/manrope-latin-ext-500.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/manrope-latin-500.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Manrope SemiBold (600) */
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/manrope-cyrillic-ext-600.woff2") format("woff2");
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/manrope-cyrillic-600.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/manrope-latin-ext-600.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/manrope-latin-600.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Manrope Bold (700) — About eyebrow (Figma 8:161) */
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/manrope-cyrillic-ext-700.woff2") format("woff2");
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/manrope-cyrillic-700.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/manrope-latin-ext-700.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/manrope-latin-700.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Prata Regular (400) — promo banners (Figma 8:78) */
@font-face {
	font-family: "Prata";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/prata-cyrillic-ext-400.woff2") format("woff2");
	unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
	font-family: "Prata";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/prata-cyrillic-400.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
	font-family: "Prata";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/prata-latin-400.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* -------------------------------------------------------------------------- */
/* Design tokens (from Figma Header 92:270 + shared palette)                    */
/* -------------------------------------------------------------------------- */

:root {
	--color-text: #1e1b19;
	--color-text-secondary: #635c57;
	--color-header-bg: #f7f2ec;
	--color-border: #e8e0d8;
	--color-accent: #5a654c;
	--color-on-accent: #f5f2eb;
	--color-icon-hover-bg: #ebe8de;
	--color-focus-ring: #79745d;
	--color-white: #ffffff;
	--color-bg: var(--color-header-bg);

	/* Aliases for existing theme usage */
	--color-olive: var(--color-accent);

	--font-heading: "Cormorant Garamond", Georgia, serif;
	--font-body: "Manrope", Arial, sans-serif;
	--font-promo: "Prata", Georgia, serif;

	--container-max: 1320px;
	--container-gutter: 64px;

	--header-height: 72px;
	scroll-padding-top: calc(var(--header-height) + 8px);
	--header-z-index: 100;
	--header-logo-width: 136px;
	--header-logo-height: 85px;
	--header-nav-gap: 32px;
	--header-actions-gap: 8px;
	--header-icon-btn-size: 44px;
	--header-icon-size: 20px;
	--header-chevron-size: 12px;
	--header-nav-font-size: 14px;
}

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

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text);
	background-color: var(--color-bg);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-heading);
	font-weight: 500;
	line-height: 1.2;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

.container {
	width: 100%;
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-gutter);
	padding-right: var(--container-gutter);
}

/* -------------------------------------------------------------------------- */
/* Site header РІР‚вЂќ Figma COZI / Header / Desktop (92:270)                        */
/* Frame: 1440Р“вЂ”72, padding 64px, bg #F7F2EC, border-bottom #E8E0D8             */
/* -------------------------------------------------------------------------- */

.site-header {
	position: sticky;
	top: 0;
	z-index: var(--header-z-index);
	width: 100%;
	height: var(--header-height);
	overflow: visible;
	background-color: var(--color-header-bg);
	border-bottom: 1px solid var(--color-border);
}

/* WordPress admin bar offset */
.admin-bar .site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 1440px;
	height: var(--header-height);
	margin-left: auto;
	margin-right: auto;
	padding-left: 64px;
	padding-right: 64px;
	overflow: visible;
}

.site-branding {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	align-self: center;
	width: var(--header-logo-width);
	height: var(--header-logo-height);
	overflow: visible;
}

.site-logo-link,
.site-branding .custom-logo-link {
	display: block;
	line-height: 0;
	width: var(--header-logo-width);
	height: var(--header-logo-height);
	overflow: visible;
}

.site-logo,
.site-branding .custom-logo {
	display: block;
	width: var(--header-logo-width);
	height: var(--header-logo-height);
	object-fit: contain;
}

/*
 * WooCommerce loads `.woocommerce img, .woocommerce-page img { height: auto }`
 * which otherwise stretches the shared header logo on shop archives.
 */
.site-header .site-logo,
.site-header .site-branding .custom-logo,
.woocommerce .site-header .site-logo,
.woocommerce-page .site-header .site-logo,
.woocommerce .site-header .site-branding .custom-logo,
.woocommerce-page .site-header .site-branding .custom-logo {
	width: var(--header-logo-width);
	height: var(--header-logo-height);
	max-height: var(--header-logo-height);
	object-fit: contain;
}

.site-navigation {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
	min-width: 0;
}

.site-navigation__header,
.site-navigation__close {
	display: none;
}

.site-navigation__body {
	display: contents;
}

.primary-menu {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--header-nav-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu > li {
	margin: 0;
	padding: 0;
}

.primary-menu > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-family: var(--font-body);
	font-size: var(--header-nav-font-size);
	font-weight: 500;
	line-height: normal;
	color: var(--color-text);
	text-decoration: none;
	white-space: nowrap;
}

.primary-menu > li > a:hover {
	color: var(--color-accent);
}

.primary-menu > li > a:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 4px;
}

/*
 * Active-section chevron (Figma: 12Р“вЂ”12, 4px to the right of the label).
 * Absolutely positioned so it does not change link/menu item width.
 * Shown only for the current top-level section РІР‚вЂќ not on the front page.
 */
body:not(.home) .primary-menu > .current-menu-item > a::after,
body:not(.home) .primary-menu > .current-menu-parent > a::after,
body:not(.home) .primary-menu > .current-menu-ancestor > a::after,
body:not(.home) .primary-menu > .current_page_item > a::after,
body:not(.home) .primary-menu > .current_page_parent > a::after,
body:not(.home) .primary-menu > .current_page_ancestor > a::after {
	content: "";
	position: absolute;
	left: calc(100% + 4px);
	top: 50%;
	transform: translateY(-50%);
	width: var(--header-chevron-size);
	height: var(--header-chevron-size);
	margin: 0;
	pointer-events: none;
	background-image: url("../images/header/icon-chevron-down.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* Submenus: structure reserved; dropdown interaction not implemented yet */
.primary-menu .sub-menu {
	display: none;
}

.site-header__actions {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: var(--header-actions-gap);
}

.site-header__icon-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--header-icon-btn-size);
	height: var(--header-icon-btn-size);
	border-radius: 8px;
	text-decoration: none;
	color: var(--color-text);
	background-color: transparent;
	border: 2px solid transparent;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.site-header__icon-btn img {
	display: block;
	width: var(--header-icon-size);
	height: var(--header-icon-size);
	max-width: none;
}

/* Figma 92:187 cart-badge — top-right of 44×44 hit area */
.site-header__cart-count {
	position: absolute;
	top: 2px;
	left: 26px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 16px;
	min-height: 16px;
	padding: 1px 4px;
	border-radius: 8px;
	background-color: var(--color-accent, #5a654c);
	color: #ffffff;
	font-family: var(--font-body);
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	pointer-events: none;
	white-space: nowrap;
}

.site-header__cart-count[hidden] {
	display: none !important;
}

/* Figma State=hover (92:51): bg #EBE8DE */
.site-header__icon-btn:hover {
	background-color: var(--color-icon-hover-bg);
}

/* Figma State=focus (92:56): dashed border #79745D */
.site-header__icon-btn:focus-visible {
	outline: none;
	border-color: var(--color-focus-ring);
	border-style: dashed;
}

.site-header__icon-btn:active {
	background-color: var(--color-icon-hover-bg);
}

/* Account lives in the burger drawer on small screens; desktop keeps the icon. */
.site-header__menu-account {
	display: none;
}

.site-header__menu-toggle {
	display: none;
}

.site-header__menu-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
}

.site-header__menu-icon svg {
	display: block;
}

.site-main {
	padding: 40px 0;
	min-height: 50vh;
}

.cozi-404__inner {
	box-sizing: border-box;
	max-width: 640px;
	margin: 0 auto;
	padding: 48px 16px 80px;
	text-align: center;
}

.cozi-404__code {
	margin: 0 0 8px;
	font-family: var(--font-heading);
	font-size: 64px;
	font-weight: 400;
	line-height: 1;
	color: var(--color-accent, #5a654c);
}

.cozi-404__title {
	margin: 0 0 12px;
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--color-text, #1e1b19);
}

.cozi-404__text {
	margin: 0 0 28px;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-text-secondary, #635c57);
}

.cozi-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.cozi-404__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border-radius: 2px;
	background: var(--color-accent, #5a654c);
	color: var(--color-on-accent, #f5f2eb);
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.cozi-404__cta--ghost {
	background: transparent;
	border: 1px solid var(--color-accent, #5a654c);
	color: var(--color-text, #1e1b19);
}

.cozi-404__cta:hover {
	filter: brightness(0.96);
}

.site-main--home {
	padding: 0;
	min-height: 0;
}

.site-footer {
	padding: 24px 0;
	background-color: var(--color-accent);
	color: var(--color-on-accent);
}


/* -------------------------------------------------------------------------- */
/* Global footer (Figma 107:278 — COZI / Footer / Desktop)                     */
/* -------------------------------------------------------------------------- */

.cozi-footer {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 64px 64px 36px;
	box-sizing: border-box;
	background: #2c2a27;
	color: #9e958e;
	overflow-x: clip;
}

.cozi-footer__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 48px;
	width: 100%;
	max-width: 1312px;
	margin-inline: auto;
	box-sizing: border-box;
}

.cozi-footer__columns {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	width: 100%;
	min-width: 0;
}

.cozi-footer__brand {
	display: flex;
	flex: 0 1 280px;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	width: 280px;
	max-width: 100%;
	min-width: 0;
}

.cozi-footer__logo-link {
	display: inline-flex;
	line-height: 0;
	text-decoration: none;
}

.cozi-footer__logo-link:focus-visible {
	outline: 2px solid #f7f2ec;
	outline-offset: 3px;
	border-radius: 2px;
}

.cozi-footer__logo {
	display: block;
	width: 120px;
	height: 93px;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

.cozi-footer__description {
	margin: 0;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.6;
	color: #9e958e;
}

.cozi-footer__socials {
	display: flex;
	align-items: center;
}

.cozi-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #3a3835;
	border: 1px solid #4a4845;
	box-sizing: border-box;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.cozi-footer__social-link:hover {
	background: #4a4845;
	border-color: #5a5855;
}

.cozi-footer__social-link:active {
	background: #2f2d2a;
}

.cozi-footer__social-link:focus-visible {
	outline: 2px solid #f7f2ec;
	outline-offset: 3px;
}

.cozi-footer__social-icon {
	display: block;
	width: 16px;
	height: 16px;
}

.cozi-footer__column {
	display: flex;
	flex: 0 1 200px;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	min-width: 0;
	max-width: 100%;
}

.cozi-footer__column:nth-child(2) {
	flex-basis: 180px;
}

.cozi-footer__heading {
	margin: 0;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
	color: #f7f2ec;
}

.cozi-footer__nav {
	width: 100%;
}

.cozi-footer__links,
.cozi-footer__legal-list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cozi-footer__links a,
.cozi-footer__link {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: normal;
	color: #9e958e;
	text-decoration: none;
	transition: color 0.2s ease;
}

.cozi-footer__links a:hover,
.cozi-footer__link:hover,
.cozi-footer__contact-link:hover {
	color: #f7f2ec;
}

.cozi-footer__links a:active,
.cozi-footer__link:active,
.cozi-footer__contact-link:active {
	color: #f7f2ec;
}

.cozi-footer__links a:focus-visible,
.cozi-footer__link:focus-visible,
.cozi-footer__contact-link:focus-visible,
.cozi-footer__legal-link:focus-visible,
.cozi-footer__legal-list a:focus-visible {
	outline: 2px solid #f7f2ec;
	outline-offset: 3px;
	border-radius: 2px;
}

.cozi-footer__info {
	gap: 14px;
}

.cozi-footer__info-group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.cozi-footer__label {
	margin: 0;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	line-height: normal;
	text-transform: uppercase;
	color: #635c57;
}

.cozi-footer__info-text {
	margin: 0;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: normal;
	color: #9e958e;
}

.cozi-footer__info-text--accent {
	color: #5a8c5a;
}

.cozi-footer__contacts {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	font-style: normal;
}

.cozi-footer__contact-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: normal;
	color: #9e958e;
	text-decoration: none;
	transition: color 0.2s ease;
}

.cozi-footer__contact-icon {
	display: block;
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
}

.cozi-footer__separator {
	display: block;
	width: 100%;
	height: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	background: #3a3835;
}

.cozi-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	min-width: 0;
}

.cozi-footer__copyright {
	margin: 0;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: normal;
	color: #635c57;
}

.cozi-footer__legal,
.cozi-footer__legal-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cozi-footer__legal-list {
	flex-direction: row;
}

.cozi-footer__legal-link,
.cozi-footer__legal-list a {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: normal;
	color: #635c57;
	text-decoration: none;
	transition: color 0.2s ease;
}

.cozi-footer__legal-link:hover,
.cozi-footer__legal-list a:hover {
	color: #f7f2ec;
}

@media (prefers-reduced-motion: reduce) {
	.cozi-footer__social-link,
	.cozi-footer__links a,
	.cozi-footer__link,
	.cozi-footer__contact-link,
	.cozi-footer__legal-link,
	.cozi-footer__legal-list a {
		transition: none;
	}
}

@media (max-width: 1199px) {
	.cozi-footer {
		padding: 48px 40px 32px;
	}

	.cozi-footer__columns {
		gap: 28px;
	}

	.cozi-footer__brand {
		flex: 1 1 220px;
		width: auto;
	}

	.cozi-footer__column {
		flex: 1 1 160px;
	}
}

@media (max-width: 900px) {
	.cozi-footer__columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px 32px;
	}

	.cozi-footer__brand {
		grid-column: 1 / -1;
		width: 100%;
		flex: none;
	}

	.cozi-footer__column {
		flex: none;
		width: auto;
	}

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

@media (max-width: 575px) {
	.cozi-footer {
		padding: 40px 20px 28px;
	}

	.cozi-footer__inner {
		gap: 36px;
	}

	.cozi-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 20px;
	}

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

	.cozi-footer__column:last-child {
		grid-column: 1 / -1;
	}

	.cozi-footer__legal,
	.cozi-footer__legal-list {
		flex-direction: column;
		gap: 12px;
	}

	.cozi-footer__logo {
		width: 100px;
		height: auto;
		aspect-ratio: 120 / 93;
	}
}

@media (max-width: 374px) {
	.cozi-footer {
		padding: 36px 16px 24px;
	}

	.cozi-footer__columns {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.cozi-footer__column:last-child {
		grid-column: auto;
	}
}


/* -------------------------------------------------------------------------- */
/* Home hero — Figma hero-section (8:24), control viewport 1440×670           */
/* Light design is the default (desktop + tablet). Dark treatment = mobile only */
/* -------------------------------------------------------------------------- */

.home-hero {
	--hero-pad-left: 64px;
	--hero-pad-right: 88px;
	--hero-height: 670px;
	--hero-title-size: 64px;
	--hero-content-gap: 34px;
	--hero-actions-gap: 16px;
	--hero-cta-height: 52px;
	--hero-decoration-width: 381px;
	--hero-decoration-height: 269px;
	--hero-object-position: 50% top;
	--hero-decoration-opacity: 0.5;

	position: relative;
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: var(--hero-height);
	height: var(--hero-height);
	overflow: hidden;
	color: var(--color-text);
	isolation: isolate;
}

.home-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	overflow: hidden;
	pointer-events: none;
}

.home-hero__background {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: var(--hero-object-position);
	transform-origin: center top;
	will-change: auto;
}

.home-hero__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0.8) 0%,
		rgba(255, 255, 255, 0.4) 55%,
		rgba(255, 255, 255, 0) 100%
	);
}

.home-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	max-width: 1440px;
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 48px var(--hero-pad-right) 40px var(--hero-pad-left);
	box-sizing: border-box;
}

.home-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--hero-content-gap);
	max-width: 100%;
}

.home-hero__title {
	margin: 0;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: var(--hero-title-size);
	line-height: 0.96;
	color: var(--color-text);
}

.home-hero__title-line {
	display: block;
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--hero-actions-gap);
}

.home-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: var(--hero-cta-height);
	padding: 14px 32px;
	border: none;
	border-radius: 3px;
	background-color: var(--color-accent);
	color: var(--color-on-accent);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: normal;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.home-hero__cta:hover {
	background-color: #4a5440;
	color: var(--color-on-accent);
}

.home-hero__cta:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

.home-hero__cta:active {
	background-color: #3f4837;
}

.home-hero__instagram {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	border: 1px solid var(--color-accent);
	border-radius: 3px;
	color: var(--color-accent);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: normal;
	text-decoration: none;
	opacity: 0.95;
	white-space: nowrap;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.home-hero__instagram:hover {
	background-color: rgba(90, 101, 76, 0.08);
	opacity: 1;
}

.home-hero__instagram:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

.home-hero__instagram:active {
	background-color: rgba(90, 101, 76, 0.14);
}

.home-hero__instagram-icon {
	display: block;
	width: 18px;
	height: 18px;
	max-width: none;
	flex-shrink: 0;
}

.home-hero__accent {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 12px;
}

.home-hero__hashtag {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 11px;
	line-height: normal;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--color-accent);
	opacity: 0.9;
	white-space: nowrap;
}

.home-hero__accent-line {
	display: block;
	width: 40px;
	height: 1px;
	flex-shrink: 0;
	background-color: var(--color-accent);
	opacity: 0.35;
}

.home-hero__decoration {
	width: var(--hero-decoration-width);
	height: var(--hero-decoration-height);
	max-width: 100%;
	margin-top: 8px;
	opacity: var(--hero-decoration-opacity);
	pointer-events: none;
}

.home-hero__decoration-img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

/* Desktop parallax base scale — JS adjusts translate */
@media (min-width: 1024px) {
	@media (prefers-reduced-motion: no-preference) {
		.home-hero__background {
			transform: translate3d(0, 0, 0) scale(1.05);
			will-change: transform;
		}
	}
}

@media (max-width: 1023px), (prefers-reduced-motion: reduce) {
	.home-hero__background {
		transform: none !important;
		will-change: auto;
	}
}

@media (min-width: 1280px) and (max-width: 1439px) {
	.home-hero {
		--hero-pad-left: 48px;
		--hero-pad-right: 64px;
		--hero-object-position: 50% top;
	}
}

@media (min-width: 1440px) {
	.home-hero {
		--hero-pad-left: 64px;
		--hero-pad-right: 88px;
		--hero-title-size: 64px;
		--hero-height: 670px;
		--hero-decoration-width: 381px;
		--hero-decoration-height: 269px;
		--hero-object-position: 50% top;
	}
}

/* Tablet — 768–1279px (light Figma treatment) */
@media (max-width: 1279px) and (min-width: 768px) {
	.home-hero {
		--hero-pad-left: 40px;
		--hero-pad-right: 40px;
		--hero-height: 580px;
		--hero-title-size: clamp(42px, 5.2vw, 56px);
		--hero-content-gap: 28px;
		--hero-decoration-width: 280px;
		--hero-decoration-height: 198px;
		--hero-object-position: 58% top;
		--hero-cta-height: 48px;
		min-height: var(--hero-height);
		height: var(--hero-height);
	}

	.home-hero__overlay {
		background: linear-gradient(
			to right,
			rgba(255, 255, 255, 0.88) 0%,
			rgba(255, 255, 255, 0.5) 48%,
			rgba(255, 255, 255, 0.12) 78%,
			rgba(255, 255, 255, 0) 100%
		);
	}

	.home-hero__inner {
		padding-top: 40px;
		padding-bottom: 32px;
	}

	.home-hero__cta,
	.home-hero__instagram {
		min-height: 44px;
	}
}

@media (max-width: 1024px) and (min-width: 768px) {
	.home-hero {
		--hero-object-position: 62% top;
		--hero-decoration-width: 240px;
		--hero-decoration-height: 170px;
	}
}

/* -------------------------------------------------------------------------- */
/* Mobile only — dark noble overlay + light content (max-width: 767px)         */
/* -------------------------------------------------------------------------- */

@media (max-width: 767px) {
	.home-hero {
		--hero-pad-left: 20px;
		--hero-pad-right: 20px;
		--hero-title-size: clamp(36px, 9vw, 46px);
		--hero-content-gap: 22px;
		--hero-actions-gap: 12px;
		--hero-cta-height: 48px;
		--hero-decoration-width: min(168px, 46vw);
		--hero-decoration-height: calc(var(--hero-decoration-width) * 0.706);
		--hero-decoration-opacity: 0.22;
		--hero-object-position: 68% top;
		--hero-text: var(--color-on-accent);
		--hero-text-muted: rgba(245, 242, 235, 0.72);
		height: auto;
		min-height: min(100svh, 640px);
		overflow: hidden;
		color: var(--hero-text);
	}

	.home-hero__background {
		filter: brightness(0.96) contrast(1.05);
	}

	.home-hero__overlay {
		background: linear-gradient(
			165deg,
			rgba(24, 22, 18, 0.7) 0%,
			rgba(24, 22, 18, 0.58) 32%,
			rgba(24, 22, 18, 0.34) 58%,
			rgba(24, 22, 18, 0.2) 100%
		);
	}

	.home-hero__title {
		color: var(--hero-text);
		text-shadow: 0 1px 18px rgba(24, 22, 18, 0.28);
	}

	.home-hero__cta:focus-visible {
		outline-color: var(--color-on-accent);
	}

	.home-hero__instagram {
		border-color: rgba(245, 242, 235, 0.78);
		color: var(--hero-text);
		transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
	}

	.home-hero__instagram:hover {
		background-color: rgba(245, 242, 235, 0.1);
		border-color: var(--color-on-accent);
		opacity: 1;
	}

	.home-hero__instagram:focus-visible {
		outline: 2px dashed var(--color-on-accent);
		outline-offset: 3px;
	}

	.home-hero__instagram:active {
		background-color: rgba(245, 242, 235, 0.16);
	}

	.home-hero__instagram-icon {
		filter: brightness(0) invert(0.94) sepia(0.12) saturate(0.6);
	}

	.home-hero__hashtag {
		color: var(--hero-text-muted);
		opacity: 1;
	}

	.home-hero__accent-line {
		background-color: var(--hero-text-muted);
		opacity: 0.55;
	}

	.home-hero__decoration-img {
		filter: brightness(0) invert(0.94) sepia(0.08);
	}

	.home-hero__inner {
		justify-content: center;
		padding-top: 52px;
		padding-bottom: 40px;
		min-height: inherit;
	}

	.home-hero__actions {
		flex-direction: column;
		align-items: stretch;
		width: min(100%, 300px);
	}

	.home-hero__cta,
	.home-hero__instagram {
		width: 100%;
		justify-content: center;
		min-height: 44px;
		white-space: normal;
		text-align: center;
	}

	.home-hero__accent {
		margin-top: 16px;
	}

	.home-hero__decoration {
		margin-top: 18px;
		align-self: flex-start;
	}
}

@media (max-width: 374px) {
	.home-hero {
		--hero-title-size: clamp(34px, 9vw, 40px);
		--hero-content-gap: 18px;
		--hero-decoration-width: min(150px, 48vw);
		--hero-object-position: 68% top;
		--hero-decoration-opacity: 0.2;
		min-height: 520px;
	}

	.home-hero__actions {
		width: 100%;
	}

	.home-hero__inner {
		padding-top: 44px;
		padding-bottom: 32px;
	}

	.home-hero__instagram-label {
		font-size: 13px;
	}
}


/* -------------------------------------------------------------------------- */
/* Homepage catalog section (Figma 8:38)                                       */
/* -------------------------------------------------------------------------- */

.home-catalog {
	--catalog-pad-y: 88px;
	--catalog-pad-x: 64px;
	--catalog-gap: 48px;
	--catalog-grid-gap-x: 24px;
	--catalog-grid-gap-y: 24px;
	--catalog-title-size: 48px;
	--catalog-desc-size: 16px;
	--catalog-columns: 4;

	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: var(--catalog-pad-y) var(--catalog-pad-x);
	background-color: var(--color-header-bg);
	border-top: 1px solid var(--color-border);
	box-sizing: border-box;
}

.home-catalog__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--catalog-gap);
	width: 100%;
	max-width: 1312px;
	min-width: 0;
	margin-inline: auto;
}

.home-catalog__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	max-width: 100%;
}

.home-catalog__title {
	margin: 0;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: var(--catalog-title-size);
	line-height: normal;
	color: var(--color-text);
}

.home-catalog__description {
	margin: 0;
	max-width: 700px;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: var(--catalog-desc-size);
	line-height: 1.6;
	color: var(--color-text-secondary);
}

.home-catalog__grid {
	display: grid;
	grid-template-columns: repeat(var(--catalog-columns), minmax(0, 1fr));
	column-gap: var(--catalog-grid-gap-x);
	row-gap: var(--catalog-grid-gap-y);
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-catalog__item {
	min-width: 0;
}

.home-catalog__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	width: 100%;
	min-width: 0;
	text-decoration: none;
	color: inherit;
}

.home-catalog__card:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 4px;
}

.home-catalog__image {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	border-radius: 4px;
	overflow: hidden;
	background-color: #ebe6df;
}

.home-catalog__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

.home-catalog__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	width: 100%;
	min-width: 0;
}

.home-catalog__name {
	display: block;
	width: 100%;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 13px;
	line-height: normal;
	text-transform: uppercase;
	color: var(--color-text);
	overflow-wrap: anywhere;
}

.home-catalog__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 44px;
	margin-top: -6px;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 13px;
	line-height: normal;
	color: var(--color-text-secondary);
}

.home-catalog__link-text {
	display: inline-block;
}

.home-catalog__arrow {
	display: block;
	width: 10px;
	height: 10px;
	flex-shrink: 0;
}

.home-catalog__footer {
	display: flex;
	justify-content: center;
	width: 100%;
}

.home-catalog__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 224px;
	min-height: 47px;
	padding: 14px 40px;
	border-radius: 4px;
	background-color: var(--color-accent);
	color: var(--color-header-bg);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: normal;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.home-catalog__cta:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
	.home-catalog__card:hover .home-catalog__link {
		color: var(--color-text);
	}

	.home-catalog__card:hover .home-catalog__arrow {
		opacity: 0.85;
	}

	.home-catalog__cta:hover {
		background-color: #3f4837;
		color: var(--color-header-bg);
	}
}

@media (max-width: 1279px) and (min-width: 768px) {
	.home-catalog {
		--catalog-pad-y: 64px;
		--catalog-pad-x: 40px;
		--catalog-gap: 40px;
		--catalog-grid-gap-x: 24px;
		--catalog-grid-gap-y: 36px;
		--catalog-title-size: clamp(40px, 3.6vw, 44px);
		--catalog-columns: 2;
	}

	.home-catalog__description {
		max-width: min(700px, 100%);
	}
}

@media (max-width: 767px) {
	.home-catalog {
		--catalog-pad-y: 52px;
		--catalog-pad-x: 20px;
		--catalog-gap: 32px;
		--catalog-grid-gap-x: 14px;
		--catalog-grid-gap-y: 28px;
		--catalog-title-size: clamp(36px, 9vw, 42px);
		--catalog-desc-size: 15px;
		--catalog-columns: 2;
	}

	.home-catalog__cta {
		width: min(100%, 300px);
		min-width: 0;
		min-height: 48px;
		padding-left: 24px;
		padding-right: 24px;
	}
}

@media (max-width: 374px) {
	.home-catalog {
		--catalog-pad-y: 48px;
		--catalog-grid-gap-x: 10px;
		--catalog-grid-gap-y: 24px;
		--catalog-title-size: clamp(34px, 9vw, 38px);
	}

	.home-catalog__cta {
		width: 100%;
	}

	.home-catalog__name {
		font-size: 12px;
	}
}


/* -------------------------------------------------------------------------- */
/* Homepage promo banners (Figma 8:78)                                         */
/* -------------------------------------------------------------------------- */

.home-promos {
	--promo-height: clamp(420px, 33.333vw, 640px);
	--promo-pad-x: 56px;
	--promo-pad-bottom: 56px;
	--promo-title-size: 48px;
	--promo-content-gap: 16px;
	--promo-object-sale: center center;
	--promo-object-new: center center;

	display: flex;
	flex-direction: row;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--color-border);
	box-sizing: border-box;
}

.home-promos__item {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	flex: 1 1 50%;
	width: 50%;
	min-width: 0;
	height: var(--promo-height);
	padding: 0 var(--promo-pad-x) var(--promo-pad-bottom);
	overflow: hidden;
	box-sizing: border-box;
	isolation: isolate;
}

.home-promos__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
}

.home-promos__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
}

.home-promos__item--sale .home-promos__img {
	object-position: var(--promo-object-sale);
}

.home-promos__item--new .home-promos__img {
	object-position: var(--promo-object-new);
}

.home-promos__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(30, 27, 25, 0.42);
	pointer-events: none;
}

.home-promos__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--promo-content-gap);
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.home-promos__title {
	margin: 0;
	font-family: var(--font-promo);
	font-weight: 400;
	font-size: var(--promo-title-size);
	line-height: 1;
	color: var(--color-white);
	text-transform: uppercase;
}

.home-promos__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 14px 32px;
	border-radius: 4px;
	background-color: var(--color-accent);
	color: var(--color-white);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 13px;
	line-height: normal;
	text-decoration: none;
	white-space: nowrap;
	box-sizing: border-box;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.home-promos__cta:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
	.home-promos__cta:hover {
		background-color: #3f4837;
		color: var(--color-white);
	}
}

@media (max-width: 1279px) and (min-width: 768px) {
	.home-promos {
		--promo-height: clamp(400px, 42vw, 430px);
		--promo-pad-x: 40px;
		--promo-pad-bottom: 40px;
		--promo-title-size: clamp(38px, 4vw, 44px);
		--promo-object-sale: 50% 28%;
		--promo-object-new: 55% 35%;
	}
}

@media (max-width: 767px) {
	.home-promos {
		flex-direction: column;
		--promo-pad-x: 20px;
		--promo-pad-bottom: 24px;
		--promo-title-size: clamp(34px, 9vw, 40px);
		--promo-content-gap: 14px;
		--promo-object-sale: 50% 22%;
		--promo-object-new: 58% 32%;
	}

	.home-promos__item {
		flex: 1 1 auto;
		width: 100%;
		height: auto;
		min-height: clamp(320px, 110vw, 430px);
	}
}


/* -------------------------------------------------------------------------- */
/* Homepage popular products (Figma 8:95)                                      */
/* -------------------------------------------------------------------------- */

.home-popular {
	--popular-pad-y: 88px;
	--popular-pad-x: 64px;
	--popular-gap: 48px;
	--popular-title-size: 48px;
	--popular-columns: 3;
	--popular-col-gap: 24px;
	--popular-row-gap: 48px;

	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: var(--popular-pad-y) var(--popular-pad-x);
	background-color: var(--color-header-bg);
	border-top: 1px solid var(--color-border);
	box-sizing: border-box;
}

.home-popular__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--popular-gap);
	width: 100%;
	max-width: 1312px;
	min-width: 0;
	margin-inline: auto;
}

.home-popular__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
}

.home-popular__title {
	margin: 0;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: var(--popular-title-size);
	line-height: normal;
	color: var(--color-text);
}

.home-popular__all-link {
	flex-shrink: 0;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 14px;
	line-height: normal;
	color: var(--color-text-secondary);
	text-decoration: underline;
	text-underline-position: from-font;
}

.home-popular__all-link:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

.home-popular__grid {
	display: grid;
	grid-template-columns: repeat(var(--popular-columns), minmax(0, 1fr));
	column-gap: var(--popular-col-gap);
	row-gap: var(--popular-row-gap);
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-popular__item {
	min-width: 0;
	height: 100%;
}

.home-product-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	width: 100%;
	height: 100%;
	min-width: 0;
	margin: 0;
}

.home-product-card__media {
	display: block;
	width: 100%;
	text-decoration: none;
	color: inherit;
}

.home-product-card__media-wrap {
	position: relative;
	display: block;
	width: 100%;
}

.home-product-card__media-content {
	display: block;
	width: 100%;
}

.home-product-card.is-cozi-popular-sizes-open [data-cozi-popular-media-content],
.home-product-card.is-cozi-vp-open [data-cozi-vp-media-content],
.home-product-card.is-cozi-vp-open [data-cozi-popular-media-content],
.home-product-card.is-cozi-look-sizes-open [data-cozi-look-media-content],
li.product.is-cozi-look-sizes-open [data-cozi-look-media-content] {
	visibility: hidden;
	pointer-events: none;
}

.home-product-size-panel {
	position: absolute;
	inset: 0;
	z-index: 5;
	margin: 0;
	padding: 0;
	border: 1px solid #d1ccc7;
	border-radius: 4px;
	background: #f7f2ec;
	box-sizing: border-box;
	overflow: hidden;
}

.home-product-size-panel[hidden] {
	display: none !important;
}

.home-product-size-panel__inner {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	max-height: 100%;
	min-height: 0;
	padding: 12px;
	overflow: hidden;
}

.home-product-size-panel__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	flex: 0 0 auto;
	margin-bottom: 8px;
}

.home-product-size-panel__title {
	margin: 0;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-text);
}

.home-product-size-panel__close {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: -4px -4px 0 0;
	padding: 0;
	border: 0;
	border-radius: 2px;
	background: transparent;
	color: var(--color-text);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.home-product-size-panel__close:focus-visible,
.home-product-size-panel__select:focus-visible,
.home-product-size-panel__submit:focus-visible,
.home-product-size-panel__swatch:focus-visible,
.home-product-size-panel__size:focus-visible,
.home-product-card__button--open-size:focus-visible {
	outline: 2px solid var(--color-focus-ring, #5a654c);
	outline-offset: 2px;
}

.home-product-size-panel__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: visible;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	/* Room for selected/focus rings on first/last swatches. */
	padding: 2px;
}

.home-product-size-panel__label,
.home-product-size-panel__size-text {
	display: block;
	margin: 0 0 4px;
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--color-text-secondary);
}

.home-product-size-panel__size-text {
	font-size: 13px;
	font-weight: 600;
	color: var(--color-text);
	margin-bottom: 10px;
}

.home-product-size-panel__select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 40px;
	margin: 0;
	padding: 8px 36px 8px 12px;
	box-sizing: border-box;
	border: 1px solid var(--color-border, #e8e0d8);
	border-radius: 2px;
	background-color: var(--color-white, #ffffff);
	background-image: url("../images/header/icon-chevron-down.svg");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 10px 10px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--color-text, #1e1b19);
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.home-product-size-panel__select:hover {
	border-color: var(--color-accent, #5a654c);
	background-color: var(--color-icon-hover-bg, #ebe8de);
}

.home-product-size-panel__select:focus-visible {
	outline: 2px solid var(--color-focus-ring, #79745d);
	outline-offset: 2px;
	border-color: var(--color-accent, #5a654c);
}

.home-product-size-panel__select:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	color: var(--color-text-secondary, #635c57);
}

.home-product-size-panel__select option:disabled {
	color: #b0a8a0;
	opacity: 0.45;
}

/* No full-width rules/separators around attribute fields. */
.home-product-size-panel__field {
	margin-bottom: 10px;
	padding: 0;
	border: 0;
}

.home-product-size-panel__field + .home-product-size-panel__field {
	border-top: 0;
}

.home-product-size-panel__sizes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 2px 0;
}

.home-product-size-panel__size {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 36px;
	padding: 6px 12px;
	border: 1px solid var(--color-border, #e8e0d8);
	border-radius: 2px;
	background: var(--color-white, #ffffff);
	color: var(--color-text, #1e1b19);
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
	opacity: 1;
	transition: opacity 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.home-product-size-panel__size.is-active {
	border-color: var(--color-accent, #5a654c);
	background: rgba(90, 101, 76, 0.08);
	color: var(--color-text, #1e1b19);
}

.home-product-size-panel__size.is-disabled,
.home-product-size-panel__size:disabled {
	opacity: 0.4;
	color: #9e958e;
	border-color: #ddd6ce;
	background: #f3efe9;
	cursor: not-allowed;
}

.home-product-size-panel__size:focus-visible {
	outline: 2px solid var(--color-focus-ring, #79745d);
	outline-offset: 2px;
}

.home-product-size-panel__swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 2px;
	box-sizing: border-box;
}

.home-product-size-panel__swatch {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 2px;
	border: 1.5px solid transparent;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	box-sizing: border-box;
	flex: 0 0 auto;
}

.home-product-size-panel__swatch-face {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(30, 27, 25, 0.14);
	box-sizing: border-box;
}

.home-product-size-panel__swatch.is-active {
	border-color: var(--color-accent, #5a654c);
	box-shadow: none;
}

.home-product-size-panel__swatch.is-disabled,
.home-product-size-panel__swatch:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.home-product-size-panel__swatch--text {
	width: auto;
	min-width: 40px;
	height: auto;
	min-height: 32px;
	border-radius: 4px;
	padding: 4px 8px;
	font-size: 12px;
	background: #fff;
	border-color: var(--color-border, #e8e0d8);
}

.home-product-size-panel__swatch--text.is-active {
	border-color: var(--color-accent, #5a654c);
}

.home-product-size-panel__footer {
	flex: 0 0 auto;
	padding-top: 8px;
}

.home-product-size-panel__price {
	margin: 0 0 10px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	color: var(--color-text);
}

.home-product-size-panel__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	white-space: nowrap;
}

/* Beat WooCommerce `.button` so panel submit matches catalogue ATC. */
.woocommerce .home-product-size-panel__submit.button,
.woocommerce-page .home-product-size-panel__submit.button,
.home-product-size-panel__submit.button,
.woocommerce .cozi-look-size-panel__submit.button,
.woocommerce-page .cozi-look-size-panel__submit.button,
.cozi-look-size-panel__submit.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 12px 16px;
	border: 0;
	border-radius: 3px;
	background-color: var(--color-accent, #5a654c) !important;
	color: var(--color-header-bg, #f7f2ec) !important;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.3px;
	line-height: 1;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	white-space: nowrap;
	transition: background-color 0.15s ease, opacity 0.15s ease, color 0.15s ease;
}

.home-product-size-panel__submit .button-icon,
.cozi-look-size-panel__submit .button-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	line-height: 0;
	color: inherit;
}

.woocommerce .home-product-size-panel__submit.button:hover,
.woocommerce-page .home-product-size-panel__submit.button:hover,
.home-product-size-panel__submit.button:hover,
.woocommerce .cozi-look-size-panel__submit.button:hover,
.woocommerce-page .cozi-look-size-panel__submit.button:hover,
.cozi-look-size-panel__submit.button:hover {
	background-color: #3f4837;
	color: var(--color-header-bg, #f7f2ec);
}

.woocommerce .home-product-size-panel__submit.button:disabled,
.woocommerce-page .home-product-size-panel__submit.button:disabled,
.home-product-size-panel__submit.button:disabled,
.woocommerce .cozi-look-size-panel__submit.button:disabled,
.woocommerce-page .cozi-look-size-panel__submit.button:disabled,
.cozi-look-size-panel__submit.button:disabled,
.home-product-size-panel__submit:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

.woocommerce .home-product-size-panel__submit.button:focus-visible,
.home-product-size-panel__submit.button:focus-visible,
.woocommerce .cozi-look-size-panel__submit.button:focus-visible,
.cozi-look-size-panel__submit.button:focus-visible {
	outline: 2px solid var(--color-focus-ring, #5a654c);
	outline-offset: 2px;
}

.home-product-size-panel__status {
	min-height: 1.2em;
	margin: 8px 0 0;
	font-size: 12px;
	color: var(--color-text-secondary);
}

/* Mobile: full-card overlay — pin ATC to the same row as the catalogue CTA */
@media (max-width: 1024px) {
	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-vp-open,
	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-popular-sizes-open,
	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-look-sizes-open,
	.cozi-catalogue-page .cozi-catalogue__products li.product.is-cozi-look-sizes-open .home-product-card,
	.cozi-wishlist-page .home-product-card.is-cozi-vp-open,
	.cozi-wishlist-page .home-product-card.is-cozi-look-sizes-open,
	.cozi-product-page .home-product-card.is-cozi-vp-open,
	.cozi-product-page .home-product-card.is-cozi-look-sizes-open,
	.home-product-card.is-cozi-vp-open,
	.home-product-card.is-cozi-popular-sizes-open,
	.home-product-card.is-cozi-look-sizes-open,
	li.product.is-cozi-look-sizes-open,
	li.product.is-cozi-look-sizes-open .home-product-card {
		position: relative;
		z-index: 6;
	}

	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-vp-open .home-product-card__media-wrap,
	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-popular-sizes-open .home-product-card__media-wrap,
	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-look-sizes-open .home-product-card__media-wrap,
	.cozi-catalogue-page .cozi-catalogue__products li.product.is-cozi-look-sizes-open .home-product-card__media-wrap,
	.cozi-wishlist-page .home-product-card.is-cozi-vp-open .home-product-card__media-wrap,
	.cozi-wishlist-page .home-product-card.is-cozi-look-sizes-open .home-product-card__media-wrap,
	.cozi-product-page .cozi-product__related-grid li.product.is-cozi-look-sizes-open .home-product-card__media-wrap,
	.cozi-product-page .cozi-product__related-grid .home-product-card.is-cozi-look-sizes-open .home-product-card__media-wrap,
	.cozi-product-page .home-product-card.is-cozi-vp-open .home-product-card__media-wrap,
	.cozi-product-page .home-product-card.is-cozi-look-sizes-open .home-product-card__media-wrap,
	.home-product-card.is-cozi-vp-open .home-product-card__media-wrap,
	.home-product-card.is-cozi-popular-sizes-open .home-product-card__media-wrap,
	.home-product-card.is-cozi-look-sizes-open .home-product-card__media-wrap,
	li.product.is-cozi-look-sizes-open .home-product-card__media-wrap {
		position: static;
	}

	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-vp-open .home-product-size-panel,
	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-popular-sizes-open .home-product-size-panel,
	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel,
	.cozi-catalogue-page .cozi-catalogue__products li.product.is-cozi-look-sizes-open .cozi-look-size-panel,
	.cozi-wishlist-page .home-product-card.is-cozi-vp-open .home-product-size-panel,
	.cozi-wishlist-page .home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel,
	.cozi-product-page .home-product-card.is-cozi-vp-open .home-product-size-panel,
	.cozi-product-page .cozi-product__related-grid li.product.is-cozi-look-sizes-open .cozi-look-size-panel,
	.cozi-product-page .cozi-product__related-grid .home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel,
	.cozi-product-page .home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel,
	.home-product-card.is-cozi-vp-open .home-product-size-panel,
	.home-product-card.is-cozi-popular-sizes-open .home-product-size-panel,
	.home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel,
	li.product.is-cozi-look-sizes-open .cozi-look-size-panel {
		position: absolute;
		inset: 0;
		z-index: 10;
		height: 100%;
		min-height: 100%;
		border-radius: 4px;
	}

	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-vp-open .home-product-card__body,
	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-popular-sizes-open .home-product-card__body,
	.cozi-catalogue-page .cozi-catalogue__products .home-product-card.is-cozi-look-sizes-open .home-product-card__body,
	.cozi-catalogue-page .cozi-catalogue__products li.product.is-cozi-look-sizes-open .home-product-card__body,
	.cozi-wishlist-page .home-product-card.is-cozi-vp-open .home-product-card__body,
	.cozi-wishlist-page .home-product-card.is-cozi-look-sizes-open .home-product-card__body,
	.cozi-product-page .home-product-card.is-cozi-vp-open .home-product-card__body,
	.cozi-product-page .home-product-card.is-cozi-look-sizes-open .home-product-card__body,
	.home-product-card.is-cozi-vp-open .home-product-card__body,
	.home-product-card.is-cozi-popular-sizes-open .home-product-card__body,
	.home-product-card.is-cozi-look-sizes-open .home-product-card__body,
	li.product.is-cozi-look-sizes-open .home-product-card__body {
		visibility: hidden;
		pointer-events: none;
	}

	.home-product-card.is-cozi-vp-open .home-product-size-panel__inner,
	.home-product-card.is-cozi-popular-sizes-open .home-product-size-panel__inner,
	.home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel__inner,
	li.product.is-cozi-look-sizes-open .cozi-look-size-panel__inner {
		display: grid;
		grid-template-rows: auto minmax(0, 1fr) auto;
		height: 100%;
		max-height: 100%;
		padding: 8px 8px 0;
		overflow: hidden;
	}

	.home-product-card.is-cozi-vp-open .home-product-size-panel__header,
	.home-product-card.is-cozi-popular-sizes-open .home-product-size-panel__header,
	.home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel__header,
	li.product.is-cozi-look-sizes-open .cozi-look-size-panel__header {
		grid-row: 1;
		flex: 0 0 auto;
		margin-bottom: 4px;
	}

	.home-product-card.is-cozi-vp-open .home-product-size-panel__body,
	.home-product-card.is-cozi-popular-sizes-open .home-product-size-panel__body,
	.home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel__body,
	li.product.is-cozi-look-sizes-open .cozi-look-size-panel__body {
		grid-row: 2;
		flex: none;
		min-height: 0;
		padding: 0;
		overflow: visible;
		-webkit-overflow-scrolling: auto;
		scrollbar-width: none;
	}

	.home-product-card.is-cozi-vp-open .home-product-size-panel__body::-webkit-scrollbar,
	.home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel__body::-webkit-scrollbar,
	li.product.is-cozi-look-sizes-open .cozi-look-size-panel__body::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}

	.home-product-card.is-cozi-vp-open .home-product-size-panel__footer,
	.home-product-card.is-cozi-popular-sizes-open .home-product-size-panel__footer,
	.home-product-card.is-cozi-look-sizes-open .cozi-look-size-panel__footer,
	li.product.is-cozi-look-sizes-open .cozi-look-size-panel__footer {
		position: relative;
		grid-row: 3;
		flex: 0 0 auto;
		margin: 0 -8px;
		padding: 0;
		width: calc(100% + 16px);
	}

	.home-product-size-panel__title,
	.cozi-look-size-panel__title {
		font-size: 13px;
		line-height: 1.25;
	}

	.home-product-size-panel__close,
	.cozi-look-size-panel__close {
		width: 28px;
		height: 28px;
		font-size: 20px;
	}

	.home-product-size-panel__price,
	.cozi-look-size-panel__total {
		position: absolute;
		right: 8px;
		bottom: calc(100% + 4px);
		left: 8px;
		display: flex;
		margin: 0;
		font-size: 12px;
		line-height: 1.2;
	}

	.home-product-size-panel__field {
		margin-bottom: 8px;
	}

	.home-product-size-panel__sizes {
		gap: 6px;
		padding: 0;
	}

	.home-product-size-panel__size {
		min-width: 40px;
		min-height: 34px;
		padding: 5px 10px;
		font-size: 12px;
	}

	.home-product-size-panel__submit,
	.cozi-look-size-panel__submit {
		width: 100%;
		min-height: 42px;
		margin: 0;
		padding: 12px 16px;
		border-radius: 0 0 3px 3px;
		font-size: 13px;
	}

	.home-product-size-panel__status,
	.cozi-look-size-panel__status {
		position: absolute;
		right: 10px;
		bottom: calc(100% + 8px);
		left: 10px;
		margin: 0;
		min-height: 0;
	}

	.home-product-size-panel__status:empty,
	.cozi-look-size-panel__status:empty {
		display: none;
	}

	/* Card / catalogue panels: selects instead of swatch chips on mobile */
	.home-product-size-panel [data-cozi-vp-swatch-group],
	.home-product-size-panel__swatches,
	.home-product-size-panel__sizes,
	.cozi-look-size-panel .cozi-product__look-swatches {
		display: none !important;
	}

	.home-product-size-panel select[data-cozi-vp-sync-select] {
		position: static !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 40px !important;
		margin: 0 !important;
		padding: 8px 36px 8px 12px !important;
		overflow: visible !important;
		clip: auto !important;
		clip-path: none !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		border: 1px solid var(--color-border, #e8e0d8) !important;
		border-radius: 2px !important;
		background-color: var(--color-white, #ffffff) !important;
		background-image: url("../images/header/icon-chevron-down.svg");
		background-repeat: no-repeat !important;
		background-position: right 12px center !important;
		background-size: 10px 10px !important;
		appearance: none !important;
		-webkit-appearance: none !important;
		font-family: var(--font-body);
		font-size: 14px;
		line-height: 1.3;
		color: var(--color-text, #1e1b19);
		box-sizing: border-box;
	}

	.cozi-look-size-panel .cozi-look-component__size.screen-reader-text {
		position: static !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		overflow: visible !important;
		clip: auto !important;
		clip-path: none !important;
	}

	/* When price is visible, lift status above it */
	.home-product-size-panel__footer:has(.home-product-size-panel__price:not(:empty)) .home-product-size-panel__status:not(:empty),
	.cozi-look-size-panel__footer:has(.cozi-look-size-panel__total:not(:empty)) .cozi-look-size-panel__status:not(:empty) {
		bottom: calc(100% + 34px);
	}
}

@media (max-width: 390px) {
	.home-product-size-panel__inner,
	.cozi-look-size-panel__inner {
		padding: 8px;
	}

	.home-product-size-panel__size {
		min-width: 36px;
		min-height: 32px;
		padding: 4px 8px;
	}
}

.home-product-card__media:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

.home-product-card__image {
	display: block;
	width: 100%;
	aspect-ratio: 34 / 25;
	border-radius: 4px;
	overflow: hidden;
	background-color: #ebe6df;
}

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

.home-product-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 12px;
	min-width: 0;
}

.home-product-card__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

.home-product-card__category {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 13px;
	line-height: 18px;
	color: var(--color-text-secondary);
}

.home-product-card__title {
	margin: 0;
	font-family: var(--font-promo);
	font-weight: 400;
	font-size: 17px;
	line-height: 23px;
	color: var(--color-text);
}

.home-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.home-product-card__title a:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 2px;
}

.home-product-card__price {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	line-height: 22px;
	color: var(--color-text);
}

.home-product-card__price del {
	opacity: 0.55;
	font-weight: 400;
	margin-right: 6px;
}

.home-product-card__price ins {
	text-decoration: none;
}

.home-product-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 46px;
	padding: 14px 16px;
	border: 0;
	border-radius: 3px;
	background-color: var(--color-accent);
	color: var(--color-header-bg);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.3px;
	line-height: normal;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	white-space: nowrap;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.home-product-card__button:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

.home-product-card__button--disabled {
	background-color: #cfc7bd;
	color: #635c57;
	cursor: not-allowed;
	pointer-events: none;
}

.home-product-card__cart-icon,
.home-product-card__button .button-icon,
.home-product-size-panel__submit .button-icon,
.home-look-card__add .button-icon,
.cozi-look-size-panel__submit .button-icon,
.home-look-card__cart-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	line-height: 0;
	color: inherit;
}

.home-product-card__button .button-icon svg,
.home-product-size-panel__submit .button-icon svg,
.home-look-card__add .button-icon svg,
.cozi-look-size-panel__submit .button-icon svg,
.home-product-card__cart-icon svg,
.home-look-card__cart-icon svg {
	display: block;
	width: 16px;
	height: 16px;
}

.home-product-card__button .button-label,
.home-product-size-panel__submit .button-label,
.home-look-card__add .button-label,
.cozi-look-size-panel__submit .button-label,
.home-product-card__button-text,
.home-look-card__button-text {
	display: inline-block;
	white-space: nowrap;
	line-height: 1;
	vertical-align: middle;
}

/* Keep ATC flex alignment above WooCommerce .button { display:inline-block }. */
.woocommerce a.home-product-card__button.button,
.woocommerce button.home-product-card__button.button,
.woocommerce-page a.home-product-card__button.button,
.woocommerce-page button.home-product-card__button.button,
a.home-product-card__button.button,
button.home-product-card__button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

@media (hover: hover) and (pointer: fine) {
	.home-popular__all-link:hover {
		color: var(--color-text);
	}

	.home-product-card__button:not(.home-product-card__button--disabled):hover {
		background-color: #3f4837;
		color: var(--color-header-bg);
	}
}

@media (max-width: 1279px) and (min-width: 768px) {
	.home-popular {
		--popular-pad-y: 64px;
		--popular-pad-x: 40px;
		--popular-gap: 40px;
		--popular-title-size: clamp(40px, 3.6vw, 44px);
		--popular-columns: 2;
		--popular-row-gap: 40px;
	}
}

@media (max-width: 767px) {
	.home-popular {
		--popular-pad-y: 52px;
		--popular-pad-x: 20px;
		--popular-gap: 28px;
		--popular-title-size: clamp(34px, 9vw, 40px);
		--popular-columns: 2;
		--popular-col-gap: 14px;
		--popular-row-gap: 32px;
	}

	.home-popular__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.home-product-card__category {
		font-size: 12px;
		line-height: 16px;
	}

	.home-product-card__title {
		font-size: 15px;
		line-height: 20px;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.home-product-card__price {
		font-size: 14px;
		line-height: 20px;
	}

	.home-product-card__button {
		min-height: 44px;
		padding-left: 10px;
		padding-right: 10px;
	}
}

@media (max-width: 374px) {
	.home-popular {
		--popular-pad-y: 48px;
		--popular-col-gap: 10px;
		--popular-row-gap: 28px;
	}
}


/* -------------------------------------------------------------------------- */
/* Homepage looks section (Figma 173:794)                                      */
/* -------------------------------------------------------------------------- */

.home-looks {
	--looks-pad-y: 96px;
	--looks-pad-x: 64px;
	--looks-gap: 40px;
	--looks-title-size: 48px;
	--looks-card-gap: 24px;
	--looks-visible: 3;
	--looks-visual-h: 400px;
	--looks-lifestyle-w: 248px;
	--looks-thumb-w: 65px;
	--looks-thumb-h: 82px;

	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: var(--looks-pad-y) var(--looks-pad-x);
	background-color: var(--color-header-bg);
	box-sizing: border-box;
}

.home-looks__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--looks-gap);
	width: 100%;
	max-width: 1312px;
	min-width: 0;
	margin-inline: auto;
}

.home-looks__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	min-height: 58px;
}

.home-looks__title {
	margin: 0;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: var(--looks-title-size);
	line-height: 1.2;
	color: var(--color-text);
}

.home-looks__controls {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-shrink: 0;
}

.home-looks__all-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 14px;
	line-height: normal;
	color: var(--color-text-secondary);
	text-decoration: underline;
	text-underline-position: from-font;
	white-space: nowrap;
}

.home-looks__all-link:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

.home-looks__nav {
	display: flex;
	align-items: center;
	gap: 16px;
}

.home-looks__nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #d1ccc7;
	border-radius: 50%;
	background: transparent;
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
	transition: opacity 0.15s ease, background-color 0.15s ease;
}

.home-looks__nav-btn:disabled,
.home-looks__nav-btn[aria-disabled="true"] {
	opacity: 0.35;
	cursor: default;
}

.home-looks__nav-btn:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

.home-looks__viewport {
	width: 100%;
	min-width: 0;
	overflow: hidden;
}

.home-looks__track {
	display: flex;
	align-items: stretch;
	gap: var(--looks-card-gap);
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.home-looks__track::-webkit-scrollbar {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.home-looks__track {
		scroll-behavior: auto;
	}
}

.home-looks__slide {
	flex: 0 0 calc((100% - (var(--looks-visible) - 1) * var(--looks-card-gap)) / var(--looks-visible));
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.home-look-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
	width: 100%;
	height: 100%;
	min-width: 0;
	margin: 0;
}

.home-look-card__visual {
	position: relative;
	display: block;
	width: 100%;
	height: var(--looks-visual-h);
	min-height: var(--looks-visual-h);
	min-width: 0;
	overflow: hidden;
}

.home-look-card__title a {
	color: inherit;
	text-decoration: none;
}

.home-look-card__title a:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 2px;
}

.home-look-card__lifestyle {
	flex: 0 0 var(--looks-lifestyle-w);
	width: var(--looks-lifestyle-w);
	max-width: 59%;
	min-width: 0;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.home-look-card__lifestyle-frame {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 4px;
	overflow: hidden;
	background-color: #ebe6df;
}

.home-look-card__lifestyle-img,
.home-look-card__lifestyle-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.home-look-card__lifestyle-placeholder {
	background: linear-gradient(160deg, #ebe6df 0%, #d8d2c9 100%);
}

.home-look-card__products {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1 1 auto;
	min-width: 0;
	padding: 16px 0 16px 12px;
	box-sizing: border-box;
}

.home-look-card__product {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 0;
	min-width: 0;
}

.home-look-card__divider {
	width: 100%;
	height: 0;
	border-top: 1px solid rgba(209, 204, 199, 0.4);
}

.home-look-card__thumb-link {
	flex-shrink: 0;
	text-decoration: none;
}

.home-look-card__thumb-link:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 2px;
}

.home-look-card__thumb {
	display: block;
	width: var(--looks-thumb-w);
	height: var(--looks-thumb-h);
	border-radius: 2px;
	overflow: hidden;
	background-color: #ebe6df;
}

.home-look-card__thumb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.home-look-card__product-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1 1 auto;
}

.home-look-card__product-cat {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 11px;
	line-height: 1.3;
	letter-spacing: 0.55px;
	color: var(--color-text-secondary);
}

.home-look-card__product-cat a {
	color: inherit;
	text-decoration: none;
}

.home-look-card__product-name {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 13px;
	line-height: 1.4;
	color: var(--color-text);
}

.home-look-card__product-name a {
	color: inherit;
	text-decoration: none;
}

.home-look-card__product-name a:focus-visible,
.home-look-card__product-cat a:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 2px;
}

.home-look-card__product-price {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	color: var(--color-text);
}

.home-look-card__product-price del {
	opacity: 0.55;
	font-weight: 400;
	margin-right: 4px;
}

.home-look-card__product-price ins {
	text-decoration: none;
}

.home-look-card__footer {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 16px;
	min-width: 0;
}

.home-look-card__title {
	margin: 0;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.25;
	color: var(--color-text);
}

.home-look-card__description {
	margin: 0;
	flex: 1 1 auto;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-text-secondary);
}

.home-look-card__add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 46px;
	margin-top: auto;
	padding: 14px 16px;
	border: 0;
	border-radius: 3px;
	background-color: var(--color-accent);
	color: var(--color-header-bg);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.3px;
	line-height: normal;
	cursor: pointer;
	box-sizing: border-box;
	white-space: nowrap;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.home-look-card__add:focus-visible {
	outline: 2px dashed var(--color-focus-ring);
	outline-offset: 3px;
}

.home-look-card__add:disabled,
.home-look-card__add--unavailable {
	background-color: #cfc7bd;
	color: #635c57;
	cursor: not-allowed;
}

.home-look-card__add--loading {
	opacity: 0.85;
	cursor: wait;
}

.home-look-card__cart-icon {
	/* Alias kept for backwards compatibility; icon lives in .button-icon. */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	line-height: 0;
	color: inherit;
}

.home-look-card__status {
	min-height: 0;
	margin: 0;
	font-family: var(--font-body);
	font-size: 12px;
	line-height: 1.4;
	color: var(--color-text-secondary);
}

@media (hover: hover) and (pointer: fine) {
	.home-looks__all-link:hover {
		color: var(--color-text);
	}

	.home-looks__nav-btn:not(:disabled):hover {
		background-color: rgba(30, 27, 25, 0.04);
	}

	.home-look-card__add:not(:disabled):not(.home-look-card__add--unavailable):hover {
		background-color: #3f4837;
		color: var(--color-header-bg);
	}
}

@media (max-width: 1279px) and (min-width: 768px) {
	.home-looks {
		--looks-pad-y: 64px;
		--looks-pad-x: 40px;
		--looks-gap: 32px;
		--looks-title-size: clamp(40px, 3.6vw, 44px);
		--looks-visible: 2;
		--looks-visual-h: clamp(360px, 48vw, 390px);
		--looks-lifestyle-w: 58%;
	}

	.home-look-card__lifestyle {
		flex-basis: 58%;
		width: 58%;
		max-width: 60%;
	}
}

@media (max-width: 767px) {
	.home-looks {
		--looks-pad-y: clamp(48px, 12vw, 56px);
		--looks-pad-x: 20px;
		--looks-gap: 24px;
		--looks-title-size: clamp(34px, 9vw, 40px);
		--looks-card-gap: 16px;
		--looks-visible: 1;
		--looks-visual-h: clamp(320px, 88vw, 360px);
		--looks-lifestyle-w: 56%;
		--looks-thumb-w: 48px;
		--looks-thumb-h: 62px;
	}

	.home-looks__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		min-height: 0;
	}

	.home-looks__controls {
		width: 100%;
		justify-content: space-between;
		gap: 16px;
	}

	.home-look-card__lifestyle {
		flex-basis: 56%;
		width: 56%;
		max-width: 58%;
	}

	.home-look-card__products {
		padding-left: 8px;
	}

	.home-look-card__product-name {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.home-look-card__add {
		min-height: 44px;
	}
}

@media (max-width: 374px) {
	.home-looks {
		--looks-pad-y: 48px;
		--looks-thumb-w: 44px;
		--looks-thumb-h: 58px;
	}
}


/* -------------------------------------------------------------------------- */
/* Homepage About section (Figma 8:161)                                        */
/* -------------------------------------------------------------------------- */

.cozi-about {
	--about-hero-pad-y-top: 80px;
	--about-hero-pad-y-bottom: 64px;
	--about-hero-pad-x: 64px;
	--about-body-height: 540px;
	--about-image-width: 500px;
	--about-content-pad-y: 72px;
	--about-content-pad-x: 80px;
	--about-title-size: 46px;
	--about-logo-w: 320px;
	--about-logo-h: 200px;
	--about-line-w: 120px;
	background: #f0ebe3;
	border-top: 1px solid #e8e0d8;
	box-sizing: border-box;
}

.cozi-about__hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	padding: var(--about-hero-pad-y-top) var(--about-hero-pad-x) var(--about-hero-pad-y-bottom);
	background: #f0ebe3;
	box-sizing: border-box;
	text-align: center;
}

.cozi-about__accent-row {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	max-width: 100%;
}

.cozi-about__accent-row--top {
	gap: 20px;
	padding-bottom: 32px;
}

.cozi-about__accent-row--tagline {
	gap: 16px;
	padding-top: 28px;
}

.cozi-about__line {
	display: block;
	flex: 0 0 auto;
	width: var(--about-line-w);
	max-width: min(var(--about-line-w), 18vw);
	height: 1px;
	background: #c5bbb0;
}

.cozi-about__line--top {
	opacity: 0.6;
}

.cozi-about__line--tagline {
	opacity: 0.5;
}

.cozi-about__est {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 10px;
	line-height: normal;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #5a654c;
	opacity: 0.7;
	white-space: nowrap;
}

.cozi-about__logo-wrap {
	width: var(--about-logo-w);
	max-width: min(var(--about-logo-w), 72vw);
}

.cozi-about__logo {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 320 / 200;
	object-fit: contain;
	object-position: center;
}

.cozi-about__tagline {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 11px;
	line-height: normal;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #635c57;
	opacity: 0.85;
	white-space: nowrap;
}

.cozi-about__divider {
	width: 100%;
	height: 1px;
	background: #ddd6ce;
	opacity: 0.6;
}

.cozi-about__body {
	display: flex;
	align-items: stretch;
	height: var(--about-body-height);
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	box-sizing: border-box;
}

.cozi-about__image {
	position: relative;
	flex: 0 0 var(--about-image-width);
	width: var(--about-image-width);
	max-width: var(--about-image-width);
	height: 100%;
	overflow: hidden;
}

.cozi-about__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}

.cozi-about__vline {
	flex: 0 0 1px;
	width: 1px;
	align-self: stretch;
	background: #ddd6ce;
	opacity: 0.5;
}

.cozi-about__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	gap: 28px;
	min-width: 0;
	height: 100%;
	padding: var(--about-content-pad-y) var(--about-content-pad-x);
	box-sizing: border-box;
}

.cozi-about__eyebrow {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 5px 12px;
	border: 1px solid #5a654c;
	border-radius: 2px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 11px;
	line-height: normal;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #5a654c;
	width: fit-content;
}

.cozi-about__title {
	margin: 0;
	font-family: var(--font-heading);
	font-weight: 400;
	font-size: var(--about-title-size);
	line-height: 1.05;
	color: #1e1b19;
}

.cozi-about__dash {
	display: block;
	width: 40px;
	height: 1px;
	background: #5a654c;
	opacity: 0.4;
}

.cozi-about__text {
	margin: 0;
	width: 100%;
	max-width: 800px;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.85;
	color: #4a4440;
}

@media (max-width: 1279px) {
	.cozi-about {
		--about-hero-pad-x: clamp(24px, 5vw, 48px);
		--about-hero-pad-y-top: 64px;
		--about-hero-pad-y-bottom: 48px;
		--about-image-width: clamp(280px, 42vw, 460px);
		--about-content-pad-x: clamp(28px, 5vw, 56px);
		--about-content-pad-y: clamp(40px, 6vw, 64px);
		--about-title-size: clamp(38px, 3.6vw, 44px);
		--about-logo-w: clamp(220px, 36vw, 300px);
		--about-line-w: clamp(48px, 10vw, 100px);
	}
}

@media (max-width: 1024px) {
	.cozi-about {
		--about-image-width: clamp(260px, 44vw, 420px);
		--about-content-pad-x: clamp(24px, 4vw, 40px);
		--about-body-height: auto;
		min-height: 0;
	}

	.cozi-about__body {
		height: auto;
		min-height: 0;
	}

	.cozi-about__image {
		height: auto;
		aspect-ratio: 500 / 540;
		align-self: stretch;
	}
}

@media (max-width: 767px) {
	.cozi-about {
		--about-hero-pad-x: 20px;
		--about-hero-pad-y-top: 48px;
		--about-hero-pad-y-bottom: 40px;
		--about-content-pad-x: 20px;
		--about-content-pad-y: 40px;
		--about-title-size: clamp(36px, 9vw, 38px);
		--about-logo-w: min(240px, 72vw);
		--about-line-w: clamp(28px, 12vw, 64px);
		--about-image-width: 100%;
	}

	.cozi-about__accent-row--top {
		gap: 12px;
		padding-bottom: 24px;
	}

	.cozi-about__accent-row--tagline {
		gap: 10px;
		padding-top: 20px;
		flex-wrap: wrap;
	}

	.cozi-about__tagline {
		white-space: normal;
		max-width: 100%;
	}

	.cozi-about__body {
		flex-direction: column;
		height: auto;
	}

	.cozi-about__image {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 500 / 540;
	}

	.cozi-about__vline {
		display: none;
	}

	.cozi-about__content {
		width: 100%;
		height: auto;
		gap: 20px;
	}

	.cozi-about__text {
		font-size: 14px;
		line-height: 1.8;
	}
}

@media (max-width: 374px) {
	.cozi-about {
		--about-hero-pad-x: 16px;
		--about-content-pad-x: 16px;
		--about-line-w: 20px;
	}

	.cozi-about__est,
	.cozi-about__tagline {
		font-size: 9px;
	}
}


/* -------------------------------------------------------------------------- */
/* Advantages section (Figma 8:178)                                            */
/* -------------------------------------------------------------------------- */

.cozi-about + .cozi-advantages {
	margin-top: 0;
}

.cozi-advantages {
	--advantages-pad-y: 56px;
	--advantages-pad-x: 64px;
	--advantages-item-gap: 14px;
	--advantages-icon-size: 56px;
	--advantages-icon-glyph: 24px;
	--advantages-divider: #d6cfc8;
	margin: 0;
	padding: 0;
	background: #eaeae0;
	border-top: 1px solid var(--color-border);
	box-sizing: border-box;
}

.cozi-advantages__container {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: var(--advantages-pad-y) var(--advantages-pad-x);
	box-sizing: border-box;
}

.cozi-advantages__grid {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.cozi-advantages__item {
	display: flex;
	flex: 0 1 260px;
	flex-direction: column;
	align-items: center;
	gap: var(--advantages-item-gap);
	width: 260px;
	max-width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	box-sizing: border-box;
}

.cozi-advantages__divider {
	flex: 0 0 1px;
	width: 1px;
	height: 48px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--advantages-divider);
	align-self: center;
}

.cozi-advantages__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--advantages-icon-size);
	height: var(--advantages-icon-size);
	border: 1px solid var(--color-accent);
	border-radius: 50%;
	box-sizing: border-box;
	overflow: hidden;
}

.cozi-advantages__icon-img {
	display: block;
	width: var(--advantages-icon-glyph);
	height: var(--advantages-icon-glyph);
	max-width: 100%;
}

.cozi-advantages__title {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 13px;
	line-height: normal;
	color: var(--color-text);
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}

@media (max-width: 1199px) {
	.cozi-advantages {
		--advantages-pad-x: clamp(24px, 4vw, 48px);
	}

	.cozi-advantages__item {
		flex-basis: 200px;
		width: auto;
		min-width: 0;
	}

	.cozi-advantages__title {
		white-space: normal;
	}
}

@media (max-width: 1023px) {
	.cozi-advantages {
		--advantages-pad-y: 48px;
	}

	.cozi-advantages__grid {
		display: grid;
		grid-template-columns: 1fr 1px 1fr;
		grid-template-rows: auto 1px auto;
		align-items: center;
		justify-items: center;
		column-gap: 0;
		row-gap: 0;
	}

	.cozi-advantages__item {
		flex: none;
		width: 100%;
		max-width: 260px;
		padding: 8px 16px;
	}

	/* item, divider, item */
	/* item, divider, item */
	.cozi-advantages__item:nth-child(1) { grid-column: 1; grid-row: 1; }
	.cozi-advantages__divider:nth-child(2) { grid-column: 2; grid-row: 1; height: 48px; width: 1px; align-self: center; }
	.cozi-advantages__item:nth-child(3) { grid-column: 3; grid-row: 1; }
	.cozi-advantages__divider:nth-child(4) {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		height: 1px;
		justify-self: stretch;
	}
	.cozi-advantages__item:nth-child(5) { grid-column: 1; grid-row: 3; }
	.cozi-advantages__divider:nth-child(6) { grid-column: 2; grid-row: 3; height: 48px; width: 1px; align-self: center; }
	.cozi-advantages__item:nth-child(7) { grid-column: 3; grid-row: 3; }
}

@media (max-width: 767px) {
	.cozi-advantages {
		--advantages-pad-y: 40px;
		--advantages-pad-x: 20px;
		--advantages-item-gap: 12px;
	}

	.cozi-advantages__item {
		padding: 4px 12px;
	}

	.cozi-advantages__title {
		font-size: 12px;
	}
}

@media (max-width: 374px) {
	.cozi-advantages {
		--advantages-pad-x: 16px;
		--advantages-icon-size: 48px;
		--advantages-icon-glyph: 22px;
	}

	.cozi-advantages__title {
		font-size: 11px;
	}
}


/* -------------------------------------------------------------------------- */
/* Multibrand section (Figma 8:210)                                            */
/* -------------------------------------------------------------------------- */

.cozi-advantages + .cozi-multibrand {
	margin-top: 0;
}

.cozi-multibrand {
	--multibrand-pad-y: 88px;
	--multibrand-pad-x: 64px;
	--multibrand-gap-heading: 48px;
	--multibrand-card-gap: 24px;
	--multibrand-card-height: 400px;
	--multibrand-country-pad: 28px;
	--multibrand-heading-size: 48px;
	--multibrand-country-size: 30px;
	margin: 0;
	padding: 0;
	background: var(--color-bg);
	border-top: 1px solid var(--color-border);
	box-sizing: border-box;
}

.cozi-multibrand__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--multibrand-gap-heading);
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	padding: var(--multibrand-pad-y) var(--multibrand-pad-x);
	box-sizing: border-box;
}

.cozi-multibrand__heading {
	margin: 0;
	font-family: var(--font-heading);
	font-weight: 400;
	font-size: var(--multibrand-heading-size);
	line-height: normal;
	color: var(--color-text);
	text-align: left;
}

.cozi-multibrand__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--multibrand-card-gap);
	width: 100%;
}

.cozi-multibrand__card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	height: var(--multibrand-card-height);
	min-width: 0;
	overflow: hidden;
	border-radius: 4px;
	text-decoration: none;
	color: #ffffff;
	isolation: isolate;
}

.cozi-multibrand__card.is-placeholder {
	pointer-events: none;
	cursor: default;
}

.cozi-multibrand__card:focus {
	outline: none;
}

.cozi-multibrand__card:focus-visible {
	outline: 2px solid var(--color-focus-ring);
	outline-offset: 3px;
}

.cozi-multibrand__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
}

.cozi-multibrand__card--ukraine .cozi-multibrand__image {
	object-position: center 38%;
}

.cozi-multibrand__card--turkey .cozi-multibrand__image {
	object-position: center 32%;
}

.cozi-multibrand__card--italy .cozi-multibrand__image {
	object-position: 42% 30%;
}

.cozi-multibrand__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	background: rgba(30, 27, 25, 0.35);
	border-radius: 4px;
	pointer-events: none;
}

.cozi-multibrand__country {
	position: relative;
	z-index: 2;
	display: block;
	padding: 0 var(--multibrand-country-pad) var(--multibrand-country-pad);
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: var(--multibrand-country-size);
	line-height: normal;
	color: #ffffff;
}

@media (max-width: 1199px) {
	.cozi-multibrand {
		--multibrand-pad-x: clamp(24px, 4vw, 48px);
		--multibrand-pad-y: clamp(64px, 8vw, 80px);
		--multibrand-heading-size: clamp(40px, 4vw, 46px);
		--multibrand-card-height: 360px;
		--multibrand-country-size: 28px;
	}
}

@media (max-width: 1023px) {
	.cozi-multibrand {
		--multibrand-gap-heading: 40px;
		--multibrand-card-gap: 20px;
		--multibrand-card-height: 340px;
		--multibrand-country-pad: 24px;
	}
}

@media (max-width: 767px) {
	.cozi-multibrand {
		--multibrand-pad-y: 56px;
		--multibrand-pad-x: 20px;
		--multibrand-gap-heading: 32px;
		--multibrand-card-gap: 16px;
		--multibrand-card-height: 340px;
		--multibrand-heading-size: 38px;
		--multibrand-country-size: 26px;
		--multibrand-country-pad: 20px;
	}

	.cozi-multibrand__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 374px) {
	.cozi-multibrand {
		--multibrand-pad-x: 16px;
		--multibrand-card-height: 320px;
		--multibrand-heading-size: 34px;
		--multibrand-country-size: 24px;
	}
}


/* -------------------------------------------------------------------------- */
/* Reviews section (Figma 8:233)                                               */
/* -------------------------------------------------------------------------- */

.cozi-multibrand + .cozi-reviews {
	margin-top: 0;
}

.cozi-reviews {
	--reviews-pad-y: 96px;
	--reviews-pad-x: 64px;
	--reviews-gap: 48px;
	--reviews-card-gap: 24px;
	--reviews-visible: 3;
	--reviews-card-min-h: 280px;
	--reviews-heading-size: 40px;
	margin: 0;
	padding: 0;
	background: #f5f0eb;
	border-top: 1px solid var(--color-border);
	box-sizing: border-box;
}

.cozi-reviews__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--reviews-gap);
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	padding: var(--reviews-pad-y) var(--reviews-pad-x);
	box-sizing: border-box;
}

.cozi-reviews__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: 100%;
	text-align: center;
}

.cozi-reviews__eyebrow {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 11px;
	line-height: normal;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-accent);
}

.cozi-reviews__heading {
	margin: 0;
	max-width: 100%;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: var(--reviews-heading-size);
	line-height: normal;
	color: var(--color-text);
	text-transform: uppercase;
}

.cozi-reviews__viewport {
	width: 100%;
	min-width: 0;
	overflow: hidden;
}

.cozi-reviews__track {
	display: flex;
	align-items: stretch;
	gap: var(--reviews-card-gap);
	width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.cozi-reviews__track::-webkit-scrollbar {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.cozi-reviews__track {
		scroll-behavior: auto;
	}
}

.cozi-reviews__slide {
	flex: 0 0 calc((100% - (var(--reviews-visible) - 1) * var(--reviews-card-gap)) / var(--reviews-visible));
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.cozi-reviews__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
	min-height: var(--reviews-card-min-h);
	height: 100%;
	padding: 24px;
	background: #faf7f2;
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-sizing: border-box;
}

.cozi-reviews__card-top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
}

.cozi-reviews__stars {
	display: flex;
	align-items: center;
	gap: 4px;
}

.cozi-reviews__star {
	display: block;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}

.cozi-reviews__text {
	margin: 0;
	width: 100%;
}

.cozi-reviews__text p {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.7;
	color: #2c2825;
}

.cozi-reviews__author {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
}

.cozi-reviews__avatar,
.cozi-reviews__photo {
	display: flex;
	flex: 0 0 36px;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--color-accent);
	box-sizing: border-box;
}

.cozi-reviews__avatar {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: normal;
	color: #ffffff;
}

.cozi-reviews__photo-img,
.cozi-reviews__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.cozi-reviews__author-meta {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
}

.cozi-reviews__name {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: normal;
	color: var(--color-text);
}

.cozi-reviews__location {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 13px;
	line-height: normal;
	color: #8a8279;
}

.cozi-reviews__controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 16px;
}

.cozi-reviews__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #d1ccc7;
	border-radius: 50%;
	background: transparent;
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
}

.cozi-reviews__nav:disabled {
	opacity: 0.35;
	cursor: default;
}

.cozi-reviews__nav:focus-visible {
	outline: 2px solid var(--color-focus-ring);
	outline-offset: 3px;
}

.cozi-reviews__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 10px;
}

.cozi-reviews__dot {
	display: block;
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #d6cfc8;
	cursor: pointer;
}

.cozi-reviews__dot.is-active {
	background: var(--color-accent);
}

.cozi-reviews__dot:focus-visible {
	outline: 2px solid var(--color-focus-ring);
	outline-offset: 2px;
}

.cozi-reviews__cta-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.cozi-reviews__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 24px;
	border: 1px solid var(--color-accent);
	border-radius: 3px;
	background: transparent;
	color: var(--color-accent);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: normal;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
}

.cozi-reviews__cta.is-placeholder {
	pointer-events: none;
	cursor: default;
}

.cozi-reviews__cta:focus-visible {
	outline: 2px solid var(--color-focus-ring);
	outline-offset: 3px;
}

@media (max-width: 1199px) {
	.cozi-reviews {
		--reviews-pad-x: clamp(24px, 4vw, 48px);
		--reviews-pad-y: clamp(64px, 8vw, 88px);
		--reviews-heading-size: clamp(32px, 3.5vw, 38px);
		--reviews-visible: 2;
	}
}

@media (max-width: 767px) {
	.cozi-reviews {
		--reviews-pad-y: 56px;
		--reviews-pad-x: 20px;
		--reviews-gap: 32px;
		--reviews-card-gap: 16px;
		--reviews-visible: 1;
		--reviews-card-min-h: 0;
		--reviews-heading-size: 28px;
	}

	.cozi-reviews__heading {
		text-wrap: balance;
	}

	.cozi-reviews__card {
		padding: 20px;
	}
}

@media (max-width: 374px) {
	.cozi-reviews {
		--reviews-pad-x: 16px;
		--reviews-heading-size: 24px;
	}
}


/* -------------------------------------------------------------------------- */
/* Contacts section (Figma 8:271)                                              */
/* -------------------------------------------------------------------------- */

.cozi-reviews + .cozi-contacts-section {
	margin-top: 0;
}

.cozi-contacts-section {
	display: grid;
	grid-template-columns: minmax(0, 58.2%) minmax(0, 41.8%);
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	min-height: 528px;
	margin: 0;
	padding: 0;
	background: #f7f2ec;
	border-top: 1px solid #e8e0d8;
	box-sizing: border-box;
	overflow-x: clip;
}

.cozi-contacts-section__media {
	display: grid;
	min-width: 0;
	max-width: 100%;
	min-height: 528px;
	overflow: hidden;
	border-radius: 4px 0 0 4px;
}

.cozi-contacts-section__image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	min-height: 528px;
	object-fit: cover;
	object-position: center;
	border-radius: 4px 0 0 4px;
}

.cozi-contacts-section__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	min-width: 0;
	max-width: 100%;
	padding: 64px;
	background: #5a654c;
	color: #f7f2ec;
	box-sizing: border-box;
}

.cozi-contacts-section__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	width: 100%;
}

.cozi-contacts-section__eyebrow {
	margin: 0;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
	color: rgba(247, 242, 236, 0.63);
}

.cozi-contacts-section__title {
	margin: 0;
	max-width: 100%;
	font-family: var(--font-heading);
	font-size: 38px;
	font-weight: 400;
	line-height: 1.05;
	color: #f7f2ec;
}

.cozi-contacts-section__description {
	margin: 0;
	max-width: 100%;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	color: #f7f2ec;
}

.cozi-contacts-section__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 16px;
	width: 100%;
}

.cozi-contacts-section__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 48px;
	padding: 14px 24px;
	border-radius: 3px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: normal;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.cozi-contacts-section__button--call {
	background: #f7f2ec;
	color: #5a654c;
	border: 1px solid #f7f2ec;
}

.cozi-contacts-section__button--call:hover {
	background: #ebe4da;
	border-color: #ebe4da;
	color: #4a5440;
}

.cozi-contacts-section__button--call:active {
	background: #e0d7cb;
	border-color: #e0d7cb;
	color: #3f4736;
}

.cozi-contacts-section__button--write {
	background: transparent;
	color: #f7f2ec;
	border: 1px solid #f7f2ec;
}

.cozi-contacts-section__button--write:hover {
	background: rgba(247, 242, 236, 0.12);
	color: #f7f2ec;
}

.cozi-contacts-section__button--write:active {
	background: rgba(247, 242, 236, 0.2);
	color: #f7f2ec;
}

.cozi-contacts-section__button:focus-visible {
	outline: 2px solid #f7f2ec;
	outline-offset: 3px;
}

.cozi-contacts-section__list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cozi-contacts-section__item {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-width: 0;
}

.cozi-contacts-section__item--hours {
	align-items: flex-start;
}

.cozi-contacts-section__icon {
	display: block;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
}

.cozi-contacts-section__details {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
	max-width: 100%;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	color: #f7f2ec;
	text-decoration: none;
	overflow-wrap: anywhere;
	word-break: break-word;
}

a.cozi-contacts-section__details:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

a.cozi-contacts-section__details:focus-visible {
	outline: 2px solid #f7f2ec;
	outline-offset: 3px;
	border-radius: 2px;
}

.cozi-contacts-section__hours {
	display: block;
}

.cozi-contacts-section__secondary {
	display: block;
	font-size: 13px;
	font-weight: 400;
	color: rgba(247, 242, 236, 0.56);
}

@media (prefers-reduced-motion: reduce) {
	.cozi-contacts-section__button {
		transition: none;
	}
}

@media (max-width: 1199px) {
	.cozi-contacts-section {
		grid-template-columns: minmax(0, 54%) minmax(0, 46%);
		min-height: 0;
	}

	.cozi-contacts-section__media,
	.cozi-contacts-section__image {
		min-height: 0;
	}

	.cozi-contacts-section__panel {
		padding: 40px;
	}

	.cozi-contacts-section__title {
		font-size: clamp(32px, 3.2vw, 38px);
	}
}

@media (max-width: 767px) {
	.cozi-contacts-section {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.cozi-contacts-section__media {
		aspect-ratio: 390 / 260;
		min-height: 230px;
		border-radius: 0;
	}

	.cozi-contacts-section__image {
		min-height: 230px;
		border-radius: 0;
	}

	.cozi-contacts-section__panel {
		padding: 32px 20px;
	}

	.cozi-contacts-section__title {
		font-size: 32px;
	}

	.cozi-contacts-section__button {
		white-space: normal;
		text-align: center;
	}
}

@media (max-width: 374px) {
	.cozi-contacts-section__panel {
		padding: 28px 16px;
	}

	.cozi-contacts-section__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.cozi-contacts-section__button {
		width: 100%;
	}

	.cozi-contacts-section__title {
		font-size: 30px;
	}
}


/* -------------------------------------------------------------------------- */
/* Instagram section (Figma 8:307)                                             */
/* -------------------------------------------------------------------------- */

.cozi-contacts-section + .cozi-instagram-section {
	margin-top: 0;
}

.cozi-instagram-section {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 36px;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 64px;
	box-sizing: border-box;
	background: #f7f2ec;
	border-top: 1px solid #e8e0d8;
	overflow-x: clip;
}

.cozi-instagram-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	min-width: 0;
	min-height: 55px;
}

.cozi-instagram-section__identity {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.cozi-instagram-section__icon-wrap {
	display: flex;
	flex: 0 0 36px;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #1e1b19;
}

.cozi-instagram-section__icon {
	display: block;
	width: 16px;
	height: 16px;
}

.cozi-instagram-section__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
}

.cozi-instagram-section__title {
	margin: 0;
	font-family: var(--font-promo);
	font-size: 26px;
	font-weight: 400;
	line-height: normal;
	color: #1e1b19;
}

.cozi-instagram-section__username {
	margin: 0;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: 18px;
	color: #635c57;
	text-decoration: none;
}

a.cozi-instagram-section__username:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

a.cozi-instagram-section__username:focus-visible {
	outline: 2px solid var(--color-focus-ring);
	outline-offset: 3px;
	border-radius: 2px;
}

.cozi-instagram-section__follow {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 137px;
	min-height: 42px;
	padding: 12px 28px;
	border-radius: 4px;
	background: #5a654c;
	color: #f7f2ec;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	line-height: 18px;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.cozi-instagram-section__follow:hover {
	background: #4a5440;
	color: #f7f2ec;
}

.cozi-instagram-section__follow:active {
	background: #3f4736;
	color: #f7f2ec;
}

.cozi-instagram-section__follow:focus-visible {
	outline: 2px solid var(--color-focus-ring);
	outline-offset: 3px;
}

.cozi-instagram-section__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	min-width: 0;
}

.cozi-instagram-section__item {
	min-width: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 4px;
}

.cozi-instagram-section__link {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 4px;
	transition: opacity 0.2s ease;
}

.cozi-instagram-section__link:hover {
	opacity: 0.88;
}

.cozi-instagram-section__link:focus-visible {
	outline: 2px solid var(--color-focus-ring);
	outline-offset: 3px;
	opacity: 1;
}

.cozi-instagram-section__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.cozi-instagram-section__follow,
	.cozi-instagram-section__link {
		transition: none;
	}
}

@media (max-width: 1199px) {
	.cozi-instagram-section {
		padding: 48px 40px;
		gap: 32px;
	}

	.cozi-instagram-section__grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.cozi-instagram-section {
		padding: 40px 24px;
		gap: 28px;
	}

	.cozi-instagram-section__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}

	.cozi-instagram-section__title {
		font-size: clamp(22px, 4vw, 26px);
	}
}

@media (max-width: 575px) {
	.cozi-instagram-section {
		padding: 32px 20px;
		gap: 28px;
	}

	.cozi-instagram-section__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		min-height: 0;
	}

	.cozi-instagram-section__follow {
		width: 100%;
		justify-content: center;
	}

	.cozi-instagram-section__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

@media (max-width: 374px) {
	.cozi-instagram-section {
		padding: 28px 16px;
	}

	.cozi-instagram-section__title {
		font-size: 22px;
	}
}


/* -------------------------------------------------------------------------- */
/* Temporary narrow-screen safeguards (no mobile Figma frame yet)              */
/* TEMP mobile: prevent overflow/overlap until a mobile header exists          */
/* -------------------------------------------------------------------------- */

@media (max-width: 1199px) {
	:root {
		--container-gutter: 32px;
	}

	.site-header__inner {
		padding-left: 32px;
		padding-right: 32px;
		gap: 16px;
	}

	.primary-menu {
		gap: 20px;
	}
}

@media (max-width: 991px) {
	:root {
		--container-gutter: 16px;
	}

	.site-header__inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.site-header__icon-btn--account {
		display: none;
	}

	.site-header__menu-toggle {
		display: inline-flex;
	}

	.site-header__menu-icon--close {
		display: none;
	}

	.site-header.is-menu-open .site-header__menu-icon--burger {
		display: none;
	}

	.site-header.is-menu-open .site-header__menu-icon--close {
		display: inline-flex;
	}

	.site-header.is-menu-open .site-header__actions > :not(.site-header__menu-toggle) {
		visibility: hidden;
		pointer-events: none;
	}

	.site-header.is-menu-open .site-header__inner {
		position: relative;
		z-index: 3;
	}

	.site-header.is-menu-open .site-header__actions {
		position: relative;
		z-index: 4;
	}

	.site-header__menu-toggle {
		position: relative;
		z-index: 5;
	}

	.site-navigation {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		z-index: 2;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		box-sizing: border-box;
		padding: 0;
		overflow: hidden;
		max-width: 100%;
		background-color: var(--color-header-bg);
		visibility: hidden;
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}

	.site-navigation__header {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: flex-end;
		box-sizing: border-box;
		padding: 12px 16px 0;
		min-height: var(--header-height);
		background-color: var(--color-header-bg);
		border-bottom: 1px solid var(--color-border);
	}

	.site-navigation__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: var(--header-icon-btn-size, 44px);
		height: var(--header-icon-btn-size, 44px);
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 2px;
		background: transparent;
		color: var(--color-text);
		cursor: pointer;
	}

	.site-navigation__close:focus-visible {
		outline: 2px dashed var(--color-focus-ring);
		outline-offset: 2px;
	}

	.site-navigation__close svg {
		display: block;
	}

	.site-navigation__body {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		padding: 0 16px 32px;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.admin-bar .site-navigation {
		top: 32px;
	}

	.admin-bar .site-navigation__header {
		padding-top: 12px;
	}

	.site-header.is-menu-open .site-navigation {
		visibility: visible;
		pointer-events: auto;
		opacity: 1;
	}

	.primary-menu {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.primary-menu > li > a {
		display: flex;
		width: 100%;
		box-sizing: border-box;
		min-height: 48px;
		padding: 12px 0;
		font-size: 16px;
		white-space: normal;
		border-bottom: 1px solid var(--color-border);
	}

	body:not(.home) .primary-menu > .current-menu-item > a::after,
	body:not(.home) .primary-menu > .current-menu-parent > a::after,
	body:not(.home) .primary-menu > .current-menu-ancestor > a::after,
	body:not(.home) .primary-menu > .current_page_item > a::after,
	body:not(.home) .primary-menu > .current_page_parent > a::after,
	body:not(.home) .primary-menu > .current_page_ancestor > a::after {
		display: none;
	}

	.site-header.is-menu-open .primary-menu .sub-menu {
		display: flex;
		flex-direction: column;
		margin: 0;
		padding: 0 0 0 16px;
		list-style: none;
	}

	.primary-menu .sub-menu a {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 10px 0;
		font-family: var(--font-body);
		font-size: 15px;
		font-weight: 400;
		color: var(--color-text);
		text-decoration: none;
		border-bottom: 1px solid var(--color-border);
	}

	.primary-menu .sub-menu a:hover {
		color: var(--color-accent);
	}

	.site-header__menu-account {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-top: 16px;
		padding-top: 16px;
		border-top: 1px solid var(--color-border);
		font-family: var(--font-body);
		font-size: 16px;
		font-weight: 500;
		line-height: normal;
		color: var(--color-text);
		text-decoration: none;
	}

	.site-header__menu-account img {
		display: block;
		width: var(--header-icon-size);
		height: var(--header-icon-size);
	}

	.site-header__menu-account:hover {
		color: var(--color-accent);
	}

	.site-header__menu-account:focus-visible {
		outline: 2px dashed var(--color-focus-ring);
		outline-offset: 4px;
	}

	body.is-menu-open {
		overflow: hidden;
	}

	@media (prefers-reduced-motion: reduce) {
		.site-navigation {
			transition: none;
		}
	}
}

@media (max-width: 782px) {
	.admin-bar .site-navigation {
		top: 46px;
	}
}

/*
 * ≤390px: logo + 4 icon buttons must fit without horizontal overflow.
 * Desktop / tablet header metrics stay unchanged above this breakpoint.
 */
@media (max-width: 390px) {
	:root {
		--header-logo-width: 96px;
		--header-logo-height: 60px;
		--header-actions-gap: 4px;
		--header-icon-btn-size: 40px;
	}

	.site-header__inner {
		padding-left: 12px;
		padding-right: 12px;
		gap: 8px;
		min-width: 0;
		box-sizing: border-box;
	}

	.site-branding,
	.site-logo-link,
	.site-branding .custom-logo-link {
		flex-shrink: 1;
		min-width: 0;
		max-width: var(--header-logo-width);
	}

	.site-header__actions {
		flex-shrink: 0;
		min-width: 0;
		max-width: 100%;
	}

	/* Keep cart badge inside the smaller 40px hit area. */
	.site-header__cart-count {
		left: auto;
		right: 2px;
	}
}

@media (max-width: 320px) {
	:root {
		--header-logo-width: 84px;
		--header-logo-height: 52px;
		--header-actions-gap: 2px;
		--header-icon-btn-size: 40px;
	}

	.site-header__inner {
		padding-left: 10px;
		padding-right: 10px;
		gap: 6px;
	}
}
/* -------------------------------------------------------------------------- */
/* Homepage SEO informational accordion                                        */
/* -------------------------------------------------------------------------- */

.cozi-seo-content {
	width: 100%;
	margin: 0;
	padding: 0 0 64px;
	background-color: var(--color-bg, #f7f2ec);
	box-sizing: border-box;
}

.cozi-seo-content__inner {
	box-sizing: border-box;
	padding-top: 8px;
	padding-bottom: 8px;
	border-top: 1px solid var(--color-border, #e8e0d8);
	border-bottom: 1px solid var(--color-border, #e8e0d8);
}

.cozi-seo-content__title {
	margin: 0;
	padding: 28px 0 12px;
	font-family: var(--font-heading);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.25;
	color: var(--color-text, #1e1b19);
}

.cozi-seo-content__intro {
	max-width: 52rem;
	margin: 0 0 8px;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.65;
	color: var(--color-text-secondary, #635c57);
}

.cozi-seo-content__intro > *:first-child {
	margin-top: 0;
}

.cozi-seo-content__intro > *:last-child {
	margin-bottom: 0;
}

.cozi-seo-content__intro p {
	margin: 0 0 1em;
}

.cozi-seo-content__intro strong {
	font-weight: 600;
	color: var(--color-text, #1e1b19);
}

.cozi-seo-content__intro a {
	color: var(--color-accent, #5a654c);
	text-decoration: underline;
	text-underline-offset: 2px;
	overflow-wrap: anywhere;
}

.cozi-seo-content__intro a:hover {
	color: var(--color-text, #1e1b19);
}

.cozi-seo-content__intro a:focus-visible {
	outline: 2px solid var(--color-focus-ring, #79745d);
	outline-offset: 2px;
}

.cozi-seo-content__list {
	display: flex;
	flex-direction: column;
	margin: 8px 0 0;
	padding: 0;
}

.cozi-seo-content__item {
	border-top: 1px solid var(--color-border, #e8e0d8);
	padding: 20px 0;
}

.cozi-seo-content__heading {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}

.cozi-seo-content__trigger {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.cozi-seo-content__trigger:focus {
	outline: none;
}

.cozi-seo-content__trigger:focus-visible {
	outline: 2px solid var(--color-focus-ring, #79745d);
	outline-offset: 4px;
}

.cozi-seo-content__heading-text {
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--font-heading);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.3;
	color: var(--color-text, #1e1b19);
}

.cozi-seo-content__icon {
	position: relative;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	margin-top: 2px;
	border: 1px solid var(--color-border, #e8e0d8);
	border-radius: 50%;
	background: var(--color-white, #fff);
}

.cozi-seo-content__icon-bar {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	background: var(--color-accent, #5a654c);
	transform: translate(-50%, -50%);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.cozi-seo-content__icon-bar--h {
	width: 12px;
	height: 1.5px;
}

.cozi-seo-content__icon-bar--v {
	width: 1.5px;
	height: 12px;
}

.cozi-seo-content__item.is-open .cozi-seo-content__icon-bar--v {
	opacity: 0;
	transform: translate(-50%, -50%) scaleY(0);
}

.cozi-seo-content__item.is-open .cozi-seo-content__icon {
	border-color: var(--color-accent, #5a654c);
}

.cozi-seo-content__panel {
	max-width: 52rem;
	margin-top: 10px;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.65;
	color: var(--color-text-secondary, #635c57);
}

.cozi-seo-content__preview p {
	margin: 0;
	overflow-wrap: anywhere;
}

.cozi-seo-content__item:not(.is-open) .cozi-seo-content__preview p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

.cozi-seo-content__preview strong,
.cozi-seo-content__rest strong,
.cozi-seo-content__intro strong {
	font-weight: 600;
	color: var(--color-text, #1e1b19);
}

.cozi-seo-content__rest {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.28s ease;
}

.cozi-seo-content__item.is-open .cozi-seo-content__rest {
	grid-template-rows: 1fr;
}

.cozi-seo-content__rest-inner {
	min-height: 0;
	overflow: hidden;
}

.cozi-seo-content__rest-inner > *:first-child {
	margin-top: 1em;
}

.cozi-seo-content__rest-inner > *:last-child {
	margin-bottom: 0;
}

.cozi-seo-content__rest p,
.cozi-seo-content__intro p {
	margin: 0 0 1em;
}

.cozi-seo-content__rest ol,
.cozi-seo-content__rest ul {
	margin: 0 0 1.25em;
	padding-left: 1.35em;
}

.cozi-seo-content__rest li {
	margin: 0 0 0.65em;
	padding-left: 0.15em;
}

.cozi-seo-content__rest li:last-child {
	margin-bottom: 0;
}

.cozi-seo-content__preview a,
.cozi-seo-content__rest a {
	color: var(--color-accent, #5a654c);
	text-decoration: underline;
	text-underline-offset: 2px;
	overflow-wrap: anywhere;
}

.cozi-seo-content__preview a:hover,
.cozi-seo-content__rest a:hover {
	color: var(--color-text, #1e1b19);
}

.cozi-seo-content__preview a:focus-visible,
.cozi-seo-content__rest a:focus-visible {
	outline: 2px solid var(--color-focus-ring, #79745d);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.cozi-seo-content__icon-bar,
	.cozi-seo-content__rest {
		transition: none;
	}
}

@media (max-width: 1024px) {
	.cozi-seo-content {
		padding-bottom: 56px;
	}

	.cozi-seo-content__title {
		font-size: 28px;
		padding-top: 24px;
	}

	.cozi-seo-content__heading-text {
		font-size: 22px;
	}
}

@media (max-width: 768px) {
	.cozi-seo-content {
		padding-bottom: 48px;
	}

	.cozi-seo-content__title {
		font-size: 24px;
		padding-top: 20px;
	}

	.cozi-seo-content__heading-text {
		font-size: 20px;
	}

	.cozi-seo-content__intro,
	.cozi-seo-content__panel {
		font-size: 14px;
	}

	.cozi-seo-content__item {
		padding: 16px 0;
	}

	.cozi-seo-content__trigger {
		gap: 12px;
	}
}

@media (max-width: 390px) {
	.cozi-seo-content {
		padding-bottom: 40px;
	}

	.cozi-seo-content__title {
		font-size: 22px;
	}

	.cozi-seo-content__heading-text {
		font-size: 18px;
	}

	.cozi-seo-content__icon {
		flex-basis: 26px;
		width: 26px;
		height: 26px;
	}
}
