:root {
	--text-dark: #020202;
	--primary-dark: #723b10;
	--primary-darkest: #5a2e0b;
	--primary-main: #8b4a16;
	--bg-lowest: #fdfcfa;
	--bg-intense: #e8ddd0;
	--bg-highest: #f5f3ef;
	--text-deep: #6a7282;
	--text-inverted: #ffffff;
	--accent-new: #945a2b;
	--accent-top: #fe9a00;
	--accent-sale: #b85c47;
	--text-muted: #848b98;
	--text-accent: #8b7355;
	--text-light: #E5E7EB;
	--bg-medium: #f8f4ef;
	--border-light: #e5e7eb;
	--border-dark: #848b98;
	--primary-light: #9d6436;
	--bg-light: #faf8f5;
	--alert-error: #F64C4F;
	--alert-success: #4FB268;
}

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

html,
body {
	height: 100%;
	overflow-x: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: var(--primary-main);
}

ul,
ol {
	list-style: none;
}

img {
	max-width: 100%;
	display: block;
}

button {
	font-family: inherit;
	cursor: pointer;
	border: none;
	background: none;
}

input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
}

/* ===== Generic input states (base fallback — components with their own state rules override via specificity) ===== */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="hidden"]),
textarea,
select {
	background: var(--bg-lowest);
	border: 1px solid var(--border-light);
	transition: border-color 0.3s ease, background 0.3s ease;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="hidden"]):hover,
textarea:hover,
select:hover {
	background: var(--bg-lowest);
	border: 2px solid var(--border-dark);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="hidden"]):focus,
textarea:focus,
select:focus {
	background: var(--bg-lowest);
	border: 2px solid var(--bg-intense);
	outline: none;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="hidden"]):not(:placeholder-shown),
textarea:not(:placeholder-shown) {
	background: var(--bg-lowest);
	border: 2px solid var(--border-dark);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="hidden"]):disabled,
textarea:disabled,
select:disabled {
	background: var(--border-light);
	border: 1px solid var(--border-light);
}

.has-error input,
.has-error textarea,
.has-error select,
input.has-error,
textarea.has-error,
select.has-error {
	background: var(--text-inverted);
	border: 1px solid var(--alert-error);
}

.has-success input,
.has-success textarea,
.has-success select,
input.has-success,
textarea.has-success,
select.has-success {
	background: var(--text-inverted);
	border: 1px solid var(--alert-success);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: inherit;
	font-size: inherit;
}

/* ===== Utilities ===== */
.d-mobile {
	display: none !important;
}

.d-mobile-flex {
	display: none !important;
}



body {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: #1a1a1a;
	background-color: #ffffff;
}

.container {
	max-width: 1728px;
	margin: 0 auto;
	padding: 0 80px;
}

.section {
	padding: 120px 0;
}

/* Section vertical padding exceptions (default is 120px 0 above) */
.categories {
	padding: 60px 0;
}

.products-block {
	padding: 120px 0 60px;
}

.why-choose,
.community {
	padding: 60px 0 120px;
}

.craftsmanship {
	background-color: var(--bg-lowest);
}

/* Universal section heading: full-width title + row (subtitle + optional action) */
.section-head {
	margin-bottom: 48px;
}

.section-head--center {
	text-align: center;
	margin-bottom: 48px;
}

.section-head--center .section-head__row {
	justify-content: center;
}

.section-head__title {
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
	color: var(--text-dark);
}

.section-head__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	margin-top: 12px;
}

.section-head__subtitle {
	font-size: 16px;
	line-height: 28px;
	color: var(--text-deep);
}

.section-head__action {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: var(--primary-main);
	transition: opacity 0.2s;
}

.section-head__action:hover {
	opacity: 0.7;
}

.section-head__action-icon {
	display: inline-flex;
	line-height: 0;
}



/* ===== Sticky header wrapper ===== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1001;
}

/* ===== Top banner ===== */
.top-banner {
	background-color: #020202;
	color: #ffffff;
}

.top-banner__list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	list-style: none;
	padding: 8px 0;
}

.top-banner__item {
	font-size: 12px;
	line-height: 16px;
	position: relative;
}

.top-banner__item + .top-banner__item::before {
	content: "·";
	position: absolute;
	left: -14px;
	top: 50%;
	transform: translateY(-50%);
}

/* ===== Header ===== */
#header {
	background-color: #f5f3ef;
	position: relative;
	z-index: 1001;
	border-bottom: 1px solid var(--border-light);
	--header-mobile-offset: 56px;
}

#header.nav-open,
#header.search-active {
	--header-mobile-offset: 148px;
}

#header > .container {
	position: static;
}

.header__inner {
	display: flex;
	align-items: center;
	gap: 40px;
	height: 80px;
}

@media (max-width: 1198px) {
	.header__inner {
		gap: 8px;
	}

	#header > .container {
		padding: 0 20px;
	}
}

.header__logo {
	flex-shrink: 0;
}

.header__logo img {
	height: 48px;
	width: auto;
}

/* ===== Nav ===== */
.header__nav {
	flex-grow: 1;
}

.mobile-menu-btn {
	display: none;
}

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

.menu__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	font-weight: 400;
	color: #020202;
	white-space: nowrap;
	transition: opacity 0.2s;
}

.menu__item--dropdown {
	position: static;
}

.menu__arrow {
	display: inline-flex;
	line-height: 0;
	transition: transform 0.25s ease;
}

.menu__item--dropdown:has(.mega-menu.is-open) .menu__arrow {
	transform: rotate(180deg);
}

/* ===== Actions ===== */
.header__actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.header__socials,
.header__buttons {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Icon buttons 40x40 */
.icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	transition: background-color 0.2s;
}

.icon-btn:hover {
	background-color: rgba(2, 2, 2, 0.06);
}

.header__mobile-search {
	display: none;
}

/* ===== Search ===== */
.header__search {
	position: static;
	outline: none;
	display: flex;
}

.header__search:focus-within {
	outline: none;
}

.search {
	position: relative;
	display: flex;
	align-items: center;
	width: 200px;
	height: 40px;
}

#search {
	display: flex;
	align-items: center;
	width: 100%;
}

/* Expanded state: takes remaining space */
#header.search-active .search {
	width: 100%;
}

/* Hide nav and socials when search is active */
#header.search-active .header__nav,
#header.search-active .header__socials {
	display: none;
}

.search__icon {
	position: absolute;
	top: 50%;
	left: 13px;
	transform: translateY(-50%);
	display: inline-flex;
	line-height: 0;
	pointer-events: none;
	z-index: 1;
	flex-shrink: 0;
}

.search__input {
	width: 100%;
	height: 40px;
	padding: 8px 40px 8px 44px;
	border: 2px solid var(--border-light);
	border-radius: 16px;
	background-color: #ffffff;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	outline: none;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.search__input::placeholder {
	color: var(--text-muted);
}

.search__input:focus {
	border-color: var(--border-light);
}

/* Close button — hidden by default */
.search__close {
	position: absolute;
	right: 8px;
	display: none;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	line-height: 0;
	flex-shrink: 0;
}

#header.search-active .search__close {
	display: flex;
}

/* ===== Search Dropdown ===== */
.search-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--bg-highest);
	border-bottom: 1px solid #e7ddd2;
	box-shadow: 0 8px 16px rgba(43, 33, 28, 0.08);
	padding: 32px 0 33px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
	z-index: 999;
}

.search-dropdown.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.search-dropdown__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 48px;
}

.search-dropdown__label {
	font-size: 12px;
	line-height: 16px;
	color: var(--text-deep);
	margin: 0 0 12px 0;
}

/* Popular searches */
.search-dropdown__popular {
	flex-shrink: 0;
}

.search-dropdown__tags {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 600px;
}

.search-dropdown__tags-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.search-tag {
	background: var(--bg-lowest);
	border: 1px solid var(--bg-lowest);
	border-radius: 100px;
	padding: 10px 24px;
	font-size: 14px;
	line-height: 20px;
	color: var(--text-dark);
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s, border-color 0.2s;
}

.search-tag:hover {
	background: var(--bg-intense);
	border-color: var(--bg-intense);
}

.search-tag:active {
	background: var(--primary-darkest);
	border-color: var(--primary-darkest);
	color: var(--text-inverted);
}

/* Trending now */
.search-dropdown__trending {
	width: 519px;
	flex-shrink: 0;
}

.search-dropdown__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.search-result {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
}

.search-result__image {
	width: 56px;
	height: 56px;
	border-radius: 8px;
	border: 1px solid var(--border-light);
	overflow: hidden;
	flex-shrink: 0;
}

.search-result__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.search-result__info {
	flex: 1;
	min-width: 0;
	padding: 8px 0;
}

.search-result__name {
	font-size: 14px;
	line-height: 20px;
	color: var(--text-dark);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0 0 4px 0;
}

.search-result__category {
	font-size: 12px;
	line-height: 16px;
	color: var(--text-deep);
	margin: 0;
}

.search-result__price {
	font-size: 14px;
	line-height: 20px;
	color: var(--text-dark);
	flex-shrink: 0;
	margin: 0;
}

.search-result:hover .search-result__name {
	color: var(--primary-main);
}

/* ===== Language ===== */
.header__lang {
	position: relative;
}

.lang__menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	width: 192px;
	min-width: 192px;
	padding: 8px 0;
	border-radius: 8px;
	background-color: #ffffff;
	box-shadow: 0 10px 30px rgba(2, 2, 2, 0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
	z-index: 20;
}

.lang__menu::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 0;
	right: 0;
	height: 8px;
}

.header__lang.is-open .lang__menu,
	.header__lang:hover .lang__menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.lang__link {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 8px 16px;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.lang__item--active .lang__link {
	background-color: var(--bg-light);
}

.lang__link:hover {
	background-color: var(--bg-intense);
	color: var(--text-dark);
}

.lang__link:active {
	background-color: var(--primary-light);
	color: var(--text-inverted);
}

.lang__flag {
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 16px;
	line-height: 0;
}

.lang__name {
	flex: 1 1 0;
}

.lang__check {
	display: none;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	line-height: 0;
}

.lang__link:hover .lang__check,
.lang__link:active .lang__check,
.lang__item--active .lang__check {
	display: inline-flex;
}

/* ===== Cart ===== */
#cart,
.icon-btn.cart {
	position: relative;
	padding: 0;
}

.cart__dot {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #f64c4f;
	opacity: 0;
}

.cart.has-items .cart__dot {
	opacity: 1;
}

/* ===== Typography ===== */
.control-s {
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0;
	text-align: center;
}

/* ===== Buttons ===== */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 32px;
	border-radius: 16px;
	font-weight: 500;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s, opacity 0.2s;
}

.btn--primary {
	background-color: var(--primary-main);
	border: 1px solid transparent;
	color: var(--text-inverted);
	font-size: 16px;
	line-height: 24px;
}

.btn--primary .icon-arrow-right {
	filter: brightness(0) invert(1);
}

.btn--primary:hover {
	background-color: var(--primary-dark);
	border-color: var(--primary-darkest);
	color: var(--text-inverted);
}

.btn--primary:active {
	background-color: var(--primary-darkest);
	border-color: var(--primary-darkest);
	color: var(--text-inverted);
}

.btn--primary:disabled,
.btn--primary:disabled:hover,
.btn--primary:disabled:active {
	background-color: var(--border-light);
	border-color: var(--border-light);
	color: var(--text-muted);
	cursor: not-allowed;
}

.btn--outline {
	background-color: var(--bg-lowest);
	border: 1px solid var(--primary-main);
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
}

.btn--outline:hover {
	background-color: var(--primary-main);
	color: #ffffff;
}

.btn__icon {
	display: inline-flex;
	line-height: 0;
}

.icon-arrow-right {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url('../image/icon/right.svg') center / contain no-repeat;
	flex-shrink: 0;
}

.icon-arrow-right--left {
	transform: rotate(180deg);
}

.icon-trash {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url('../image/icon/trash.svg') center / contain no-repeat;
	flex-shrink: 0;
}

/* ===== Hero ===== */
.hero__inner {
	display: flex;
	align-items: stretch;
}

.hero__content {
	flex: 0 0 50%;
	max-width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: #f5f3ef;
	padding: 80px 80px 80px max(80px, calc((100% - 1728px) / 2 + 80px));
}

.hero__media {
	flex: 0 0 50%;
	max-width: 50%;
	position: relative;
	overflow: visible;
}

.hero__badge {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	border: 1px solid var(--bg-intense);
	border-radius: 999px;
	background-color: var(--bg-lowest);
	font-size: 12px;
	line-height: 16px;
	color: var(--primary-main);
}

.hero__badge-icon {
	display: inline-flex;
	line-height: 0;
}

.hero__title {
	margin-top: 16px;
	font-size: 56px;
	line-height: 64px;
	font-weight: 600;
	color: var(--text-dark);
}

.hero__title-accent {
	color: var(--primary-dark);
}

.hero__text {
	margin-top: 24px;
	font-size: 16px;
	line-height: 28px;
	color: var(--text-deep);
}

.hero__buttons {
	display: flex;
	gap: 16px;
	margin-top: 40px;
}

.hero__stats {
	display: flex;
	gap: 48px;
	justify-content: space-between;
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--border-light);
	width: 100%;
}

.hero__stat {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.hero__stat-value {
	font-size: 17px;
	line-height: 20px;
	font-weight: 600;
	color: var(--text-dark);
	color: var(--primary-main);
}

.hero__star {
	color: var(--primary-main);
}

.hero__stat-label {
	font-size: 14px;
	line-height: 20px;
	color: var(--text-deep);
}

.hero__image {
	width: 100%;
	height: 100%;
	min-height: 600px;
	object-fit: cover;
	background-color: var(--bg-intense);
}

.hero-card {
	position: absolute;
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 16px 24px;
	border: 1px solid var(--bg-intense);
	border-radius: 16px;
	background-color: #ffffff;
}

.hero-card--top {
	top: 48px;
	right: 80px;
}

.hero-card--bottom {
	left: 48px;
	bottom: 148px;
}

.hero-card__name {
	font-size: 12px;
	line-height: 16px;
	color: var(--text-deep);
}

.hero-card__title {
	margin-top: 4px;
	min-width: 180px;
	font-size: 16px;
	line-height: 28px;
	color: var(--text-dark);
}

.hero-card__info {
	font-size: 12px;
	line-height: 16px;
	color: var(--primary-main);
}

.hero-card--accent .hero-card__title {
	color: var(--primary-main);
}

/* ===== Best sellers / Product card ===== */
.products-block__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	padding: 24px 0;
}

.products-block--related {
	padding: 48px 0 128px;
}

.products-block--related .container {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.products-block__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	min-height: 36px;
}

.products-block__title {
	flex: 1 1 0;
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.products-block__action {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 24px;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}

.products-block__action:hover {
	opacity: 0.85;
}

.products-block--related .products-block__grid {
	padding: 0;
}

.product {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border-radius: 16px;
	background-color: #ffffff;
}

.product__media {
	position: relative;
}

.product__image {
	width: 100%;
	height: 340px;
	object-fit: cover;
	border-radius: 16px;
	background-color: var(--bg-intense);
}

.product__badges {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.product__badge {
	padding: 4px 16px;
	border-radius: 100px;
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
	color: var(--text-inverted);
}

.product__badge--new {
	background-color: var(--accent-new);
}

.product__badge--top {
	background-color: var(--accent-top);
}

.product__badge--sale {
	background-color: var(--accent-sale);
}

.product__wishlist {
	position: absolute;
	top: 16px;
	right: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 8px;
	border-radius: 8px;
	border: 1px solid var(--primary-main);
	background: var(--bg-lowest);
	opacity: 0;
	transition: opacity 0.2s ease, background-color 0.2s ease;
}

.product:hover .product__wishlist {
	opacity: 1;
}

.product__wishlist:hover {
	background: var(--bg-intense);
	border-color: var(--primary-dark);
}

.product__wishlist:active {
	background: var(--bg-intense);
	border-color: var(--primary-darkest);
}

.product__wishlist-icon {
	width: 24px;
	height: 24px;
	display: block;
	flex-shrink: 0;
}

.product__wishlist-icon path {
	stroke: var(--primary-main);
	fill: none;
	transition: fill 0.2s ease;
}

.product__wishlist.is-active {
	opacity: 1;
}

.product__wishlist.is-active .product__wishlist-icon path {
	fill: var(--primary-main);
}

.product__info {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 24px;
	text-align: center;
	border-radius: 0 0 16px 16px;
	transition: background-color 0.2s ease;
}

.product:hover .product__info {
	background-color: var(--bg-highest);
}

.product:hover .product__image {
	border-radius: 16px 16px 0 0;
}

.product__title {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	color: var(--text-dark);
	height: 40px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.product__rating {
	display: flex;
	align-items: center;
	gap: 8px;
}

.product__rating--hidden {
	visibility: hidden;
}

.product__stars {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	line-height: 0;
}

.product__reviews {
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
	color: var(--text-deep);
}

.product__price-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 24px;
}

@media (max-width: 1100px) {
	.product__price-wrap {
		min-height: 52px;
	}
}

@media (max-width: 810px) {
	.product__price-wrap {
		min-height: 80px;
	}
}

@media (max-width: 768px) {
	.product__price-wrap {
		min-height: 20px;
	}
}

.product__price {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	color: var(--text-dark);
}

.product__price-old {
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	color: var(--text-muted);
	text-decoration: line-through;
}

.product__discount {
	padding: 4px 16px;
	border-radius: 100px;
	background-color: var(--bg-intense);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
	color: var(--primary-main);
}

.product__cart {
	width: 100%;
	margin-top: 32px;
	font-size: 16px;
	line-height: 24px;
}



/* ===== Categories ===== */
.categories__grid {
	display: grid;
	grid-template-columns: 52fr 48fr;
	gap: 32px;
	align-items: stretch;
}

.categories__col {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: 32px;
}

.category-card {
	position: relative;
	display: block;
	border-radius: 24px;
	overflow: hidden;
}

.categories__grid > .category-card {
	height: 648px;
}

.category-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.category-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(2,2,2,0.55) 0%, transparent 60%);
}

.category-card__info {
	position: absolute;
	bottom: 48px;
	left: 48px;
	right: 48px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: var(--text-inverted);
	z-index: 1;
}

.categories__col .category-card__info {
	bottom: 32px;
	left: 32px;
}

.category-card__subtitle {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	color: var(--text-inverted);
}

.category-card__text {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.category-card__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
	color: var(--text-inverted);
}

.categories__col .category-card__title {
	font-size: 32px;
}

.category-card__desc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 16px;
	line-height: 28px;
	font-weight: 400;
	color: var(--text-light);
}

.categories__col .category-card__desc {
	-webkit-line-clamp: 1;
}

.category-card__action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: var(--text-inverted);
}

.category-card__action-icon {
	filter: brightness(0) invert(1);
}



/* ===== Why Choose (feature cards) ===== */
.why-choose__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}

.feature-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
}

.feature-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	align-self: center;
	background-color: var(--bg-highest);
	border-radius: 16px;
	padding: 8px;
	margin-bottom: 8px;
	line-height: 0;
}

.feature-card__title {
	font-size: 16px;
	line-height: 28px;
	font-weight: 600;
	color: var(--text-dark);
	text-align: center;
}

.feature-card__text {
	font-size: 14px;
	line-height: 20px;
	color: var(--text-deep);
	text-align: center;
}

/* ===== Our Story ===== */

/* Our Story specific styles */

.our-story__content {
	padding: 24px;
}

.our-story__subtitle {
	font-size: 14px;
	line-height: 20px;
	color: var(--text-accent);
}

.our-story__title {
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
	color: var(--text-dark);
}

.our-story__text {
	font-size: 14px;
	line-height: 20px;
	color: var(--text-dark);
}

.our-story__features {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.our-story__feature {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	line-height: 20px;
	color: var(--text-dark);
}

.our-story__feature-icon {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.our-story__stats {
	display: flex;
	gap: 16px;
}

.stat-card {
	padding: 16px 24px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background-color: var(--bg-medium);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.stat-card__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.stat-card__value {
	font-size: 14px;
	line-height: 20px;
	color: var(--text-dark);
}

.stat-card__label {
	font-size: 12px;
	line-height: 16px;
	color: var(--text-muted);
}

.our-story__cta {
	align-self: flex-start;
}

/* Craftsmanship Section */
.craftsmanship__content {
	padding: 24px;
}

.craftsmanship__subtitle {
	font-size: 14px;
	line-height: 20px;
	color: var(--text-accent);
}

.craftsmanship__title {
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
	color: var(--text-dark);
}

.craftsmanship__text {
	font-size: 14px;
	line-height: 20px;
	color: var(--text-deep);
}

.craftsmanship__features {
	display: flex;
	flex-direction: column;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.craftsmanship__feature {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	line-height: 28px;
	color: var(--text-dark);
}

.craftsmanship__feature-icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.craftsmanship__stats {
	display: flex;
	gap: 16px;
}

.craftsmanship__stats .stat-card {
	flex: 1;
}

.craftsmanship__cta {
	align-self: flex-start;
}

.craftsmanship__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Product Builder Section */
.product-builder__description {
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
	margin: 0;
}

.product-builder__content {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	min-width: 0;
}

.product-builder__options {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.product-builder__footer {
	border-top: 1px solid var(--border-light);
	padding-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

.product-builder__price {
	display: flex;
	align-items: end;
	gap: 8px;
}

/* Map Builder: square picture left (up to 628px), options right, vertically centered */
.product-builder .two-column {
	align-items: center;
}

.product-builder__media {
	flex: 0 1 628px;
	min-width: 0;
	overflow: visible;
}

.product-builder .two-column__content {
	flex: 1 1 0;
}

.product-builder__images {
	display: block;
	width: 100%;
}

.product-builder__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	border-radius: 16px;
}

.option-group {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.option-group__title {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	color: var(--text-dark);
	margin: 0;
}

.option-group__buttons {
	display: flex;
	gap: 12px;
}

.option-btn {
	flex: 1;
	height: 48px;
	padding: 12px 48px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-lowest);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

/* Map Builder: Color/Size list every OCFilter value — wrap onto extra rows instead of overflowing */
.product-builder .option-group__buttons {
	flex-wrap: wrap;
}

.product-builder .option-btn {
	flex: 1 1 0;
	min-width: 0;
	height: 48px;
	padding: 14px 16px;
	box-sizing: border-box;
}

.option-btn--active {
	background-color: var(--bg-intense);
	border: 1px solid var(--bg-intense);
	color: var(--text-dark);
}

.option-btn--active:hover {
	border-color: var(--primary-main);
}

.option-btn--active:active {
	background-color: var(--primary-main);
	border-color: var(--primary-main);
	color: var(--text-inverted);
}

.option-btn:hover:not(.option-btn--active) {
	background: var(--bg-intense);
	border-color: var(--border-light);
}

.option-btn:active:not(.option-btn--active) {
	background-color: var(--primary-darkest);
	color: var(--text-inverted);
}

.option-btn--flag {
	padding: 11px 16px;
}

.option-btn__flag {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.product-builder__price {
	font-size: 32px;
	line-height: 40px;
	min-height: 40px;
	font-weight: 500;
	color: var(--text-dark);
}

.product-builder__price-block {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.option-btn--disabled,
.option-btn[disabled] {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}

/* Map Builder disabled option: muted label + diagonal line */
.product-builder .option-btn--disabled,
.product-builder .option-btn[disabled] {
	position: relative;
	overflow: hidden;
	opacity: 1;
	color: #848B98;
	background: var(--bg-lowest);
}

.product-builder .option-btn--disabled::after,
.product-builder .option-btn[disabled]::after {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 120%;
	height: 1px;
	background: var(--border-light);
	transform-origin: top left;
	transform: rotate(11deg);
	pointer-events: none;
}

.product-builder__cta[aria-disabled="true"] {
	opacity: 0.5;
	pointer-events: none;
}

/* SEO Text Section */
.seo-text {
	background: var(--bg-lowest);
}

.seo-text:not(.section) {
	padding: 64px 0;
}

.section.seo-text {
	background: transparent;
}

.seo-text__content {
	max-width: 896px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.seo-text__title {
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
	color: var(--text-dark);
	margin: 0;
}

/* Collapsed = first 4 lines (4 x 28px) cut off without the "..." that line-clamp adds; the rest stays hidden until "read more" */
.seo-text__description {
	font-size: 16px;
	line-height: 28px;
	color: var(--text-deep);
	margin: 0;
	overflow: hidden;
	max-height: 112px;
}

.seo-text__description.expanded {
	max-height: none;
}

.seo-text__read-more {
	background: none;
	border: none;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	display: none;
	align-items: center;
	gap: 4px;
	cursor: pointer;
	padding: 0;
	align-self: flex-start;
	transition: opacity 0.3s ease;
}

.seo-text__content.has-overflow .seo-text__read-more {
	display: flex;
}

.seo-text__read-more:hover {
	opacity: 0.8;
}

.seo-text__read-more-text--less {
	display: none;
}

.seo-text__content.is-expanded .seo-text__read-more-text--more {
	display: none;
}

.seo-text__content.is-expanded .seo-text__read-more-text--less {
	display: inline;
}

.seo-text__content.is-expanded .seo-text__arrow {
	transform: rotate(90deg);
}

.seo-text__arrow {
	width: 24px;
	height: 24px;
	filter: brightness(0) saturate(100%) invert(37%) sepia(20%) saturate(1566%) hue-rotate(12deg) brightness(93%) contrast(90%);
}

/* FAQ Section */
.faq__description {
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
	margin: 0;
}

.faq__list {
	max-width: 880px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.faq-item {
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: white;
	overflow: hidden;
}

.faq-item__header {
	padding: 24px;
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	min-height: 96px;
	box-sizing: border-box;
}

.faq-item__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.faq-item__category {
	color: var(--primary-light);
	font-size: 12px;
	line-height: 16px;
}

.faq-item__title {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	margin: 0;
}

.faq-item__toggle {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.faq-item__arrow {
	width: 24px;
	height: 24px;
	transition: transform 0.3s ease;
}

.faq-item--open .faq-item__arrow {
	transform: rotate(180deg);
}

.faq-item__answer {
	padding: 0 24px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.3s ease;
}

.faq-item--open .faq-item__answer {
	padding: 0 24px 24px 24px;
	max-height: 500px;
}

.faq-item__answer p {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
	margin: 0;
}


.our-story__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64.8px;
	height: 64.8px;
	border-radius: 50%;
	background-color: var(--primary-main);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: transform 0.2s;
}

.play-btn:hover {
	transform: translate(-50%, -50%) scale(1.1);
}

/* Universal Section Header */
.section-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: 48px;
	gap: 12px;
}

.section-title {
	color: var(--text-dark);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
	margin: 0;
}

/* Reviews Section */

.reviews__content {
	display: flex;
	gap: 40px;
}

.reviews__left {
	width: 270px;
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
}

.reviews__right {
	flex: 1;
}

.reviews__stats {
	border: 1px solid var(--border-light);
	border-radius: 16px;
	padding: 32px 32px 40px 32px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
}

.stats__rating {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.stats__score {
	color: var(--text-dark);
	font-size: 56px;
	line-height: 64px;
	font-weight: 600;
}

.stats__stars {
	display: flex;
	gap: 2px;
	margin-bottom: 8px;
}


.stats__info {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	margin: 0;
}

.stats__breakdown {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.breakdown__item {
	display: flex;
	align-items: center;
	gap: 8px;
}

.breakdown__rating {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	width: 8px;
	flex-shrink: 0;
}


.breakdown__bar {
	flex: 1;
	height: 8px;
	background: #E5E7EB;
	border-radius: 4px;
	position: relative;
	overflow: hidden;
}

.breakdown__fill {
	height: 100%;
	background: #8B4A16;
	border-radius: 4px;
}

.breakdown__percent {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	width: 28px;
	text-align: right;
	flex-shrink: 0;
}

.btn--outline {
	background: transparent;
	border: 1px solid var(--primary-main);
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	border-radius: 16px;
	padding: 11px 32px;
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	transition: all 0.3s ease;
	white-space: nowrap;
}

.btn--outline:hover {
	background: var(--primary-main);
	color: var(--text-inverted);
}

.btn__arrow--left {
	transform: rotate(180deg);
}

.btn__arrow {
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.btn--outline:hover .icon-arrow-right {
	filter: brightness(0) invert(1);
}

.btn--outline:hover .btn__arrow--left {
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

/* Review Cards */
.reviews__right {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.review-card {
	border: 1px solid var(--border-light);
	border-radius: 16px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.review-card__header {
	display: flex;
	align-items: flex-end;
	gap: 12px;
}

.review-card__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bg-highest);
}

.avatar__initial {
	color: var(--primary-main);
	font-size: 16px;
	line-height: 20px;
	font-weight: 500;
}

.avatar__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.review-card__user {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 100px;
}

.user__name {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	margin: 0;
}

.user__product {
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	margin: 0;
}

.review-card__verified {
	background: var(--bg-highest);
	padding: 10px 16px;
	border-radius: 100px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.verified__icon {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
}

.verified__text {
	color: var(--primary-main);
	font-size: 14px;
	line-height: 20px;
}

.review-card__text {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	margin: 0;
}

.review-card__title {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 22px;
	font-weight: 600;
	margin: 0;
}

.review-card__photos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.review-card__photo {
	width: 56px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
}

.review-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.reviews__footer {
	margin-top: 48px;
	text-align: center;
}

.reviews__view-all {
	background: transparent;
	border: none;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	transition: opacity 0.3s ease;
	white-space: nowrap;
}

.reviews__view-all:hover {
	opacity: 0.8;
}


/* Common Subtitle */
.subtitle {
	color: var(--text-accent);
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	margin: 0;
}

/* Block Border */
.block-border {
	border-top: 1px solid var(--border-light);
	border-bottom: 1px solid var(--border-light);
}

/* Block Background */
.block-bg-intense {
	background-color: var(--bg-intense);
}

.block-bg-light {
	background-color: var(--bg-light);
}

.delivery-process.block-bg-light {
	background-color: var(--bg-lowest);
}

/* Two Column Block */
.two-column {
	display: flex;
	gap: 56px;
	align-items: stretch;
}

.two-column--reverse {
	flex-direction: row-reverse;
}

.two-column__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.two-column__media {
	flex: 1;
	position: relative;
	border-radius: 16px;
	overflow: hidden;
}

/* Partners Section */
.partners .subtitle {
	margin-bottom: 32px;
}

.partners__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 48px;
}

.partners__list img {
	filter: grayscale(100%);
	transition: filter 0.3s ease;
}

.partners__list img:hover,
.partners__list a:hover img {
	filter: grayscale(0%);
}

.partners__link {
	color: #101828;
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.3s ease;
}

.partners__link:hover {
	opacity: 0.7;
}

/* Community Section */
.community__description {
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
	margin: 0;
}

.community__hashtag {
	color: var(--text-accent);
}

.community__gallery {
	background: var(--bg-lowest);
	border-radius: 16px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px 24px;
}

.gallery__item {
	display: block;
	position: relative;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 1;
}

.gallery__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.gallery__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 20px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.80) 100%);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.gallery__item:hover .gallery__overlay {
	opacity: 1;
}

.gallery__caption {
	color: var(--text-inverted);
	font-size: 17px;
	font-weight: 600;
	line-height: 20px;
}

.gallery__caption span {
	display: block;
	margin-top: 4px;
	color: #E5E7EB;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

.gallery__item:hover .gallery__image {
	transform: scale(1.08);
}

/* Mega Menu */
.mega-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: white;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
	z-index: 1000;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.mega-menu__content {
	background: white;
	padding: 48px 0;
	overflow-y: auto;
}

.mega-menu.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.mega-menu__overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.2);
	z-index: -1;
}

.mega-menu__inner {
	display: flex;
	gap: 72px;
}

.mega-menu__left {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.mega-menu__categories {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 72px 112px;
}

.mega-menu__column {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mega-menu__title {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	color: var(--primary-dark);
	margin: 0 0 24px 0;
}

.mega-menu__links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.mega-menu__link {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	text-decoration: none;
	transition: color 0.3s ease;
}

.mega-menu__link:hover {
	color: var(--primary-main);
}

.mega-menu__footer {
	border-top: 1px solid var(--border-light);
	padding-top: 32px;
}

.mega-menu__view-all {
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 4px;
	transition: opacity 0.3s ease;
}

.mega-menu__view-all:hover {
	opacity: 0.8;
}

.mega-menu__arrow {
	width: 24px;
	height: 24px;
}

.mega-menu__right {
	flex: 1;
}

.mega-menu__right--empty {
	visibility: hidden;
}

.mega-menu__featured {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.mega-menu__card {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
}

.mega-menu__card::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.7) 100%);
	z-index: 1;
	pointer-events: none;
}

.mega-menu__card--large {
	height: 460px;
}

.mega-menu__cards-row {
	display: flex;
	gap: 20px;
}

.mega-menu__cards-row .mega-menu__card {
	flex: 1;
	height: 220px;
}

.mega-menu__card-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.mega-menu__card-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 48px;
	color: white;
	z-index: 3;
}

.mega-menu__cards-row .mega-menu__card-content {
	padding: 32px;
}

.mega-menu__card-badge {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	color: var(--text-light);
	margin-bottom: 16px;
	display: block;
}

.mega-menu__card-title {
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
	color: white;
	margin: 0 0 8px 0;
}

.mega-menu__cards-row .mega-menu__card-title {
	font-size: 32px;
	line-height: 40px;
}

.mega-menu__card-subtitle {
	font-size: 16px;
	line-height: 28px;
	color: var(--text-light);
	margin: 0 0 16px 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.mega-menu__card--large .mega-menu__card-subtitle {
	-webkit-line-clamp: 2;
}

.mega-menu__card-link {
	color: var(--text-inverted);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 4px;
	transition: color 0.2s ease;
}

.mega-menu__card-link:hover {
	color: var(--primary-dark);
}

.mega-menu__card-link:active {
	color: var(--primary-darkest);
}

.mega-menu__card-arrow {
	width: 24px;
	height: 24px;
	filter: brightness(0) invert(1);
	transition: filter 0.2s ease;
}

.mega-menu__card-link:hover .mega-menu__card-arrow {
	filter: brightness(0) saturate(100%) invert(27%) sepia(42%) saturate(1200%) hue-rotate(6deg) brightness(92%) contrast(92%);
}

.mega-menu__card-link:active .mega-menu__card-arrow {
	filter: brightness(0) saturate(100%) invert(18%) sepia(55%) saturate(1100%) hue-rotate(8deg) brightness(94%) contrast(93%);
}

/* Star Classes */
.star {
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url('../image/icon/star-empty.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.star--fill {
	background-image: url('../image/icon/star-filled.svg');
}

.star--small {
	width: 12px;
	height: 12px;
}

.star--product,
.product__stars .star {
	width: 10px;
	height: 10px;
}

/* Footer Section */
.footer {
	background: white;
	padding-top: 120px;
	padding-bottom: 40px;
}

.footer__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 64px;
}

.footer__brand {
	width: 413px;
}

.footer__logo {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}

.footer__logo-img {
	width: 56px;
	height: 53px;
}

.footer__logo-text {
	font-size: 20px;
	line-height: normal;
	font-weight: 700;
	color: var(--text-dark);
}

.footer__description {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	margin: 0;
}

.footer__social {
	display: flex;
	gap: 12px;
	align-items: center;
}

.footer__social-link {
	width: 40px;
	height: 40px;
	background: var(--bg-lowest);
	border: 1px solid var(--primary-main);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.footer__social-link:hover {
	background: var(--primary-main);
}

.footer__social-link:hover .footer__social-icon {
	filter: brightness(0) invert(1);
}

.footer__social-icon {
	width: 24px;
	height: 24px;
	color: var(--primary-main);
	transition: filter 0.3s ease;
}

.footer__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	row-gap: 64px;
	column-gap: 20px;
	margin-bottom: 64px;
}

.footer__column {
}

.footer__group {
}

.footer__group--stack {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.footer__column-title {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	color: var(--primary-dark);
	margin: 0 0 12px 0;
}

.footer__column-title-link {
	color: inherit;
	font: inherit;
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer__column-title-link:hover {
	color: var(--primary-main);
}

.footer__column-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.footer__column-link {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer__column-link:hover {
	color: var(--primary-main);
}

.footer__newsletter {
	grid-column: span 2;
	padding-right: 220px;
}

.footer__newsletter-text {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	margin: 0 0 12px 0;
}

.footer__newsletter-form {
	display: flex;
	gap: 12px;
}

.footer__newsletter-input {
	flex: 1;
	height: 48px;
	background: var(--bg-lowest);
	border: 1px solid var(--border-light);
	border-radius: 16px;
	padding: 12px 16px;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	color: var(--text-dark);
	transition: border-color 0.3s ease, background 0.3s ease;
}

.footer__newsletter-input:not(:placeholder-shown) {
	border: 1px solid var(--border-dark);
}

.footer__newsletter-input:hover {
	border: 2px solid var(--border-dark);
}

.footer__newsletter-input:focus {
	border: 2px solid var(--border-dark);
	background: var(--bg-intense);
	outline: none;
}

.footer__newsletter-input::placeholder {
	color: var(--text-muted);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.footer__newsletter-btn {
	background: var(--primary-main);
	color: var(--text-inverted);
	border: none;
	border-radius: 16px;
	padding: 11px 32px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.3s ease;
}

.footer__newsletter-btn:hover {
	background: var(--primary-dark);
}

.footer__newsletter-result {
	margin-top: 8px;
	font-size: 13px;
	line-height: 18px;
}

.footer__newsletter-result--error {
	color: var(--error-main);
}

.footer__newsletter-result--success {
	color: var(--primary-main);
}

.footer__bottom {
	border-top: 1px solid var(--border-light);
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

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

.footer__policy-link {
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer__policy-link:hover {
	color: var(--primary-main);
}

.footer__cookie-settings {
	background: none;
	border: 0;
	padding: 0;
	font-family: inherit;
	cursor: pointer;
}

.footer__separator {
	width: 1px;
	height: 12px;
	background: var(--border-light);
}

.footer__copyright {
	flex: 1;
	text-align: center;
}

.footer__copyright p {
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
	margin: 0;
}

.footer__contact {
	display: flex;
	align-items: center;
	gap: 8px;
}

.footer__contact-link {
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer__contact-link:hover {
	color: var(--primary-main);
}

/* Breadcrumbs */

.breadcrumbs {
	margin: 32px 0;
}

.breadcrumbs__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.breadcrumbs__item {
	display: flex;
	align-items: center;
	gap: 6px;
}

.breadcrumbs__link {
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	text-decoration: none;
	transition: color 0.3s ease;
}

.breadcrumbs__link:hover {
	color: var(--primary-main);
}

.breadcrumbs__link--current {
	color: var(--primary-main);
}

.breadcrumbs__separator {
	display: block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

/* Catalog page */

.catalog-head {
	margin: 32px 0;
}

.catalog-subcategories {
	margin: 32px 0;
}

.catalog-head__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.catalog-head__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.catalog-head__count {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.catalog-head-extended {
	position: relative;
	width: 100%;
	height: 400px;
	overflow: hidden;
}

.catalog-head-extended::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.3) 100%);
	z-index: 1;
}

.catalog-head-extended__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.catalog-head-extended .container {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: center;
}

.catalog-head-extended__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 16px;
	max-width: 50%;
}

.catalog-head-extended__title {
	margin: 0;
	color: var(--text-light);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.catalog-head-extended__text {
	margin: 0;
	color: var(--text-light);
	font-size: 21px;
	line-height: 32px;
	font-weight: 400;
	padding-bottom: 16px;
}

.catalog-head-extended__count {
	margin: 0;
	color: var(--text-light);
	font-size: 16px;
	line-height: 28px;
	font-weight: 400;
}

.catalog-subcategories__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.catalog-subcategories__item {
	margin: 0;
}

.catalog-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 24px;
	border: 1px solid var(--bg-intense);
	border-radius: 100px;
	background: var(--text-inverted);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	text-decoration: none;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.catalog-chip:hover {
	background: var(--bg-highest);
	border-color: var(--primary-main);
	color: var(--text-dark);
}

.catalog-chip--active {
	background: var(--primary-main);
	border-color: var(--primary-main);
	color: var(--bg-lowest);
}

.catalog-chip--active:hover {
	background: var(--primary-main);
	border-color: var(--primary-main);
	color: var(--bg-lowest);
}

/* Dropdown */

.dropdown {
	position: relative;
}

.dropdown__menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 330px;
	padding: 8px;
	border: 1px solid var(--border-light);
	border-radius: 8px;
	background: var(--text-inverted);
	box-shadow: 0 10px 30px rgba(2, 2, 2, 0.08);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	z-index: 30;
}

.dropdown.is-open .dropdown__menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.dropdown.is-open .filter-btn__icon {
	transform: rotate(180deg);
}

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

.dropdown__item {
	margin: 0;
}

.dropdown--sort .dropdown__menu {
	left: auto;
	right: 0;
	min-width: 200px;
}

.dropdown__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 12px;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	text-decoration: none;
	border-radius: 4px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.dropdown__link:hover {
	background: var(--bg-highest);
}

.dropdown__link--active {
	color: var(--primary-main);
}

.dropdown__link-check {
	display: none;
	width: 12px;
	height: 9px;
	flex-shrink: 0;
}

.dropdown__link--active .dropdown__link-check {
	display: block;
}

/* Checkbox item */

.checkbox-item {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 8px 12px;
	cursor: pointer;
	border-radius: 4px;
	transition: background-color 0.2s ease;
}

.checkbox-item:hover {
	background: var(--bg-highest);
}

.checkbox-item__input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.checkbox-item__box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	border: 1.5px solid var(--border-light);
	border-radius: 4px;
	background: var(--text-inverted);
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.checkbox-item__check {
	display: none;
	width: 12px;
	height: 9px;
}

.checkbox-item__input:checked + .checkbox-item__box {
	background: var(--primary-main);
	border-color: var(--primary-main);
}

.checkbox-item__input:checked + .checkbox-item__box .checkbox-item__check {
	display: block;
	filter: brightness(0) invert(1);
}

.checkbox-item__text {
	flex: 1;
	min-width: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.checkbox-item__count {
	flex-shrink: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

/* Filter button */

.filter-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 40px;
	padding: 8px 24px;
	border: 1px solid var(--border-light);
	border-radius: 8px;
	background: var(--text-inverted);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	cursor: pointer;
	transition: border-color 0.2s ease;
}

.filter-btn:hover,
.dropdown.is-open > .filter-btn {
	border-color: var(--primary-main);
}

.filter-btn__label,
.filter-btn__value {
	color: var(--text-dark);
}

.filter-btn__helper {
	color: var(--text-deep);
}

.filter-btn__icon {
	display: block;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

/* Filter modal */

.filter-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 2000;
	background: var(--bg-highest);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.filter-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.filter-modal__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 12px 20px;
	background: var(--bg-highest);
	box-sizing: border-box;
}

.filter-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	background: var(--bg-lowest);
	flex-shrink: 0;
}

.filter-modal__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 18px;
	line-height: 24px;
	font-weight: 600;
}

.filter-modal__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.filter-modal__close-icon {
	display: block;
	width: 24px;
	height: 24px;
}

.filter-modal__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
	overflow-y: auto;
	padding: 12px 0;
	background: var(--bg-highest);
}

.filter-modal__footer {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0 0;
	flex-shrink: 0;
	background: var(--bg-highest);
}

.filter-modal__clear {
	height: 48px;
	padding: 0 24px;
	border: 1px solid var(--border-light);
	border-radius: 8px;
	background: var(--bg-lowest);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	cursor: pointer;
	flex-shrink: 0;
}

.filter-modal__apply {
	flex: 1;
	height: 48px;
}

body.filter-modal-open {
	overflow: hidden;
}

/* Filter group */

.filter-group {
	border: 1px solid var(--border-light);
	background: var(--bg-highest);
}

.filter-group__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 12px 16px;
	border: 0;
	background: var(--bg-lowest);
	cursor: pointer;
}

.filter-group__title {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
}

.filter-group__icon {
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.filter-group__content {
	max-height: 0;
	overflow: hidden;
	background: var(--bg-highest);
	transition: max-height 0.3s ease;
}

.filter-group--open .filter-group__content {
	max-height: 600px;
}

.filter-group--open .filter-group__icon {
	transform: rotate(180deg);
}

.filter-group__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.filter-group__item {
	margin: 0;
}

.catalog-toolbar__filter-open {
	display: none;
}

/* Catalog toolbar */

.catalog-toolbar {
	margin: 32px 0;
}

.catalog-products {
	margin: 32px 0;
}

.catalog-products__empty-text {
	margin-bottom: 16px;
}

.promo-banner {
	margin: 32px 0;
}

.promo-banner__inner {
	display: flex;
	align-items: center;
	gap: calc(112 / 1440 * 100vw);
	min-height: 466px;
	padding: 48px;
	border-radius: 24px;
	background: linear-gradient(135deg, #2C2520 0%, #2E2722 14.29%, #312924 28.57%, #332C26 42.86%, #362E28 57.14%, #38302A 71.43%, #3B332C 85.71%, #3D352E 100%);
}

.promo-banner__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	min-width: 0;
	padding: 24px;
}

.promo-banner__subtitle {
	margin: 0;
	color: var(--text-accent);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.promo-banner__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.promo-banner__title {
	margin: 0;
	color: var(--text-inverted);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.promo-banner__text {
	margin: 0;
	color: var(--text-light);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.promo-banner__btn {
	margin: 0;
	padding: 11px 32px;
	background: var(--text-inverted);
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
}

.promo-banner__btn:hover {
	opacity: 0.9;
	color: var(--primary-main);
}

.promo-banner__products {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	min-width: 0;
}

.promo-banner__product {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.promo-banner__product-media {
	position: relative;
}

.promo-banner__product-badges {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.promo-banner__product-image {
	width: 100%;
	height: 250px;
	object-fit: cover;
	border-radius: 24px;
}

.promo-banner__product-info {
	display: flex;
	flex-direction: column;
	padding: 16px 0;
}

.promo-banner__product-label {
	margin: 0 0 4px;
	color: var(--text-light);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.promo-banner__product-title {
	margin: 0 0 14px;
	color: var(--text-inverted);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.promo-banner__product-price {
	margin: 0;
	color: var(--text-inverted);
	font-size: 16px;
	line-height: 20px;
	font-weight: 500;
}

.catalog-toolbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.catalog-toolbar__filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	flex: 1;
	min-width: 0;
}

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

/* OCFilter toolbar reskin — matches .filter-btn / .dropdown / .checkbox-item design */

.catalog-toolbar__filters--ocf {
	align-items: flex-start;
}

.catalog-toolbar__filters--ocf .ocf-container {
	width: 100%;
}

.catalog-toolbar__filters--ocf .ocf-content {
	margin-bottom: 0;
}

.catalog-toolbar__filters--ocf .ocf-header {
	display: none;
}

.catalog-toolbar__filters--ocf .ocf-body,
.catalog-toolbar__filters--ocf .ocf-filter-list {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start !important;
	gap: 8px;
	margin: 0 !important;
	width: auto !important;
}

.catalog-toolbar__filters--ocf .ocf-filter {
	margin-bottom: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	flex: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.catalog-toolbar__filters--ocf .ocf-filter-body {
	position: relative;
}

/* Toggle button (closed state = .filter-btn look) */

.catalog-toolbar__filters--ocf .ocf-filter-header {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 40px;
	padding: 8px 24px !important;
	margin: 0 !important;
	border: 1px solid var(--border-light) !important;
	border-radius: 8px !important;
	background: var(--text-inverted) !important;
	color: var(--text-dark) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 20px !important;
	text-transform: none !important;
	white-space: nowrap;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.catalog-toolbar__filters--ocf .ocf-dropdown.ocf-open .ocf-filter-header {
	border-color: var(--primary-main) !important;
}

.catalog-toolbar__filters--ocf .ocf-filter-header:hover {
	border-color: var(--primary-light) !important;
}

.catalog-toolbar__filters--ocf .ocf-filter-header:active {
	border-color: var(--primary-light) !important;
	background: var(--bg-medium) !important;
}

.catalog-toolbar__filters--ocf .ocf-active.ocf-dropdown .ocf-filter-header {
	background: var(--bg-medium) !important;
	border-color: var(--bg-intense) !important;
}

.catalog-toolbar__filters--ocf .ocf-filter-count {
	margin-left: 2px;
}

.catalog-toolbar__filters--ocf .ocf-filter-name,
.catalog-toolbar__filters--ocf .ocf-active-label {
	color: var(--text-dark) !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	margin-right: 0 !important;
}

/* Keep header size stable on open/close: default theme swaps
   active-label <-> filter-name visibility when .ocf-open toggles */
.catalog-toolbar__filters--ocf .ocf-filter-header .ocf-filter-name {
	display: block !important;
}

.catalog-toolbar__filters--ocf .ocf-filter-header .ocf-active-label:empty {
	display: none !important;
}

.catalog-toolbar__filters--ocf .ocf-filter-header-append {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: 0;
}

.catalog-toolbar__filters--ocf .ocf-filter-header-append > * {
	min-width: 0;
}

.catalog-toolbar__filters--ocf .ocf-filter-description .ocf-icon {
	width: 14px;
	height: 14px;
	min-width: 14px;
	min-height: 14px;
	filter: invert(56%) sepia(4%) saturate(383%) hue-rotate(180deg) brightness(94%) contrast(87%);
}

.catalog-toolbar__filters--ocf .ocf-filter-discard-icon {
	display: block;
	width: 12px;
	height: 12px;
}

.catalog-toolbar__filters--ocf .ocf-mobile {
	display: none !important;
}

.catalog-toolbar__filters--ocf .ocf-dropdown.ocf-open .ocf-desktop.filter-btn__icon {
	transform: rotate(180deg);
}

/* Dropdown menu = .dropdown__menu look */

.catalog-toolbar__filters--ocf .ocf-dropdown .ocf-filter-body .ocf-value-list {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: auto;
	z-index: 30;
	min-width: 280px;
	margin: 0 !important;
	padding: 8px !important;
	border: 1px solid var(--border-light) !important;
	border-radius: 8px !important;
	box-shadow: 0 10px 30px rgba(2, 2, 2, 0.08) !important;
}

.catalog-toolbar__filters--ocf .ocf-dropdown.ocf-open .ocf-filter-body .ocf-value-list {
	display: block;
}

/* Price/slide filter popup: bigger card, per design */
.catalog-toolbar__filters--ocf .ocf-slider.ocf-dropdown .ocf-filter-body .ocf-value-list {
	width: 330px;
	min-width: 330px;
	padding: 16px !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
	flex-direction: column;
	gap: 16px;
}

.catalog-toolbar__filters--ocf .ocf-slider.ocf-dropdown.ocf-open .ocf-filter-body .ocf-value-list {
	display: flex;
}

.catalog-toolbar__filters--ocf .ocf-value-list-body {
	display: flex;
	flex-direction: column;
}

/* Stock CSS shrinks .ocf-scroll-y's padding-right on :hover (10px -> 0px) to
   make room for the scrollbar thumb, which grows every row's width:100% by
   10px and shifts it right. Pin padding-right so hovering a value doesn't
   resize it. */
.catalog-toolbar__filters--ocf .ocf-scroll-y,
.catalog-toolbar__filters--ocf .ocf-scroll-y:hover {
	/* padding-right: 10px !important; */
}

/* Value item = .checkbox-item look */

.catalog-toolbar__filters--ocf .ocf-value,
.catalog-toolbar__filters--ocf .ocf-value:active,
.catalog-toolbar__filters--ocf .ocf-value:focus,
.catalog-toolbar__filters--ocf .ocf-value:visited,
.catalog-toolbar__filters--ocf .ocf-value:hover {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 8px 12px;
	margin-bottom: 0;
	border-radius: 4px;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	box-shadow: none;
	transition: background-color 0.2s ease;
}

.catalog-toolbar__filters--ocf .ocf-value:hover {
	background: var(--bg-highest);
}

.catalog-toolbar__filters--ocf .ocf-value-input {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	margin: 0;
}

.catalog-toolbar__filters--ocf .ocf-value-input::before {
	background: var(--text-inverted);
	border: 1.5px solid var(--border-light);
	box-shadow: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.catalog-toolbar__filters--ocf .ocf-value-input-checkbox::before {
	border-radius: 4px;
}

.catalog-toolbar__filters--ocf .ocf-value-input-radio::before {
	border-radius: 50%;
}

.catalog-toolbar__filters--ocf .ocf-selected .ocf-value-input::before {
	background: var(--primary-main);
	border-color: var(--primary-main);
}

.catalog-toolbar__filters--ocf .ocf-selected .ocf-value-color,
.catalog-toolbar__filters--ocf .ocf-selected .ocf-value-image {
	box-shadow: none;
}

.catalog-toolbar__filters--ocf .ocf-value-color,
.catalog-toolbar__filters--ocf .ocf-value-image {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	border-radius: 50%;
	border: 0;
}


.catalog-toolbar__filters--ocf .ocf-value-name {
	flex: 1;
	min-width: 0;
	margin-right: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.catalog-toolbar__filters--ocf .ocf-value-append {
	margin-left: auto;
	min-width: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.catalog-toolbar__filters--ocf .ocf-value-count {
	padding: 0;
	color: var(--text-deep);
	font-size: 14px;
	font-weight: 400;
	background: none !important;
}

.catalog-toolbar__filters--ocf .ocf-more-selected {
	background: var(--bg-highest);
	color: var(--text-deep);
	padding: 1px 6px;
	border-radius: 10px;
	font-size: 12px;
}

/* Show more / hide values & filters */

.catalog-toolbar__filters--ocf .ocf-btn-link {
	color: var(--primary-main) !important;
	font-size: 14px;
}

/* Range slider filter */

.catalog-toolbar__filters--ocf .ocf-slider-input-group {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin-bottom: 0 !important;
}

.catalog-toolbar__filters--ocf .ocf-slider-input-group .ocf-input-group-addon {
	display: block;
	width: auto;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

/* No currency prefix box before the field, per design correction */
.catalog-toolbar__filters--ocf .ocf-slider-input-group .ocf-input-group-addon:first-child {
	display: none;
}

.catalog-toolbar__filters--ocf .ocf-slider-input-group .ocf-form-control {
	flex: 1 1 0;
	display: block !important;
	height: 36px !important;
	padding: 0 12px !important;
	background: #FDFCFA !important;
	border: 1px solid var(--border-light) !important;
	border-radius: 8px !important;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 34px;
}

.catalog-toolbar__filters--ocf .ocf-value-slider {
	padding-top: 6px;
}

.catalog-toolbar__filters--ocf .ocf-noUi-base:before {
	background-color: var(--border-light);
}

.catalog-toolbar__filters--ocf .ocf-noUi-connect:before {
	background-color: var(--primary-main);
}

.catalog-toolbar__filters--ocf .ocf-noUi-connects:before,
.catalog-toolbar__filters--ocf .ocf-noUi-connects:after {
	display: none;
}

.catalog-toolbar__filters--ocf .ocf-noUi-handle {
	width: 16px;
	height: 16px;
	right: -8px;
	top: 1px;
	background-color: var(--text-inverted);
	border: 2px solid var(--primary-main);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.10);
}

.catalog-toolbar__filters--ocf .ocf-noUi-active {
	box-shadow: 0 0 0 6px rgba(139, 74, 22, 0.15);
}

.catalog-toolbar__filters--ocf .ocf-noUi-pips {
	padding: 0;
	height: 32px;
	color: var(--text-deep);
}

.catalog-toolbar__filters--ocf .ocf-noUi-marker {
	background: var(--border-light);
	width: 1px;
	height: 4px;
	margin-top: 8px;
}

.catalog-toolbar__filters--ocf .ocf-noUi-marker:first-child,
.catalog-toolbar__filters--ocf .ocf-noUi-marker[style*="100%"] {
	height: 4px;
	margin-top: 8px;
}

.catalog-toolbar__filters--ocf .ocf-noUi-value {
	margin-top: 16px;
	font-size: 12px;
	line-height: 16px;
	color: var(--text-deep);
}

.catalog-toolbar__filters--ocf .ocf-noUi-marker:first-child + .ocf-noUi-value,
.catalog-toolbar__filters--ocf .ocf-noUi-value:last-child {
	color: var(--text-deep);
}

.catalog-toolbar__filters--ocf .ocf-form-control {
	border-color: var(--border-light);
	color: var(--text-dark);
	border-radius: 8px;
}

/* The filter_item.twig/value_item.twig templates are shared between desktop
   and mobile, dual-classed with the design's .filter-group*/.checkbox-item*
   classes for the mobile accordion (see the mobile-active block below). Those
   design classes carry their own unscoped base rules (width:100%, 24px icon,
   collapsed max-height:0 ...) meant for the mobile layout only — neutralize
   them back to the desktop pill-row look here so desktop stays untouched. */

.catalog-toolbar__filters--ocf .ocf-filter-header.filter-group__toggle {
	width: auto;
}

.catalog-toolbar__filters--ocf .filter-group__icon.ocf-desktop {
	width: 14px;
	height: 14px;
}

.catalog-toolbar__filters--ocf .ocf-filter-body > .filter-group__content {
	max-height: none;
	overflow: visible;
	background: transparent;
}

/* Mobile slide-out panel — full-screen modal look (.ocf-mobile-active is
   the class OCFilter's own JS adds when the drawer is open on mobile).
   The desktop rules above (hidden .ocf-header, hidden .ocf-mobile, wrapped
   pill row, absolute-positioned .ocf-value-list) don't fit this context, so
   this section re-shows/relayouts the same DOM as a stacked accordion,
   matching the design's .filter-modal / .filter-group. */

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-content {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 12px 20px;
	background: var(--bg-highest);
	box-sizing: border-box;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-header {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	background: none;
	flex-shrink: 0;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-header-title.ocf-desktop {
	display: flex !important;
	align-items: center;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	text-transform: uppercase;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-header-title.ocf-desktop .ocf-icon {
	display: none;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-header-btn.ocf-desktop {
	display: none !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-close-mobile {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: var(--text-inverted);
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-body {
	display: block !important;
	position: static;
	flex: 1;
	align-items: flex-start !important;
	overflow-y: auto;
	padding: 12px 0;
	width: 100% !important;
	background: var(--bg-highest);
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter-list {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 12px;
	width: 100% !important;
	height: auto;
	overflow: visible;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--border-light);
	border-radius: 8px;
	background: var(--bg-highest);
	overflow: hidden;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter-header {
	display: flex !important;
	position: static !important;
	bottom: auto !important;
	width: 100%;
	height: auto !important;
	justify-content: space-between !important;
	gap: 8px;
	padding: 12px 16px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--bg-lowest) !important;
	color: var(--text-dark) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 24px !important;
	white-space: normal;
	flex-wrap: nowrap !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-module-page-header {
	flex-wrap: nowrap !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter-name {
	color: var(--text-dark) !important;
	font-size: 16px !important;
	line-height: 20px !important;
	font-weight: 600 !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active.ocf-theme-light .ocf-value-count {
	background-color: var(--bg-highest);
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter-header .ocf-mobile.ocf-angle,
.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter-header .ocf-mobile.ocf-arrow-left {
	display: none !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter-header .ocf-desktop.filter-btn__icon {
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	transition: transform 0.2s ease;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-dropdown.ocf-open .ocf-filter-header .ocf-desktop.filter-btn__icon {
	transform: rotate(180deg);
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter-body {
	position: relative;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter-body .ocf-value-list {
	display: none !important;
	position: static;
	transform: none !important;
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	padding: 8px !important;
	box-shadow: none !important;
	border-radius: 0 0 8px 8px !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-dropdown.ocf-open .ocf-filter-body .ocf-value-list {
	display: block !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-filter-header.filter-group__toggle {
	background: var(--bg-lowest) !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .filter-group__content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-dropdown.ocf-open .filter-group__content {
	max-height: 3000px !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-dropdown.ocf-open .filter-group__icon {
	transform: rotate(180deg);
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-value-input::before {
	display: none !important;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .checkbox-item.ocf-selected .checkbox-item__box {
	background: var(--primary-main);
	border-color: var(--primary-main);
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .checkbox-item.ocf-selected .checkbox-item__check {
	display: block;
	filter: brightness(0) invert(1);
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-footer.ocf-mobile {
	display: flex !important;
	position: static !important;
	flex-direction: column;
	flex-shrink: 0;
	width: 100% !important;
	margin: 0 !important;
	padding: 24px 16px !important;
	background: var(--bg-highest);
	box-shadow: none;
	z-index: auto;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-footer .ocf-between {
	display: flex;
	flex-direction: column-reverse;
	width: 100%;
	gap: 12px;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-footer .ocf-btn-link {
	width: 100%;
	height: 48px;
	padding: 0 24px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-lowest);
	color: var(--text-dark) !important;
	font-size: 14px;
	flex-shrink: 0;
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-search-btn-static {
	width: 100%;
	height: 48px;
	border-radius: 16px;
	background-color: var(--primary-main);
}

.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-search-btn-static:hover,
.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-search-btn-static:focus,
.catalog-toolbar__filters--ocf .ocf-container.ocf-mobile-active .ocf-search-btn-static:active {
	background-color: var(--primary-dark);
}

/* OCFilter: hide value-selection "Apply" popover on desktop — JS in module.twig auto-navigates
   instead. Popover never opens on mobile anyway (isMobile() check in ocfilter.js), so mobile
   is untouched here on purpose; the >768 gate keeps this explicit per the desktop-only intent. */
@media (min-width: 769px) {
	.ocf-popover {
		display: none !important;
	}
}

.ocf-clear-all-link {
	display: inline-flex;
	align-items: center;
}

.catalog-toolbar__filters--ocf .ocf-clear-all-block {
	align-self: stretch;
}

.catalog-toolbar__filters--ocf .ocf-clear-all-link {
	height: 100%;
}

/* Pagination */

section.pagination {
	padding: 56px 0 128px;
}

.pagination__nav {
	display: flex;
	justify-content: center;
}

.pagination__list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pagination__item {
	margin: 0;
}

.pagination__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 10px;
	border: 1px solid var(--border-light);
	border-radius: 8px;
	background: var(--bg-lowest);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.pagination__link:hover:not(.pagination__link--active):not(.pagination__link--disabled) {
	border-color: var(--primary-main);
	color: var(--primary-main);
}

.pagination__link--active {
	background: var(--primary-main);
	border-color: var(--primary-main);
	color: var(--text-inverted);
}

.pagination__link--disabled {
	opacity: 0.4;
	pointer-events: none;
}

.pagination__icon {
	display: block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.pagination__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 8px 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	box-sizing: border-box;
}

/* Subcategory cards */

.subcategory-cards {
	padding: 64px 0;
}

.subcategory-cards__title {
	margin: 0 0 32px;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.subcategory-cards__list {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.subcategory-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 24px 32px;
	border-radius: 16px;
	background: var(--bg-medium);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.subcategory-card:hover {
	opacity: 0.85;
	color: inherit;
}

.subcategory-card__title {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	text-align: center;
}

.subcategory-card__count {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	text-align: center;
}

/* Category info */

.category-info {
	padding: 64px 0 128px;
}

.category-info__content {
	max-width: 896px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.category-info__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.category-info__description {
	margin: 0;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}

.category-info__description.expanded {
	-webkit-line-clamp: unset;
	display: block;
}

.category-info__read-more {
	display: none;
	align-items: center;
	gap: 4px;
	align-self: flex-start;
	padding: 0;
	border: 0;
	background: none;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.category-info__content.has-overflow .category-info__read-more {
	display: flex;
}

.category-info__read-more:hover {
	opacity: 0.8;
}

.category-info__read-more-text--less {
	display: none;
}

.category-info__content.is-expanded .category-info__read-more-text--more {
	display: none;
}

.category-info__content.is-expanded .category-info__read-more-text--less {
	display: inline;
}

.category-info__content.is-expanded .category-info__read-more-icon {
	transform: rotate(90deg);
}

.category-info__read-more-icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

@media (min-width: 768px) {
	#header.search-active .header__actions {
		flex: 1 1 auto;
		min-width: 0;
	}

	#header.search-active .header__search {
		flex: 1 1 auto;
		min-width: 0;
	}
}

/* ===== Product page ===== */
.product-info {
	padding-bottom: 64px;
}

.product-info__inner {
	display: flex;
	align-items: flex-start;
	gap: 48px;
	max-width: 1248px;
}

.product-info__gallery,
.product-info__content {
	flex: 1 1 0;
	min-width: 0;
	max-width: 100%;
}

.product-info__gallery {
	width: 100%;
	position: sticky;
	top: var(--product-gallery-sticky-top, 104px);
	align-self: flex-start;
}

.product-info__content {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.product-info__summary {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.product-info__header {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.product-info__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.product-info__meta {
	display: flex;
	align-items: center;
	gap: 12px;
}

.product-info__stock {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 16px;
	border-radius: 100px;
	border: 1px solid var(--bg-intense);
	background: var(--bg-highest);
	color: var(--primary-main);
	font-size: 12px;
	line-height: 16px;
	text-transform: uppercase;
}

.product-info__sku {
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.product-info__wishlist {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 8px;
	border-radius: 8px;
	border: 1px solid var(--primary-main);
	background: var(--bg-lowest);
	color: var(--primary-main);
	flex-shrink: 0;
	transition: background-color 0.2s ease;
}

.product-info__wishlist:hover {
	background: var(--bg-intense);
	border-color: var(--primary-dark);
}

.product-info__wishlist:active {
	background: var(--bg-intense);
	border-color: var(--primary-darkest);
	color: var(--primary-darkest);
}

.product-info__wishlist.is-active {
	background: var(--bg-lowest);
	border-color: var(--primary-main);
	color: var(--primary-main);
}

.product-info__wishlist.is-active:hover {
	background: var(--bg-intense);
	border-color: var(--primary-dark);
}

.product-info__wishlist.is-active:active {
	background: var(--bg-intense);
	border-color: var(--primary-darkest);
	color: var(--primary-darkest);
}

.product-info__wishlist-icon {
	width: 24px;
	height: 24px;
	display: block;
	flex-shrink: 0;
}

.product-info__wishlist-icon path {
	stroke: currentColor;
	fill: none;
	transition: fill 0.2s ease;
}

.product-info__wishlist:active .product-info__wishlist-icon path,
.product-info__wishlist.is-active .product-info__wishlist-icon path {
	fill: currentColor;
}

.product-info__title {
	margin: 0;
	color: #101828;
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.product-info__rating {
	display: flex;
	align-items: center;
	gap: 8px;
}

.product-info__score {
	color: #101828;
	font-size: 14px;
	line-height: 20px;
	font-weight: 600;
}

.product-info__reviews {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.product-info__text {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.product-info__features {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0 0 24px;
	margin: 0;
	border-bottom: 1px solid var(--border-light);
	list-style: none;
}

.product-info__feature {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.product-info__feature-icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.product-info__price {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 24px;
}

.product-info__price-current {
	color: var(--text-dark);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
	transition: color 0.2s ease;
}

.product-info__price-current.is-updating {
	color: var(--primary-main);
}

.product-info__price-old {
	color: var(--text-muted);
	font-size: 21px;
	line-height: 32px;
	text-decoration: line-through;
}

.product-info__discount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 16px;
	border-radius: 100px;
	background: var(--bg-intense);
	color: var(--primary-main);
	font-size: 12px;
	line-height: 16px;
}

.product-info__options {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.product-info__buybox {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.product-info .option-group {
	gap: 16px;
}

.product-info .option-group__buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 16px;
	align-content: flex-start;
}

.product-info .option-btn {
	flex: unset;
	width: 100%;
	padding: 12px 16px;
	height: auto;
	min-height: 48px;
	border-width: 2px;
	transition: none;
}

.product-info .option-btn--flag {
	padding: 10px 16px;
}

.product-info .option-btn:hover:not(.option-btn--active) {
	background: var(--bg-intense);
	border-color: var(--border-light);
}

.product-qty {
	display: inline-flex;
	align-items: center;
	width: 148px;
	height: 40px;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	overflow: hidden;
}

.product-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 8px;
	flex-shrink: 0;
}

.product-qty__icon {
	width: 24px;
	height: 24px;
}

.product-qty__value {
	flex: 1;
	text-align: center;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.product-qty--split {
	width: auto;
	height: auto;
	gap: 8px;
	border: none;
	border-radius: 0;
	overflow: visible;
}

.product-qty--split .product-qty__btn {
	border-radius: 12px;
	border: 1px solid var(--border-light);
}

.product-qty--split .product-qty__value {
	flex: 0 0 auto;
	width: 40px;
	padding: 0 8px;
}

.product-info__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-bottom: 24px;
}

.product-info__cart,
.product-info__buy {
	width: 100%;
	font-size: 16px;
	line-height: 24px;
}

.product-info__benefits {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.product-benefit {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-align: center;
}

.product-benefit__icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 8px;
	border-radius: 12px;
	background: var(--bg-highest);
}

.product-benefit__icon {
	width: 28px;
	height: 28px;
}

.product-benefit__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	width: 100%;
}

.product-benefit__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.product-benefit__subtitle {
	margin: 0;
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

/* Product gallery */
.product-gallery {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.product-gallery__main {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 1;
	border-radius: 16px;
	overflow: hidden;
	background: var(--bg-highest);
}

.product-gallery__main .swiper-wrapper {
	height: 100%;
}

.product-gallery__main .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.product-gallery__image {
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
}

.product-gallery__nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 10px;
	border-radius: 8px;
	border: 1px solid var(--border-light);
	background: var(--bg-lowest);
	transform: translateY(-50%);
	transition: opacity 0.2s ease;
}

.product-gallery__nav--prev {
	left: 20px;
}

.product-gallery__nav--next {
	right: 20px;
}

.product-gallery__nav.swiper-button-disabled {
	opacity: 0.4;
	cursor: default;
}

.product-gallery__nav-icon {
	width: 10px;
	height: 16px;
}

.product-gallery__nav-icon--prev {
	transform: rotate(180deg);
}

.product-gallery__thumbs {
	width: 100%;
}

.product-gallery__thumbs-row {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.product-gallery__thumbs-nav {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	padding: 0;
}

.product-gallery__thumbs-nav.swiper-button-disabled {
	opacity: 0.45;
	cursor: default;
}

.product-gallery__thumbs-nav-icon {
	display: block;
	width: 10px;
	height: 16px;
}

.product-gallery__thumbs-nav-icon--prev {
	transform: rotate(180deg);
}

.product-gallery__thumbs .swiper-slide {
	position: relative;
	aspect-ratio: 1;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	overflow: hidden;
	cursor: pointer;
	opacity: 1;
}

.product-gallery__thumbs .swiper-slide-thumb-active {
	border: 2px solid var(--primary-main);
}

.product-gallery__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-gallery__slide--video {
	position: relative;
}

.product-gallery__play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	border-radius: 100px;
	background: var(--primary-main);
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.product-gallery__play--thumb {
	padding: 8px;
}

.product-gallery__play-icon {
	display: block;
	width: 16px;
	height: 16px;
}

.product-gallery__main .product-gallery__slide--video .product-gallery__play-icon {
	width: 20px;
	height: 20px;
}

/* Product tabs */
.product-tabs__box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
	border: 1px solid var(--border-light);
}

.product-tabs__nav {
	display: flex;
	align-items: stretch;
	width: 100%;
	height: 55px;
}

.product-tabs__btn {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 24px;
	border-bottom: 1px solid var(--border-light);
	color: var(--text-deep);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	text-align: center;
	transition: none;
}

.product-tabs__btn--active {
	border-bottom: 2px solid var(--primary-main);
	color: var(--text-dark);
}

.product-tabs__panels {
	width: 100%;
}

.product-tabs__panel {
	display: none;
	padding: 32px 48px;
}

.product-tabs__panel--active {
	display: block;
}

.product-tabs__panel--reviews.product-tabs__panel--active {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.product-tabs__text {
	margin: 0;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.product-tabs__text p {
	margin: 16px 0 0;
}

.product-tabs__text p:first-child {
	margin-top: 0;
}

.product-tabs__text ul,
.product-tabs__text ol {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.product-tabs__text ul:first-child,
.product-tabs__text ol:first-child {
	margin-top: 0;
}

.product-tabs__text li {
	display: flex;
	align-items: flex-start;
	gap: 4px;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.product-tabs__text li::before {
	content: '';
	width: 28px;
	height: 28px;
	flex-shrink: 0;
	background: radial-gradient(circle, var(--text-deep) 3.5px, transparent 3.5px);
	background-repeat: no-repeat;
	background-position: center;
}

.specs-table {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.specs-table__row {
	display: flex;
	align-items: flex-start;
	width: 100%;
	padding: 12px 0;
	overflow: hidden;
}

.specs-table__row:nth-child(odd) {
	background: var(--bg-lowest);
}

.specs-table__row:nth-child(even) {
	background: #ffffff;
}

.specs-table__label {
	width: 280px;
	flex-shrink: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.specs-table__value {
	flex: 1 1 0;
	min-width: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.product-tabs__reviews {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	height: auto;
	min-height: 0;
	padding-bottom: 106px;
}

.product-tabs .review-card__header {
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.product-tabs .review-card__author {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1 1 0;
	min-width: 0;
}

.product-tabs .review-card__user {
	width: auto;
	flex: 0 1 auto;
}

.product-tabs .review-card__verified {
	flex-shrink: 0;
}

.product-tabs .review-card__rating {
	flex-shrink: 0;
	padding-top: 8px;
}

.product-tabs__all-reviews {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 24px;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	text-decoration: none;
}

.product-tabs__all-reviews:hover {
	color: var(--primary-main);
	opacity: 0.85;
}

.product-tabs__all-reviews-icon {
	display: block;
	width: 24px;
	height: 24px;
}

/* ===== Cart page ===== */
.cart-page .cart {
	padding: 48px 0;
}

.cart__title {
	margin: 0 0 32px;
	color: var(--text-dark);
	font-size: 32px;
	line-height: 40px;
	font-weight: 500;
}

.cart__layout {
	display: flex;
	align-items: flex-start;
	gap: 32px;
}

.cart__items {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.cart-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 20px;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	background: #ffffff;
}

.cart-item__image {
	width: 112px;
	height: 112px;
	flex-shrink: 0;
	object-fit: cover;
	border-radius: 16px;
	border: 1px solid var(--border-light);
}

.cart-item__body {
	flex: 1 1 0;
	min-width: 0;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
}

.cart-item__top {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.cart-item__info {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.cart-item__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.cart-item__meta {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.cart-item__meta-line {
	display: inline;
}

.cart-item__meta-sep {
	display: inline;
}

.cart-item__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}

.cart-item__bottom {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}

.cart-item__price {
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
}

.cart-summary {
	width: 380px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
}

.cart-summary__box {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	background: #ffffff;
}

.cart-summary__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.cart-summary__rows {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--border-light);
}

.cart-summary__row,
.cart-summary__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.cart-summary__label {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.cart-summary__value {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.cart-summary__value--plain {
	font-size: 14px;
	font-weight: 400;
}

.cart-summary__promo {
	display: block;
	width: 100%;
}

.cart-summary__promo-fields {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 12px;
	width: 100%;
}

.cart-summary__promo-input {
	flex: 1 1 0;
	min-width: 0;
	height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-lowest);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	outline: none;
}

.cart-summary__promo-input::placeholder {
	color: var(--text-muted);
}

.cart-summary__promo-btn {
	flex-shrink: 0;
	height: 48px;
}

.cart-summary__promo-message {
	margin: -8px 0 0;
	font-size: 13px;
	line-height: 18px;
	color: #dc2626;
}

.cart-summary__total-value {
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.cart-summary__checkout {
	width: 100%;
	gap: 4px;
}

.cart-summary__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
}

.cart-summary__secure-icon {
	display: block;
	width: 20px;
	height: 20px;
}

.cart-summary__secure-text {
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.cart-summary__badges {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding-top: 20px;
	border-top: 1px solid var(--border-light);
}

.cart-summary__badge {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding: 8px 16px;
	border-radius: 8px;
	background: var(--bg-highest);
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
	text-align: center;
}

.cart-summary__continue {
	width: 100%;
	gap: 4px;
}

/* ===== Checkout page ===== */
.checkout {
	padding: 48px 0;
}

.checkout-steps {
	display: flex;
	align-items: center;
	width: 100%;
	height: 32px;
	margin-bottom: 40px;
}

.checkout-steps__item {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

.checkout-step {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 32px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	flex-shrink: 0;
}

.checkout-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 100px;
	border: 2px solid var(--text-muted);
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	font-weight: 700;
	box-sizing: border-box;
}

.checkout-step__label {
	color: var(--text-muted);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	white-space: nowrap;
}

.checkout-step--active .checkout-step__num,
.checkout-step--done .checkout-step__num {
	border-color: var(--primary-main);
	background: var(--primary-main);
	color: var(--text-inverted);
}

.checkout-step--active .checkout-step__label {
	color: var(--text-dark);
}

.checkout-step--done .checkout-step__label {
	color: var(--text-dark);
}

.checkout-steps__line {
	flex: 1 1 0;
	min-width: 24px;
	height: 2px;
	background: var(--border-light);
}

.checkout__layout {
	display: flex;
	align-items: flex-start;
	gap: 32px;
}

.checkout__main {
	flex: 1 1 0;
	min-width: 0;
	max-width: 692px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.checkout-panel {
	display: none;
	flex-direction: column;
	gap: 24px;
}

.checkout-panel--active {
	display: flex;
}

.checkout-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	background: #ffffff;
}

.checkout-card__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.checkout-card__note {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.checkout-delivery {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	padding-top: 25px;
	border-top: 1px solid var(--border-light);
}

.checkout-delivery__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.checkout-delivery__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.delivery-option {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 14px 16px;
	border-radius: 16px;
	border: 2px solid var(--border-light);
	background: #ffffff;
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s;
}

.delivery-option--active {
	border-color: var(--primary-main);
	background: var(--bg-light);
}

.delivery-option__input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.delivery-option__radio {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	border-radius: 100px;
	border: 2px solid var(--text-muted);
	box-sizing: border-box;
}

.delivery-option--active .delivery-option__radio {
	border-color: var(--primary-main);
	background: var(--primary-main);
}

.delivery-option--active .delivery-option__radio::after {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 100px;
	background: #ffffff;
}

.delivery-option__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	border-radius: 12px;
	background: var(--border-light);
	flex-shrink: 0;
}

.delivery-option__icon-img {
	display: block;
	width: 24px;
	height: 24px;
}

.delivery-option__info {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.delivery-option__name {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.delivery-option__time {
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

.delivery-option__price {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	white-space: nowrap;
	flex-shrink: 0;
}

.delivery-option__price--free {
	font-size: 16px;
	font-weight: 600;
}

.delivery-option__icon-text {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: var(--text-dark);
	font-size: 12px;
	line-height: 16px;
	font-weight: 700;
}

.checkout-payment__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.checkout-confirm-loading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
	color: var(--text-dark);
	font-size: 14px;
}

.checkout-confirm-loading__spinner {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	border: 2px solid var(--divider, rgba(0, 0, 0, 0.15));
	border-top-color: var(--primary-main);
	border-radius: 50%;
	animation: checkout-confirm-loading-spin 0.8s linear infinite;
}

@keyframes checkout-confirm-loading-spin {
	to {
		transform: rotate(360deg);
	}
}

.checkout-card-details {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.checkout-card-details.is-hidden {
	display: none;
}

.checkout-card-details__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.checkout-auth {
	display: flex;
	align-items: stretch;
	gap: 12px;
	width: 100%;
}

.checkout-auth__btn {
	flex: 1 1 0;
	width: auto;
}

.checkout-form {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
}

.checkout-form__section {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.checkout-form__row {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}

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

.form-field__label {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	height: 20px;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.form-field__required {
	color: #f64c4f;
	font-size: 16px;
	line-height: 16px;
	font-weight: 600;
}

.form-field__control {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
}

.form-field__icon {
	display: block;
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	pointer-events: none;
}

.form-field__input {
	width: 100%;
	height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-lowest);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	outline: none;
}

.form-field__input::placeholder {
	color: var(--text-muted);
}

.form-field__control .form-field__input {
	padding-left: 48px;
}

.form-field--error .form-field__input {
	border-color: #f64c4f;
}

.form-field__error {
	color: #f64c4f;
	font-size: 12px;
	line-height: 16px;
}

.checkout-actions {
	display: grid;
	grid-template-columns: minmax(116px, 1fr) minmax(0, 552px);
	align-items: stretch;
	gap: 24px;
	width: 100%;
}

.checkout-actions__back {
	width: 100%;
	gap: 4px;
}

.checkout-actions__next {
	width: 100%;
	gap: 4px;
}

.checkout-summary {
	width: 380px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
}

.checkout-summary__box {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	background: #ffffff;
}

.checkout-summary__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.checkout-summary__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.checkout-summary__arrow-btn {
	display: none;
	width: 20px;
	height: 20px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.checkout-summary__arrow {
	transition: transform 0.3s ease;
}

.checkout-summary__brief {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.checkout-summary__brief-label {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.checkout-summary__brief-value {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.checkout-summary__details {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.checkout-summary__products {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--border-light);
}

.checkout-summary__product {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	text-decoration: none;
	color: inherit;
}

.checkout-summary__product:hover .checkout-summary__product-name {
	text-decoration: underline;
}

.checkout-summary__image {
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--border-light);
	background: var(--border-light);
}

.checkout-summary__product-body {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 8px 0;
}

.checkout-summary__product-info {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.checkout-summary__product-name {
	margin: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.checkout-summary__product-qty {
	margin: 0;
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

.checkout-summary__product-price {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	white-space: nowrap;
}

.checkout-summary__rows {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--border-light);
}

.checkout-summary__row,
.checkout-summary__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.checkout-summary__label {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.checkout-summary__value {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.checkout-summary__value--plain {
	font-size: 14px;
	font-weight: 400;
}

.checkout-summary__total {
	align-items: flex-end;
}

.checkout-summary__total-value {
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

/* ===== Legal / Privacy page ===== */
.legal-hero {
	background-color: var(--bg-lowest);
}

.legal-hero__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 96px;
}

.legal-hero__intro {
	flex: 1;
	max-width: 776px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.legal-hero__eyebrow {
	margin: 0 0 24px;
	color: var(--text-accent);
	font-size: 16px;
	font-weight: 600;
	line-height: 20px;
}

.legal-hero__title {
	margin: 0;
	font-size: 56px;
	font-weight: 500;
	line-height: 64px;
}

.legal-hero__title-dark {
	display: block;
	color: var(--text-dark);
}

.legal-hero__title-accent {
	display: block;
	color: var(--primary-main);
}

.legal-hero__desc {
	margin: 16px 0 0;
	max-width: 418px;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.legal-card {
	flex-shrink: 0;
	width: 100%;
	max-width: 360px;
	padding: 24px;
	border-radius: 16px;
	background: linear-gradient(135deg, #2c2520 0%, #2e2722 14%, #312924 29%, #332c26 43%, #362e28 57%, #38302a 71%, #3b332c 86%, #3d352e 100%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 16px;
}

.legal-card__eyebrow {
	margin: 0;
	color: var(--text-accent);
	font-size: 12px;
	line-height: 16px;
}

.legal-card__title {
	margin: 0;
	color: var(--text-inverted);
	font-size: 21px;
	line-height: 32px;
}

.legal-card__text {
	margin: 0;
	color: var(--text-light);
	font-size: 14px;
	line-height: 20px;
}

.legal-card__actions {
	width: 100%;
	padding-top: 8px;
}

.legal-card__btn {
	width: 100%;
}

.legal-card__btn:hover {
	color: var(--text-inverted);
}

.legal-card__note {
	margin: 0;
	width: 100%;
	text-align: center;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.legal-content {
	padding: 64px 0;
}

.legal-content__inner {
	max-width: 680px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.legal-block__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	font-weight: 600;
	line-height: 32px;
}

.legal-block__body {
	margin-top: 16px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.legal-block__text {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.legal-block__text--inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.legal-block__link {
	color: var(--primary-main);
	font-size: 16px;
	font-weight: 600;
	line-height: 20px;
	border-bottom: 1px solid var(--primary-main);
}

.legal-block__link:hover {
	opacity: 0.8;
	color: var(--primary-main);
}

/* ===== Contact page ===== */

.contact-info {
	flex-shrink: 0;
	width: 100%;
	max-width: 360px;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	padding: 24px;
	border-radius: 16px;
	background: linear-gradient(135deg, #2c2520 0%, #2e2722 14%, #312924 29%, #332c26 43%, #362e28 57%, #38302a 71%, #3b332c 86%, #3d352e 100%);
}

.contact-info__head,
.contact-info__row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	align-self: stretch;
}

.contact-info__label {
	margin: 0;
	color: var(--text-accent);
	font-size: 12px;
	line-height: 16px;
}

.contact-info__title {
	margin: 0;
	align-self: stretch;
	color: var(--text-inverted);
	font-size: 21px;
	line-height: 32px;
}

.contact-info__value {
	align-self: stretch;
	color: var(--text-inverted);
	font-size: 16px;
	line-height: 28px;
}

.contact-info__value:hover {
	color: var(--text-inverted);
	opacity: 0.85;
}

.contact-page {
	padding: 64px 0;
}

.contact-page__intro {
	max-width: 680px;
	margin: 0 auto 64px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.contact-page__title {
	margin: 0;
	text-align: center;
	color: var(--text-dark);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.contact-page__text {
	margin: 16px 0 0;
	text-align: center;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.contact-page__layout {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 32px;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 40px;
}

.contact-page__main {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

.contact-page__aside {
	flex: 1 1 0;
	max-width: 320px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

.contact-form {
	width: 100%;
	max-width: 672px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	background: var(--text-inverted);
}

.contact-form__title {
	margin: 0;
	align-self: stretch;
	color: var(--text-dark);
	font-size: 21px;
	line-height: 32px;
	font-weight: 400;
}

.contact-form__fields {
	width: 100%;
	padding-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.contact-form__row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
}

.contact-field {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
}

.contact-field__label {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.contact-field__required {
	color: #f64c4f;
}

.contact-field__input {
	width: 100%;
	height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-lowest);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	outline: none;
	resize: none;
}

.contact-field--error .contact-field__input {
	border-color: #f64c4f;
}

.contact-field__input::placeholder {
	color: var(--text-muted);
}

.contact-field__input:focus {
	border-color: var(--primary-main);
}

.contact-field__input--textarea {
	height: 158px;
	min-height: 158px;
}

.contact-form__action {
	width: 100%;
	padding-top: 32px;
}

.contact-form__submit {
	width: 100%;
	font-size: 16px;
	line-height: 24px;
}

.contact-form-result {
	display: none;
	width: 100%;
	max-width: 672px;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	background: var(--text-inverted);
}

.contact-form-result.is-visible {
	display: flex;
}

.contact-form-result__body {
	align-self: stretch;
	height: 400px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.contact-form-result__icon {
	width: 64px;
	height: 64px;
	padding: 8px;
	background: var(--bg-highest);
	border-radius: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.contact-form-result__content {
	align-self: stretch;
	padding-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.contact-form-result__title {
	margin: 0;
	align-self: stretch;
	color: var(--text-dark);
	font-size: 17px;
	font-weight: 600;
	line-height: 20px;
	text-align: center;
}

.contact-form-result__text {
	margin: 0;
	align-self: stretch;
	color: var(--text-muted);
	font-size: 14px;
	line-height: 20px;
	text-align: center;
}

.contact-form-result__action {
	padding-top: 32px;
}

/* ===== Track Order page ===== */

.track-order {
	padding: 96px 0;
}

.track-order__card {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	max-width: 890px;
	margin: 0 auto;
	padding: 0 40px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: #ffffff;
}

.track-order__form {
	width: 100%;
	max-width: 622px;
	padding: 48px 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.track-order__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 21px;
	line-height: 32px;
	font-weight: 400;
}

.track-order__fields {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
}

.track-order__field {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
}

.track-order__label {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.track-order__input {
	width: 100%;
	height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-lowest);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	outline: none;
}

.track-order__input::placeholder {
	color: var(--text-muted);
}

.track-order__hint {
	color: var(--text-dark);
	font-size: 12px;
	line-height: 16px;
}

.track-order__action {
	width: 100%;
	padding-top: 32px;
}

.track-order__submit {
	width: 100%;
	padding: 12px 32px;
	font-size: 16px;
	line-height: 24px;
}

.contact-help {
	display: flex;
	align-items: stretch;
	gap: 32px;
	width: 100%;
}

.contact-help__card {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid #e7ddd2;
	background: var(--text-inverted);
}

.contact-help__title {
	margin: 0;
	align-self: stretch;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
	font-weight: 400;
}

.contact-help__text {
	margin: 16px 0 0;
	align-self: stretch;
	color: #6b5b52;
	font-size: 12px;
	line-height: 16px;
}

.contact-help__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 16px;
	height: 24px;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
}

.contact-help__link:hover {
	opacity: 0.8;
	color: var(--primary-main);
}

.contact-help__link-icon {
	display: block;
	width: 24px;
	height: 24px;
}

.contact-hours,
.contact-topics {
	width: 100%;
	max-width: 320px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	background: var(--text-inverted);
}

.contact-hours__head {
	display: flex;
	align-items: center;
	gap: 8px;
	align-self: stretch;
}

.contact-hours__icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.contact-hours__title {
	margin: 0;
	flex: 1 1 0;
	color: var(--text-dark);
	font-size: 21px;
	line-height: 32px;
	font-weight: 400;
}

.contact-hours__list {
	width: 100%;
	padding-top: 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.contact-hours__item {
	margin: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.contact-hours__item + .contact-hours__item {
	margin-top: 8px;
}

.contact-topics__title {
	margin: 0;
	color: #332720;
	font-size: 21px;
	line-height: 32px;
	font-weight: 400;
}

.contact-topics__list {
	width: 100%;
	padding-top: 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.contact-topics__link {
	display: inline-block;
	color: var(--primary-main);
	font-size: 12px;
	line-height: 16px;
	border-bottom: 1px solid var(--primary-main);
}

.contact-topics__link:hover {
	opacity: 0.8;
	color: var(--primary-main);
}

/* ===== FAQ page ===== */
.faq-page {
	padding: 64px 0;
}

.faq-page__inner {
	max-width: 680px;
	margin: 0 auto;
}

.faq-page__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 16px;
	margin-bottom: 48px;
}

.faq-page__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 36px;
	font-weight: 500;
	line-height: 40px;
}

.faq-page__subtitle {
	margin: 0;
	max-width: 672px;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.faq-page__search {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 6px 12px;
	background: #ffffff;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	margin-bottom: 32px;
}

.faq-page__search-icon {
	display: flex;
	flex-shrink: 0;
	line-height: 0;
}

.faq-page__search-input {
	flex: 1;
	min-width: 0;
	border: none !important;
	outline: none;
	background: transparent !important;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.faq-page__search-input::placeholder {
	color: var(--text-muted);
}

.faq-filters__label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
}

.faq-filters__icon {
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	filter: brightness(0) saturate(100%) invert(32%) sepia(42%) saturate(900%) hue-rotate(356deg) brightness(95%) contrast(90%);
}

.faq-filters__text {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.faq-filters__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 56px;
}

.faq-filters__btn {
	padding: 10px 24px;
	border-radius: 100px;
	border: 1px solid var(--bg-intense);
	background: #ffffff;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.faq-filters__btn:hover {
	border-color: var(--primary-main);
	color: var(--primary-main);
}

.faq-filters__btn.is-active {
	background: var(--primary-main);
	border-color: var(--primary-main);
	color: var(--text-inverted);
}

.faq-filters__btn.is-active:hover {
	color: var(--text-inverted);
	opacity: 0.9;
}

.faq-group {
	margin-bottom: 56px;
}

.faq-group:last-child {
	margin-bottom: 0;
}

.faq-group.is-hidden {
	display: none;
}

.faq-group__title {
	margin: 0 0 24px;
	color: var(--text-dark);
	font-size: 22px;
	font-weight: 600;
	line-height: 32px;
}

.faq-group__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.faq-group .faq-item.is-hidden {
	display: none;
}

.faq-page__empty {
	display: none;
	padding: 32px 24px;
	text-align: center;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.faq-page__empty.is-visible {
	display: block;
}

/* ===== 404 page ===== */
.error-404 {
	background-color: var(--bg-light);
}

.error-404__inner {
	display: flex;
	align-items: center;
	gap: 80px;
}

.error-404__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

.error-404__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
}

.error-404__eyebrow {
	display: inline-flex;
	padding: 4px 12px;
	border-radius: 100px;
	color: var(--primary-main);
	font-size: 12px;
	line-height: 16px;
}

.error-404__code {
	width: 100%;
	color: #000000;
	font-size: 56px;
	font-weight: 600;
	line-height: 64px;
}

.error-404__title {
	width: 100%;
	color: var(--text-dark);
	font-size: 36px;
	font-weight: 500;
	line-height: 40px;
}

.error-404__desc {
	width: 100%;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.error-404__media {
	flex: 1;
	height: 440px;
	border-radius: 16px;
	overflow: hidden;
}

.error-404__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ===== Thanks page ===== */
.thanks {
	padding: 48px 0;
}

.thanks__inner {
	max-width: 848px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}

.thanks-hero {
	width: 100%;
	padding: 24px;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.thanks-hero__icon {
	width: 80px;
	height: 80px;
	padding: 8px;
	border-radius: 100px;
	background: var(--bg-highest);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.thanks-hero__check {
	width: 40px;
	height: 40px;
}

.thanks-hero__text {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}

.thanks-hero__title {
	margin: 0;
	text-align: center;
	color: var(--text-dark);
	font-size: 32px;
	line-height: 40px;
	font-weight: 500;
}

.thanks-hero__subtitle {
	margin: 0 auto;
	max-width: 368px;
	text-align: center;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.thanks-hero__icon--error {
	background: #fdecec;
}

.thanks-failure {
	width: 100%;
	padding: 20px 24px;
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.thanks-failure__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
}

.thanks-failure__list {
	margin: 0;
	padding-left: 20px;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 24px;
}

.thanks-failure__hint {
	margin: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 24px;
}

.thanks-meta {
	width: 100%;
	display: flex;
	align-items: stretch;
	gap: 16px;
}

.thanks-meta__card {
	flex: 1 1 0;
	min-width: 0;
	padding: 20px 24px;
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.thanks-meta__card--email {
	flex-direction: row;
	align-items: center;
	gap: 16px;
	padding: 32px 24px;
}

.thanks-meta__label {
	margin: 0;
	text-align: center;
	color: var(--text-muted);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.thanks-meta__value {
	margin: 0;
	width: 100%;
	text-align: center;
	color: var(--text-dark);
	font-size: 32px;
	line-height: 40px;
	font-weight: 500;
}

.thanks-meta__icon {
	width: 40px;
	height: 40px;
	padding: 8px;
	border-radius: 100px;
	background: var(--bg-highest);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.thanks-meta__icon-img {
	width: 20px;
	height: 20px;
}

.thanks-meta__info {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.thanks-meta__caption {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.thanks-meta__email {
	margin: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.thanks-next {
	width: 100%;
	padding: 24px;
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.thanks-next__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.thanks-timeline {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.thanks-timeline__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 226px;
}

.thanks-timeline__item:not(.thanks-timeline__item--last)::after {
	content: '';
	position: absolute;
	left: 19px;
	top: 42px;
	width: 2px;
	height: 24px;
	background: var(--border-light);
}

.thanks-timeline__icon {
	width: 40px;
	height: 40px;
	padding: 8px;
	border-radius: 100px;
	background: var(--border-light);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.thanks-timeline__item--active .thanks-timeline__icon {
	background: var(--primary-main);
}

.thanks-timeline__icon-img {
	width: 20px;
	height: 20px;
}

.thanks-timeline__content {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.thanks-timeline__name {
	margin: 0;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.thanks-timeline__item--active .thanks-timeline__name {
	color: var(--text-dark);
}

.thanks-timeline__desc {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.thanks-info {
	width: 100%;
	display: flex;
	align-items: stretch;
	gap: 16px;
}

.thanks-info__card {
	flex: 1 1 0;
	min-width: 0;
	min-height: 178px;
	padding: 24px;
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.thanks-info__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 24px;
}

.thanks-info__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.thanks-link {
	color: var(--text-dark);
	font-size: 12px;
	line-height: 16px;
	border-bottom: 1px solid var(--text-dark);
}

.thanks-link:hover {
	color: var(--primary-main);
	border-bottom-color: var(--primary-main);
}

.thanks-info__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.thanks-info__status {
	margin: 0;
	color: var(--text-deep);
	font-size: 21px;
	line-height: 32px;
}

.thanks-info__text {
	margin: 0;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.thanks-info__email {
	color: var(--text-dark);
}

.thanks-info__address {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.thanks-info__name {
	margin: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.thanks-info__line {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.thanks-summary {
	width: 100%;
}

.thanks-actions {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 16px;
}

.thanks-actions__btn {
	flex: 1 1 0;
	gap: 4px;
}

.thanks-actions__btn:hover img {
	filter: brightness(0) invert(1);
}

.thanks-actions__icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.thanks-footer {
	width: 100%;
	padding: 24px 0;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.thanks-footer__cta {
	gap: 4px;
}

.thanks-footer__help {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.thanks-footer__help-text {
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

/* ===== Login page ===== */
.login {
	padding: 48px 0;
}

.login__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.login-card {
	width: 416px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background: #ffffff;
	border: 1px solid var(--border-light);
	border-radius: 24px;
	box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.login-tabs {
	display: flex;
	align-items: stretch;
	border-bottom: 1px solid var(--border-light);
}

.login-tabs__item {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 24px;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	text-align: center;
	border-bottom: 1px solid var(--border-light);
	margin-bottom: -1px;
	transition: color 0.2s, border-color 0.2s;
}

.login-tabs__item:hover {
	color: var(--text-dark);
}

.login-tabs__item--active {
	color: var(--text-dark);
	border-bottom: 2px solid var(--primary-main);
}

.login-form {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
	padding: 28px;
}

.login-form__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.login-form__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.login-form__subtitle {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.login-form__body {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
}

.login-social {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}

.login-social__btn {
	width: 100%;
	gap: 4px;
	background: var(--bg-lowest);
	white-space: normal;
}

.login-social__icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.login-divider {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	height: 16px;
}

.login-divider__line {
	flex: 1 1 0;
	height: 1px;
	background: var(--border-light);
}

.login-divider__text {
	color: #99a1af;
	font-size: 14px;
	line-height: 20px;
}

.login-password-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	padding: 0;
}

.login-password-toggle__icon {
	width: 24px;
	height: 24px;
	display: block;
}

.login-form__row {
	display: flex;
	align-items: center;
	gap: 36px;
	width: 100%;
}

.login-remember {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	cursor: pointer;
}

.login-remember__input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.login-remember__radio {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	border-radius: 100px;
	border: 2px solid var(--text-muted);
	box-sizing: border-box;
}

.login-remember__input:checked + .login-remember__radio {
	border-color: var(--primary-main);
	background: var(--primary-main);
}

.login-remember__input:checked + .login-remember__radio::after {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 100px;
	background: #ffffff;
}

.login-remember__text {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.login-forgot {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 24px;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	flex-shrink: 0;
	white-space: nowrap;
}

.login-forgot:hover {
	color: var(--primary-dark);
}

.login-form__submit {
	width: 100%;
	gap: 4px;
}

.login-guest {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	padding: 24px;
	background: #ffffff;
	border: 1px solid var(--border-light);
	border-radius: 14px;
}

.login-guest__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.login-guest__title {
	margin: 0;
	width: 100%;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.login-guest__subtitle {
	margin: 0;
	width: 100%;
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

.login-guest__btn {
	width: 100%;
	background: var(--bg-lowest);
}

.login__note {
	margin: 0;
	width: 416px;
	max-width: 100%;
	text-align: center;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.login-form__names {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
}

.login-form__names .form-field {
	flex: 1 1 0;
	min-width: 0;
}

.login-remember--terms,
.login-remember--loyalty {
	width: 100%;
	flex: none;
}

.login-remember--loyalty {
	align-items: flex-start;
}

.login-remember--loyalty .login-remember__radio {
	margin-top: 2px;
}

.login-remember__text--terms {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.login-terms-link {
	color: var(--text-dark);
	font-size: 12px;
	line-height: 16px;
	border-bottom: 1px solid var(--text-dark);
}

.login-terms-link:hover {
	color: var(--primary-main);
	border-bottom-color: var(--primary-main);
}

/* ===== Reviews page ===== */
.reviews-page {
	padding: 48px 0;
}

.reviews-page__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 32px;
}

.reviews-page__head {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.reviews-page__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.reviews-page__subtitle {
	margin: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.reviews-summary {
	display: flex;
	align-items: flex-start;
	gap: 140px;
	background: var(--text-inverted);
	border-radius: 16px;
}

.reviews-summary__score {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.reviews-summary__value {
	color: var(--text-dark);
	font-size: 32px;
	line-height: 40px;
	font-weight: 500;
	text-align: center;
}

.reviews-summary__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.reviews-summary__stars {
	display: flex;
	align-items: center;
	gap: 2px;
}

.reviews-summary__count {
	margin: 4px 0 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	white-space: nowrap;
}

.reviews-breakdown {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
	min-width: 0;
}

.reviews-breakdown__item {
	display: flex;
	align-items: center;
}

.reviews-breakdown__stars {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	gap: 2px;
	margin-right: 14.43px;
}

.reviews-breakdown__stars .star {
	width: 10px;
	height: 10px;
	flex-shrink: 0;
	background-size: contain;
}

.reviews-breakdown__bar {
	flex: 1;
	height: 8px;
	margin-right: 8px;
	background: var(--bg-highest);
	border-radius: 100px;
	overflow: hidden;
	min-width: 0;
}

.reviews-breakdown__fill {
	display: block;
	height: 100%;
	background: var(--primary-main);
	border-radius: 100px;
}

.reviews-breakdown__count {
	width: 26px;
	flex-shrink: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	text-align: right;
}

.reviews-breakdown__rating {
	display: none;
	width: 12px;
	flex-shrink: 0;
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
	text-align: center;
}

.reviews-breakdown__star {
	display: none;
	width: 10px;
	height: 10px;
	flex-shrink: 0;
}

.reviews-write {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
	padding: 40px 0;
	border-top: 1px solid var(--border-light);
}

section.reviews-write {
	padding: 64px 80px;
	background: var(--bg-lowest);
	border-top: none;
	overflow: hidden;
}

section.reviews-write .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
	width: 100%;
}

section.reviews-write .reviews-write__title {
	font-size: 22px;
	line-height: 32px;
}

section.reviews-write .reviews-write__btn {
	padding: 12px 32px;
	font-size: 16px;
	line-height: 24px;
}

.reviews-write__text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.reviews-write__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 17px;
	line-height: 20px;
	font-weight: 600;
}

.reviews-write__desc {
	margin: 0;
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

.reviews-write__btn {
	flex-shrink: 0;
}

.reviews-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	border-top: 1px solid var(--border-light);
	border-bottom: 1px solid var(--border-light);
}

.reviews-toolbar__filter-open {
	display: none;
}

.reviews-toolbar__filters {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	flex-wrap: wrap;
}

.filter-btn__icon--left {
	width: 22px;
	height: 22px;
}

.filter-btn--toggle.is-active {
	border-color: var(--primary-main);
	background: var(--bg-highest);
}

.reviews-page__showing {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.reviews-feed {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 32px;
	align-self: stretch;
}

.reviews-list {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.review-item {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	padding: 24px;
	background: var(--text-inverted);
	border: 1px solid var(--border-light);
	border-radius: 16px;
}

.review-item__author {
	width: 286px;
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 8px 0;
}

.review-item__avatar {
	width: 40px;
	height: 40px;
	border-radius: 100px;
	object-fit: cover;
	flex-shrink: 0;
}

.review-item__avatar--initial {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bg-highest);
}

.review-item__initial {
	color: var(--primary-main);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.review-item__author-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 12px;
	min-width: 0;
}

.review-item__author-top {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.review-item__author-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.review-item__name {
	margin: 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.review-item__date {
	margin: 0;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.review-item__verified {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	margin-top: 2px;
}

.review-item__product {
	display: inline-block;
	align-self: flex-start;
	max-width: 100%;
	min-width: 0;
	padding: 10px 16px;
	background: var(--bg-highest);
	border-radius: 100px;
	color: var(--primary-main);
	font-size: 14px;
	line-height: 20px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.review-item__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
	min-width: 0;
}

.review-item__stars {
	display: flex;
	align-items: center;
	gap: 2px;
}

.review-item__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.review-item__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.review-item__text {
	margin: 0;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.review-item__photos {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: wrap;
}

.review-item__photo {
	width: 56px;
	height: 56px;
	border-radius: 8px;
	border: 1px solid var(--border-light);
	object-fit: cover;
}

.review-item__footer {
	padding-top: 16px;
}

.review-item__helpful {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-top: 12px;
	border-top: 1px solid var(--border-light);
	width: 100%;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	cursor: pointer;
	transition: color 0.2s ease;
}

.review-item__helpful:hover {
	color: var(--primary-main);
}

.review-item__helpful.is-active {
	color: var(--primary-main);
}

.review-item__helpful-icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.reviews-page__more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 24px;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	align-self: center;
}

.reviews-page__more:hover {
	opacity: 0.8;
}

.reviews-page__more .icon-arrow-right {
	filter: none;
}

/* ===== Blog page ===== */
.blog-page {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.blog-intro {
	padding: 56px 0;
	background: var(--bg-lowest);
	border-bottom: 1px solid var(--border-light);
}

.blog-intro__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
	max-width: 1152px;
}

.blog-intro__text {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.blog-intro__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.blog-intro__subtitle {
	margin: 0;
	max-width: 1152px;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.blog-search {
	position: relative;
	display: inline-flex;
	width: 448px;
}

.blog-search__icon {
	position: absolute;
	top: 50%;
	left: 12px;
	display: inline-flex;
	line-height: 0;
	transform: translateY(-50%);
	pointer-events: none;
}

.blog-search__input {
	width: 100%;
	height: 38px;
	padding: 6px 12px 6px 40px;
	background: var(--text-inverted) !important;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	outline: none;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	transition: border-color 0.3s ease, background 0.3s ease;
}

.blog-search__input:not(:placeholder-shown) {
	border: 1px solid var(--border-dark);
}

.blog-search__input:hover {
	border: 2px solid var(--border-dark);
}

.blog-search__input:focus {
	border: 2px solid var(--border-dark);
	background: var(--bg-intense);
	outline: none;
}

.blog-search__input::placeholder {
	color: var(--text-muted);
}

.blog-tabs {
	overflow: hidden;
}

.blog-tabs__nav {
	display: flex;
	align-items: flex-start;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.blog-tabs__nav::-webkit-scrollbar {
	display: none;
}

.blog-tabs__btn {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 24px;
	border: none;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: var(--text-deep);
	font-family: inherit;
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	text-align: center;
	cursor: pointer;
	white-space: nowrap;
	transition: color 0.2s, border-color 0.2s;
}

.blog-tabs__btn:hover {
	color: var(--text-dark);
}

.blog-tabs__btn--active {
	border-bottom-color: var(--primary-main);
	color: var(--text-dark);
}

.blog-featured {
	padding: 32px 0;
}

.blog-featured-card {
	display: flex;
	align-items: stretch;
	gap: 24px;
	background: var(--bg-lowest);
}

.blog-featured-card__media {
	display: block;
	flex: 1 1 0;
	min-width: 0;
	max-width: 588px;
	height: 522px;
	overflow: hidden;
	border-radius: 14px;
}

.blog-featured-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-featured-card__content {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 48px;
	min-width: 0;
	padding: 32px;
}

.blog-featured-card__top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	align-self: stretch;
}

.blog-featured-card__text {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-self: stretch;
}

.blog-featured-card__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.blog-featured-card__title a:hover {
	color: var(--primary-main);
}

.blog-featured-card__excerpt {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.blog-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 16px;
	background: var(--bg-intense);
	border-radius: 100px;
	color: var(--primary-main);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.blog-meta {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	height: 36px;
}

.blog-meta__author {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.blog-meta__avatar {
	width: 24px;
	height: 24px;
	border-radius: 100px;
	object-fit: cover;
}

.blog-meta__name {
	color: var(--text-dark);
	font-size: 12px;
	line-height: 16px;
	border-bottom: 1px solid var(--text-dark);
}

.blog-meta__author:hover .blog-meta__name {
	color: var(--primary-main);
	border-bottom-color: var(--primary-main);
}

.blog-meta__time {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.blog-meta__time-icon {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.blog-meta__date {
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.blog-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 24px;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	transition: opacity 0.2s;
}

.blog-link:hover {
	opacity: 0.8;
	color: var(--primary-main);
}

.blog-link__icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.blog-list {
	padding: 32px 0;
}

.blog-list__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.blog-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.blog-card__media {
	display: block;
	width: 100%;
	height: 264px;
	overflow: hidden;
	border-radius: 14px;
}

.blog-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	align-self: stretch;
}

.blog-card__text {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-self: stretch;
}

.blog-card__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.blog-card__title a:hover {
	color: var(--primary-main);
}

.blog-card__excerpt {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.blog-more {
	display: flex;
	justify-content: center;
	padding: 32px 0;
}

.blog-more .container {
	display: flex;
	justify-content: center;
}

.blog-page + .seo-text {
	margin-top: 120px;
}

/* ===== Blog article page ===== */
.article-page {
	display: flex;
	flex-direction: column;
}

.article-hero,
.breadcrumbs--article {
	background: var(--bg-lowest);
}

.article-hero .container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 48px;
	padding-top: 40px;
	padding-bottom: 56px;
}

.article-back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 24px;
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
	transition: color 0.2s;
}

.article-back:hover {
	color: var(--primary-main);
}

.article-back__icon {
	display: inline-flex;
	line-height: 0;
}

.article-hero__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}

.article-hero__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	align-self: stretch;
}

.article-hero__title {
	margin: 0;
	max-width: 768px;
	color: var(--text-dark);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.article-hero__meta {
	display: inline-flex;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap;
}

.article-author-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 40px;
}

.article-author-meta:hover {
	color: inherit;
}

.article-author-meta:hover .article-author-meta__name {
	color: var(--primary-main);
}

.article-author-meta__avatar {
	width: 40px;
	height: 40px;
	border-radius: 100px;
	object-fit: cover;
	flex-shrink: 0;
}

.article-author-meta__text {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 4px;
}

.article-author-meta__name {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.article-author-meta__role {
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.article-cover {
	align-self: stretch;
	height: 520px;
	overflow: hidden;
}

.article-cover__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article-body-section {
	padding: 56px 0;
}

.article-body {
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.article-share {
	display: flex;
	align-items: center;
	gap: 12px;
	align-self: stretch;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--border-light);
}

.article-share__label {
	color: var(--text-muted);
	font-size: 14px;
	line-height: 20px;
}

.article-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	align-self: stretch;
	padding-top: 40px;
}

.article-content > h2 {
	margin: 56px 0 0;
	align-self: stretch;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.article-content > h2:first-child {
	margin-top: 0;
}

.article-content > h3 {
	margin: 32px 0 0;
	align-self: stretch;
	color: var(--text-dark);
	font-size: 18px;
	line-height: 26px;
	font-weight: 600;
}

.article-content > p {
	margin: 24px 0 0;
	align-self: stretch;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.article-content > p:first-child {
	margin-top: 0;
}

.article-content ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-self: stretch;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.article-content li {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.article-content li::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--primary-main);
	flex-shrink: 0;
}

.article-content figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	align-self: stretch;
	margin: 32px 0 0;
	padding: 0;
}

.article-content figure img {
	display: block;
	width: 100%;
	height: 382px;
	object-fit: cover;
	border-radius: 16px;
}

.article-content figcaption {
	align-self: stretch;
	margin: 0;
	padding-top: 16px;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	text-align: center;
}

.article-content blockquote {
	align-self: stretch;
	margin: 40px 0 0;
	padding: 0 0 0 24px;
	border-left: 2px solid var(--text-dark);
	color: var(--text-dark);
	font-size: 21px;
	line-height: 32px;
	font-style: normal;
}

.article-text {
	margin: 0;
	align-self: stretch;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.article-text + .article-text,
.article-list + .article-text,
.article-figure + .article-text,
.article-quote + .article-text,
.article-product + .article-text,
.article-featured-product + .article-text {
	margin-top: 24px;
}

.article-heading {
	margin: 56px 0 0;
	align-self: stretch;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.article-content > .article-heading:first-child {
	margin-top: 0;
}

.article-heading + .article-text,
.article-heading + .article-list {
	margin-top: 24px;
}

.article-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-self: stretch;
	margin: 24px 0 0;
	padding: 0;
}

.article-list__item {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.article-list__item::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--primary-main);
	flex-shrink: 0;
}

.article-product {
	display: flex;
	align-items: center;
	gap: 24px;
	align-self: stretch;
	margin-top: 40px;
	padding: 16px 24px;
	background: var(--bg-highest);
	border: 1px solid var(--border-light);
	border-radius: 16px;
}

.article-product__image {
	width: 64px;
	height: 64px;
	overflow: hidden;
	border-radius: 8px;
	flex-shrink: 0;
}

.article-product__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article-product__info {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.article-product__label {
	color: var(--primary-light);
	font-size: 12px;
	line-height: 16px;
}

.article-product__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.article-product__rating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.article-product__stars {
	display: inline-flex;
	align-items: center;
	gap: 2px;
}

.article-product__score {
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

.article-product__buy {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	min-width: 0;
}

.article-product__prices {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	min-width: 87px;
}

.article-product__price {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	text-align: center;
}

.article-product__old-price {
	color: var(--text-muted);
	font-size: 14px;
	line-height: 20px;
	text-decoration: line-through;
	text-align: center;
}

.article-product .btn {
	flex-shrink: 0;
	white-space: nowrap;
}

.article-figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	align-self: stretch;
	margin: 32px 0 0;
	padding: 0;
}

.article-figure__media {
	align-self: stretch;
	height: 382px;
	overflow: hidden;
	border-radius: 16px;
}

.article-figure__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article-figure__caption {
	align-self: stretch;
	margin: 0;
	padding-top: 16px;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	text-align: center;
}

.article-quote {
	align-self: stretch;
	margin: 40px 0 0;
	padding: 0 0 0 24px;
	border-left: 2px solid var(--text-dark);
}

.article-quote__text {
	margin: 0;
	color: var(--text-dark);
	font-size: 21px;
	line-height: 32px;
	font-weight: 400;
	font-style: normal;
}

.article-quote__author {
	display: block;
	margin-top: 8px;
	color: var(--text-muted);
	font-size: 14px;
	line-height: 20px;
	font-style: normal;
}

.article-featured-product {
	display: flex;
	align-items: stretch;
	align-self: stretch;
	margin-top: 56px;
	height: 460px;
	overflow: hidden;
	border-radius: 16px;
}

.article-featured-product__media {
	width: 312px;
	flex-shrink: 0;
	overflow: hidden;
}

.article-featured-product__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article-featured-product__content {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 24px 24px 24px 48px;
	background: linear-gradient(135deg, #2c2520 0%, #2e2722 14%, #312924 29%, #332c26 43%, #362e28 57%, #38302a 71%, #3b332c 86%, #3d352e 100%);
}

.article-featured-product__eyebrow {
	margin-bottom: 12px;
	color: var(--text-accent);
	font-size: 12px;
	line-height: 16px;
}

.article-featured-product__title {
	margin: 0 0 8px;
	color: var(--text-inverted);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.article-featured-product__rating {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.article-featured-product__reviews {
	color: var(--text-light);
	font-size: 12px;
	line-height: 16px;
}

.article-featured-product__desc {
	margin: 0 0 24px;
	color: var(--text-light);
	font-size: 14px;
	line-height: 20px;
}

.article-featured-product__prices {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 32px;
}

.article-featured-product__price {
	color: var(--text-inverted);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.article-featured-product__old-price {
	color: var(--text-accent);
	font-size: 14px;
	line-height: 20px;
	text-decoration: line-through;
}

.article-featured-product__discount {
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 4px 8px;
	background: var(--accent-new);
	border-radius: 4px;
	color: var(--text-light);
	font-size: 12px;
	line-height: 16px;
}

.article-featured-product__btn {
	align-self: stretch;
}

.article-faq {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
	margin-top: 56px;
}

.article-faq .article-heading {
	margin-top: 0;
}

.article-faq__list {
	max-width: none;
	width: 100%;
	margin: 0;
}

.article-writer {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	align-self: stretch;
	margin-top: 56px;
	padding: 24px;
	background: var(--text-inverted);
	border: 1px solid var(--border-light);
	border-radius: 16px;
}

.article-writer__avatar {
	width: 40px;
	height: 40px;
	border-radius: 100px;
	object-fit: cover;
	flex-shrink: 0;
}

.article-writer__content {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.article-writer__label {
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

.article-writer__name {
	margin-top: 8px;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.article-writer__meta {
	margin-top: 4px;
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

.article-writer__bio {
	margin: 8px 0 0;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.article-writer .blog-link {
	margin-top: 24px;
}

.article-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	align-self: stretch;
	margin-top: 56px;
	padding: 40px 24px;
	background: linear-gradient(135deg, #2c2520 0%, #2e2722 14%, #312924 29%, #332c26 43%, #362e28 57%, #38302a 71%, #3b332c 86%, #3d352e 100%);
	border-radius: 16px;
	text-align: center;
}

.article-cta__brand {
	color: var(--text-accent);
	font-size: 12px;
	line-height: 16px;
}

.article-cta__title {
	margin: 16px 0 0;
	color: var(--text-inverted);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.article-cta__text {
	margin: 8px 0 24px;
	color: var(--text-light);
	font-size: 14px;
	line-height: 20px;
}

.article-related {
	padding: 56px 0;
	background: var(--bg-lowest);
	border-top: 1px solid var(--border-light);
}

.article-related__title {
	margin: 0 0 16px;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.article-related__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

/* ===== Blog author page ===== */
.author-page {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.author-page + .seo-text {
	margin-top: 120px;
}

.author-hero,
.breadcrumbs--author {
	background: var(--bg-lowest);
}

.breadcrumbs--author,
.breadcrumbs--article {
	margin: 0;
	padding: 32px 0;
}

.breadcrumbs--information {
	background: var(--bg-lowest);
	margin: 0;
	padding: 32px 0;
}

.author-hero .container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 48px;
	padding-top: 40px;
	padding-bottom: 56px;
}

.author-hero__inner {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	align-self: stretch;
}

.author-hero__avatar {
	width: 96px;
	height: 96px;
	border-radius: 100px;
	object-fit: cover;
	flex-shrink: 0;
}

.author-hero__info {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.author-hero__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.author-hero__label {
	color: var(--text-accent);
	font-size: 12px;
	line-height: 16px;
}

.author-hero__name-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.author-hero__name {
	margin: 0;
	color: var(--text-dark);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.author-hero__role {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.author-hero__bio {
	margin: 0;
	max-width: 576px;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.author-hero__stat {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	flex-shrink: 0;
}

.author-hero__stat-value {
	color: var(--text-dark);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
	text-align: right;
}

.author-hero__stat-label {
	padding-top: 4px;
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	text-align: right;
}

.author-articles .container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

.author-articles__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 21px;
	line-height: 32px;
	font-weight: 400;
}

.author-articles__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	align-self: stretch;
}

.author-others {
	padding: 56px 0;
	background: var(--text-inverted);
}

.author-others .container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.author-others__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 21px;
	line-height: 32px;
	font-weight: 400;
}

.author-others__list {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	gap: 24px;
	align-self: stretch;
}

.author-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 28px 40px;
	background: var(--bg-medium);
	border: 1px solid var(--border-light);
	border-radius: 16px;
	transition: border-color 0.2s, background-color 0.2s;
}

.author-card:hover {
	border-color: var(--primary-main);
	color: inherit;
}

.author-card__avatar {
	width: 40px;
	height: 40px;
	border-radius: 100px;
	object-fit: cover;
	flex-shrink: 0;
}

.author-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 4px;
	width: 145px;
}

.author-card__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	align-self: stretch;
}

.author-card__name {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
}

.author-card__role {
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	align-self: stretch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.author-card__count {
	color: var(--primary-main);
	font-size: 12px;
	line-height: 16px;
}

/* ===== About page ===== */

.container--about {
	max-width: 1224px;
}

.about-hero {
	background: var(--bg-lowest);
}

.about-hero__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 96px;
}

.about-hero__content {
	flex: 1 1 0;
	max-width: 776px;
}

.about-hero__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 56px;
	line-height: 64px;
	font-weight: 500;
}

.about-hero__title-accent {
	color: var(--primary-main);
}

.about-hero__text {
	margin: 16px 0 0;
	max-width: 418px;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.about-craft {
	width: 100%;
	max-width: 344px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 16px;
	padding: 24px;
	border-radius: 16px;
	background: linear-gradient(135deg, #2c2520 0%, #2e2722 14%, #312924 29%, #332c26 43%, #362e28 57%, #38302a 71%, #3b332c 86%, #3d352e 100%);
}

.about-craft__label {
	margin: 0;
	color: var(--text-accent);
	font-size: 12px;
	line-height: 16px;
}

.about-craft__title {
	margin: 0;
	color: var(--text-inverted);
	font-size: 21px;
	line-height: 32px;
	font-weight: 400;
}

.about-craft__text {
	margin: 0;
	color: var(--text-light);
	font-size: 14px;
	line-height: 20px;
}

.about-craft__action {
	align-self: stretch;
	padding-top: 8px;
}

.about-craft__btn {
	width: 100%;
	font-size: 16px;
	line-height: 24px;
}

.about-craft__meta {
	align-self: stretch;
	margin: 0;
	text-align: center;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.about-story {
	padding-top: 128px;
}

.about-story__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 32px;
}

.about-story__text {
	flex: 1 1 0;
	padding: 16px 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.about-story__text p {
	margin: 0;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.about-story__media {
	flex: 1 1 0;
	height: 348px;
	overflow: hidden;
	border-radius: 16px;
}

.about-story__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-values {
	padding-top: 128px;
}

.about-values__header {
	margin-bottom: 40px;
}

.about-values__grid {
	display: flex;
	align-items: flex-start;
}

.about-value {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 24px;
}

.about-value__icon {
	width: 64px;
	height: 64px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	border-radius: 16px;
	background: var(--bg-highest);
}

.about-value__icon-img {
	width: 36px;
	height: 36px;
}

.about-value__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	align-self: stretch;
}

.about-value__title {
	margin: 0;
	text-align: center;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
	font-weight: 600;
}

.about-value__text {
	margin: 0;
	text-align: center;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.about-journey {
	padding-top: 128px;
}

.about-journey__header {
	margin-bottom: 0;
}

.about-timeline {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	margin-top: 48px;
}

.about-timeline__line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 2px;
	transform: translateX(-50%);
	background: var(--bg-intense);
}

.about-timeline__item {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 16px 1fr;
	align-items: center;
	column-gap: 48px;
	width: 100%;
}

.about-timeline__item + .about-timeline__item {
	margin-top: 48px;
}

.about-timeline__item--left .about-timeline__card {
	grid-column: 1;
	justify-self: stretch;
	align-items: flex-end;
	text-align: right;
}

.about-timeline__item--left .about-timeline__dot {
	grid-column: 2;
}

.about-timeline__item--right .about-timeline__dot {
	grid-column: 2;
}

.about-timeline__item--right .about-timeline__card {
	grid-column: 3;
	justify-self: stretch;
	align-items: flex-start;
	text-align: left;
}

.about-timeline__card {
	width: 100%;
	max-width: 464px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--border-light);
	background: var(--bg-lowest);
}

.about-timeline__item--left .about-timeline__card {
	margin-left: auto;
}

.about-timeline__item--right .about-timeline__card {
	margin-right: auto;
}

.about-timeline__year {
	margin: 0;
	color: var(--primary-light);
	font-size: 21px;
	line-height: 32px;
}

.about-timeline__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
	align-self: stretch;
}

.about-timeline__text {
	margin: 0;
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
	align-self: stretch;
}

.about-timeline__dot {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	border-radius: 100px;
	border: 4px solid var(--text-inverted);
	background: var(--primary-light);
	box-shadow: 0 2px 4px -2px rgba(0, 0, 0, 0.1), 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.about-cta {
	padding-top: 128px;
	padding-bottom: 80px;
}

.about-cta__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 40px 24px;
	border-radius: 16px;
	background: linear-gradient(135deg, #2c2520 0%, #2e2722 14%, #312924 29%, #332c26 43%, #362e28 57%, #38302a 71%, #3b332c 86%, #3d352e 100%);
}

.about-cta__label {
	margin: 0;
	text-align: center;
	color: var(--text-accent);
	font-size: 12px;
	line-height: 16px;
}

.about-cta__title {
	margin: 16px 0 0;
	text-align: center;
	color: var(--text-inverted);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.about-cta__text {
	margin: 8px 0 24px;
	text-align: center;
	color: var(--text-light);
	font-size: 14px;
	line-height: 20px;
	max-width: 640px;
}

.about-cta__inner .btn {
	font-size: 16px;
	line-height: 24px;
}

/* ===== Popup Cover (shared) ===== */

.popup-cover {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 3000;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.popup-cover.is-open {
	display: flex;
}

.popup-cover__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	cursor: pointer;
}

.popup {
	display: none;
	position: relative;
	z-index: 1;
	max-width: 100%;
	max-height: calc(100vh - 48px);
	overflow: auto;
}

.popup.is-active {
	display: flex;
}

.popup__close {
	position: absolute;
	top: 20px;
	right: 22px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
}

.popup__close-icon {
	display: block;
	width: 24px;
	height: 24px;
}

body.popup-open {
	overflow: hidden;
}

/* ===== Popup: Subscribe ===== */

.popup--subscribe {
	width: 820px;
	max-width: 820px;
	background: var(--bg-highest);
	border-radius: 16px;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	overflow: hidden;
	align-items: stretch;
}

.popup-subscribe__media {
	position: relative;
	width: 360px;
	flex-shrink: 0;
	align-self: stretch;
	min-height: 480px;
}

.popup-subscribe__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.popup-subscribe__gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0) 60%, rgba(250, 247, 242, 0.4) 100%);
	pointer-events: none;
}

.popup-subscribe__review {
	position: absolute;
	left: 24px;
	bottom: 24px;
	width: 310px;
	max-width: calc(100% - 48px);
	padding: 12px 20px;
	background: rgba(253, 252, 250, 0.9);
	border: 1px solid var(--border-light);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.popup-subscribe__rating {
	display: flex;
	align-items: center;
	gap: 8px;
}

.popup-subscribe__score {
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.popup-subscribe__quote {
	margin: 4px 0 0;
	color: var(--text-dark);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.popup-subscribe__author {
	margin: 4px 0 0;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.popup-subscribe__content {
	width: 458px;
	flex: 1 1 auto;
	padding: 48px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.popup-subscribe__brand {
	margin: 0 0 24px;
	color: var(--primary-main);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.popup-subscribe__offer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 8px;
}

.popup-subscribe__discount {
	color: var(--primary-main);
	font-size: 36px;
	line-height: 40px;
	font-weight: 500;
}

.popup-subscribe__offer-title {
	margin-top: 4px;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.popup-subscribe__text {
	margin: 0 0 32px;
	max-width: 260px;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.popup-subscribe__form {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
}

.popup-subscribe__input {
	width: 100%;
	height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-lowest);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	outline: none;
}

.popup-subscribe__input::placeholder {
	color: var(--text-muted);
}

.popup-subscribe__submit {
	width: 100%;
	height: 48px;
	font-size: 16px;
	line-height: 24px;
}

.popup-subscribe__decline {
	display: block;
	margin: 16px auto 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--text-muted);
	background: transparent;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
	cursor: pointer;
}

.popup-subscribe__social-proof {
	margin: 32px 0 0;
	padding-top: 24px;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.popup-subscribe__note {
	margin: 12px 0 0;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

/* ===== Popup: Corporate ===== */

.popup--corporate {
	width: 560px;
	max-width: 560px;
	flex-direction: column;
	align-items: flex-start;
	background: var(--bg-highest);
	border-radius: 16px;
	box-shadow: 0 32px 80px -16px rgba(43, 33, 28, 0.35);
	overflow: auto;
}

.popup--corporate .popup__close {
	top: 16px;
	right: 16px;
}

.popup-corporate__inner {
	width: 100%;
	padding: 32px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.popup-corporate__header {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.popup-corporate__badge {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	margin-bottom: 24px;
	background: var(--bg-intense);
	border-radius: 100px;
	color: var(--primary-main);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.popup-corporate__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.popup-corporate__text {
	margin: 8px 0 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.popup-corporate__form {
	width: 100%;
	padding-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
}

.popup-corporate__row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
}

.popup-corporate__textarea {
	height: auto;
	min-height: 96px;
	resize: vertical;
}

.popup-corporate__actions {
	width: 100%;
	padding-top: 8px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
}

.popup-corporate__submit {
	width: 100%;
	height: 48px;
	font-size: 16px;
	line-height: 24px;
}

.popup-corporate__note {
	margin: 0;
	text-align: center;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.popup-corporate__success {
	width: 100%;
	padding: 40px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: hidden;
}

.popup-corporate__success-icon {
	width: 64px;
	height: 64px;
	padding: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 16px;
}

.popup-corporate__success-icon-img {
	width: 36px;
	height: 36px;
}

.popup-corporate__success-body {
	width: 100%;
	padding-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.popup-corporate__success-title {
	margin: 0;
	width: 100%;
	text-align: center;
	color: var(--text-dark);
	font-size: 17px;
	line-height: 20px;
	font-weight: 600;
}

.popup-corporate__success-text {
	margin: 0;
	width: 100%;
	text-align: center;
	color: var(--text-muted);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.popup-corporate__success-btn {
	margin-top: 32px;
	padding: 12px 32px;
	height: auto;
}

/* ===== Popup: Video ===== */

.popup--video {
	width: 960px;
	max-width: 960px;
	background: transparent;
}

.popup--video .popup__close {
	top: -40px;
	right: 0;
	background: var(--bg-highest);
	border-radius: 50%;
}

.popup-video__inner {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 12px;
	overflow: hidden;
}

.popup-video__frame,
.popup-video__player {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ===== Popup: Write Review ===== */

.popup--review {
	width: 480px;
	max-width: 480px;
	max-height: calc(100vh - 48px);
	flex-direction: column;
	align-items: stretch;
	background: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.popup-review__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 24px 32px;
	border-bottom: 1px solid var(--border-light);
	flex-shrink: 0;
}

.popup-review__title {
	margin: 0;
	color: #3d2b1f;
	font-size: 18px;
	line-height: 27px;
	font-weight: 700;
}

.popup--review .popup__close {
	position: static;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.popup--review .popup__close-icon {
	filter: brightness(0) saturate(100%) invert(58%) sepia(8%) saturate(456%) hue-rotate(182deg) brightness(92%) contrast(88%);
}

.popup-review__form {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
	padding: 32px;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.popup-review__product {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
}

.popup-review__product-image {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	object-fit: cover;
	flex-shrink: 0;
}

.popup-review__product-name {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 21px;
	font-weight: 600;
}

.popup-review__fields {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
}

.popup-review__field {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
}

.popup-review__label {
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.popup-review__stars {
	display: flex;
	align-items: center;
	height: 32px;
	overflow: hidden;
}

.popup-review__star {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
}

.popup-review__star .star {
	width: 20px;
	height: 20px;
}

.popup-review__input {
	width: 100%;
	height: 46px;
	padding: 12px 16px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-lowest);
	color: var(--text-dark);
	font-size: 14px;
	line-height: 20px;
	outline: none;
}

.popup-review__input::placeholder {
	color: var(--text-muted);
}

.popup-review__textarea {
	height: 112px;
	resize: vertical;
	align-items: flex-start;
}

.popup-review__upload {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 160px;
	padding: 24px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-lowest);
	cursor: pointer;
}

.popup-review__file {
	display: none;
}

.popup-review__upload-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 8px;
	border: 1px solid var(--primary-main);
	border-radius: 8px;
	background: var(--bg-lowest);
}

.popup-review__upload-icon {
	display: block;
	width: 24px;
	height: 24px;
	filter: brightness(0) saturate(100%) invert(32%) sepia(42%) saturate(900%) hue-rotate(356deg) brightness(95%) contrast(90%);
}

.popup-review__upload-action {
	color: var(--primary-main);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
}

.popup-review__upload-hint {
	color: var(--text-muted);
	font-size: 14px;
	line-height: 20px;
}

.popup-review__submit {
	width: 100%;
	margin-top: 8px;
	padding: 12px 32px;
	font-size: 16px;
	line-height: 24px;
}

/* Photos: shared "add more" tile (uploading + uploaded states) */

.popup-review__upload-more {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 80px;
	height: 80px;
	padding: 8px;
	border: 1px solid var(--border-light);
	border-radius: 8px;
	background: var(--bg-lowest);
	cursor: pointer;
	flex-shrink: 0;
}

.popup-review__upload-more-icon {
	width: 24px;
	height: 24px;
	filter: brightness(0) saturate(100%) invert(32%) sepia(42%) saturate(900%) hue-rotate(356deg) brightness(95%) contrast(90%);
}

.popup-review__upload-more-text {
	color: var(--primary-main);
	font-size: 12px;
	line-height: 16px;
	text-align: center;
}

/* Photos state: uploading */

.popup-review__upload-progress {
	align-self: stretch;
	min-height: 160px;
	padding: 16px;
	background: var(--bg-lowest);
	border: 1px solid var(--border-light);
	border-radius: 16px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}

.popup-review__upload-progress-item {
	width: 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.popup-review__upload-progress-thumb {
	width: 80px;
	height: 80px;
	background: var(--text-accent) center / cover no-repeat;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.popup-review__upload-progress-label {
	color: var(--text-deep);
	font-size: 11px;
	font-weight: 500;
	text-align: center;
}

.popup-review__spinner {
	width: 30px;
	height: 30px;
	border: 3px solid rgba(255, 255, 255, 0.35);
	border-top-color: #ffffff;
	border-radius: 50%;
	animation: popup-review-spin 0.8s linear infinite;
}

@keyframes popup-review-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Photos state: uploaded */

.popup-review__photos {
	align-self: stretch;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 12px;
}

.popup-review__photo {
	position: relative;
	width: 80px;
	height: 80px;
	background: var(--bg-highest) center / cover no-repeat;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
}

.popup-review__photo-remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 24px;
	height: 24px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border: 1px solid var(--border-light);
	border-radius: 12px;
}

.popup-review__photo-remove-icon {
	width: 10px;
	height: 10px;
}

/* Photos state: upload error */

.popup-review__upload-error {
	align-self: stretch;
	min-height: 160px;
	padding: 24px;
	background: rgba(246, 76, 79, 0.1);
	border: 1px solid var(--error-main);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
}

.popup-review__upload-error-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 8px;
	background: var(--error-main);
	border-radius: 100px;
}

.popup-review__upload-error-icon-img {
	width: 24px;
	height: 24px;
}

.popup-review__upload-error-text {
	color: var(--error-main);
	font-size: 14px;
	line-height: 20px;
}

/* Form state: success */

.popup-review__success {
	align-self: stretch;
	padding: 40px;
}

.popup-review__success-card {
	align-self: stretch;
	padding: 40px 24px;
	background: var(--bg-lowest);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.popup-review__success-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	padding: 8px;
	background: var(--bg-highest);
	border-radius: 16px;
}

.popup-review__success-icon-img {
	width: 36px;
	height: 36px;
}

.popup-review__success-text {
	padding-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.popup-review__success-title {
	color: var(--text-dark);
	font-size: 17px;
	line-height: 20px;
	font-weight: 600;
}

.popup-review__success-desc {
	color: var(--text-muted);
	font-size: 14px;
	line-height: 20px;
}

.popup-review__success-btn {
	margin-top: 32px;
}

/* Own `display` on these classes beats the browser's default [hidden]{display:none} —
   restore it explicitly so JS-toggled `hidden` actually hides the element. */
.popup-review__form[hidden],
.popup-review__upload[hidden],
.popup-review__upload-progress[hidden],
.popup-review__photos[hidden],
.popup-review__upload-error[hidden],
.popup-review__success[hidden],
.product-gallery__thumbs-row[hidden] {
	display: none;
}

/* ===== Popup: Cookies ===== */

/* Sticky banner: no dim overlay, the page stays usable; only the banner itself takes clicks.
   No close button — it only goes away once a consent button is pressed. */
#cookieCover {
	padding: 0;
	pointer-events: none;
}

#cookieCover .popup--cookies {
	pointer-events: auto;
}

.popup--cookies {
	position: absolute;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	width: 816px;
	max-width: 816px;
	max-height: calc(100vh - 48px);
	flex-direction: column;
	align-items: stretch;
	background: var(--bg-medium);
	border: 1px solid var(--border-light);
	border-radius: 16px;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	overflow: hidden;
}

.popup-cookies__top {
	padding: 24px 32px;
}

.popup-cookies__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.popup-cookies__main {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	width: 600px;
	max-width: 100%;
}

.popup-cookies__icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	background: var(--bg-intense);
	border-radius: 8px;
}

.popup-cookies__icon {
	width: 28px;
	height: 28px;
}

.popup-cookies__intro {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.popup-cookies__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 17px;
	line-height: 20px;
	font-weight: 600;
}

.popup-cookies__text {
	margin: 4px 0 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.popup-cookies__manage {
	display: inline;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--text-dark);
	background: transparent;
	color: var(--text-dark);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
	cursor: pointer;
	vertical-align: baseline;
}

.popup-cookies__manage-label--hide {
	display: none;
}

.popup--cookies.is-expanded .popup-cookies__manage-label--show {
	display: none;
}

.popup--cookies.is-expanded .popup-cookies__manage-label--hide {
	display: inline;
}

.popup-cookies__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 32px 24px 88px;
}

.popup-cookies__buttons {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 16px;
	line-height: 24px;
}

.popup-cookies__buttons .btn--outline {
	background: var(--bg-lowest);
}

.popup-cookies__accept-selection {
	display: none;
}

.popup--cookies.is-expanded .popup-cookies__accept-selection {
	display: inline-flex;
}

.popup-cookies__buttons .btn--outline:hover {
	background: var(--primary-main);
}

.popup-cookies__toggle-details {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
	cursor: pointer;
}

.popup-cookies__toggle-icon {
	display: block;
	width: 20px;
	height: 20px;
	opacity: 0.55;
	transition: transform 0.2s ease;
}

.popup--cookies.is-expanded .popup-cookies__toggle-icon {
	transform: rotate(180deg);
}

.popup-cookies__toggle-label--less {
	display: none;
}

.popup--cookies.is-expanded .popup-cookies__toggle-label--more {
	display: none;
}

.popup--cookies.is-expanded .popup-cookies__toggle-label--less {
	display: inline;
}

.popup-cookies__details {
	display: none;
	flex-direction: column;
	align-items: stretch;
	border-top: 1px solid var(--border-light);
}

.popup--cookies.is-expanded .popup-cookies__details {
	display: flex;
}

.popup-cookies__options {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
	padding: 20px 32px;
}

.popup-cookies__option {
	display: flex;
	align-items: center;
	gap: 16px;
}

.popup-cookies__option-content {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.popup-cookies__option-title {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.popup-cookies__option-text {
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.popup-cookies__links {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 32px;
	border-top: 1px solid var(--border-light);
}

.popup-cookies__link {
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
}

.popup-cookies__link:hover {
	color: var(--primary-main);
}

/* Switch */

.switch {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 40px;
	height: 24px;
	padding: 4px;
	border: 0;
	border-radius: 100px;
	background: var(--text-muted);
	cursor: pointer;
	flex-shrink: 0;
	transition: background-color 0.2s ease;
}

.switch.is-on {
	justify-content: flex-end;
	background: var(--primary-main);
}

.switch.is-disabled {
	cursor: default;
}

.switch__thumb {
	display: block;
	width: 16px;
	height: 16px;
	background: #ffffff;
	border-radius: 100px;
	box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}

@media (max-width: 1023px) {
	/* Mobile header (burger menu) — breakpoint 1024px, header/menu only */
	#headerSearch {
		display: none;
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		order: 10;
		padding: 16px 0;
		position: relative;
	}

	#header.nav-open #headerSearch,
	#header.search-active #headerSearch {
		display: flex;
	}

	#header.nav-open #headerSearch::before,
	#header.search-active #headerSearch::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
		height: 1px;
		background-color: var(--border-light);
	}

	.search {
		height: auto;
	}

	#header.nav-open .search,
	#header.search-active .search {
		width: 100%;
	}

	#header.nav-open #headerSearch .search__icon,
	#header.search-active #headerSearch .search__icon {
		left: auto;
		right: 13px;
		display: inline-flex;
	}

	#header.search-active #headerSearch .search__close {
		display: none;
	}

	#header.nav-open #headerSearch .search__input,
	#header.search-active #headerSearch .search__input {
		padding: 8px 44px 8px 13px;
	}

	.header__mobile-search {
		display: inline-flex;
	}

	#header {
		border-bottom: 1px solid var(--border-light);
	}

	#header > .container {
		display: block;
		height: auto;
	}

	.header__inner {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		min-height: 56px;
		height: auto;
		gap: 0;
		padding: 4px 0;
		box-sizing: border-box;
	}

	.mobile-menu-btn {
		order: 0;
		flex-shrink: 0;
	}

	.header__logo {
		order: 1;
		flex-shrink: 0;
	}

	.header__actions {
		display: contents;
	}

	.header__buttons {
		order: 2;
		margin: 4px 0 4px auto;
		display: flex;
		align-items: center;
		flex-shrink: 0;
		gap: 8px;
	}

	#header.search-active .header__nav {
		display: none;
	}

	.header__nav {
		position: fixed;
		top: 0;
		left: -100%;
		width: 100%;
		right: auto;
		bottom: 0;
		background: var(--bg-lowest);
		z-index: 999;
		padding: 0;
		display: flex;
		flex-direction: column;
		overflow: hidden;
		transform: none;
		opacity: 0;
		visibility: hidden;
		transition: left 0.3s ease, opacity 0.25s ease, visibility 0.25s;
	}

	.header__nav.is-open {
		left: 0;
		transform: none;
		opacity: 1;
		visibility: visible;
	}

	.header__nav > .menu {
		flex: 1 1 auto;
		overflow-y: auto;
		padding: 32px 20px;
	}

	#header.nav-open .header__nav {
		margin-top: var(--header-mobile-offset);
	}

	.header__nav .menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.header__nav .menu__link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 16px 0;
		font-size: 16px;
		line-height: 24px;
	}

	.menu__item--dropdown {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	/* Mega Menu Mobile — inline under Shop */
	.mega-menu {
		position: static;
		display: block;
		width: 100%;
		max-height: 0;
		background: transparent;
		box-shadow: none;
		overflow: hidden;
		pointer-events: none;
		transition: max-height 0.3s ease;
	}

	.mega-menu.is-open {
		max-height: unset;
		pointer-events: auto;
	}

	.mega-menu__overlay {
		display: none;
	}

	.mega-menu__content {
		overflow: hidden;
		padding: 8px 0 16px;
		opacity: 0;
		transform: translateY(-8px);
		transition: opacity 0.25s ease, transform 0.25s ease;
	}

	.mega-menu.is-open .mega-menu__content {
		opacity: 1;
		transform: translateY(0);
	}

	.mega-menu .container {
		padding: 0;
	}

	.mega-menu__inner {
		flex-direction: column;
		gap: 24px;
	}

	.mega-menu__left {
		gap: 24px;
		padding: 0 20px;
	}

	.mega-menu__right {
		display: none;
	}

	.mega-menu__categories {
		grid-template-columns: 1fr;
		gap: 42px;
		padding: 16px 0;
	}

	.mega-menu__column {
		gap: 8px;
	}

	.mega-menu__title {
		margin: 0;
		padding: 12px 0;
	}

	.mega-menu__links {
		gap: 0;
	}

	.mega-menu__link {
		display: block;
		padding: 12px 0;
	}

	.mega-menu__footer {
		padding: 32px 0 16px;
	}

	.search-dropdown {
		top: 100%;
	}

	.mobile-menu-btn {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 40px;
		height: 40px;
		padding: 8px;
		background: none;
		border: none;
		gap: 2.4px;
		cursor: pointer;
		flex-shrink: 0;
		margin: 4px 0;
	}

	.mobile-menu-btn__line {
		width: 12px;
		height: 2px;
		background: var(--text-dark);
	}

	.header__socials {
		display: none;
	}

	.header__lang {
		display: none;
	}

	/* Nav drawer footer — socials + language switcher, pinned below the menu list */
	.header__nav-footer {
		display: none;
		align-items: center;
		gap: 8px;
		padding: 32px 20px;
		background: #f5f3ef;
		border-top: 1px solid var(--border-light);
		flex-shrink: 0;
		position: relative;
	}

	.header__nav-footer:not(:empty) {
		display: flex;
	}

	.header__nav-footer .header__socials,
	.header__nav-footer .header__lang {
		display: flex;
		align-items: center;
	}

	.header__nav-footer .header__lang {
		position: static;
	}

	.header__nav-footer .lang__menu {
		top: auto;
		bottom: calc(100% + 8px);
		left: 0;
		right: 0;
		width: auto;
		min-width: 0;
		transform: translateY(6px);
	}

	.header__nav-footer .header__lang.is-open .lang__menu {
		transform: translateY(0);
	}

	.header__logo {
		width: 40px;
		height: 40px;
		margin: 4px 0 4px 4px;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}

	.header__logo img {
		height: 38px;
		width: auto;
		max-width: 40px;
		object-fit: contain;
	}

	.menu {
		flex-direction: column;
		padding: 0;
	}

	.menu__item {
		width: 100%;
	}

	.menu__link {
		display: block;
		padding: 16px 20px;
		font-size: 16px;
		line-height: 24px;
		color: var(--text-dark);
		text-decoration: none;
		transition: background-color 0.3s ease;
	}

	.menu__link:hover {
		background-color: var(--bg-lowest);
	}

	.search-field {
		width: 120px;
		height: 36px;
		padding: 6px 12px;
		font-size: 14px;
	}

	.header__buttons .icon-btn {
		width: 40px;
		height: 40px;
		margin: 0;
		padding: 0;
		flex-shrink: 0;
	}

	#cart.icon-btn,
	.header__buttons .cart {
		height: 40px;
		padding: 0;
	}

	.cart__dot {
		top: 6px;
		right: 6px;
	}

	.cart__count {
		width: 18px;
		height: 18px;
		font-size: 10px;
		top: -6px;
		right: -6px;
	}

	.search-dropdown__inner {
		flex-direction: column;
		gap: 24px;
	}

	.search-dropdown__trending {
		width: 100%;
	}

	.top-banner__list {
		padding: 6px 0;
	}

	.top-banner__item {
		font-size: 12px;
		line-height: 16px;
	}

	.top-banner__item:not(:first-child) {
		display: none;
	}
}

@media (max-width: 767px) {
	/* Why Choose / Features mobile */
	.why-choose__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.feature-card {
		padding: 24px;
		text-align: center;
	}

	.feature-card__icon {
		margin-bottom: 12px;
	}

	.feature-card__title {
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 8px;
	}

	.feature-card__desc {
		font-size: 14px;
		line-height: 20px;
	}

	/* Two column layouts mobile */
	.two-column {
		flex-direction: column;
	}

	.two-column__content,
	.two-column__media {
		width: 100%;
	}

	.our-story__content,
	.craftsmanship__content {
		padding: 0;
	}

	.our-story__image {
		height: 520px;
	}

	.our-story__title,
	.craftsmanship__title {
		margin-bottom: 16px;
	}

	.our-story__stats,
	.craftsmanship__stats {
		flex-wrap: wrap;
		gap: 16px;
		margin-bottom: 8px;
	}

	.craftsmanship__media {
		height: 348px;
	}

	.product-builder__media {
		flex: none;
		height: auto;
	}

	.product-builder__image {
		height: auto;
	}

	.craftsmanship__stats .stat-card {
		flex: none;
	}

	.craftsmanship__cta {
		width: 100%;
	}

	.product-builder__content {
		padding: 0;
	}

	.option-group__buttons {
		width: 100%;
	}

	.option-btn {
		flex: 1;
		padding: 14px 16px;
		min-width: 0;
	}

	.stat-card__value {
		font-size: 16px;
		line-height: 20px;
	}

	.stat-card__label {
		font-size: 12px;
		line-height: 16px;
	}

	/* Section headers mobile */
	.section-header {
		margin-bottom: 24px;
		text-align: center;
	}

	.section-title {
		line-height: 40px;
	}

	/* Reviews section mobile */
	.reviews__content {
		flex-direction: column-reverse;
		gap: 48px;
	}

	.reviews__left {
		width: 100%;
		order: 2;
	}

	.reviews__right {
		order: 1;
	}

	.reviews__stats {
		padding: 32px 67px 40px;
	}

	.stats__breakdown {
		gap: 12px;
	}

	.reviews__left .btn--outline {
		width: 100%;
		flex-direction: row-reverse;
	}

	.reviews__left .btn--outline img {
		transform: none;
	}

	/* Review cards mobile */
	.reviews__right {
		gap: 20px;
	}

	.review-card {
		padding: 20px;
	}

	.review-card__header {
		gap: 12px;
	}

	.review-card__user {
		gap: 8px;
	}

	.review-card__avatar {
		width: 36px;
		height: 36px;
	}

	.review-card__name {
		font-size: 14px;
		line-height: 20px;
	}

	.review-card__product {
		font-size: 12px;
		line-height: 16px;
	}

	.review-card__text {
		font-size: 14px;
		line-height: 20px;
	}

	.review-card__verified {
		align-self: flex-start;
	}

	/* Community mobile */
	.community__gallery {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	/* Partners mobile */
	.partners .subtitle {
		margin-bottom: 32px;
	}

	.partners__list {
		flex-wrap: nowrap;
		overflow: hidden;
		justify-content: center;
		gap: 24px;
		margin-left: -20px;
		margin-right: -20px;
	}

	/* Remove duplicates - styles already defined above */

	/* Footer Mobile Styles */
	.footer {
		padding-top: 80px;
		padding-bottom: 24px;
	}

	.footer__top {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		margin-bottom: 42px;
	}

	.footer__brand {
		width: 100%;
	}

	.footer__grid {
		grid-template-columns: 1fr;
		gap: 40px;
		margin-bottom: 48px;
		padding: 16px 0;
	}

	.footer__column {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.footer__group--stack {
		gap: 40px;
	}

	.footer__column-title {
		margin: 12px 0;
	}

	.footer__column-list {
		gap: 0;
	}

	.footer__column-list li {
		padding: 12px 0;
	}


	.footer__newsletter {
		grid-column: span 1;
		padding-right: 0;
		min-width: 0;
	}

	.footer__newsletter-input {
		min-width: 0;
	}

	.footer__newsletter-btn {
		align-self: flex-start;
	}

	.footer__bottom {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}

	.footer__policies {
		order: 1;
	}

	.footer__contact {
		order: 2;
	}

	.footer__copyright {
		order: 3;
		margin: 16px 0;
	}

	.footer__policies,
	.footer__contact {
		justify-content: center;
		flex-wrap: wrap;
	}

	.footer__copyright {
		text-align: center;
	}

	/* Additional mobile improvements */
	body {
		font-size: 14px;
		line-height: 20px;
	}

	/* Better spacing for small screens */
	.section:first-child {
		padding-top: 40px;
	}

	.section:last-child {
		padding-bottom: 40px;
	}

	/* Improve readability */
	p, .hero__subtitle {
		line-height: 1.6;
	}

	.d-desktop {
		display: none !important;
	}

	.d-mobile {
		display: inline !important;
	}

	.d-mobile-flex {
		display: flex !important;
	}
	/* Base container and spacing */
	.container {
		padding: 0 20px;
	}

	.section {
		padding: 96px 0;
	}

	.section-head {
		margin-bottom: 48px;
	}

	.section-head--center {
		max-width: 80%;
		margin: 40px auto;
	}


	.section-head__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	/* Typography adjustments */
	.section-title {
		line-height: 40px;
	}

	.subtitle {
		font-size: 14px;
		line-height: 20px;
	}

	/* Buttons mobile */
	.btn {
		height: 48px;
		padding: 12px 20px;
		font-size: 14px;
		line-height: 20px;
	}

	.btn--sm {
		height: 36px;
		padding: 8px 16px;
		font-size: 13px;
	}
	/* Hero section mobile */
	.hero__content {
		flex: none;
		width: 100%;
		padding: 48px 20px;
		max-width: 100%;
	}

	.hero__inner {
		flex-direction: column;
	}

	.hero__media {
		max-width: 100%;
	}

	.hero__text {
		max-width: 100%;
	}

	.hero__title {
		font-size: 36px;
		line-height: 40px;
		font-weight: 500;
		margin-top: 24px;
		margin-bottom: 0;
	}

	.hero__buttons {
		flex-direction: column;
		gap: 16px;
		align-items: stretch;
		margin-top: 48px;
	}

	.hero__buttons .btn {
		width: 100%;
		justify-content: center;
	}

	.hero__stats {
		flex-direction: row;
		gap: 24px;
		align-items: flex-start;
		margin-top: 32px;
		padding-top: 33px;
	}

	.hero__stat {
		flex: 1;
		text-align: left;
	}

	.hero__stat-label {
		font-size: 14px;
		line-height: 20px;
	}

	/* Hero cards mobile */
	.hero__card {
		padding: 16px;
		min-width: 200px;
	}

	.hero__card-icon {
		width: 32px;
		height: 32px;
		margin-bottom: 12px;
	}

	.hero__card-title {
		font-size: 14px;
		line-height: 20px;
		margin-bottom: 6px;
	}

	.hero__card-desc {
		font-size: 12px;
		line-height: 16px;
	}

	/* Products grid mobile */
	.products-block__grid {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 0;
	}

	/* Best seller / Latest mobile: move "view all" after products, centered */
	.products-block:not(.products-block--related) .container {
		display: flex;
		flex-direction: column;
	}

	.products-block:not(.products-block--related) .section-head,
	.products-block:not(.products-block--related) .section-head__row {
		display: contents;
	}

	.products-block:not(.products-block--related) .section-head__subtitle {
		order: 0;
		margin-top: 12px;
		margin-bottom: 48px;
	}

	.products-block:not(.products-block--related) .products-block__grid {
		order: 1;
	}

	.products-block:not(.products-block--related) .section-head__action {
		order: 2;
		align-self: center;
		margin-top: 48px;
	}

	.products-block--related {
		padding: 40px 0 64px;
	}

	.products-block--related .container {
		gap: 24px;
	}

	.products-block--related .products-block__head {
		min-height: 0;
	}

	.products-block--related .products-block__title {
		font-size: 22px;
		line-height: 32px;
	}

	.products-block--related .products-block__grid {
		gap: 12px;
	}

	.products-block--related .products-block__grid .product:nth-child(n + 3) {
		display: none;
	}

	.products-block__action--footer {
		align-self: center;
		padding-top: 8px;
	}

	.product__image {
		height: 340px;
	}

	.product__wishlist {
		opacity: 1;
	}

	.product__title {
		font-size: 14px;
		line-height: 18px;
		margin-bottom: 8px;
		height: 36px;
		-webkit-line-clamp: 2;
	}

	.product__rating {
		margin-bottom: 12px;
	}

	.product__reviews {
		font-size: 12px;
	}

	.product__price {
		font-size: 16px;
		line-height: 20px;
	}


	/* Categories grid mobile */
	.categories__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.categories__col {
		grid-template-columns: 1fr;
	}

	.categories__grid > .category-card {
		height: 540px;
		aspect-ratio: unset;
	}

	.categories__col .category-card {
		height: 308px;
	}

	.category-card {
		padding: 24px;
	}

	.category-card__title {
		font-size: 32px;
		line-height: 40px;
	}

	.category-card__subtitle {
		font-size: 14px;
		line-height: 20px;
	}

	.category-card__desc {
		font-size: 14px;
		line-height: 20px;
	}

	.category-card__info,
	.categories__col .category-card__info {
		bottom: 24px;
		left: 24px;
		right: 24px;
	}

	.category-card__link {
		font-size: 14px;
	}

	/* Catalog page mobile */
	.catalog-head {
		margin: 24px 0;
	}

	.catalog-head-extended {
		height: 240px;
	}

	.catalog-head-extended .container {
		padding: 17px 20px;
	}

	.catalog-head-extended__title {
		font-size: 28px;
		line-height: 32px;
	}

	.catalog-head-extended__content {
		justify-content: flex-start;
		max-width: 100%;
		height: 100%;
	}

	.catalog-head-extended__text {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		padding: 0;
		font-size: 14px;
		line-height: 20px;
	}

	.catalog-head-extended__count {
		margin-top: auto;
	}

	.catalog-toolbar {
		margin-top: 16px;
	}

	.catalog-head__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.catalog-head__title {
		font-size: 28px;
		line-height: 32px;
	}

	section.pagination {
		padding: 24px 0 32px;
	}

	.pagination__link {
		font-size: 12px;
		line-height: 16px;
	}

	.pagination__icon {
		width: 10px;
		height: 10px;
	}

	.pagination__link--disabled {
		opacity: 1;
		color: var(--border-light);
	}

	.pagination__link--disabled .pagination__icon {
		opacity: 0.35;
	}

	.breadcrumbs {
		margin: 24px 0;
	}

	.breadcrumbs--author,
	.breadcrumbs--article,
	.breadcrumbs--information {
		margin: 0;
		padding: 24px 0;
	}

	.catalog-subcategories {
		margin: 24px 0;
	}

	.catalog-products {
		margin: 24px 0;
	}

	.catalog-subcategories__list {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding: 0 20px;
		scrollbar-width: none;
	}

	.catalog-subcategories__list::-webkit-scrollbar {
		display: none;
	}

	.catalog-subcategories__item {
		flex-shrink: 0;
	}

	.catalog-subcategories .container {
		padding-left: 0;
		padding-right: 0;
	}

	/* Catalog toolbar mobile */
	.filter-modal {
		display: block;
	}

	.filter-modal__header {
		background: none;
	}

	.filter-modal__close {
		background: var(--text-inverted);
		border-radius: 8px;
	}

	.filter-group {
		border-radius: 8px;
		overflow: hidden;
	}

	.filter-modal__footer {
		flex-direction: column;
		gap: 12px;
		padding: 24px 16px;
	}

	.filter-modal__clear {
		border-radius: 16px;
		width: 100%;
	}

	.filter-modal__apply {
		width: 100%;
	}

	.checkbox-item {
		padding: 12px 16px;
	}

	.catalog-toolbar__filter-open {
		display: inline-flex;
		flex: 0 0 auto;
		width: 40px;
		min-width: 40px;
		padding: 8px;
	}

	.catalog-toolbar__filter-open .filter-btn__icon--filter {
		width: 24px;
		height: 24px;
	}

	.catalog-toolbar__filters:not(.catalog-toolbar__filters--ocf) {
		display: none;
	}

	.catalog-toolbar__inner {
		flex-direction: row;
		align-items: center;
		gap: 8px;
		padding: 8px 0;
	}

	.catalog-toolbar__actions {
		flex-shrink: 0;
		justify-content: flex-end;
		gap: 8px;
	}

	/* Category info mobile */
	.category-info {
		padding: 48px 0 64px;
	}

	.category-info__title {
		font-size: 20px;
		line-height: 28px;
	}

	.category-info__description {
		font-size: 14px;
		line-height: 24px;
	}

	.subcategory-cards {
		padding: 64px 0;
	}

	.subcategory-cards__title {
		margin-bottom: 24px;
		font-size: 17px;
		line-height: 20px;
	}

	.subcategory-cards__list {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.subcategory-cards__list::-webkit-scrollbar {
		display: none;
	}

	.subcategory-card {
		flex-shrink: 0;
	}

	.promo-banner {
		margin: 24px 0;
	}

	.promo-banner__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 32px;
		min-height: 0;
		padding: 24px;
		border-radius: 16px;
	}

	.promo-banner__title {
		font-size: 28px;
		line-height: 32px;
	}

	.promo-banner__products {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.promo-banner__product-image {
		height: 250px;
		border-radius: 16px;
	}

	/* Product page */
	.product-info {
		padding-bottom: 0;
	}

	.product-info .container {
		padding-left: 0;
		padding-right: 0;
	}

	.product-info__inner {
		flex-direction: column;
		gap: 0;
	}

	.product-info__gallery,
	.product-info__content {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}

	.product-info__gallery {
		position: static;
		top: auto;
		padding-bottom: 24px;
		overflow: visible;
	}

	.product-gallery {
		gap: 0;
		width: 100%;
	}

	.product-gallery__main {
		border-radius: 0;
		width: 100%;
		overflow: hidden;
	}

	.product-gallery__main .swiper-slide,
	.product-gallery__image {
		width: 100%;
		height: 100%;
	}

	.product-gallery__nav {
		display: none;
	}

	.product-gallery__thumbs-row {
		padding: 12px 20px 0;
		justify-content: center;
		overflow: hidden;
	}

	.product-gallery__thumbs-nav {
		display: inline-flex;
	}

	.product-gallery__thumbs {
		flex: 1 1 0;
		min-width: 0;
		padding: 0;
		box-sizing: border-box;
		overflow: hidden;
	}

	.product-gallery__thumbs .swiper-slide {
		border-radius: 8px;
		border: 1px solid transparent;
		overflow: hidden;
	}

	.product-gallery__thumbs .swiper-slide-thumb-active {
		border: 1px solid var(--primary-main);
	}

	.product-gallery__thumb {
		width: 100%;
		height: 100%;
	}

	.product-info__content {
		padding: 0 20px;
		gap: 24px;
	}

	.product-info__summary {
		gap: 16px;
	}

	.product-info__header {
		gap: 12px;
	}

	.product-info__sku {
		color: var(--text-deep);
	}

	.product-info__title {
		font-size: 32px;
		line-height: 40px;
		color: var(--text-dark);
	}

	.product-info__features {
		padding-bottom: 16px;
	}

	.product-info__price {
		align-items: flex-end;
		padding-bottom: 16px;
	}

	.product-info__price-current {
		font-size: 32px;
		line-height: 40px;
	}

	.product-info__price-old {
		font-size: 18px;
		line-height: 24px;
		color: var(--text-deep);
	}

	.product-info__options {
		gap: 24px;
		padding-bottom: 0;
	}

	.product-info .option-group {
		gap: 12px;
	}

		.product-info .option-btn {
		padding: 14px 16px;
		font-size: 14px;
	}

	.product-info .option-btn--flag {
		padding: 11px 16px;
	}

	.product-info__buybox {
		gap: 16px;
		padding-top: 8px;
	}

	.product-qty {
		width: 132px;
	}

	.product-info__actions {
		padding-bottom: 0;
	}

	.product-info__benefits {
		flex-direction: column;
		gap: 16px;
		padding: 24px 0;
	}

	.product-benefit {
		width: 100%;
	}

	.product-benefit__icon-wrap {
		width: 48px;
		height: 48px;
		padding: 8px;
		border-radius: 12px;
	}

	.product-benefit__icon {
		width: 28px;
		height: 28px;
	}

	/* Product tabs mobile */
	.product-tabs {
		padding: 16px 0 40px;
	}

	.product-tabs__box {
		border: none;
		border-radius: 12px;
	}

	.product-tabs__nav {
		flex-direction: column;
		align-items: stretch;
		height: auto;
		padding: 16px 0;
		gap: 12px;
	}

	.product-tabs__btn {
		flex: 0 0 auto;
		width: 100%;
		justify-content: center;
		padding: 16px 24px;
		border-bottom: 1px solid var(--border-light);
		background: transparent;
	}

	.product-tabs__btn--active {
		border-bottom: 2px solid var(--primary-main);
		color: var(--text-dark);
	}

	.product-tabs__panel {
		padding: 20px;
	}

	.product-tabs__panel--specs {
		padding: 24px 0 0;
	}

	.product-tabs__panel--reviews {
		padding: 24px 0 0;
	}

	.product-tabs__panel--reviews.product-tabs__panel--active {
		align-items: stretch;
		gap: 16px;
	}

	.specs-table {
		gap: 16px;
	}

	.specs-table__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		padding: 12px 0;
		border-radius: 8px;
	}

	.specs-table__label {
		width: 100%;
	}

	.specs-table__value {
		font-size: 16px;
		line-height: 28px;
	}

	.product-tabs__reviews {
		gap: 8px;
		padding-bottom: 0;
	}

	.product-tabs .review-card {
		padding: 24px;
		gap: 16px;
	}

	.product-tabs .review-card__header {
		flex-wrap: nowrap;
		align-items: flex-start;
	}

	.product-tabs .review-card__author {
		flex-wrap: nowrap;
		min-width: 0;
	}

	.product-tabs .review-card__user {
		gap: 4px;
		min-width: 0;
	}

	.product-tabs .review-card__avatar {
		width: 40px;
		height: 40px;
	}

	.product-tabs .review-card__rating {
		padding-top: 8px;
	}

	.product-tabs .review-card__verified {
		gap: 4px;
	}

	.product-tabs .review-card__verified .verified__icon {
		width: 16px;
		height: 16px;
	}

	.product-tabs__all-reviews {
		align-self: center;
	}

	/* Cart page mobile */
	.cart-page .cart {
		padding: 32px 0 48px;
	}

	.cart__title {
		margin: 0;
		font-size: 22px;
		line-height: 32px;
		font-weight: 600;
	}

	.cart__layout {
		flex-direction: column;
		gap: 24px;
		margin-top: 24px;
	}

	.cart__items {
		width: 100%;
		gap: 24px;
	}

	.cart-item {
		width: 100%;
	}

	.cart-item__body {
		justify-content: flex-start;
		gap: 24px;
	}

	.cart-item__title {
		font-size: 14px;
		line-height: 20px;
		font-weight: 400;
		-webkit-line-clamp: 3;
	}

	.cart-item__meta {
		font-size: 12px;
		line-height: 16px;
	}

	.cart-item__meta-sep {
		display: none;
	}

	.cart-item__meta-line {
		display: block;
	}

	.cart-item__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.cart-item .product-qty--split {
		gap: 4px;
	}

	.cart-item .product-qty--split .product-qty__btn {
		width: 24px;
		height: 24px;
		padding: 4px;
		border-radius: 8px;
	}

	.cart-item .product-qty--split .product-qty__icon {
		width: 16px;
		height: 16px;
	}

	.cart-item .product-qty--split .product-qty__value {
		width: auto;
		padding: 0 8px;
		font-size: 12px;
		line-height: 16px;
	}

	.cart-item__price {
		font-size: 16px;
		line-height: 28px;
		text-align: left;
	}

	.cart-summary {
		width: 100%;
	}

	.cart-summary__promo-fields {
		gap: 12px;
	}

	.cart-summary__promo-btn {
		width: auto;
		flex: 0 0 auto;
		padding: 11px 32px;
		font-size: 16px;
		line-height: 24px;
	}

	.cart-summary__badges {
		padding-top: 16px;
	}

	.cart-summary__secure {
		padding: 0 16px;
	}

	.checkout {
		padding: 24px 0;
	}

	.checkout-steps {
		justify-content: flex-start;
		gap: 8px;
		height: 32px;
		margin-bottom: 40px;
	}

	.checkout-steps__item {
		flex: none;
		width: auto;
	}

	.checkout-steps__line {
		display: none;
	}

	.checkout-step__label {
		font-size: 16px;
		line-height: 20px;
	}

	.checkout-auth {
		flex-direction: column;
		gap: 12px;
	}

	.checkout-auth__btn {
		width: 100%;
	}

	.checkout__layout {
		flex-direction: column;
		gap: 24px;
	}

	.checkout__main {
		order: 2;
		max-width: none;
		width: 100%;
	}

	.checkout-summary {
		order: 1;
		width: 100%;
	}

	.checkout-summary__box {
		padding: 24px;
		gap: 20px;
	}

	.checkout-summary__arrow-btn {
		display: flex;
	}

	.checkout-summary__header {
		cursor: pointer;
	}

	.checkout-summary__box--collapsed {
		gap: 8px;
	}

	.checkout-summary__box--collapsed .checkout-summary__brief {
		display: flex;
	}

	.checkout-summary__box--collapsed .checkout-summary__details {
		display: none;
	}

	.checkout-summary__box:not(.checkout-summary__box--collapsed) .checkout-summary__arrow {
		transform: rotate(180deg);
	}

	.checkout-card {
		padding: 0;
		border: none;
		border-radius: 0;
		gap: 24px;
	}

	.checkout-card__title {
		font-size: 22px;
		line-height: 32px;
	}

	.checkout-form__row {
		flex-direction: column;
		gap: 16px;
	}

	.checkout-delivery {
		padding-top: 24px;
	}

	.checkout-actions {
		display: flex;
		flex-direction: column-reverse;
		gap: 16px;
	}

	.checkout-actions__back,
	.checkout-actions__next {
		width: 100%;
	}

	.delivery-option {
		padding: 14px 16px;
		gap: 16px;
	}

	.delivery-option__name {
		font-size: 16px;
		line-height: 20px;
	}

	.delivery-option__price {
		flex: 1 1 0;
		justify-content: center;
		display: flex;
	}

	.checkout-card-details__title {
		font-size: 22px;
		line-height: 32px;
	}

	/* Thanks page mobile */
	.thanks {
		padding: 24px 0;
	}

	.thanks__inner {
		gap: 40px;
	}

	.thanks-hero {
		padding: 24px;
	}

	.thanks-hero__text {
		align-items: center;
	}

	.thanks-hero__title {
		font-size: 22px;
		line-height: 32px;
		font-weight: 600;
	}

	.thanks-hero__subtitle {
		max-width: 288px;
		font-size: 16px;
		line-height: 28px;
	}

	.thanks-meta {
		flex-direction: column;
	}

	.thanks-meta__card--email {
		padding: 32px 24px;
	}

	.thanks-timeline {
		width: 100%;
	}

	.thanks-timeline__item {
		width: 100%;
		min-width: 0;
	}

	.thanks-info {
		flex-direction: column;
	}

	.thanks-info__card {
		flex: none;
		width: 100%;
		min-height: auto;
		height: auto;
	}

	.thanks-summary {
		width: 100%;
	}

	.thanks-actions {
		flex-direction: column;
		gap: 12px;
	}

	.thanks-actions__btn {
		width: 100%;
	}

	.thanks-footer__cta {
		width: 262px;
	}

	/* Login page mobile */
	.login {
		padding: 24px 0;
	}

	.login-card {
		width: 100%;
	}

	.login-form {
		padding: 24px 16px;
	}

	.login-tabs__item {
		padding: 16px;
	}

	.login-form__row {
		flex-wrap: wrap;
		gap: 16px;
	}

	.login-forgot {
		width: 100%;
		justify-content: flex-start;
	}

	.login-guest {
		padding: 16px;
	}

	.login-form__names {
		flex-direction: column;
		gap: 16px;
	}

	.login-remember__text--terms {
		gap: 4px 6px;
	}

	/* Reviews page mobile */
	.reviews-page {
		padding: 32px 0 40px;
	}

	.reviews-page__inner {
		gap: 16px;
		align-items: center;
	}

	.reviews-page__head {
		align-self: stretch;
		gap: 8px;
	}

	.reviews-page__title {
		font-size: 36px;
		line-height: 40px;
	}

	.reviews-page__subtitle {
		color: var(--text-deep);
	}

	.reviews-summary {
		width: 280px;
		flex-direction: column;
		align-items: center;
		gap: 32px;
		padding: 32px 32px 40px;
		margin-bottom: 24px;
		border: 1px solid var(--border-light);
		border-radius: 16px;
	}

	.reviews-summary__score {
		width: 202px;
		flex-direction: column;
		align-items: center;
		gap: 8px;
	}

	.reviews-summary__value {
		font-size: 56px;
		line-height: 64px;
		font-weight: 600;
	}

	.reviews-summary__meta {
		align-items: center;
		align-self: stretch;
		gap: 8px;
	}

	.reviews-summary__stars {
		height: 24px;
		justify-content: center;
	}

	.reviews-summary__stars .star {
		width: 16px;
		height: 16px;
	}

	.reviews-summary__count {
		margin: 0;
		text-align: center;
	}

	.reviews-breakdown {
		width: 202px;
		flex: none;
		gap: 12px;
	}

	.reviews-breakdown__item {
		width: 100%;
		gap: 8px;
	}

	.reviews-breakdown__rating {
		display: block;
	}

	.reviews-breakdown__stars {
		display: none;
	}

	.reviews-breakdown__star {
		display: inline-block;
		width: 10px;
		height: 10px;
	}

	.reviews-breakdown__bar {
		margin-right: 0;
	}

	.reviews-breakdown__count {
		font-size: 12px;
		line-height: 16px;
	}

	.reviews-write {
		align-self: stretch;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 16px;
		padding: 32px 0;
		border-top: 1px solid #D9D9D9;
		border-bottom: 1px solid #D9D9D9;
	}

	section.reviews-write {
		padding: 32px 20px;
		border-top: none;
		border-bottom: none;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 24px;
	}

	section.reviews-write .container {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 24px;
	}

	section.reviews-write .reviews-write__text {
		align-self: stretch;
		align-items: center;
		gap: 8px;
	}

	section.reviews-write .reviews-write__title,
	section.reviews-write .reviews-write__desc {
		text-align: center;
	}

	section.reviews-write .reviews-write__title {
		font-size: 22px;
		line-height: 32px;
	}

	section.reviews-write .reviews-write__btn {
		width: auto;
	}

	.reviews-write__text {
		gap: 4px;
	}

	.reviews-write__title {
		font-size: 16px;
		line-height: 20px;
	}

	.reviews-write__btn {
		width: 100%;
	}

	.reviews-toolbar {
		align-self: stretch;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		padding: 0;
		border-top: none;
		border-bottom: none;
	}

	.reviews-toolbar__filter-open {
		display: inline-flex;
		flex: 0 0 auto;
		width: 40px;
		min-width: 40px;
		height: 40px;
		padding: 8px;
	}

	.reviews-toolbar__filter-open .filter-btn__icon--filter {
		width: 24px;
		height: 24px;
	}

	.reviews-toolbar__filters {
		display: none;
	}

	.reviews-toolbar__sort {
		width: auto;
		flex-shrink: 0;
		margin-left: auto;
	}

	.reviews-toolbar__sort .filter-btn {
		width: auto;
	}

	.reviews-page__showing,
	.reviews-list {
		align-self: stretch;
	}

	.reviews-feed {
		align-self: stretch;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		padding-bottom: 40px;
	}

	.reviews-page__showing {
		font-size: 12px;
		line-height: 16px;
	}

	.reviews-list {
		gap: 12px;
	}

	.review-item {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding: 24px 20px;
	}

	.review-item__author {
		width: 100%;
	}

	.review-item__content {
		gap: 16px;
	}

	.review-item__body {
		gap: 12px;
	}

	.review-item__text {
		font-size: 16px;
		line-height: 28px;
	}

	.reviews-page__more {
		align-self: center;
		padding: 16px 0;
	}

	/* Blog page mobile */
	.blog-page {
		gap: 0;
	}

	.blog-intro {
		padding: 32px 0;
		border-bottom: none;
	}

	.blog-intro__inner {
		gap: 24px;
	}

	.blog-intro__title {
		font-size: 22px;
		line-height: 32px;
		font-weight: 600;
	}

	.blog-intro__subtitle {
		font-size: 14px;
		line-height: 20px;
	}

	.blog-search {
		width: 100%;
	}

	.blog-tabs {
		border-top: 1px solid var(--border-light);
		border-bottom: 1px solid var(--border-light);
	}

	.blog-tabs .container {
		padding-left: 0;
		padding-right: 0;
	}

	.blog-tabs__nav {
		padding: 0 20px;
	}

	.blog-featured {
		padding: 24px 0;
	}

	.blog-featured-card {
		flex-direction: column;
		gap: 16px;
	}

	.blog-featured-card__media {
		flex: none;
		width: 100%;
		max-width: none;
		height: 522px;
	}

	.blog-featured-card__content {
		padding: 0;
		gap: 20px;
	}

	.blog-featured-card__top {
		gap: 24px;
	}

	.blog-featured-card__title {
		font-size: 22px;
		line-height: 32px;
	}

	.blog-meta {
		flex-wrap: wrap;
		height: auto;
		row-gap: 8px;
	}

	.blog-list {
		padding: 16px 0 40px;
	}

	.blog-list__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.blog-card__media {
		height: 264px;
	}

	.blog-more {
		padding: 0 0 48px;
	}

	.blog-page + .seo-text {
		margin-top: 0;
		padding: 32px 0;
	}

	.blog-page + .seo-text .seo-text__content {
		max-width: none;
	}

	.blog-page + .seo-text .seo-text__title.d-mobile,
	.blog-page + .seo-text .seo-text__description.d-mobile {
		display: block !important;
	}

	.blog-intro__subtitle.d-mobile {
		display: block !important;
	}

	/* Blog article page mobile */
	.article-hero .container {
		gap: 24px;
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.article-back {
		font-size: 14px;
		line-height: 20px;
	}

	.article-hero__info {
		gap: 16px;
	}

	.article-hero__title {
		font-size: 36px;
		line-height: 40px;
		font-weight: 500;
	}

	.article-hero__meta {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 12px 16px;
	}

	.article-author-meta {
		width: 100%;
	}

	.article-cover {
		height: 240px;
	}

	.article-body-section {
		padding: 32px 0 64px;
	}

	.article-share {
		padding-bottom: 24px;
	}

	.article-content {
		padding-top: 32px;
	}

	.article-content > h2 {
		margin-top: 48px;
		font-size: 22px;
		line-height: 32px;
		font-weight: 600;
	}

	.article-content > p {
		margin-top: 16px;
	}

	.article-content > p:first-child {
		margin-top: 0;
	}

	.article-content ul {
		margin-top: 16px;
	}

	.article-content li {
		align-items: flex-start;
	}

	.article-content li::before {
		margin-top: 11px;
	}

	.article-content figure {
		margin-top: 16px;
	}

	.article-content figure img {
		height: 220px;
	}

	.article-content blockquote {
		margin-top: 48px;
		padding-left: 0;
		border-left: none;
		font-size: 21px;
		line-height: 32px;
	}

	.article-heading {
		margin-top: 48px;
		font-size: 22px;
		line-height: 32px;
		font-weight: 600;
	}

	.article-content > .article-text:first-child + .article-heading,
	.article-content > .article-heading:first-of-type {
		margin-top: 40px;
	}

	.article-heading + .article-text,
	.article-heading + .article-list {
		margin-top: 16px;
	}

	.article-text + .article-text,
	.article-list + .article-text,
	.article-figure + .article-text,
	.article-quote + .article-text,
	.article-product + .article-text,
	.article-featured-product + .article-text {
		margin-top: 16px;
	}

	.article-list {
		margin-top: 16px;
	}

	.article-list__item {
		align-items: flex-start;
	}

	.article-list__item::before {
		margin-top: 11px;
	}

	.article-product {
		display: grid;
		grid-template-columns: 64px 1fr;
		align-items: start;
		gap: 16px;
		margin-top: 40px;
		padding: 16px 24px;
	}

	.article-product__image {
		grid-column: 1;
		grid-row: 1;
	}

	.article-product__info {
		grid-column: 2;
		grid-row: 1;
		flex: none;
		width: 100%;
	}

	.article-product__buy {
		grid-column: 1 / -1;
		grid-row: 2;
		flex: none;
		width: 100%;
		flex-direction: row-reverse;
		justify-content: flex-start;
		gap: 16px;
	}

	.article-product__prices {
		flex: 1 1 0;
		min-width: 0;
	}

	.article-product__buy .btn {
		flex: 0 0 auto;
	}

	.article-figure {
		margin-top: 16px;
	}

	.article-figure__media {
		height: 220px;
	}

	.article-quote {
		margin-top: 48px;
		padding-left: 0;
		border-left: none;
	}

	.article-quote__text {
		font-size: 21px;
		line-height: 32px;
	}

	.article-featured-product {
		flex-direction: column;
		height: auto;
		margin-top: 48px;
	}

	.article-featured-product__media {
		width: 100%;
		height: 460px;
	}

	.article-featured-product__content {
		min-height: 460px;
		padding: 24px;
	}

	.article-featured-product__btn {
		width: 100%;
	}

	.article-faq {
		margin-top: 64px;
		gap: 24px;
	}

	.article-writer,
	.article-cta {
		margin-top: 48px;
	}

	.article-related {
		padding: 48px 0 64px;
		background: transparent;
		border-top: none;
	}

	.article-related__title {
		margin-bottom: 0;
	}

	.article-related .container {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.article-related__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	/* Blog author page mobile */
	.author-page {
		gap: 24px;
	}

	.author-page + .seo-text {
		margin-top: 0;
		padding: 32px 0;
	}

	.author-page + .seo-text .seo-text__content {
		max-width: none;
	}

	.author-page + .seo-text .seo-text__title.d-mobile,
	.author-page + .seo-text .seo-text__description.d-mobile {
		display: block !important;
	}

	.author-hero .container {
		gap: 24px;
		padding-top: 24px;
		padding-bottom: 32px;
	}

	.author-hero .article-back {
		font-size: 12px;
		line-height: 16px;
	}

	.author-hero__inner {
		flex-direction: column;
		gap: 16px;
	}

	.author-hero__avatar {
		width: 96px;
		height: 96px;
	}

	.author-hero__info {
		flex: none;
		width: 100%;
		gap: 24px;
	}

	.author-hero__head {
		gap: 8px;
	}

	.author-hero__name-block {
		gap: 4px;
	}

	.author-hero__name {
		font-size: 36px;
		line-height: 40px;
	}

	.author-hero__bio {
		max-width: none;
	}

	.author-hero__stat {
		flex-direction: row;
		align-items: center;
		align-self: stretch;
		margin-left: 0;
	}

	.author-hero__stat-value,
	.author-hero__stat-label {
		text-align: left;
	}

	.author-articles .container {
		gap: 16px;
	}

	.author-articles__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.author-others {
		padding: 40px 0 48px;
	}

	.author-others__list {
		flex-direction: column;
		gap: 16px;
	}

	.author-card {
		width: 100%;
		padding: 20px 24px;
	}

	.author-card__content {
		width: auto;
		flex: 1 1 0;
		min-width: 0;
	}

	/* Popup: Subscribe mobile */
	.popup-cover {
		padding: 16px;
		align-items: flex-end;
	}

	.popup--subscribe {
		width: 100%;
		max-width: 100%;
		max-height: calc(100vh - 32px);
		flex-direction: column;
	}

	.popup--review {
		width: 100%;
		max-width: 100%;
		max-height: calc(100vh - 32px);
	}

	.popup-review__header {
		padding: 24px 20px;
	}

	.popup-review__form {
		padding: 32px 24px;
		gap: 24px;
	}

	.popup-review__product {
		border-radius: 14px;
	}

	.popup-review__fields {
		gap: 24px;
	}

	.popup--review .popup__close {
		background: transparent;
		border-radius: 0;
	}

	.popup__close {
		top: 12px;
		right: 12px;
		background: var(--bg-lowest);
		border-radius: 8px;
	}

	.popup-subscribe__media {
		width: 100%;
		height: 220px;
		min-height: 0;
		flex-shrink: 0;
	}

	.popup-subscribe__image {
		position: absolute;
		inset: 0;
	}

	.popup-subscribe__gradient {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(250, 247, 242, 0.5) 100%);
	}

	.popup-subscribe__review {
		left: 16px;
		bottom: 16px;
		width: auto;
		max-width: calc(100% - 32px);
		padding: 10px 14px;
	}

	.popup-subscribe__content {
		width: 100%;
		padding: 24px 20px 28px;
	}

	.popup-subscribe__brand {
		margin-bottom: 16px;
	}

	.popup-subscribe__discount {
		font-size: 32px;
		line-height: 36px;
	}

	.popup-subscribe__offer-title {
		font-size: 20px;
		line-height: 28px;
	}

	.popup-subscribe__text {
		max-width: none;
		margin-bottom: 24px;
	}

	.popup-subscribe__social-proof {
		margin-top: 24px;
		padding-top: 16px;
	}

	/* Popup: Corporate mobile */
	.popup--corporate {
		width: 100%;
		max-width: 100%;
		max-height: calc(100vh - 32px);
	}

	.popup-corporate__inner {
		padding: 24px 20px;
	}

	.popup-corporate__badge {
		margin-bottom: 16px;
	}

	.popup-corporate__title {
		font-size: 20px;
		line-height: 28px;
	}

	.popup-corporate__row {
		flex-direction: column;
		gap: 24px;
	}

	.popup-corporate__actions {
		padding-top: 0;
	}

	/* Popup: Cookies mobile */
	.popup--cookies {
		left: 16px;
		right: 16px;
		bottom: 24px;
		transform: none;
		width: auto;
		max-width: none;
		max-height: calc(100vh - 48px);
	}

	.popup-cookies__top {
		padding: 20px;
	}

	.popup-cookies__main {
		width: auto;
		flex: 1 1 0;
		min-width: 0;
	}

	.popup-cookies__actions {
		flex-wrap: wrap;
		padding: 0 20px 20px;
		gap: 16px;
	}

	.popup-cookies__buttons {
		width: 100%;
		flex-direction: column;
		gap: 12px;
	}

	.popup-cookies__buttons .btn {
		width: 100%;
	}

	.popup-cookies__toggle-details {
		margin-left: 0;
	}

	.popup-cookies__options {
		padding: 16px 20px;
	}

	.popup-cookies__links {
		flex-wrap: wrap;
		padding: 12px 20px;
		gap: 12px;
	}

	/* 404 page mobile */
	.error-404__inner {
		flex-direction: column;
		gap: 40px;
	}

	.error-404__content {
		gap: 24px;
	}

	.error-404__code {
		font-size: 48px;
		line-height: 56px;
	}

	.error-404__title {
		font-size: 28px;
		line-height: 36px;
	}

	.error-404__media {
		width: 100%;
		height: 280px;
	}

	/* Legal / Privacy page mobile */
	.legal-hero__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 40px;
	}

	.legal-hero__intro {
		max-width: none;
	}

	.legal-hero__eyebrow {
		margin-bottom: 16px;
		font-size: 14px;
	}

	.legal-hero__title {
		font-size: 40px;
		line-height: 48px;
	}

	.legal-hero__desc {
		max-width: none;
	}

	.legal-card {
		max-width: none;
	}

	.legal-content {
		padding: 48px 0;
	}

	.legal-content__inner {
		gap: 40px;
	}

	.legal-block__title {
		font-size: 20px;
		line-height: 28px;
	}

	/* Contact page mobile */
	.contact-info {
		max-width: none;
	}

	.contact-page {
		padding: 48px 0;
	}

	.contact-page__intro {
		margin-bottom: 40px;
	}

	.contact-page__title {
		font-size: 28px;
		line-height: 36px;
	}

	.contact-page__layout {
		flex-direction: column;
		padding: 0;
		max-width: none;
	}

	.contact-page__aside {
		max-width: none;
		width: 100%;
	}

	.contact-form {
		max-width: none;
	}

	.contact-form__row {
		flex-direction: column;
	}

	.contact-form-result {
		max-width: none;
	}

	.contact-form-result__body {
		height: auto;
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.contact-form-result__action {
		padding-top: 24px;
	}

	.track-order {
		padding: 40px 0;
	}

	.track-order__card {
		max-width: none;
		padding: 24px;
	}

	.track-order__form {
		padding: 0;
		max-width: none;
	}

	.track-order__fields {
		padding-top: 32px;
		gap: 16px;
	}

	.track-order__action {
		padding-top: 24px;
	}

	.legal-hero--track.section {
		padding: 96px 0 48px;
	}

	.legal-hero--track .legal-hero__inner {
		gap: 88px;
	}

	.legal-hero--track .legal-hero__intro {
		gap: 24px;
	}

	.legal-hero--track .legal-hero__eyebrow {
		margin-bottom: 0;
		font-size: 14px;
		line-height: 18px;
	}

	.legal-hero--track .legal-hero__title {
		font-size: 32px;
		line-height: 40px;
	}

	.legal-hero--track .legal-hero__desc {
		margin-top: 16px;
	}

	.contact-help {
		flex-direction: column;
		gap: 16px;
	}

	.contact-hours,
	.contact-topics {
		max-width: none;
	}

	/* FAQ page mobile */
	.faq-page {
		padding: 48px 0;
	}

	.faq-page__head {
		margin-bottom: 40px;
		gap: 12px;
	}

	.faq-page__title {
		font-size: 28px;
		line-height: 36px;
	}

	.faq-filters__list {
		margin-bottom: 40px;
	}

	.faq-group {
		margin-bottom: 40px;
	}

	.faq-group__title {
		font-size: 20px;
		line-height: 28px;
		margin-bottom: 16px;
	}

	/* About page mobile */
	.about-hero.section {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.about-hero__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 40px;
	}

	.about-hero__content {
		max-width: none;
	}

	.about-hero__title {
		font-size: 36px;
		line-height: 40px;
	}

	.about-hero__text {
		max-width: none;
	}

	.about-craft {
		max-width: none;
	}

	.about-story,
	.about-values,
	.about-journey,
	.about-cta {
		padding-top: 64px;
	}

	.about-cta {
		padding-bottom: 40px;
	}

	.about-story__inner {
		flex-direction: column;
		gap: 24px;
	}

	.about-story__text {
		padding: 0;
	}

	.about-story__media {
		width: 100%;
		height: 240px;
	}

	.about-values__header {
		margin-bottom: 24px;
	}

	.about-values__grid {
		flex-direction: column;
	}

	.about-value {
		padding: 16px 0;
	}

	.about-timeline__line {
		left: 7px;
		transform: none;
	}

	.about-timeline__item {
		grid-template-columns: 16px 1fr;
		column-gap: 24px;
	}

	.about-timeline__item--left .about-timeline__dot,
	.about-timeline__item--right .about-timeline__dot {
		grid-column: 1;
		grid-row: 1;
	}

	.about-timeline__item--left .about-timeline__card,
	.about-timeline__item--right .about-timeline__card {
		grid-column: 2;
		grid-row: 1;
		margin: 0;
		align-items: flex-start;
		text-align: left;
		max-width: none;
	}

	.about-timeline__year {
		font-size: 18px;
		line-height: 28px;
	}

	.about-timeline__title {
		font-size: 18px;
		line-height: 28px;
	}

	.about-timeline__text {
		font-size: 14px;
		line-height: 20px;
	}

	.about-cta__title {
		font-size: 20px;
		line-height: 28px;
	}

	.about-cta__inner .btn {
		width: 100%;
	}
}

.catalog-chip:active {
	background: var(--primary-darkest);
	border-color: var(--primary-darkest);
	color: var(--text-inverted);
}

.search:hover .search__input:not(:focus) {
	border-color: var(--text-muted);
}

.search:focus-within .search__input,
.search__input:focus {
	border-color: var(--bg-intense);
	background-color: var(--bg-lowest);
}

.search__input:not(:placeholder-shown):not(:focus) {
	border-color: var(--border-light);
	background-color: #ffffff;
	color: var(--text-dark);
}

.search:has(.search__input:not(:placeholder-shown)) .search__close,
#header.search-active .search__close {
	display: flex;
}

.product-info .option-btn--active {
	background: var(--primary-main);
	border-color: var(--primary-main);
	color: var(--text-inverted);
}

.product-info .option-btn:active:not(.option-btn--active) {
	background: var(--primary-darkest);
	border-color: var(--primary-darkest);
	color: var(--text-inverted);
}

.product-info .option-group__buttons--3 {
	display: flex;
	flex-wrap: wrap;
	grid-template-columns: unset;
}

.product-info .option-group__buttons--3 .option-btn {
	flex: 1 1 calc((100% - 32px) / 3);
	width: auto;
	min-width: calc((100% - 32px) / 3);
	max-width: 100%;
}

.product-info .option-group__buttons--auto {
	display: flex;
	flex-wrap: wrap;
	grid-template-columns: unset;
}

.product-info .option-group__buttons--auto .option-btn {
	flex: 0 0 auto;
	width: auto;
}

.product-info .option-group__buttons,
	.product-info .option-group__buttons--3,
	.product-info .option-group__buttons--auto {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

.product-info .option-group__buttons--3 .option-btn,
	.product-info .option-group__buttons--auto .option-btn {
		flex: unset;
		width: 100%;
		min-width: 0;
		max-width: none;
	}

.product-info .option-group__buttons .option-btn:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

.product-info .option-group__buttons:not(.option-group__buttons--3):not(.option-group__buttons--auto) .option-btn:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.product-info__wishlist:hover,
.product-info__wishlist.is-active {
	background: var(--bg-highest);
}

/* ===== Popup: Cart ===== */

.popup-cart-cover {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3000;
	justify-content: flex-end;
}

.popup-cart-cover.is-open {
	display: flex;
}

.popup-cart-cover__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	cursor: pointer;
}

.popup-cart {
	position: relative;
	z-index: 1;
	width: 420px;
	max-width: 420px;
	height: 100%;
	background: var(--bg-lowest);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.popup-cart__inner {
	flex: 1 1 auto;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
}

.popup-cart__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--border-light);
}

.popup-cart__title {
	margin: 0;
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.popup-cart__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	flex-shrink: 0;
}

.popup-cart__close-icon {
	display: block;
	width: 24px;
	height: 24px;
}

.popup-cart__items {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--border-light);
}

.popup-cart__items .cart-item {
	padding: 0;
	border: none;
	border-radius: 0;
	gap: 16px;
}

.popup-cart__items .cart-item__image {
	width: 56px;
	height: 56px;
	border-radius: 8px;
}

.popup-cart__items .cart-item__title {
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	-webkit-line-clamp: 2;
}

.popup-cart__items .cart-item__meta {
	font-size: 12px;
	line-height: 16px;
}

.popup-cart__items .cart-item__price {
	font-size: 16px;
	line-height: 28px;
}

.popup-cart__items .product-qty--split {
	gap: 8px;
}

.popup-cart__items .product-qty--split .product-qty__btn {
	width: 32px;
	height: 32px;
	padding: 6px;
	border-radius: 8px;
}

.popup-cart__items .product-qty--split .product-qty__icon {
	width: 20px;
	height: 20px;
}

.popup-cart__items .product-qty--split .product-qty__value {
	width: 32px;
	padding: 0 8px;
}

.popup-cart__empty {
	padding: 24px 0;
	text-align: center;
}

.popup-cart__empty-text {
	margin: 0;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.popup-cart__summary {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--border-light);
}

.popup-cart__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.popup-cart__label {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.popup-cart__value {
	color: var(--text-dark);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.popup-cart__value--plain {
	font-size: 14px;
	font-weight: 400;
}

.popup-cart__total {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.popup-cart__total-label {
	color: var(--text-deep);
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
}

.popup-cart__total-value {
	color: var(--text-dark);
	font-size: 22px;
	line-height: 32px;
	font-weight: 600;
}

.popup-cart__actions {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 0 24px 24px;
}

.popup-cart__checkout,
.popup-cart__continue {
	width: 100%;
}

@media (min-width: 768px) {
	.popup-cart__checkout {
		padding-top: 13px;
		padding-bottom: 13px;
	}
}

@media (max-width: 767px) {
	.popup-cart {
		width: 100%;
		max-width: 100%;
	}
}

/* ===== Merged fixes from iCloud working copy ===== */

.product-qty__btn:active .product-qty__icon {
	filter: brightness(0) saturate(100%) invert(32%) sepia(51%) saturate(850%) hue-rotate(359deg) brightness(92%) contrast(88%);
}




@media (max-width: 767px) {
	.product-info .product-qty {
		width: auto;
		height: auto;
		gap: 8px;
		border: none;
		border-radius: 4px;
		overflow: hidden;
		margin-bottom: 0;
	}

	.product-info .product-qty__btn {
		width: 32px;
		height: 32px;
		padding: 0;
		border-radius: 8px;
		border: 1px solid var(--border-light);
	}

	.product-info .product-qty__icon {
		width: 24px;
		height: 24px;
	}

	.product-info .product-qty__value {
		flex: 0 0 auto;
		width: 32px;
		padding: 0 8px;
		font-size: 14px;
		line-height: 20px;
	}
	.craftsmanship .two-column {
		gap: 0;
	}

	.craftsmanship__content,
	.craftsmanship__media {
		display: contents;
	}

	.craftsmanship__subtitle { order: 1; margin-bottom: 24px; }
	.craftsmanship__title { order: 2; margin-bottom: 16px; }
	.craftsmanship__text { order: 3; margin-bottom: 24px; }
	.craftsmanship__image { order: 4; margin-bottom: 24px; }
	.craftsmanship__features { order: 5; margin-bottom: 24px; }
	.craftsmanship__stats { order: 6; margin-bottom: 32px; }
	.craftsmanship__cta { order: 7; }

	.craftsmanship__image {
		width: 100%;
		height: 348px;
		object-fit: cover;
		border-radius: 16px;
	}

	.product-builder__media {
		flex: none;
		height: auto;
	}

	.product-builder__image {
		height: auto;
	}

	.craftsmanship__stats .stat-card {
		flex: none;
	}

	.craftsmanship__cta {
		width: 100%;
	}

	.product-builder__content {
		padding: 0;
	}

	.option-group__buttons {
		width: 100%;
	}

	.option-btn {
		flex: 1;
		padding: 14px 16px;
		min-width: 0;
	}

	.stat-card__value {
		font-size: 16px;
		line-height: 20px;
	}

	.stat-card__label {
		font-size: 12px;
		line-height: 16px;
	}

	/* Section headers mobile */
	.section-header {
		margin-bottom: 24px;
		text-align: center;
	}

	.section-title {
		line-height: 40px;
	}

	/* Reviews section mobile */
	.reviews__content {
		flex-direction: column-reverse;
		gap: 48px;
	}

	.reviews__left {
		width: 100%;
		order: 2;
	}

	.reviews__right {
		order: 1;
	}

	.reviews__stats {
		padding: 32px 67px 40px;
	}

	.stats__breakdown {
		gap: 12px;
	}

	.reviews__left .btn--outline {
		width: 100%;
		flex-direction: row-reverse;
	}

	.reviews__left .btn--outline img {
		transform: none;
	}

	/* Review cards mobile */
	.reviews__right {
		gap: 20px;
	}

	.review-card {
		padding: 20px;
	}

	.review-card__header {
		gap: 12px;
	}

	.review-card__user {
		gap: 8px;
	}

	.review-card__avatar {
		width: 36px;
		height: 36px;
	}

	.review-card__name {
		font-size: 14px;
		line-height: 20px;
	}

	.review-card__product {
		font-size: 12px;
		line-height: 16px;
	}

	.review-card__text {
		font-size: 14px;
		line-height: 20px;
	}

	.review-card__verified {
		align-self: flex-start;
	}

	/* Community mobile */
	.footer__grid > *:nth-child(1) { order: 1; }
	.footer__grid > *:nth-child(5) { order: 2; }
	.footer__grid > *:nth-child(2) { order: 3; }
	.footer__grid > *:nth-child(6) { order: 4; }
	.footer__grid > *:nth-child(3) { order: 5; }
	.footer__grid > *:nth-child(4) { order: 6; }

/* Returns page mobile */
	.return-hero {
		padding: 96px 0 48px;
	}

	.return-hero__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 88px;
	}

	.return-hero__content {
		max-width: none;
	}

	.return-hero__eyebrow {
		margin-bottom: 24px;
		font-size: 14px;
		line-height: 18px;
	}

	.return-hero__title {
		font-size: 32px;
		line-height: 40px;
	}

	.return-hero__text {
		max-width: none;
	}

	.return-help {
		max-width: 360px;
		width: 100%;
		box-sizing: border-box;
	}

	.return-highlights,
	.return-steps,
	.return-eligibility,
	.return-eligibility + .faq {
		padding: 40px 0;
	}

	.return-highlights__grid {
		flex-direction: column;
		gap: 24px;
	}

	.return-highlight {
		width: 100%;
		box-sizing: border-box;
	}

	.return-highlight__title {
		font-size: 32px;
		line-height: 40px;
	}

	.return-steps .section-header {
		margin-bottom: 32px;
		gap: 8px;
	}

	.return-steps .section-title {
		font-size: 22px;
		line-height: 32px;
		font-weight: 600;
	}

	.return-steps__grid {
		flex-direction: column;
		gap: 16px;
	}

	.return-step {
		width: 100%;
		box-sizing: border-box;
	}

	.return-eligibility__heading {
		text-align: center;
	}

	.return-eligibility__grid {
		flex-direction: column;
		gap: 16px;
		margin-top: 24px;
	}

	.return-eligibility__card {
		width: 100%;
		box-sizing: border-box;
	}
}

/* ===== Returns & Refunds page ===== */
.return-hero {
	padding: 128px 0;
	background: var(--bg-lowest);
}

.return-hero__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 96px;
}

.return-hero__content {
	flex: 1 1 0;
	max-width: 776px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.return-hero__eyebrow {
	display: block;
	margin-bottom: 24px;
	color: var(--text-accent);
	font-size: 16px;
	font-weight: 600;
	line-height: 20px;
}

.return-hero__title {
	color: var(--text-dark);
	font-size: 56px;
	font-weight: 500;
	line-height: 64px;
}

.return-hero__title-accent {
	color: var(--primary-main);
}

.return-hero__text {
	max-width: 418px;
	margin-top: 16px;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.return-help {
	width: 100%;
	max-width: 360px;
	flex-shrink: 0;
	padding: 24px;
	border-radius: 16px;
	background: linear-gradient(135deg, #2c2520 0%, #2e2722 14%, #312924 29%, #332c26 43%, #362e28 57%, #38302a 71%, #3b332c 86%, #3d352e 100%);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.return-help__eyebrow {
	color: var(--text-accent);
	font-size: 12px;
	line-height: 16px;
}

.return-help__title {
	color: var(--text-inverted);
	font-size: 21px;
	font-weight: 400;
	line-height: 32px;
}

.return-help__text {
	color: var(--text-light);
	font-size: 14px;
	line-height: 20px;
}

.return-help__btn {
	width: 100%;
	margin-top: 8px;
	text-align: center;
	font-size: 16px;
	line-height: 24px;
}

.return-help__btn:hover {
	color: var(--text-inverted);
}

.return-help__hours {
	display: block;
	text-align: center;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.return-highlights {
	background: #ffffff;
}

.return-highlights__grid {
	display: flex;
	align-items: flex-start;
}

.return-highlight {
	flex: 1 1 0;
	padding: 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.return-highlight__icon {
	width: 64px;
	height: 64px;
	padding: 8px;
	border-radius: 16px;
	background: var(--bg-highest);
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.return-highlight__title {
	color: var(--text-dark);
	font-size: 32px;
	font-weight: 500;
	line-height: 40px;
}

.return-highlight__text {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.return-steps {
	background: var(--bg-lowest);
}

.return-steps .section-header {
	margin-bottom: 32px;
	gap: 16px;
}

.return-steps__grid {
	display: flex;
	align-items: flex-start;
}

.return-step {
	flex: 1 1 0;
	padding: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}

.return-step__icon {
	width: 64px;
	height: 64px;
	padding: 8px;
	border-radius: 16px;
	background: var(--bg-highest);
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.return-step__title {
	color: var(--text-dark);
	font-size: 16px;
	font-weight: 600;
	line-height: 28px;
}

.return-step__text {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.return-eligibility__heading {
	margin-bottom: 0;
}

.return-eligibility__grid {
	display: flex;
	gap: 24px;
	margin-top: 32px;
}

.return-eligibility__card {
	flex: 1 1 0;
	padding: 32px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
}

.return-eligibility__card-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.return-eligibility__badge {
	width: 32px;
	height: 32px;
	border-radius: 100px;
	background: var(--primary-main);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 0;
}

.return-eligibility__card-title {
	color: var(--text-dark);
	font-size: 16px;
	font-weight: 600;
	line-height: 28px;
}

.return-eligibility__list {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.return-eligibility__list li {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.return-eligibility__list li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 100px;
	background: var(--primary-main);
	flex-shrink: 0;
}

.return-note {
	margin-top: 24px;
	padding: 24px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-medium);
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.return-note__bar {
	width: 4px;
	align-self: stretch;
	border-radius: 100px;
	background: var(--primary-main);
	flex-shrink: 0;
}

.return-note__content {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.return-note__title {
	color: var(--text-dark);
	font-size: 16px;
	font-weight: 600;
	line-height: 20px;
}

.return-note__text {
	color: var(--text-deep);
	font-size: 12px;
	line-height: 16px;
}

/* ===== Delivery & Shipping page ===== */
.delivery-hero {
	padding: 128px 0;
	background: var(--bg-lowest);
}

.delivery-hero__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 96px;
}

.delivery-hero__content {
	flex: 1 1 0;
	max-width: 776px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.delivery-hero__eyebrow {
	display: block;
	margin-bottom: 24px;
	color: var(--text-accent);
	font-size: 16px;
	font-weight: 600;
	line-height: 20px;
}

/* desktop table details use display:contents — defined below with table */

.delivery-hero__title {
	color: var(--text-dark);
	font-size: 56px;
	font-weight: 500;
	line-height: 64px;
}

.delivery-hero__title-accent {
	display: block;
	color: var(--primary-main);
}

.delivery-hero__text {
	max-width: 418px;
	margin-top: 16px;
	color: var(--text-dark);
	font-size: 16px;
	line-height: 28px;
}

.delivery-help {
	width: 100%;
	max-width: 360px;
	flex-shrink: 0;
	padding: 24px;
	border-radius: 16px;
	background: linear-gradient(135deg, #2c2520 0%, #2e2722 14%, #312924 29%, #332c26 43%, #362e28 57%, #38302a 71%, #3b332c 86%, #3d352e 100%);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.delivery-help__eyebrow {
	color: var(--text-accent);
	font-size: 12px;
	line-height: 16px;
}

.delivery-help__title {
	color: var(--text-inverted);
	font-size: 21px;
	font-weight: 400;
	line-height: 32px;
}

.delivery-help__text {
	color: var(--text-light);
	font-size: 14px;
	line-height: 20px;
}

.delivery-help__btn {
	width: 100%;
	margin-top: 8px;
	text-align: center;
	font-size: 16px;
	line-height: 24px;
}

.delivery-help__btn:hover {
	color: var(--text-inverted);
}

.delivery-help__hours {
	display: block;
	text-align: center;
	color: var(--text-muted);
	font-size: 12px;
	line-height: 16px;
}

.delivery-highlights {
	background: #ffffff;
}

.delivery-highlights__grid {
	display: flex;
	align-items: flex-start;
}

.delivery-highlight {
	flex: 1 1 0;
	padding: 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.delivery-highlight__icon {
	width: 64px;
	height: 64px;
	padding: 8px;
	border-radius: 16px;
	background: var(--bg-highest);
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.delivery-highlight__title {
	color: var(--text-dark);
	font-size: 32px;
	font-weight: 500;
	line-height: 40px;
}

.delivery-highlight__text {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.delivery-process .section-header {
	margin-bottom: 40px;
	gap: 16px;
}

.delivery-process__grid {
	display: flex;
	align-items: flex-start;
}

.delivery-step {
	flex: 1 1 0;
	padding: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}

.delivery-step__icon {
	width: 64px;
	height: 64px;
	padding: 8px;
	border-radius: 16px;
	background: var(--bg-highest);
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.delivery-step__title {
	color: var(--text-dark);
	font-size: 16px;
	font-weight: 600;
	line-height: 28px;
}

.delivery-step__text {
	color: var(--text-deep);
	font-size: 14px;
	line-height: 20px;
}

.delivery-rates__head {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 32px;
}

.delivery-rates__title {
	color: var(--text-dark);
	font-size: 36px;
	font-weight: 500;
	line-height: 40px;
}

.delivery-rates__subtitle {
	color: var(--text-deep);
	font-size: 16px;
	line-height: 28px;
}

.delivery-table {
	border: 1px solid var(--border-light);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.delivery-table__header,
.delivery-table__row {
	display: grid;
	grid-template-columns: minmax(200px, 1fr) minmax(160px, 1fr) minmax(160px, 1fr);
	align-items: center;
	padding: 16px 24px;
	border-bottom: 1px solid var(--border-light);
}

.delivery-table__header {
	background: var(--bg-medium);
}

.delivery-table__header .delivery-table__col {
	color: var(--text-accent);
	font-size: 16px;
	font-weight: 600;
	line-height: 20px;
}

.delivery-table__row--last {
	border-bottom: none;
}

.delivery-table__details {
	display: contents;
}

.delivery-table__time,
.delivery-table__carrier {
	color: var(--text-accent);
	font-size: 14px;
	line-height: 20px;
}

.delivery-table__region {
	display: flex;
	align-items: center;
	gap: 8px;
}

.delivery-table__flag {
	font-size: 16px;
	line-height: 24px;
}

.delivery-table__region-name {
	color: var(--primary-darkest);
	font-size: 14px;
	line-height: 20px;
}

.delivery-note {
	margin-top: 32px;
	padding: 24px;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	background: var(--bg-medium);
	display: flex;
	align-items: center;
	gap: 16px;
}

.delivery-note__bar {
	width: 4px;
	align-self: stretch;
	border-radius: 100px;
	background: var(--primary-main);
	flex-shrink: 0;
}

.delivery-note__text {
	color: var(--primary-darkest);
	font-size: 14px;
	line-height: 20px;
}

.delivery-note__text strong {
	color: var(--text-dark);
	font-weight: 400;
}

@media (max-width: 767px) {
	.delivery-hero {
		padding: 96px 0 48px;
	}

	.delivery-hero__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 88px;
	}

	.delivery-hero__content {
		max-width: none;
		gap: 16px;
	}

	.delivery-hero__eyebrow {
		margin-bottom: 0;
		font-size: 14px;
		line-height: 18px;
	}

	.delivery-hero__title {
		font-size: 32px;
		line-height: 40px;
	}

	.delivery-hero__title-accent {
		display: inline;
	}

	.delivery-hero__text {
		max-width: none;
		margin-top: 0;
	}

	.delivery-help {
		max-width: none;
	}

	.delivery-highlights.section {
		padding: 40px 0;
	}

	.delivery-highlights__grid {
		flex-direction: column;
		gap: 24px;
	}

	.delivery-highlight {
		width: 100%;
	}

	.delivery-highlight__title {
		font-size: 32px;
		line-height: 40px;
	}

	.delivery-process.section {
		padding: 48px 0;
	}

	.delivery-process .section-header {
		margin-bottom: 32px;
		gap: 12px;
	}

	.delivery-process .section-title {
		font-size: 32px;
		line-height: 40px;
	}

	.delivery-process .faq__description {
		font-size: 14px;
		line-height: 20px;
	}

	.delivery-process__grid {
		flex-direction: column;
		gap: 16px;
	}

	.delivery-step {
		width: 100%;
	}

	.delivery-step__icon {
		padding: 12px;
	}

	.delivery-rates.section {
		padding: 48px 0;
	}

	.delivery-rates__head {
		gap: 12px;
		margin-bottom: 24px;
	}

	.delivery-rates__title {
		font-size: 32px;
		line-height: 40px;
	}

	.delivery-rates__subtitle {
		font-size: 14px;
		line-height: 20px;
	}

	.delivery-table {
		border: none;
		border-radius: 16px;
		overflow: hidden;
	}

	.delivery-table__header {
		display: flex;
		padding: 16px;
		border-bottom: none;
	}

	.delivery-table__row {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 16px;
		border-bottom: none;
		min-width: 0;
	}

	.delivery-table__details {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
		gap: 12px;
	}

	.delivery-table__region-name {
		font-size: 16px;
		font-weight: 600;
		line-height: 20px;
	}

	.delivery-table__time {
		color: var(--text-accent);
	}

	.delivery-table__carrier {
		color: var(--text-muted);
		text-align: right;
	}

	.delivery-note {
		margin-top: 24px;
		align-items: flex-start;
		padding: 16px;
		border: none;
		border-radius: 12px;
		gap: 12px;
	}

	.delivery-faq.section {
		padding: 48px 0;
	}

	.delivery-faq .section-header {
		margin-bottom: 24px;
		gap: 12px;
	}

	.delivery-faq .section-title {
		font-size: 32px;
		line-height: 40px;
	}

	.delivery-faq .faq__description {
		font-size: 14px;
		line-height: 20px;
	}

	.delivery-faq .faq__list {
		gap: 12px;
	}

	.delivery-faq .faq-item {
		border: none;
		outline: 1px solid var(--border-light);
		outline-offset: -1px;
	}

	.delivery-faq .faq-item__header {
		padding: 16px;
		min-height: 0;
	}

	.delivery-faq .faq-item__content {
		flex: 1 1 0;
		min-width: 0;
	}
}

.ocf-theme-light .ocf-search-btn-static,
.ocf-theme-light .ocf-search-btn-popover,
.ocf-theme-light .ocf-search-btn-static.ocf-disabled,
.ocf-theme-light .ocf-search-btn-popover.ocf-disabled {
	background-color: var(--primary-dark);
	color: #fff;
}
 