/* Neoflora Theme Styles */

/* Скрытый для глаз, но в разметке для SEO и скринридеров (Яндекс: иерархия H1–H6) */
.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Geologica Font Family */
@font-face {
	font-family: 'Geologica';
	src: url('../fonts/Geologica-Thin.ttf') format('truetype');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geologica';
	src: url('../fonts/Geologica-ExtraLight.ttf') format('truetype');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geologica';
	src: url('../fonts/Geologica-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geologica';
	src: url('../fonts/Geologica-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geologica';
	src: url('../fonts/Geologica-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geologica';
	src: url('../fonts/Geologica-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geologica';
	src: url('../fonts/Geologica-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geologica';
	src: url('../fonts/Geologica-ExtraBold.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Geologica';
	src: url('../fonts/Geologica-Black.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Bebas Neue Cyrillic';
	src: url('../fonts/bebasneuecyrillic.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/* Reset and Base Styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Базовый размер для rem - 1rem = 16px */
html {
	font-size: 16px; /* Это база для всех rem */
}

body {
	font-family: 'Geologica', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	line-height: 1.6;
	color: #333;
	background-color: #fff;
	font-size: 1rem; /* = 16px (наследует от html) */
}

/* Все кнопки на сайте — шрифт Geologica */
button,
input[type="submit"],
input[type="button"],
.button,
.woocommerce .button,
.catalog-filter-apply,
.catalog-filter-reset,
.header-button,
.mobile-menu-button,
.cart-empty-button,
.account-content .woocommerce-button,
.account-content .woocommerce-form-login__submit,
.account-content .woocommerce-form-register__submit,
.page-thankyou-actions .button,
.page-thankyou-back .button {
	font-family: 'Geologica', sans-serif;
}

:root {
	--red-base: #6d070c;
}
.site-header {
	margin-top: 2.19rem;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
}

/* Хэдер на второстепенных страницах (не на главной) */
body:not(.home) .site-header {
	position: relative;
	margin-top: 0;
	height: 11.0625rem; /* 177px */
	background-image: url('../images/hero-bg.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Контейнер в хэдере на второстепенных страницах */
body:not(.home) .site-header .container {
	height: 100%;
	display: flex;
	align-items: center;
}


.hero {
	background-image: url('../images/hero-bg.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 49.88rem;
	position: relative;
	overflow: hidden;
}

.hero-bg-layer {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.6s ease-in-out;
	pointer-events: none;
}

.hero-bg-layer.is-active {
	opacity: 1;
}

.hero-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 49.88rem;
	padding: 2rem 0;
	position: relative;
	z-index: 1;
}

.hero-title {
	font-family: 'Bebas Neue Cyrillic', sans-serif;
	font-weight: 300;
	font-size: clamp(3rem, 12vw, 8rem);
	line-height: 1;
	letter-spacing: 0.4rem;
	text-align: center;
	color: #fff;
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

.hero-title-price {
	display: block;
	font-size: 0.8em;
	letter-spacing: 0.35rem;
}

/* Символ рубля: на iOS лучше рендерится системным шрифтом */
.hero-ruble {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", sans-serif;
	font-weight: 400;
}

.hero-title br {
	display: block;
}

.hero-content {
	margin-top: 6rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.hero-pagination {
	position: absolute;
	left: 50%;
	bottom: 1.5rem;
	transform: translateX(-50%);
	display: flex;
	gap: 0.9rem;
	z-index: 2;
}

.hero-dot {
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.9);
	background: rgba(255, 255, 255, 0.35);
	cursor: pointer;
	padding: 0;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.hero-dot.is-active {
	background: #fff;
	transform: scale(1.1);
}

.hero-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 5rem;
	padding: 0.45rem 2.3rem;
	min-height: 1em;
	line-height: 1;
	font-family: 'Bebas Neue Cyrillic', sans-serif;
	font-size: 2.9rem;
	letter-spacing: 0.2rem;
	color: #fff;
	background: transparent;
	border: 2px solid #fff;
	border-radius: 22rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
	-webkit-appearance: none;
	appearance: none;
}

.hero-cta-text {
	display: block;
	line-height: 1;
	/* Сдвиг вниз для выравнивания по центру (Bebas и др. — базовая линия на iOS/Android) */
	transform: translateY(0.11em);
	-webkit-transform: translateY(0.11em);
}

.hero-cta:hover {
	background: #fff;
	color: #6D070C;
	border-color: #fff;
}

/* Hero: адаптивность — на мобильных заголовки в 2 раза крупнее */
@media (max-width: 767px) {
	.hero,
	.hero-wrapper {
		height: auto;
		min-height: 38rem;
	}
	.hero-content {
		margin-top: 3rem;
		padding: 0 1rem;
	}
	.hero-title {
		font-size: clamp(4.2rem, 19vw, 8.5rem);
		letter-spacing: 0.25rem;
	}
	.hero-title-price {
		font-size: 0.75em;
	}
	.hero-cta {
		margin-top: 2.5rem;
		padding: 0.5rem 2rem;
		font-size: clamp(2.45rem, 10.5vw, 3.35rem);
		letter-spacing: 0.14rem;
	}
}

@media (max-width: 480px) {
	.hero,
	.hero-wrapper {
		min-height: 34rem;
	}
	.hero-content {
		margin-top: 2.5rem;
	}
	.hero-title {
		font-size: clamp(3.4rem, 16vw, 5.8rem);
		letter-spacing: 0.2rem;
	}
	.hero-title-price {
		font-size: 0.72em;
	}
	.hero-cta {
		margin-top: 2rem;
		padding: 0.45rem 1.7rem;
		font-size: clamp(2.1rem, 9.5vw, 2.85rem);
	}
}

/* Поиск в hero (главная): редирект на каталог */
.hero-search-form {
	display: flex;
	align-items: stretch;
	gap: 0;
	max-width: 32rem;
	width: 100%;
	background: #fff;
	border-radius: 0.75rem;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
	overflow: hidden;
}

.hero-search-input {
	flex: 1;
	padding: 1rem 1.25rem;
	border: none;
	border-radius: 0.75rem 0 0 0.75rem;
	font-family: 'Geologica', sans-serif;
	font-weight: 300;
	font-size: 1rem;
	color: #252525;
}

.hero-search-input::placeholder {
	color: #888;
}

.hero-search-input:focus {
	outline: none;
}

.hero-search-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 1rem 1.5rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0 0.75rem 0.75rem 0;
	font-family: 'Geologica', sans-serif;
	font-weight: 500;
	font-size: 1rem;
	cursor: pointer;
	transition: opacity 0.2s ease, background-color 0.2s ease;
}

.hero-search-submit:hover {
	opacity: 0.95;
}

.hero-search-submit svg {
	flex-shrink: 0;
}

.hero-search-submit-text {
	display: none;
}

@media (min-width: 480px) {
	.hero-search-submit-text {
		display: inline;
	}
}

/* Строка поиска + нав в section-catalog (главная): поиск слева, нав справа */
.section-catalog-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
}

.catalog-search-form {
	display: flex;
	align-items: stretch;
	gap: 0;
	max-width: 32rem;
	min-width: 12rem;
	flex: 0 1 auto;
	background: #fff;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	overflow: hidden;
}

.catalog-search-input {
	flex: 1;
	min-width: 0;
	padding: 0.9rem 1.25rem;
	border: none;
	font-family: 'Geologica', sans-serif;
	font-weight: 300;
	font-size: 1rem;
	color: #252525;
}

@media (min-width: 1024px) {
	.catalog-search-form {
		max-width: 48rem;
	}
	.catalog-search-input {
		font-size: 1.125rem;
		padding: 1rem 1.5rem;
	}
	.catalog-search-submit {
		font-size: 1.0625rem;
		padding: 1rem 1.5rem;
	}
}

.catalog-search-input::placeholder {
	color: #888;
}

.catalog-search-input:focus {
	outline: none;
}

.catalog-search-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.9rem 1.25rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	font-family: 'Geologica', sans-serif;
	font-weight: 500;
	font-size: 0.9375rem;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.catalog-search-submit:hover {
	opacity: 0.95;
}

.catalog-search-submit svg {
	flex-shrink: 0;
}

.catalog-search-submit-text {
	display: none;
}

@media (min-width: 480px) {
	.catalog-search-submit-text {
		display: inline;
	}
}

.section-catalog-top .catalog-nav {
	margin-left: auto;
	justify-content: flex-end;
}

/* На мобильных: строка поиска на главной на всю ширину, нав по центру */
@media (max-width: 767px) {
	.section-catalog-top .catalog-search-form {
		width: 100%;
		max-width: 100%;
		flex: 1 1 100%;
		min-width: 0;
	}
	.section-catalog-top .catalog-nav {
		justify-content: center;
	}
}

/* Выпадающий список подсказок поиска */
.search-suggestions-dropdown {
	position: fixed;
	background: #fff;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	max-height: 20rem;
	overflow-y: auto;
	font-family: 'Geologica', sans-serif;
}

.search-suggestions-item {
	display: block;
	padding: 0.65rem 1rem;
	font-size: 0.9375rem;
	color: #252525;
	text-decoration: none;
	border-bottom: 1px solid #f0f0f0;
	transition: background-color 0.15s ease;
}

.search-suggestions-item:last-child {
	border-bottom: none;
}

.search-suggestions-item:hover {
	background-color: #f8f8f8;
	color: var(--red-base);
}

.search-suggestions-item--all {
	font-weight: 500;
	color: var(--red-base);
	background-color: #fafafa;
}

.search-suggestions-item--all:hover {
	background-color: #f5f5f5;
}

.search-suggestions-item--empty {
	color: #888;
	cursor: default;
	pointer-events: none;
}

.search-suggestions-item--empty:hover {
	background-color: transparent;
	color: #888;
}

.container {
	max-width: 1770px;
	margin: 0 auto;
	padding: 0 75px;
}


.header-wrapper {
	display: flex;
	justify-content: space-between;
    align-items: center;
		width: 100%;
}

.header-left, .header-right {
	display: flex;
	gap: 2.19rem;
	align-items: center;
}

.header-link {
	font-weight: 300;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: var(--red-base);
	text-decoration: none;
	transition: opacity 0.2s ease;
	white-space: nowrap;
}

.header-buttons {
	display: flex;
	gap: 1.81rem;
}

.header-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	transition: all 0.2s ease;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

.header-button:hover {
	opacity: 0.8;
	transform: scale(1.05);
}

.header-button svg {
	width: 100%;
	height: 100%;
}
.site-header .header-button svg path {
	stroke: var(--red-base);
}

.site-header .container {
	background-color: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.header-cart {
	position: relative;
}

.header-cart-count {
	position: absolute;
	top: -0.25rem;
	right: -0.25rem;
	width: 1.25rem;
	height: 1.25rem;
	background: var(--red-base);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 0.75rem;
	line-height: 1;
}

.mobile-menu-cart-count {
	position: absolute;
	top: -0.25rem;
	right: -0.25rem;
	width: 1.25rem;
	height: 1.25rem;
	background: var(--red-base);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 0.75rem;
	line-height: 1;
}
.header-link:hover {
	opacity: 0.8;
}

.header-link--current {
	font-weight: 500;
}

/* Телефон в хедере: на десктопе в .header-right, на мобильном — рядом с бургером */
.header-phone--mobile {
	display: none;
}

.header-logo {
	height: 5rem;
    display: flex;
    align-items: center;
}



.header-logo img {
	max-width: 100%;
	height: 3.25rem;
	margin-top: 0;
}

/* Hamburger Menu Toggle */
.header-menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-around;
	width: 2rem;
	height: 2rem;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 101;
	position: relative;
}

.hamburger-line {
	width: 100%;
	height: 2px;
	background-color: var(--red-base);
	border-radius: 2px;
	transition: all 0.3s ease;
}

/* Mobile Menu — оверлей на весь экран, не зависит от родителя */
.mobile-menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100vw;
	min-width: 100vw;
	height: 100vh;
	height: 100dvh; /* динамическая высота viewport на мобильных */
	min-height: 100vh;
	min-height: 100dvh;
	background-color: rgba(0, 0, 0, 0.97);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.mobile-menu.active {
	opacity: 1;
	visibility: visible;
}

.mobile-menu-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	gap: 2rem;
	padding: 2rem;
	box-sizing: border-box;
	padding-top: 5rem;
}

.mobile-menu-link {
	font-weight: 300;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: #fff !important;
	text-decoration: none;
	transition: all 0.2s ease;
	position: relative;
}

.mobile-menu-link:hover {
	opacity: 0.9;
	color: #fff !important;
}

.mobile-menu-link--current {
	font-weight: 500;
}

.mobile-menu-buttons {
	display: flex;
	gap: 2rem;
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	flex-shrink: 0;
}

.mobile-menu-button {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	transition: all 0.2s ease;
	position: relative;
	flex-shrink: 0;
}

.mobile-menu-button:hover {
	opacity: 0.9;
	transform: scale(1.1);
}

.mobile-menu-button svg {
	width: 100%;
	height: 100%;
}

/* Иконки в мобильном меню — белые на тёмном фоне */
.mobile-menu .mobile-menu-button svg path {
	stroke: #fff;
}

/* Hamburger Animation */
.header-menu-toggle.active .hamburger-line:nth-child(1) {
	transform: rotate(45deg) translate(6px, 6px);
}

.header-menu-toggle.active .hamburger-line:nth-child(2) {
	opacity: 0;
}

.header-menu-toggle.active .hamburger-line:nth-child(3) {
	transform: rotate(-45deg) translate(7px, -7px);
}

/* ============================================
   SECTION CATALOG
   ============================================ */

.section-catalog {
	padding: 2.75rem 0;
}

.section-catalog-wrapper {
	display: flex;
	flex-direction: column;
	gap: 3.13rem;
}

/* Navigation */
.catalog-nav {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 2.25rem;
	flex-wrap: wrap;
	position: relative;
	padding-bottom: 0.5rem;
}

.catalog-nav::after {
	content: '';
	position: absolute;
	bottom: 0.5rem;
	left: 0;
	right: 0;
	height: 1px;
	background-color: rgba(109, 7, 12, 0.2);
}

.about-image-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items:center;
	justify-content: flex-start;
	width: 100%;
}

.about-image-wrapper-inner {
	height: 75rem;
}

.feature-cards-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	pointer-events: none;
}

.feature-cards-wrapper .feature-card {
	pointer-events: auto;
}

.catalog-nav-link {
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: var(--red-base);
	text-decoration: none;
	transition: all 0.2s ease;
	white-space: nowrap;
	position: relative;
	padding-bottom: 0.5rem;
	display: inline-block;
}

.catalog-nav-link::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 1px;
	background-color: rgba(109, 7, 12, 0.2);
	transition: all 0.2s ease;
}

.catalog-item-cart img {
	width: 1.5rem;
	height: 1.5rem;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.catalog-item-out-of-stock {
	color: #999;
	font-size: 0.875rem;
	font-weight: 300;
	text-align: center;
	padding: 0.5rem 0;
}

.catalog-nav-link:hover {
	opacity: 0.8;
}

.catalog-nav-link-active::after {
	height: 3px;
	background-color: var(--red-base);
}

/* Catalog Grid */
.catalog-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3.13rem;
}

.catalog-item {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.catalog-item-image-wrapper {
	position: relative;
	width: 100%;
	height: 36.88rem;
	border-radius: 1rem;
	overflow: hidden;
	background-color: #f5f5f5;
}

.catalog-item-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 1rem;
}

.catalog-item-favorite {
	position: absolute;
	top: 1.13rem;
	right: 1.13rem;
	width: 2.13rem;
	height: 2.13rem;
	padding: 0.4rem;
	height: 2.13rem;
	border-radius: 10rem;
	background: #f7f4ef80;
	border: none;
	cursor: pointer;
	display: flex;
	transition: all 0.2s ease;
	z-index: 10;
}

.catalog-item-favorite:hover {
	transform: scale(1.1);
	background: #fff;
}

.catalog-item-favorite img {
	width: 100%;
	height: 100%;
}

.catalog-item-favorite.active {
	opacity: 1;
}

.catalog-item-favorite.loading {
	opacity: 0.5;
	pointer-events: none;
}

.catalog-item-info {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.catalog-item-title {
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: 0;
	color: #2b2b2b;
	margin: 0;
	line-height: 1.2;
}

.catalog-item-title a {
	color: #2b2b2b;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.catalog-item-title a:hover {
	opacity: 0.8;
}

.catalog-item-image-wrapper a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.catalog-item-image-wrapper a img {
	transition: all 0.2s ease;
}

.catalog-item-image-wrapper a:hover img {
	transform: scale(1.02);
}

.catalog-item-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 2.25rem;
}

.catalog-item-price {
	font-weight: 200;
	font-size: 1.5rem;
	color: #252525;
}

/* Контейнер двух цен (акционная + старая): flex и gap между ними */
.catalog-item-price-inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* Акционные: акционная цена font-weight 300, обычная серым и перечёркнута (как на странице товара) */
.catalog-item-price .catalog-item-price-current,
.catalog-item-price .catalog-item-price-current .woocommerce-Price-amount {
	font-weight: 300;
}

.catalog-item-price .catalog-item-price-old,
.catalog-item-price .catalog-item-price-old .woocommerce-Price-amount {
	font-weight: 200;
	font-size: 1.25rem;
	color: #a0a0a0;
	text-decoration: line-through;
}

.catalog-item-cart {
	width: 3.75rem;
	height: 2.25rem;
	background-color: var(--red-base);
	border: none;
	border-radius: 0.75rem;
	cursor: pointer;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	padding: 0.38rem 1.25rem 0.38rem 1rem;
	visibility: visible !important;
	opacity: 1 !important;
}

.catalog-item-cart:hover {
	opacity: 0.9;
	transform: scale(1.05);
}


.featured-card {
	border-radius: 1rem;
padding: 3.5rem 1.75rem;
width: 22.5rem;
height: 27.38rem;
display: flex;
flex-direction: column;
gap: 2rem;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #fff;
z-index: 10;
}

/* Catalog Link */
.catalog-link-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
}

.catalog-link {
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: var(--red-base);
	text-decoration: underline;
	transition: all 0.2s ease;
}

.catalog-link:hover {
	opacity: 0.8;
}

/* ============================================
   SECTION ABOUT
   ============================================ */

.section-about {
	padding: 6.25rem 0;
}

.about-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
}

.about-content {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.about-title {
	font-weight: 400;
	font-size: 6rem;
	letter-spacing: -0.04em;
	line-height: 1.1;
	color: #2b2b2b;
	margin: 0;
}

.about-subtitle {
	font-weight: 200;
	font-size: 2rem;
	letter-spacing: -0.04em;
	line-height: 1.2;
	color: #2b2b2b;
	margin: 0;
	max-width: 47.75rem;
}



.about-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}

/* ============================================
   SECTION FEATURES
   ============================================ */

.section-features {
	padding: 6.25rem 0;
}

.features-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 3.13rem;
	max-width: 110.63rem;
	margin: 0 auto;
}

.feature-card {
	background-color: #f6f3ee;
	border-radius: 1rem;
	padding: 3.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	position: relative;
	height: 27.38rem;
	width: 22.5rem;
	height: 27.38rem;
	align-items: center;
	text-align: center;
	position: absolute;
	top: 4.38rem;
	left: 17.5rem;
	z-index: 10;
}

.feature-card.first {
	background-color: var(--red-base);
}

.feature-card.first .feature-icon-wrapper img{
	width: 3rem;
	height: 2.6875rem;
}

.feature-card.second .feature-icon-wrapper img{
	width: 2.9375rem;
	height: 3.25rem;
}

.feature-card.third .feature-icon-wrapper img{
	width: 3.3125rem;
	height: 3.3125rem;
}

.feature-card.fourth .feature-icon-wrapper img{
	width: 3.625rem;
	height: 3.75rem;
}

.feature-card.first .feature-content {
	color: #fff;
}

.feature-card.second {
	background-color: #f6f3ee;
	top: 13.19rem;
	right: 0;
	left: auto;
	color: #2b2b2b;
}

.feature-card.third {
	background-color: #f6f3ee;
	color: #2b2b2b;
	top: 40.13rem;
	left: 0;
}

.feature-card.fourth {
	background-color: #f6f3ee;
	color: #2b2b2b;
	top: 44.88rem;
	right: 28.06rem;
	left: auto;
}

.feature-icon-wrapper {
	width: 6.25rem;
	height: 6.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: #fff;
}

.feature-icon {
	width: 100%;
	height: 100%;
}

.feature-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	flex: 1;
}

.feature-title {
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: -0.04em;
	line-height: 1.2;
	margin: 0;
}


.feature-text {
	font-weight: 200;
	font-size: 1.25rem;
	letter-spacing: -0.04em;
	line-height: 1.4;
	margin: 0;
}

/* ============================================
   FOOTER
   ============================================ */

.site-footer {
	background-color: var(--red-base);
	color: #fff;
	padding: 4.38rem 0 2.5rem;
	position: relative;
	overflow: hidden;
}

.footer-top {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 3.13rem;
	margin-bottom: 3.13rem;
}

.footer-brand {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.footer-logo {
	display: block;
	width: 7.375rem;
	/* height: 2.1875rem; */
	text-decoration: none;
	color: inherit;
}

.footer-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.footer-tagline {
	font-weight: 200;
	font-size: 1rem;
	letter-spacing: 0;
	line-height: 1.4;
	margin: 0;
	color: #fff;
}

.footer-rating {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 0.75rem;
	border: 1px solid #fff;
	color: inherit;
	text-decoration: none;
	border-radius: 0.5rem;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.2s ease;
	width: fit-content;
}
.footer-rating:hover {
	opacity: 0.8;
}

.footer-rating-icon {
	width: 1.81rem;
	height: 1.81rem;
}

.footer-rating-text {
	font-weight: 400;
	font-size: 0.875rem;
	letter-spacing: 0;
	color: #fff;
}

.footer-rating-star {
	width: 1.31rem;
	height: 1.25rem;
}

.footer-links-group {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.footer-links-title {
	font-weight: 500;
	font-size: 1.25rem;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 0.5rem 0;
}

.footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.footer-link {
	font-weight: 200;
	font-size: 1rem;
	letter-spacing: 0;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.footer-link:hover {
	opacity: 0.8;
}

.footer-social {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	justify-content: flex-end;
}

.footer-social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	transition: all 0.2s ease;
}

.footer-social-link:hover {
	opacity: 0.8;
	transform: scale(1.1);
}

.footer-social-link img {
	width: 100%;
	height: 100%;
}

.footer-bottom {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 3.13rem;
	align-items: end;
	padding-top: 2.5rem;
}

.footer-copyright {
	font-weight: 200;
	font-size: 0.875rem;
	letter-spacing: 0;
	color: #fff;
}

.footer-legal-offer,
.footer-legal-privacy,
.footer-legal-consent {
	display: flex;
	align-items: center;
}
.footer-legal-privacy {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
}
.footer-legal-consent {
	align-items: flex-start;
}
.footer-legal-link-sub {
	font-size: 0.8rem;
	opacity: 0.9;
}

.footer-social-decorative {
	width: 9.625rem; /* 154px */
	height: 10.375rem; /* 166px */
	object-fit: contain;
	position: absolute;
	bottom: -1rem;
}

.footer-legal-link {
	font-weight: 200;
	font-size: 0.875rem;
	letter-spacing: 0;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.footer-legal-link:hover {
	opacity: 0.8;
}


/* ============================================
   SECTION FAQ
   ============================================ */

	 .section-faq {
		padding: 6.25rem 0;
		background-color: #fff;
	}
	
	.faq-wrapper {
		display: grid;
		grid-template-columns: 1fr 41.8125rem;
		gap: 6.25rem;
		align-items: start;
		max-width: 110.63rem;
		margin: 0 auto;
	}
	
	.faq-content {
		display: flex;
		flex-direction: column;
		gap: 3.75rem;
	}
	
	.faq-title {
		font-family: 'Geologica', sans-serif;
		font-weight: 400;
		font-size: 3.75rem;
		line-height: 1.2;
		color: #2b2b2b;
		margin: 0;
	}
	
	.faq-list {
		display: flex;
		flex-direction: column;
		gap: 0;
	}
	
	.faq-item {
		border-bottom: 1px solid var(--red-base);
		padding-bottom: 1.5rem;
		margin-bottom: 1.5rem;
	}
	
	.faq-item:last-child {
		border-bottom: none;
		margin-bottom: 0;
	}
	
	.faq-question {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: none;
		border: none;
		padding: 0;
		cursor: pointer;
		text-align: left;
		font-family: 'Geologica', sans-serif;
		font-weight: 400;
		font-size: 1.5rem;
		line-height: 1.4;
		color: #2b2b2b;
		margin-bottom: 1rem;
		transition: color 0.3s ease;
	}
	
	.faq-question:hover {
		color: var(--red-base);
	}
	
	.faq-question-text {
		flex: 1;
	}
	
	.faq-chevron {
		width: 1rem;
		height: 0.625rem;
		margin-left: 1rem;
		transition: transform 0.3s ease;
		flex-shrink: 0;
	}
	
	.faq-item-active .faq-chevron {
		transform: rotate(180deg);
	}
	
	.faq-answer {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease, margin-top 0.3s ease;
		margin-top: 0;
	}
	
	.faq-item-active .faq-answer {
		max-height: 500px;
		margin-top: 1rem;
	}
	
	.faq-answer p {
		font-family: 'Geologica', sans-serif;
		font-weight: 300;
		font-size: 1.125rem;
		line-height: 1.6;
		color: #2b2b2b;
		margin: 0;
	}
	
	.faq-images {
		display: flex;
		flex-direction: column;
		gap: 1.5rem;
	}
	
	.faq-image-top,
	.faq-image-bottom {
		width: 100%;
		overflow: hidden;
		border-radius: 1rem;
	}
	
	.faq-image-top {
		height: 39.94rem;
	}
	
	.faq-image-bottom {
		height: 12.5rem;
	}
	
	.faq-image-top img,
	.faq-image-bottom img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	

/* ============================================
   MEDIA QUERIES - Адаптивность
   ============================================ */

/* Большие десктопы (1920px и выше) */
@media (min-width: 1920px) {
	html {
		font-size: 16px; /* Увеличиваем базовый размер для больших экранов */
	}
	
	.container {
		max-width: 1920px;
		padding: 0 75px;
	}
	
	.faq-images {
		width: 41.8125rem; /* 669px */
	}
	
	/* Section Catalog для 1920px */
	.section-catalog {
		padding: 6.25rem 0; /* 100px */
	}
	
	.section-catalog-wrapper {
		gap: 3.13rem; /* 50px */
	}
	
	.catalog-nav {
		gap: 2.25rem; /* 36px */
	}
	
	.catalog-nav-link {
		font-size: 1.5rem; /* 24px */
	}
	
	.catalog-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 1.88rem; /* 50px */
	}
	
	.catalog-item {
		gap: 1.25rem; /* 20px */
	}
	
	.catalog-item-favorite {
		top: 1.13rem; /* 18px */
		right: 1.13rem; /* 18px */
		width: 1.88rem; /* 30px */
		height: 1.88rem; /* 30px */
	}
	
	.catalog-item-title {
		font-size: 1.5rem; /* 24px */
	}
	
	.catalog-item-price {
		font-size: 1.5rem; /* 24px */
	}
	
	.catalog-item-cart {
		width: 3.75rem; /* 60px */
		height: 2.25rem; /* 36px */
		border-radius: 0.75rem; /* 12px */
		padding: 0.38rem 1.25rem 0.38rem 1rem; /* 6px 20px 6px 16px */
	}
	
	
	.catalog-item-image-wrapper {
		height: 36.88rem; /* 590px */
	}
	
	/* About Section */
	
	.about-title {
		font-size: 6rem;
	}
	
	.about-subtitle {
		font-size: 2rem;
	}
	
	
	/* Features Section */
	.features-wrapper {
		gap: 3.13rem;
	}
	
}

/* Десктоп (1400px - 1919px) */
@media (max-width: 1919px) and (min-width: 1400px) {
	.catalog-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 1.88rem;
	}
	
	.catalog-item-image-wrapper {
		height: 32rem;
	}
}


/* Планшет (768px - 1399px) */
@media (max-width: 1600px) {
	html {
		font-size: 14px; /* Немного уменьшаем базовый размер */
	}
	
	.container {
		max-width: 100%;
		padding: 0 40px;
	}

	
	.header-link {
		font-size: 1.25rem; /* = 18.75px */
	}
	
	.catalog-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 2.5rem;
	}
	
	.catalog-item-image-wrapper {
		height: 30rem;
	}
	
	.catalog-nav {
		gap: 1.75rem;
	}
	
	.catalog-nav-link {
		font-size: 1.375rem;
	}
	
	.about-title {
		font-size: 4rem;
	}
	
	.about-subtitle {
		font-size: 1.5rem;
	}
	
	.about-image-wrapper {
		min-height: 30rem;
	}
	
	.about-image-wrapper-inner {
		height: 50rem;
	}
	
	.feature-card {
		width: 18rem;
		padding: 2.5rem 1.5rem;
		height: auto;
		min-height: 22rem;
	}
	
	.feature-card.first {
		top: 3rem;
		left: 12rem;
	}
	
	.feature-card.second {
		top: 10rem;
		right: 0;
	}
	
	.feature-card.third {
		top: 29.7rem;
		left: 0;
	}
	
	.feature-card.fourth {
		top: 32rem;
		right: 20rem;
	}
	
	/* Features Section */
	.features-wrapper {
		gap: 2rem;
	}
	
	
	.feature-title {
		font-size: 1.75rem;
	}
	
	.feature-text {
		font-size: 1.125rem;
	}
	
	/* Footer - небольшие изменения расстояний */
	.footer-top {
		gap: 2.5rem;
		margin-bottom: 2.5rem;
	}
	
	.footer-bottom {
		padding-top: 2rem;
		gap: 2.5rem;
	}
}

/* FAQ Media Queries */
@media (max-width: 1200px) {
	.about-image-wrapper-inner {
		height: 45rem;
	}
	
	.feature-card {
		width: 17rem;
		padding: 2.25rem 1.375rem;
		min-height: 21rem;
	}
	
	.feature-card.first {
		top: 2.75rem;
		left: 11rem;
	}
	
	.feature-card.second {
		top: 9rem;
		right: 0;
	}
	
	.feature-card.third {
		top: 26rem;
		left: 0;
	}
	
	.feature-card.fourth {
		top: 30rem;
		right: 17.5rem;
	}
	
	.faq-wrapper {
		gap: 4rem;
	}
	
	.faq-title {
		font-size: 3rem;
	}
}

@media (max-width: 991px) {
	html {
		font-size: 13px;
	}
	
	.header-logo {
		width: 10rem;
		height: 3rem;
	}
	
	.section-about {
		padding: 4rem 0;
	}
	
	.about-title {
		font-size: 3.5rem;
	}
	
	.about-subtitle {
		font-size: 1.375rem;
	}
	
	.about-image-wrapper-inner {
		height: 40rem;
	}
	
	.feature-cards-wrapper {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
		margin-top: 2rem;
		pointer-events: auto;
	}
	
	.feature-card {
		position: static;
		width: 100%;
		padding: 2rem 1.25rem;
		height: auto;
		gap: 1.5rem;
	}
	
	.feature-card.first,
	.feature-card.second,
	.feature-card.third,
	.feature-card.fourth {
		top: auto;
		left: auto;
		right: auto;
	}
	
	.feature-icon-wrapper {
		width: 5rem;
		height: 5rem;
	}
	
	.feature-title {
		font-size: 1.5rem;
	}
	
	.feature-text {
		font-size: 1rem;
	}

	.section-faq {
		padding: 4rem 0;
	}
	
	.faq-wrapper {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	
	.faq-images {
		order: -1;
	}
	
	.faq-image-top {
		height: 20rem;
	}
	
	.faq-image-bottom {
		height: 10rem;
	}
}

@media (max-width: 768px) {
	.feature-cards-wrapper {
		grid-template-columns: 1fr;
	}
	
	.feature-card {
		width: 100%;
	}
}

/* Мобильные устройства (до 767px) */
@media (max-width: 767px) {
	html {
		font-size: 12px; /* Еще меньше для мобильных */
	}
	
	/* Адаптивность высоты хэдера на второстепенных страницах */
	body:not(.home) .site-header {
		height: 7rem; /* 112px */
	}
	
	.container {
		padding: 0 20px;
	}

	.catalog-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}
	
	.catalog-item-image-wrapper {
		height: 28rem;
	}
	
	.catalog-nav {
		gap: 1.5rem;
	}
	
	.catalog-nav-link {
		font-size: 1.25rem;
	}
	
	/* About Section */
	.section-about {
		padding: 3rem 0;
	}

	.footer-social {
		justify-content: flex-start;
	}
	
	.about-wrapper {
		gap: 2rem;
	}
	
	.about-content {
		gap: 1rem;
		margin-bottom: 2rem;
	}
	
	.about-title {
		font-size: 2.5rem;
		line-height: 1.2;
	}
	
	.about-subtitle {
		font-size: 1.125rem;
		max-width: 100%;
	}
	
	.about-image-wrapper {
		min-height: 20rem;
		width: 100%;
	}
	
	.about-image-wrapper-inner {
		height: auto;
	}
	
	.feature-cards-wrapper {
		position: static;
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.5rem;
		margin-top: 2rem;
		pointer-events: auto;
	}
	
	.feature-card {
		position: static;
		width: 100%;
		max-width: 100%;
		margin-bottom: 0;
		padding: 2rem 1.5rem;
		height: auto;
	}
	
	.feature-card.first,
	.feature-card.second,
	.feature-card.third,
	.feature-card.fourth {
		top: auto;
		left: auto;
		right: auto;
	}
	
	.feature-icon-wrapper {
		width: 4.5rem;
		height: 4.5rem;
	}
	
	.feature-card.first .feature-icon-wrapper img {
		width: 2.5rem;
		height: 2.25rem;
	}
	
	.feature-card.second .feature-icon-wrapper img {
		width: 2.375rem;
		height: 2.625rem;
	}
	
	.feature-card.third .feature-icon-wrapper img {
		width: 2.625rem;
		height: 2.625rem;
	}
	
	.feature-card.fourth .feature-icon-wrapper img {
		width: 2.875rem;
		height: 3rem;
	}
	
	/* Features Section */
	.features-wrapper {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	
	
	.feature-title {
		font-size: 1.5rem;
	}
	
	.feature-text {
		font-size: 1rem;
	}
	
	/* Footer Mobile */
	.footer-top {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	
	.footer-bottom {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		align-items: flex-start;
	}
	
	.footer-legal-offer,
	.footer-legal-privacy,
	.footer-legal-consent {
		width: 100%;
	}
	
	/* Header Mobile */
	.header-wrapper {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 1rem 0;
	}
	
	.header-menu-toggle {
		display: flex;
		order: 3;
	}
	
	.header-phone--mobile {
		display: flex;
		align-items: center;
		order: 2;
		font-weight: 300;
		font-size: 1.1rem;
		letter-spacing: -0.02em;
		color: var(--red-base);
		text-decoration: none;
		white-space: nowrap;
		transition: opacity 0.2s ease;
	}
	.header-phone--mobile:hover {
		opacity: 0.8;
	}
	
	.header-left,
	.header-right {
		display: none;
	}
	
	.header-logo {
		order: 1;
		width: 12rem;
		height: 3.5rem;
		margin: 0;
	}
	
	.header-buttons {
		order: 2;
		gap: 1rem;
	}
	
	.header-button {
		width: 1.75rem;
		height: 1.75rem;
	}
	
	/* Mobile Menu: хедер и кнопка-бургер/крестик поверх оверлея меню (меню вне header — сиблинг) */
	.site-header {
		position: relative;
		z-index: 1001;
	}
	.site-header .container {
		position: relative;
		z-index: 1;
	}
	.mobile-menu {
		display: block;
	}
	.header-menu-toggle {
		z-index: 2;
	}

	.section-faq {
		padding: 3rem 0;
	}
	
	.faq-content {
		gap: 2rem;
	}
	
	.faq-title {
		font-size: 2rem;
	}
	
	.faq-question {
		font-size: 1.25rem;
	}
	
	.faq-answer p {
		font-size: 1rem;
	}
	
	.faq-image-top {
		height: 16rem;
	}
	
	.faq-image-bottom {
		height: 8rem;
	}
}

/* Маленькие мобильные (до 480px) */
@media (max-width: 480px) {
	html {
		font-size: 14px;
	}
	
	.container {
		padding: 0 15px;
	}
	
	.header-link {
		font-size: 1rem; /* = 14px */
	}
	
	.catalog-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	
	.catalog-item-image-wrapper {
		height: 24rem;
	}
	
	.catalog-nav {
		gap: 1rem;
		flex-direction: row;
	}
	
	.catalog-nav-link {
		font-size: 1.125rem;
	}
	
	.catalog-item-title {
		font-size: 1.25rem;
	}
	
	.catalog-item-price {
		font-size: 1.25rem;
	}
}

/* ============================================
   СТРАНИЦА ТОВАРА (SINGLE PRODUCT)
   ============================================ */

/* Основной контейнер страницы товара */
.product-page {
	padding: 2.75rem 0;
}

/* Breadcrumbs */
.product-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
	font-weight: 400;
	font-size: 1.25rem;
	color: #2b2b2b;
}

.product-breadcrumbs a {
	color: #A4A4A4;
	text-decoration: none;
	font-size: 1.25rem;
	transition: opacity 0.2s ease;
}

.product-breadcrumbs a:hover {
	color: var(--red-base);
}

.breadcrumbs-separator {
	color: #2b2b2b;
	margin: 0 1rem;
	width: 1.5rem;
	height: 1.5rem;
}

.breadcrumbs-separator svg {
	width: 1.5rem;
	height: 1.5rem;
}

.breadcrumbs-current {
	color: #2b2b2b;
	word-break: break-word;
	overflow-wrap: break-word;
}

/* Название товара в хлебных крошках (текущий элемент без ссылки) */
.product-breadcrumbs span:not(.breadcrumbs-separator):not(.breadcrumbs-current) {
	color: #2b2b2b;
	word-break: break-word;
	overflow-wrap: break-word;
}

.product-main {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3.13rem;
	margin-bottom: 6.25rem;
}

/* Галерея изображений */
.product-images {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.product-image-main {
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 1rem;
	background: #f5f5f5;
	position: relative;
}

.product-image-main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Блок с размерами поверх изображения */
.product-dimensions-overlay {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	z-index: 10;
}

.product-dimension-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	background: rgba(139, 69, 93, 0.95);
	backdrop-filter: blur(4px);
	padding: 0.5rem 0.75rem;
	border-radius: 0.5rem;
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 500;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.product-dimension-item svg {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	color: #ffffff;
}

.product-dimension-item span {
	white-space: nowrap;
}

.product-dimension-width svg {
	transform: rotate(0deg);
}

.product-dimension-height svg {
	transform: rotate(0deg);
}

.product-thumbnails {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}

.product-thumbnail {
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 1rem;
	border: 2px solid transparent;
	cursor: pointer;
	transition: all 0.2s ease;
	background: #f5f5f5;
}

.product-thumbnail:hover {
	opacity: 0.8;
}

.product-thumbnail.active {
	border-color: var(--red-base);
}

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

/* Информация о товаре */
.product-info {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.woocommerce div.product form.cart .button {
	font-family: 'Geologica', sans-serif;
	border-radius: 0.75rem;
	padding: 0.75rem 2.59rem;
	height: 3.38rem;
	background: var(--red-base);
	font-weight: 400;
	font-size: 1.5rem;
	color: #fff;
	text-transform: none;
}

/* Строка с заголовком, ценой и кнопками */
.product-header-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 2rem;
}

.product-title-price {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	flex: 1;
}

.product-title {
	font-weight: 400;
	font-size: 2.5rem;
	letter-spacing: 0;
	color: #2b2b2b;
	margin: 0;
	line-height: 1.2;
}

/* Цена */
.product-price-wrapper {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.product-price {
	font-weight: 500;
	font-size: 2rem;
	line-height: 150%;
	letter-spacing: 0.03em;
	color: #000;
}

.product-price-old {
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 133%;
	letter-spacing: 0.03em;
	text-decoration: line-through;
	color: #a0a0a0;
}

/* Бонусы */
.product-bonus {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	background: #f7f4ef;
	border-radius: 100rem;
	width: fit-content;
	position: relative;
	cursor: help;
}

.product-bonus-icon {
	width: .9rem;
	height: .9rem;
	flex-shrink: 0;
}

.woocommerce div.product form.cart {
	margin-bottom: 0;
}

.product-bonus-text {
	font-weight: 300;
	font-size: 1.125rem;
	line-height: 107%;
	color: #000;
	white-space: nowrap;
}

.product-bonus-info {
	width: 1.2rem;
	height: 1.2rem;
	display: block;
	flex-shrink: 0;
}

.product-bonus-tooltip {
	position: absolute;
	bottom: calc(100% + 0.75rem);
	left: 0;
	background: #F7F4EF;
	color: #444444;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	font-weight: 300;
font-size: 1rem;
line-height: 125%;
color: #444;
	white-space: normal;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
	z-index: 1000;
	max-width: 26.25rem;
	min-width: 20rem;
	text-align: left;
	box-shadow: 0 .25rem .25rem 0 rgba(0, 0, 0, 0.25);
	transform: translateY(-0.5rem);
}

/* .product-bonus-tooltip::before {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	border: 0.5rem solid transparent;
	border-top-color: #F7F4EF;
} */

.product-bonus:hover .product-bonus-tooltip {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Размеры */
.product-size-wrapper {
	display: flex;
	gap: 1.25rem;
}

.product-size-btn {
	width: 100%;
	padding: 0.75rem 1.5rem;
	border: 1px solid #E0E0E0;
	background: #fff;
	border-radius: 0.75rem;
	cursor: pointer;
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	color: #A0A0A0;
	transition: all 0.2s ease;
}

.product-size-btn:hover {
	border-color: #000;
	color: #000;
}

.product-size-btn.active {
	border-color: #000;
	background-color: #fff;
	color: #000;
}

/* Кнопки выбора размера для вариативных товаров */
.product-variation-wrapper {
	margin: 1.5rem 0;
}

.product-variation-label {
	display: block;
	font-weight: 500;
	margin-bottom: 0.75rem;
	color: #333;
	font-size: 1rem;
}

.product-variation-buttons {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.product-variation-btn {
	padding: 0.75rem 1.5rem;
	border: 1px solid #E0E0E0;
	background: #fff;
	border-radius: 0.75rem;
	cursor: pointer;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: -0.03em;
	color: #A0A0A0;
	transition: all 0.2s ease;
	min-width: 60px;
	text-align: center;
}

.product-variation-btn:hover {
	border-color: #000;
	color: #000;
}

.product-variation-btn.active {
	border-color: #000;
	background-color: #fff;
	color: #000;
}

/* Скрываем иконку лупы (zoom) и убираем ссылки вокруг изображений */
.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery__image .woocommerce-product-gallery__trigger,
a.woocommerce-product-gallery__trigger {
	display: none !important;
}

/* Убираем ссылки вокруг изображений в галерее */
.woocommerce-product-gallery__image a,
.woocommerce-product-gallery__image a img {
	pointer-events: none;
	cursor: default;
}

.woocommerce-product-gallery__image a {
	display: block;
}

.woocommerce-product-gallery__image a::after {
	display: none !important;
}

/* Действия */
.product-actions {
	display: flex;
	gap: 1.25rem;
	align-items: center;
	flex-shrink: 0;
}

.product-favorite-btn {
	width: 3rem;
	height: 3rem;
	background: rgba(232, 232, 232, 0.4);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	padding: 0;
	flex-shrink: 0;
}

.product-favorite-btn:hover {
	opacity: 0.8;
	transform: scale(1.05);
}

.product-favorite-btn img {
	width: 1.5rem;
	height: 1.5rem;
}

.product-favorite-btn.active {
	background: rgba(151, 0, 12, 0.1);
}

.product-favorite-btn.loading {
	opacity: 0.5;
	pointer-events: none;
}

.product-buy-btn {
	padding: 0.75rem 2rem;
	background-color: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.75rem;
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
	flex-shrink: 0;
}

.product-buy-btn:hover {
	opacity: 0.9;
}

/* Гарантия */

.product-guarantee p {
	font-weight: 300;
font-size: 1.25rem;
line-height: 120%;
letter-spacing: 0.03em;
color: #2b2b2b;
}

/* Особенности */
.product-features {
	display: flex;
	flex-direction: column;
	gap: .63rem;
}

.product-feature {
	display: flex;
	align-items: center;
	gap: .63rem;
	width: 16.88rem;
}

.product-feature-icon {
	width: 1.5rem;
	height: 1.5rem;
	flex-shrink: 0;
}

.product-feature span {
	flex: 1;
	font-weight: 400;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	color: #2b2b2b;
}

.product-feature-info {
	width: 1.2rem;
	height: 1.2rem;
	cursor: pointer;
	opacity: 0.6;
	transition: opacity 0.2s ease;
	flex-shrink: 0;
}

.product-feature-info:hover {
	opacity: 1;
}

.product-feature {
	position: relative;
}

.product-feature-tooltip {
	display: none;
	position: absolute;
	bottom: calc(100% + 0.75rem);
	left: 0;
	background: #F7F4EF;
	color: #444444;
	font-weight: 300;
	font-size: 1rem;
	line-height: 125%;
	padding: 0.75rem 1rem;
	border-radius: 0.75rem;
	box-shadow: 0 .25rem .25rem 0 rgba(0, 0, 0, 0.25);
	max-width: 26.25rem;
	min-width: 20rem;
	z-index: 1000;
	pointer-events: none;
	white-space: normal;
	text-align: left;
}

/* Детали товара (аккордеон) - стили из FAQ */
.product-details {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.product-detail-item {
	border-bottom: 1px solid var(--red-base);
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
}

.product-detail-item:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.product-detail-toggle {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	text-align: left;
	font-family: 'Geologica', sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 1.4;
	color: #2b2b2b;
	transition: color 0.3s ease;
}

.product-detail-toggle:hover {
	color: var(--red-base);
}

.product-detail-title {
	flex: 1;
}

.product-detail-chevron {
	width: 1rem;
	height: 0.625rem;
	margin-left: 1rem;
	transition: transform 0.3s ease;
	flex-shrink: 0;
}

.product-detail-item.active .product-detail-chevron {
	transform: rotate(180deg);
}

.product-detail-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease, margin-top 0.3s ease;
	margin-top: 0;
	white-space: pre-line;
	font-size: 1.25rem;
}

.product-detail-item.active .product-detail-content {
	max-height: 500px;
}

.product-detail-content p {
	font-family: 'Geologica', sans-serif;
	font-weight: 300;
	font-size: 1.125rem;
	line-height: 1.6;
	color: #2b2b2b;
	margin: 0;
}

.product-detail-content p:last-child {
	margin-bottom: 0;
}

/* Состав - отображение списка компонентов */
.product-detail-content ul,
.product-detail-content ol {
	margin: 0;
	padding-left: 1.5rem;
	font-family: 'Geologica', sans-serif;
	font-weight: 300;
	font-size: 1.125rem;
	line-height: 1.6;
	color: #2b2b2b;
}

.product-detail-content li {
	margin-bottom: 0.5rem;
}

.product-detail-content li:last-child {
	margin-bottom: 0;
}

/* Похожие товары */
.product-similar {
	margin-top: 6.25rem;
	padding-top: 3.13rem;
	border-top: 1px solid rgba(109, 7, 12, 0.2);
}

.product-similar-title {
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: var(--red-base);
	margin-bottom: 3.13rem;
	text-align: center;
}

.product-similar-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3.13rem;
}

.product-similar-item {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.product-similar-info {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.product-similar-image-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 1rem;
	overflow: hidden;
	background-color: #f5f5f5;
}

.product-similar-image-wrapper a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.product-similar-image-wrapper a:hover img {
	transform: scale(1.02);
}

.product-similar-image {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	border-radius: 1rem;
	transition: all 0.2s ease;
}

.product-similar-favorite {
	position: absolute;
	top: 1.13rem;
	right: 1.13rem;
	width: 2.13rem;
	height: 2.13rem;
	padding: 0.4rem;
	border-radius: 10rem;
	background: #f7f4ef80;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	z-index: 10;
}

.product-similar-favorite:hover {
	transform: scale(1.1);
	background: #fff;
}

.product-similar-favorite img {
	width: 100%;
	height: 100%;
}

.product-similar-favorite.active {
	opacity: 1;
}

.product-similar-favorite.loading {
	opacity: 0.5;
	pointer-events: none;
}

.product-similar-name {
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: 0;
	color: #2b2b2b;
	margin: 0;
	line-height: 1.2;
}

.product-similar-name a {
	color: #2b2b2b;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.product-similar-name a:hover {
	opacity: 0.8;
}

.product-similar-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 2.25rem;
}

.product-similar-price {
	font-weight: 200;
	font-size: 1.5rem;
	color: #2b2b2b;
}

.product-similar-cart {
	width: 3.75rem;
	height: 2.25rem;
	background-color: var(--red-base);
	border: none;
	border-radius: 0.75rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	padding: 0.38rem 1.25rem 0.38rem 1rem;
	text-decoration: none;
}

.product-similar-cart:hover {
	opacity: 0.9;
	transform: scale(1.05);
}

.product-similar-cart img {
	width: 1.5rem;
	height: 1.5rem;
}

/* Поле количества */
.quantity {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

.quantity-input-hidden {
	display: none !important;
}

.quantity input[type="number"] {
	width: 5rem;
	padding: 0.75rem;
	border: 1px solid rgba(109, 7, 12, 0.2);
	border-radius: 0.75rem;
	text-align: center;
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	color: #2b2b2b;
	background: #fff;
	transition: all 0.2s ease;
}

.quantity input[type="number"]:focus {
	outline: none;
	border-color: var(--red-base);
}

/* Адаптивность для страницы товара */
@media (max-width: 1024px) {
	.product-main {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	
	.product-similar-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	/* Адаптивность высоты хэдера на второстепенных страницах */
	body:not(.home) .site-header {
		height: 8rem; /* 128px */
	}
	
	.product-breadcrumbs {
		font-size: 1rem;
		gap: 0.375rem;
	}

	.footer-social-decorative {
		bottom: 2rem;
	}
	
	.product-breadcrumbs a {
		font-size: 1rem;
	}
	
	.breadcrumbs-separator {
		margin: 0 0.75rem;
	}
	
	.product-breadcrumbs span:not(.breadcrumbs-separator),
	.breadcrumbs-current {
		font-size: 1rem;
		word-break: break-word;
		overflow-wrap: break-word;
	}
	
	.product-header-row {
		flex-direction: column;
		gap: 1.25rem;
	}
	
	.product-title-price {
		width: 100%;
	}
	
	.product-actions {
		width: 100%;
		justify-content: flex-start;
	}
	
	.product-title {
		font-size: 1.5rem;
	}
	
	.product-price {
		font-size: 1.5rem;
	}
	
	.product-price-old {
		font-size: 1.25rem;
	}
	
	.product-buy-btn {
		flex: 1;
	}
	
	.product-similar-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	/* Адаптивность высоты хэдера на второстепенных страницах */
	body:not(.home) .site-header {
		height: 6rem; /* 96px */
	}
	
	.product-page {
		padding: 1rem 0;
	}
	
	.product-breadcrumbs {
		font-size: 0.875rem;
		margin-bottom: 1rem;
		flex-wrap: wrap;
		gap: 0.375rem;
		line-height: 1.4;
	}

	
	.product-breadcrumbs a {
		font-size: 0.875rem;
	}
	
	.breadcrumbs-separator {
		margin: 0 0.5rem;
		width: 1.125rem;
		height: 1.125rem;
		flex-shrink: 0;
	}
	
	.breadcrumbs-separator svg {
		width: 1.125rem;
		height: 1.125rem;
	}
	
	.product-breadcrumbs span:not(.breadcrumbs-separator),
	.breadcrumbs-current {
		font-size: 0.875rem;
		max-width: 100%;
		word-break: break-word;
		overflow-wrap: break-word;
	}
	
	.product-title {
		font-size: 1.25rem;
	}
	
	.product-price {
		font-size: 1.25rem;
	}
	
	.product-size-wrapper {
		flex-wrap: wrap;
	}
	
	.product-size-btn {
		flex: 1;
		min-width: 80px;
	}
}

/* ============================================
   СТРАНИЦА КАТАЛОГА С ФИЛЬТРАМИ
   ============================================ */

.section-catalog-page {
	padding: 2.75rem 0;
}

.catalog-page-wrapper {
	display: grid;
	grid-template-columns: 20rem 1fr;
	gap: 3.13rem;
	align-items: start;
}

/* Подгруппы группы «Комплекты» на главной каталога */
.catalog-subgroups {
	margin-bottom: 2.5rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #E0E0E0;
}

.catalog-subgroups-title {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: -0.03em;
	color: #2b2b2b;
	margin: 0 0 1rem 0;
}

.catalog-subgroups-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.catalog-subgroups-item {
	margin: 0;
}

.catalog-subgroups-link {
	display: inline-block;
	padding: 0.5rem 1rem;
	background: #fff;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-size: 0.9375rem;
	font-weight: 400;
	color: #2b2b2b;
	text-decoration: none;
	transition: border-color 0.2s, background 0.2s;
}

.catalog-subgroups-link:hover {
	border-color: #c9a86c;
	background: #faf8f5;
	color: #2b2b2b;
}

/* Фильтры */
.catalog-filters {
	position: sticky;
	top: 2rem;
}

.catalog-filters-form {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.catalog-filter-group {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.catalog-filter-title {
	font-weight: 500;
	font-size: 1.25rem;
	letter-spacing: -0.03em;
	color: #2b2b2b;
	margin: 0;
}

/* Поле поиска в сайдбаре каталога */
.catalog-filter-group-search {
	margin-bottom: 0;
}

.catalog-filter-search-input {
	width: 100%;
	padding: 0.5rem;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-family: 'Geologica', sans-serif;
	font-weight: 300;
	font-size: 0.875rem;
	color: #252525;
}

.catalog-filter-search-input::placeholder {
	color: #888;
}

.catalog-filter-search-input:focus {
	outline: none;
	border-color: var(--red-base);
}

.catalog-filter-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.catalog-filter-tag {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	background: #fff;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	cursor: pointer;
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
	transition: all 0.2s ease;
	position: relative;
}

.catalog-filter-tag:hover {
	border-color: var(--red-base);
	color: var(--red-base);
}

.catalog-filter-tag.active {
	background: var(--red-base);
	border-color: var(--red-base);
	color: #fff;
}

.catalog-filter-tag-add,
.catalog-filter-tag-remove {
	font-size: 1rem;
	line-height: 1;
	font-weight: 400;
	opacity: 0.7;
	display: inline-block;
	transition: transform 0.3s ease;
}

.catalog-filter-tag.active .catalog-filter-tag-remove {
	color: #fff;
	opacity: 1;
}

/* Анимация поворота плюсика при клике */
.catalog-filter-tag:active .catalog-filter-tag-add,
.catalog-filter-tag .catalog-filter-tag-add.rotated {
	transform: rotate(45deg);
}

/* Плавная анимация при наведении */
.catalog-filter-tag:hover .catalog-filter-tag-add {
	opacity: 1;
}

.catalog-filter-tag-color {
	padding-left: 0.75rem;
}

.catalog-filter-color-dot {
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 50%;
	flex-shrink: 0;
}

.catalog-filter-more {
	font-weight: 300;
	font-size: 0.875rem;
	color: var(--red-base);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.catalog-filter-more:hover {
	opacity: 0.8;
}

/* Фильтр цены */
.catalog-filter-price-range {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.catalog-filter-price-input {
	width: 100%;
	padding: 0.5rem;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
}

.catalog-filter-price-input:focus {
	outline: none;
	border-color: var(--red-base);
}

.catalog-filter-price-separator {
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
}

.catalog-filter-price-slider-wrapper {
	margin-top: 1rem;
	position: relative;
	height: 18px;
	padding: 7px 0;
	transition: opacity 0.2s ease;
}

.catalog-filter-price-slider-wrapper.slider-active {
	opacity: 1;
}

.catalog-filter-price-slider-track {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	height: 4px;
	background: #E0E0E0;
	border-radius: 2px;
	transition: background-color 0.2s ease;
	pointer-events: auto;
	cursor: pointer;
}

.catalog-filter-price-slider-wrapper.slider-active .catalog-filter-price-slider-track {
	background: #D0D0D0;
}

.catalog-filter-price-slider-range {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: 4px;
	background: var(--red-base);
	border-radius: 2px;
	z-index: 1;
	transition: left 0.12s ease, width 0.12s ease;
	pointer-events: none;
}

.catalog-filter-price-slider-wrapper.slider-active .catalog-filter-price-slider-range {
	height: 5px;
	box-shadow: 0 0 8px rgba(255, 0, 0, 0.3);
}

.catalog-filter-price-slider-handle {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	height: 18px;
	margin: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	pointer-events: auto;
	transition: transform 0.1s ease;
}

#price-slider-min {
	z-index: 3; /* Минимальный слайдер должен быть выше максимального */
}

#price-slider-max {
	z-index: 2; /* Максимальный слайдер ниже минимального */
}

.catalog-filter-price-slider-handle::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	background: var(--red-base);
	border: 2px solid #fff;
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	position: relative;
	/* Центрируем "кружок" по высоте относительно линии (track 4px, thumb 18px) */
	margin-top: -7px;
	transition: all 0.2s ease;
}

.catalog-filter-price-slider-handle:hover::-webkit-slider-thumb {
	transform: scale(1.15);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.catalog-filter-price-slider-handle::-moz-range-thumb {
	width: 18px;
	height: 18px;
	background: var(--red-base);
	border: 2px solid #fff;
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	-moz-appearance: none;
	border: none;
	transition: all 0.2s ease;
}

.catalog-filter-price-slider-handle:hover::-moz-range-thumb {
	transform: scale(1.15);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.catalog-filter-price-slider-handle::-webkit-slider-runnable-track {
	background: transparent;
	height: 4px;
}

.catalog-filter-price-slider-handle::-moz-range-track {
	background: transparent;
	height: 4px;
}

.catalog-filter-price-slider-handle:focus {
	outline: none;
}

.catalog-filter-price-slider-handle:focus::-webkit-slider-thumb {
	box-shadow: 0 0 0 3px rgba(255, 0, 0, 0.2), 0 3px 6px rgba(0, 0, 0, 0.3);
}

.catalog-filter-price-slider-handle:focus::-moz-range-thumb {
	box-shadow: 0 0 0 3px rgba(255, 0, 0, 0.2), 0 3px 6px rgba(0, 0, 0, 0.3);
}

.catalog-filter-price-slider-handle:active::-webkit-slider-thumb {
	transform: scale(1.2);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}

.catalog-filter-price-slider-handle:active::-moz-range-thumb {
	transform: scale(1.2);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}

/* Визуальное выделение активного слайдера (glow эффект) */
.catalog-filter-price-slider-handle.slider-handle-active::-webkit-slider-thumb {
	box-shadow: 0 0 0 4px rgba(255, 0, 0, 0.3), 0 0 12px rgba(255, 0, 0, 0.4), 0 2px 4px rgba(0, 0, 0, 0.2);
}

.catalog-filter-price-slider-handle.slider-handle-active::-moz-range-thumb {
	box-shadow: 0 0 0 4px rgba(255, 0, 0, 0.3), 0 0 12px rgba(255, 0, 0, 0.4), 0 2px 4px rgba(0, 0, 0, 0.2);
}

.catalog-filter-price-slider-handle.slider-handle-active:hover::-webkit-slider-thumb {
	box-shadow: 0 0 0 5px rgba(255, 0, 0, 0.35), 0 0 15px rgba(255, 0, 0, 0.5), 0 3px 6px rgba(0, 0, 0, 0.3);
}

.catalog-filter-price-slider-handle.slider-handle-active:hover::-moz-range-thumb {
	box-shadow: 0 0 0 5px rgba(255, 0, 0, 0.35), 0 0 15px rgba(255, 0, 0, 0.5), 0 3px 6px rgba(0, 0, 0, 0.3);
}

/* Чекбоксы фильтров */
.catalog-filter-checkbox-group {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.catalog-filter-checkbox {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	cursor: pointer;
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
	position: relative;
}

.catalog-filter-checkbox input[type="checkbox"],
.catalog-filter-checkbox input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.catalog-filter-checkbox-custom {
	width: 1.125rem;
	height: 1.125rem;
	border: 1px solid #E0E0E0;
	border-radius: 0.25rem;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: all 0.2s ease;
	position: relative;
	box-sizing: border-box;
}

.catalog-filter-checkbox input[type="checkbox"]:checked + .catalog-filter-checkbox-custom {
	background: var(--red-base);
	border-color: var(--red-base);
}

.catalog-filter-checkbox input[type="checkbox"]:checked + .catalog-filter-checkbox-custom::after {
	content: '✓';
	color: #fff;
	font-size: 0.75rem;
	line-height: 1;
}

/* Стили для radio кнопок - круглые с точкой */
.catalog-filter-checkbox input[type="radio"] + .catalog-filter-checkbox-custom {
	border-radius: 50%;
	box-sizing: border-box;
}

.catalog-filter-checkbox input[type="radio"]:checked + .catalog-filter-checkbox-custom {
	background: #fff;
	border-color: var(--red-base);
	border-width: 2px;
	box-sizing: border-box;
}

.catalog-filter-checkbox input[type="radio"]:checked + .catalog-filter-checkbox-custom::after {
	content: '';
	width: 0.625rem;
	height: 0.625rem;
	background: var(--red-base);
	border-radius: 50%;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.catalog-filter-checkbox-label {
	flex: 1;
}

.catalog-filter-count {
	font-weight: 400;
	color: #666;
	margin-left: auto;
}

/* Кнопки фильтров */
.catalog-filter-actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 1rem;
}

.catalog-filter-apply {
	padding: 0.75rem 1.5rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	font-family: 'Geologica', sans-serif;
	font-weight: 500;
	font-size: 1rem;
	cursor: pointer;
	transition: all 0.2s ease;
}

.catalog-filter-apply:hover {
	opacity: 0.9;
	transform: scale(1.02);
}

.catalog-filter-reset {
	padding: 0.75rem 1.5rem;
	background: #fff;
	color: #2b2b2b;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-family: 'Geologica', sans-serif;
	font-weight: 300;
	font-size: 1rem;
	text-align: center;
	text-decoration: none;
	transition: all 0.2s ease;
}

.catalog-filter-reset:hover {
	border-color: var(--red-base);
	color: var(--red-base);
}

/* Контент каталога */
.catalog-content {
	display: flex;
	flex-direction: column;
	gap: 3.13rem;
}

/* Активные фильтры (теги над контентом) */
.catalog-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.catalog-active-filter-tag {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	background: var(--red-base);
	color: #fff;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 0.875rem;
}

.catalog-active-filter-tag-remove {
	width: 1rem;
	height: 1rem;
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 0.75rem;
	color: var(--red-base);
	line-height: 1;
}

/* Пагинация */
.catalog-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	margin-top: 3rem;
}

.catalog-pagination .page-numbers {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.catalog-pagination .page-numbers li {
	display: inline-block;
}

.catalog-pagination .page-numbers a,
.catalog-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	font-weight: 400;
	font-size: 1rem;
	color: #2b2b2b;
	text-decoration: none;
	border-radius: 0.5rem;
	transition: all 0.2s ease;
}

.catalog-pagination .page-numbers a:hover {
	background: rgba(109, 7, 12, 0.1);
	color: var(--red-base);
}

.catalog-pagination .page-numbers .current {
	background: var(--red-base);
	color: #fff;
}

.catalog-empty {
	text-align: center;
	padding: 3rem;
	font-weight: 300;
	font-size: 1.25rem;
	color: #2b2b2b;
}

/* Адаптивность страницы каталога */
@media (max-width: 1024px) {
	.catalog-page-wrapper {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	
	.catalog-filters {
		position: static;
		max-height: none;
		overflow-y: visible;
		overflow-x: visible;
		padding-right: 0;
	}
	
	.catalog-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.catalog-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}
	
	.catalog-filters-form {
		gap: 1.5rem;
	}
}

@media (max-width: 480px) {
	.catalog-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   ЛИЧНЫЙ КАБИНЕТ
   ============================================ */

.account-page {
	padding: 2.75rem 0;
	background: #f7f4ef;
	min-height: calc(100vh - 11.0625rem);
}

.account-wrapper {
	display: grid;
	grid-template-columns: 20rem 1fr;
	gap: 3.13rem;
	align-items: start;
}

/* Обертка для формы входа (без боковой панели) */
.account-wrapper-login {
	grid-template-columns: 1fr;
	max-width: 500px;
	margin: 50px auto;
}

/* Левая панель - Профиль */
.account-sidebar {
	background: #fff;
	border-radius: 1rem;
	padding: 2rem;
	position: sticky;
	top: 2rem;
}

.account-profile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid rgba(109, 7, 12, 0.1);
	margin-bottom: 2rem;
}

.account-avatar {
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	background: var(--red-base);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1;
}

.account-name {
	font-weight: 400;
	font-size: 1.5rem;
	color: #2b2b2b;
	margin: 0;
	text-align: center;
}

.account-email {
	font-weight: 300;
	font-size: 0.875rem;
	color: #666;
	margin: 0;
}

.account-bonuses {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	position: relative;
}

.account-bonuses-label {
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
}

.account-bonuses-value {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	font-weight: 400;
	font-size: 0.875rem;
	color: var(--red-base);
}

.account-bonuses-icon {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.account-bonuses-refresh {
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	color: var(--red-base);
	opacity: 0.6;
	transition: opacity 0.2s ease, transform 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.25rem;
}

.account-bonuses-refresh:hover {
	opacity: 1;
	transform: rotate(180deg);
}

.account-bonuses-refresh:active {
	transform: rotate(180deg) scale(0.9);
}

.account-bonuses-refresh svg {
	width: 14px;
	height: 14px;
}

/* Навигация личного кабинета */
.account-nav {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.account-nav-link {
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 1rem;
	color: #2b2b2b;
	text-decoration: none;
	transition: all 0.2s ease;
}

.account-nav-link:hover {
	background: rgba(109, 7, 12, 0.05);
	color: var(--red-base);
}

.account-nav-link.active {
	background: var(--red-base);
	color: #fff;
}

.account-nav-logout {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(109, 7, 12, 0.1);
}

/* Основной контент */
.account-content {
	background: #fff;
	border-radius: 1rem;
	padding: 2rem;
}

.account-content-title {
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	color: #2b2b2b;
	margin: 0 0 2rem 0;
}

/* Заголовок и описание для страницы входа */
.account-page-title {
	font-weight: 500;
	font-size: 1.75rem;
	letter-spacing: -0.03em;
	color: #2b2b2b;
	margin: 0 0 0.5rem 0;
	text-align: center;
}

.account-page-description {
	font-weight: 300;
	font-size: 1rem;
	color: #666;
	margin: 0 0 2rem 0;
	text-align: center;
}

/* Стили для формы входа WooCommerce */
.account-content .woocommerce-form-login,
.account-content .woocommerce-form-register {
	max-width: 100%;
}

.account-content .woocommerce-form-login h2,
.account-content .woocommerce-form-register h2 {
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	color: #2b2b2b;
	margin: 0 0 1.5rem 0;
	text-align: left;
}

.account-content .woocommerce-form-row {
	margin-bottom: 1.5rem;
}

.account-content .woocommerce-form-row label {
	display: block;
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
	margin-bottom: 0.5rem;
}

.account-content .woocommerce-form-row label .required {
	color: var(--red-base);
}

.account-content .woocommerce-Input--text,
.account-content .input-text {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 1rem;
	color: #2b2b2b;
	background: #fff;
	transition: all 0.2s ease;
	box-sizing: border-box;
}

.account-content .woocommerce-Input--text:focus,
.account-content .input-text:focus {
	outline: none;
	border-color: var(--red-base);
}

.account-content .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
	cursor: pointer;
	margin-bottom: 1rem;
}

.account-content .woocommerce-form__input-checkbox {
	width: auto;
	margin: 0;
	cursor: pointer;
}

.account-content .woocommerce-button,
.account-content .woocommerce-form-login__submit,
.account-content .woocommerce-form-register__submit {
	width: 100%;
	padding: 0.75rem 2rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	font-weight: 500;
	font-size: 1rem;
	cursor: pointer;
	transition: all 0.2s ease;
	margin-top: 0.5rem;
}

.account-content .woocommerce-button:hover,
.account-content .woocommerce-form-login__submit:hover,
.account-content .woocommerce-form-register__submit:hover {
	opacity: 0.9;
	transform: scale(1.02);
}

.account-content .woocommerce-LostPassword {
	margin-top: 1rem;
	text-align: center;
}

.account-content .woocommerce-LostPassword a {
	color: var(--red-base);
	text-decoration: none;
	font-weight: 300;
	font-size: 0.875rem;
	transition: opacity 0.2s ease;
}

.account-content .woocommerce-LostPassword a:hover {
	opacity: 0.8;
	text-decoration: underline;
}

/* Ссылка на регистрацию */
.account-register-link {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(109, 7, 12, 0.1);
	text-align: center;
}

.account-register-link p {
	margin: 0;
	font-weight: 300;
	font-size: 0.875rem;
	color: #666;
}

.account-register-link a {
	color: var(--red-base);
	text-decoration: none;
	font-weight: 400;
	transition: opacity 0.2s ease;
}

.account-register-link a:hover {
	opacity: 0.8;
	text-decoration: underline;
}

/* Сообщения об ошибках и успехе */
.account-content .woocommerce-error,
.account-content .woocommerce-message,
.account-content .woocommerce-info {
	padding: 1rem;
	border-radius: 0.5rem;
	margin-bottom: 1.5rem;
	font-weight: 300;
	font-size: 0.875rem;
}

.account-content .woocommerce-error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.account-content .woocommerce-message {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.account-content .woocommerce-info {
	background: #d1ecf1;
	color: #0c5460;
	border: 1px solid #bee5eb;
}

/* Форма входа по телефону */
.neoflora-login-form {
	width: 100%;
}

.neoflora-login-step {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.neoflora-login-description {
	font-weight: 300;
	font-size: 0.875rem;
	color: #666;
	margin: 0 0 1rem 0;
}

.neoflora-login-field {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.neoflora-login-field label {
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
}

.neoflora-login-input {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 1rem;
	color: #2b2b2b;
	background: #fff;
	transition: all 0.2s ease;
	box-sizing: border-box;
}

.neoflora-login-input:focus {
	outline: none;
	border-color: var(--red-base);
}

.neoflora-login-btn {
	width: 100%;
	padding: 0.75rem 2rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	font-weight: 500;
	font-size: 1rem;
	cursor: pointer;
	transition: all 0.2s ease;
	margin-top: 0.5rem;
}

.neoflora-login-btn:hover {
	opacity: 0.9;
	transform: scale(1.02);
}

.neoflora-login-btn:disabled {
	background: #ccc;
	cursor: not-allowed;
	transform: none;
}

.neoflora-login-link {
	display: block;
	text-align: center;
	margin-top: 1rem;
	color: var(--red-base);
	background: none;
	border: none;
	cursor: pointer;
	text-decoration: underline;
	font-size: 0.875rem;
	font-weight: 300;
	padding: 0;
}

.neoflora-login-link:hover {
	opacity: 0.8;
}

.neoflora-login-message {
	margin-top: 1rem;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	display: none;
	font-weight: 300;
	font-size: 0.875rem;
}

.neoflora-login-message.success {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
	display: block;
}

.neoflora-login-message.error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
	display: block;
}

/* Адаптивность для формы входа */
@media (max-width: 768px) {
	.account-wrapper-login {
		max-width: 100% !important;
		margin: 20px auto !important;
	}
	
	.account-content {
		padding: 1.5rem;
	}
	
	.account-page-title {
		font-size: 1.5rem;
	}
}

/* Форма редактирования профиля */
.account-edit-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin-bottom: 2rem;
}

.account-edit-form-col {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.account-edit-form-group {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.account-edit-form-label {
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
}

.account-edit-form-input {
	padding: 0.75rem 1rem;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 1rem;
	color: #2b2b2b;
	background: #fff;
	transition: all 0.2s ease;
}

.account-edit-form-input:focus {
	outline: none;
	border-color: var(--red-base);
}

.account-edit-form-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 2rem;
}

.account-edit-form-submit {
	padding: 0.75rem 2rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	font-weight: 500;
	font-size: 1rem;
	cursor: pointer;
	transition: all 0.2s ease;
}

.account-edit-form-submit:hover {
	opacity: 0.9;
	transform: scale(1.02);
}

/* Страница заказов */
.account-orders-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.account-order-item {
	padding: 1.5rem;
	background: #f7f4ef;
	border-radius: 0.75rem;
	border: 1px solid rgba(109, 7, 12, 0.1);
}

.account-order-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1rem;
}

.account-order-info {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.account-order-number {
	font-weight: 500;
	font-size: 1.25rem;
	color: #2b2b2b;
	margin: 0;
}

.account-order-date {
	font-weight: 300;
	font-size: 0.875rem;
	color: #666;
	margin: 0;
}

.account-order-status {
	padding: 0.5rem 1.25rem;
	border-radius: 100rem;
	font-weight: 500;
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.account-order-status-yellow {
	background: #FFF9E6;
	color: #B8860B;
	box-shadow: 0 0 0 1px rgba(184, 134, 11, 0.15);
}

.account-order-status-green {
	background: #E6F7E6;
	color: #2E7D32;
	box-shadow: 0 0 0 1px rgba(46, 125, 50, 0.15);
}

.account-order-status-red {
	background: #FFE6E6;
	color: #C62828;
	box-shadow: 0 0 0 1px rgba(198, 40, 40, 0.15);
}

.account-order-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.account-order-products {
	font-weight: 300;
	font-size: 1rem;
	color: #2b2b2b;
	margin: 0;
}

.account-order-delivery {
	font-weight: 300;
	font-size: 0.9rem;
	color: #777;
	margin: 0;
}

.account-order-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.account-order-actions {
	display: flex;
	gap: 0.75rem;
}

.account-order-total {
	font-weight: 500;
	font-size: 1.25rem;
	color: #2b2b2b;
}

.account-order-action {
	padding: 0.5rem 1.5rem;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 0.875rem;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s ease;
	border: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
}

.account-order-repeat {
	background: #fff;
	color: var(--red-base);
	border: 1px solid var(--red-base);
}

.account-order-repeat:hover {
	background: var(--red-base);
	color: #fff;
}

.account-order-pay,
.account-order-view {
	background: var(--red-base);
	color: #fff;
	border: 1px solid var(--red-base);
}

.account-order-view:hover {
	background: #fff;
	color: var(--red-base);
}

/* Просмотр заказа (view-order) — читаемая вёрстка */
.view-order-header {
	margin-bottom: 2rem;
}

.view-order-meta {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-wrap: wrap;
	margin: 0;
	line-height: 1.5;
}

.view-order-date {
	color: var(--text-muted, #666);
	font-size: 1rem;
}

.view-order-status {
	display: inline-block;
	padding: 0.35rem 1rem;
	border-radius: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.view-order-status.order-status-red {
	background: rgba(180, 0, 0, 0.12);
	color: #a00;
	border: 1px solid rgba(180, 0, 0, 0.3);
}

.view-order-status.order-status-yellow {
	background: rgba(200, 140, 0, 0.12);
	color: #8b6914;
	border: 1px solid rgba(200, 140, 0, 0.35);
}

.view-order-status.order-status-green {
	background: rgba(0, 120, 60, 0.1);
	color: #06783c;
	border: 1px solid rgba(0, 120, 60, 0.25);
}

.view-order-updates,
.view-order-bouquet-photos {
	margin-top: 2.5rem;
}

.view-order-section-title {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0 0 1rem;
	color: inherit;
}

.view-order-notes {
	list-style: none;
	margin: 0;
	padding: 0;
}

.view-order-note {
	border-left: 3px solid var(--red-base, #c00);
	padding-left: 1rem;
	margin-bottom: 1.25rem;
	line-height: 1.5;
}

.view-order-note-date {
	display: block;
	font-size: 0.875rem;
	color: var(--text-muted, #666);
	margin-bottom: 0.35rem;
}

.view-order-note-content {
	margin: 0;
}

.view-order-bouquet-description {
	color: var(--text-muted, #666);
	font-size: 0.9375rem;
	margin: 0 0 1rem;
	line-height: 1.5;
}

.view-order-bouquet-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 1rem;
}

.view-order-bouquet-item {
	margin: 0;
}

.view-order-bouquet-link {
	display: block;
	border-radius: 0.75rem;
	overflow: hidden;
	background: #f5f5f5;
	aspect-ratio: 1;
}

.view-order-bouquet-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.view-order-bouquet-caption {
	font-size: 0.8125rem;
	color: var(--text-muted, #666);
	margin: 0.25rem 0 0;
}

/* Блок «Информация о заказе» (WooCommerce order-details) внутри ЛК */
.account-content .woocommerce-order-details {
	margin-top: 2.5rem;
	margin-bottom: 2rem;
}

.account-content .woocommerce-order-details__title {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0 0 1rem;
	color: inherit;
}

.account-content .woocommerce-table--order-details {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.account-content .woocommerce-table--order-details thead th {
	text-align: left;
	padding: 0.75rem 0;
	border-bottom: 2px solid #e5e5e5;
	font-weight: 600;
	color: inherit;
}

.account-content .woocommerce-table--order-details thead th.product-total {
	text-align: right;
}

.account-content .woocommerce-table--order-details tbody td {
	padding: 0.85rem 0;
	border-bottom: 1px solid #eee;
	vertical-align: top;
}

.account-content .woocommerce-table--order-details tbody td.product-total {
	text-align: right;
	font-weight: 500;
}

.account-content .woocommerce-table--order-details .product-name a {
	text-decoration: none;
	font-weight: 500;
}

.account-content .woocommerce-table--order-details .product-name a:hover {
	text-decoration: underline;
}

.account-content .woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: none;
	padding-top: 0.5rem;
	font-weight: 600;
	font-size: 1rem;
}

.account-content .woocommerce-table--order-details tfoot td {
	padding: 0.4rem 0;
	border: none;
}

.account-content .woocommerce-table--order-details tfoot .order-total td {
	padding-top: 0.75rem;
	border-top: 2px solid #e5e5e5;
}

/* Адреса (платёжный и доставки) в просмотре заказа */
.account-content .woocommerce-customer-details {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e5e5e5;
}

.account-content .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: "billing shipping";
	gap: 2rem;
	margin-top: 1rem;
	align-items: start;
}

.account-content .woocommerce-column--billing-address {
	grid-area: billing;
	min-width: 0;
}

.account-content .woocommerce-column--shipping-address {
	grid-area: shipping;
	min-width: 0;
}

@media (max-width: 768px) {
	.account-content .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
		grid-template-areas: "billing" "shipping";
	}
}

.account-content .woocommerce-column--billing-address,
.account-content .woocommerce-column--shipping-address {
	background: #fafafa;
	border-radius: 0.75rem;
	padding: 1.25rem;
	border: 1px solid #eee;
}

.account-content .woocommerce-column--billing-address .woocommerce-column__title,
.account-content .woocommerce-column--shipping-address .woocommerce-column__title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 0.75rem;
	color: inherit;
}

.account-content .woocommerce-customer-details address,
.account-content .woocommerce-customer-details p {
	font-style: normal;
	line-height: 1.6;
	margin: 0.25rem 0;
	font-size: 0.9375rem;
	color: var(--text-muted, #555);
}

.account-content .woocommerce-customer-details address {
	display: block;
}

.account-content .woocommerce-customer-details .woocommerce-customer-details--phone,
.account-content .woocommerce-customer-details .woocommerce-customer-details--email {
	margin-top: 0.5rem;
}

/* Страница избранного */
.account-favorites-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.account-favorite-item {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.account-favorite-image-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 0.75rem;
	overflow: hidden;
	background: #f5f5f5;
}

.account-favorite-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.account-favorite-remove {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 2rem;
	height: 2rem;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.account-favorite-remove:hover {
	background: var(--red-base);
	transform: scale(1.1);
}

.account-favorite-remove img {
	width: 1rem;
	height: 1rem;
}

.account-favorite-info {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.account-favorite-title {
	font-weight: 400;
	font-size: 1rem;
	color: #2b2b2b;
	margin: 0;
}

.account-favorite-title a {
	color: #2b2b2b;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.account-favorite-title a:hover {
	opacity: 0.8;
}

.account-favorite-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.account-favorite-price {
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
}

.account-favorite-cart {
	width: 1.75rem;
	height: 1.75rem;
	background: var(--red-base);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all 0.2s ease;
}

.account-favorite-cart:hover {
	opacity: 0.9;
	transform: scale(1.1);
}

.account-favorite-cart img {
	width: 1rem;
	height: 1rem;
}

.account-favorites-actions {
	display: flex;
	justify-content: flex-end;
}

.account-favorites-clear {
	padding: 0.75rem 1.5rem;
	background: #fff;
	color: #2b2b2b;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 0.875rem;
	cursor: pointer;
	transition: all 0.2s ease;
}

.account-favorites-clear:hover {
	border-color: var(--red-base);
	color: var(--red-base);
}

/* Страница адресов доставки */
.account-addresses-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.account-address-item {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 1.5rem;
	padding: 1.5rem;
	background: #f7f4ef;
	border-radius: 0.75rem;
	border: 1px solid rgba(109, 7, 12, 0.1);
	align-items: start;
}

.account-address-icon {
	width: 1.5rem;
	height: 1.5rem;
	flex-shrink: 0;
	margin-top: 0.25rem;
}

.account-address-content {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.account-address-name {
	font-weight: 500;
	font-size: 1rem;
	color: #2b2b2b;
	margin: 0;
}

.account-address-text {
	font-weight: 300;
	font-size: 0.875rem;
	color: #666;
	margin: 0;
	line-height: 1.4;
}

.account-address-comment {
	font-weight: 300;
	font-size: 0.75rem;
	color: #999;
	margin: 0;
}

.account-address-actions {
	display: flex;
	gap: 0.75rem;
	flex-shrink: 0;
}

.account-address-edit,
.account-address-delete {
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 0.875rem;
	cursor: pointer;
	transition: all 0.2s ease;
	border: none;
}

.account-address-edit {
	background: var(--red-base);
	color: #fff;
}

.account-address-edit:hover {
	opacity: 0.9;
}

.account-address-delete {
	background: #fff;
	color: var(--red-base);
	border: 1px solid var(--red-base);
}

.account-address-delete:hover {
	background: var(--red-base);
	color: #fff;
}

.account-address-add {
	padding: 0.75rem 1.5rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	font-weight: 500;
	font-size: 1rem;
	cursor: pointer;
	transition: all 0.2s ease;
}

.account-address-add:hover {
	opacity: 0.9;
	transform: scale(1.02);
}

/* Модальное окно адреса */
.account-address-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 1000;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.account-address-modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(4px);
	z-index: 1;
}

.account-address-modal-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	border-radius: 1rem;
	padding: 2rem;
	width: 90%;
	max-width: 31.25rem;
	z-index: 2;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	box-sizing: border-box;
	margin: 0;
	max-height: 90vh;
	overflow-y: auto;
}

.account-address-modal-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2rem;
	height: 2rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 50%;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.account-address-modal-close:hover {
	opacity: 0.9;
	transform: scale(1.1);
}

.account-address-modal-title {
	font-weight: 500;
	font-size: 1.5rem;
	color: #2b2b2b;
	margin: 0 0 1.5rem 0;
}

.account-address-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.account-address-form-group {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.account-address-form-label {
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
}

.account-address-form-input {
	padding: 0.75rem 1rem;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 1rem;
	color: #2b2b2b;
	background: #fff;
	transition: all 0.2s ease;
}

.account-address-form-input:focus {
	outline: none;
	border-color: var(--red-base);
}

.account-address-form-actions {
	display: flex;
	gap: 0.75rem;
	margin-top: 1rem;
}

.account-address-form-save {
	flex: 1;
	padding: 0.75rem 1.5rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	font-weight: 500;
	font-size: 1rem;
	cursor: pointer;
	transition: all 0.2s ease;
}

.account-address-form-save:hover {
	opacity: 0.9;
}

.account-address-form-delete {
	padding: 0.75rem 1.5rem;
	background: #fff;
	color: var(--red-base);
	border: 1px solid var(--red-base);
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 1rem;
	cursor: pointer;
	transition: all 0.2s ease;
}

.account-address-form-delete:hover {
	background: var(--red-base);
	color: #fff;
}

/* Модальное окно выхода */
.account-logout-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 1000;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.account-logout-modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(4px);
	z-index: 1;
}

.account-logout-modal-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	border-radius: 1rem;
	padding: 2rem;
	width: 90%;
	max-width: 25rem;
	z-index: 2;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	box-sizing: border-box;
	margin: 0;
}

.account-logout-modal-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2rem;
	height: 2rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 50%;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.account-logout-modal-close:hover {
	opacity: 0.9;
}

.account-logout-modal-title {
	font-weight: 500;
	font-size: 1.5rem;
	color: #2b2b2b;
	margin: 0 0 1rem 0;
}

.account-logout-modal-text {
	font-weight: 300;
	font-size: 1rem;
	color: #2b2b2b;
	margin: 0 0 1.5rem 0;
}

.account-logout-modal-actions {
	display: flex;
	gap: 0.75rem;
}

.account-logout-modal-btn {
	flex: 1;
	padding: 0.75rem 1.5rem;
	border-radius: 0.5rem;
	font-weight: 500;
	font-size: 1rem;
	cursor: pointer;
	transition: all 0.2s ease;
	text-decoration: none;
	text-align: center;
	border: none;
}

.account-logout-modal-btn-confirm {
	background: var(--red-base);
	color: #fff;
}

.account-logout-modal-btn-confirm:hover {
	opacity: 0.9;
}

.account-logout-modal-btn-cancel {
	background: #fff;
	color: var(--red-base);
	border: 1px solid var(--red-base);
}

.account-logout-modal-btn-cancel:hover {
	background: var(--red-base);
	color: #fff;
}

/* Страница лояльности */
.account-loyalty-info {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.account-loyalty-level-text {
	font-weight: 300;
	font-size: 1rem;
	color: #2b2b2b;
	margin: 0;
}

.account-loyalty-card {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	background: #f7f4ef;
	border-radius: 0.75rem;
	border: 1px dashed rgba(109, 7, 12, 0.3);
	position: relative;
}

.account-loyalty-card-left,
.account-loyalty-card-icon,
.account-loyalty-card-divider,
.account-loyalty-card-right,
.account-loyalty-card-badge,
.account-loyalty-card-brand,
.account-loyalty-card-level,
.account-loyalty-card-range {
	display: none;
}

.account-loyalty-card-full-image {
	display: block;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.account-empty {
	text-align: center;
	padding: 3rem;
	font-weight: 300;
	font-size: 1.25rem;
	color: #2b2b2b;
}

/* Адаптивность личного кабинета */
@media (max-width: 1024px) {
	.account-wrapper {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	
	.account-sidebar {
		position: static;
	}
	
	.account-favorites-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.account-edit-form-grid {
		grid-template-columns: 1fr;
	}
	
	.account-favorites-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.account-address-item {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	
	.account-address-actions {
		flex-direction: column;
		width: 100%;
	}
	
	.account-address-edit,
	.account-address-delete {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.account-favorites-grid {
		grid-template-columns: 1fr;
	}
	
	.account-loyalty-card {
		padding: 1.5rem;
	}
}

/* ============================================
   СТРАНИЦА КОРЗИНЫ
   ============================================ */

.cart-page {
	padding: 2.75rem 0;
	overflow-x: hidden;
}

.cart-wrapper {
	display: grid;
	grid-template-columns: 1fr 25rem;
	gap: 3.13rem;
	align-items: start;
}

/* Товары в корзине: min-width 0 чтобы колонка не раздувалась из-за Swiper */
.cart-items {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	min-width: 0;
	overflow-x: hidden;
}

/* Сообщение о пустой корзине */
.cart-empty {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 300px;
	padding: 3rem 1rem;
	text-align: center;
}

.cart-empty-content {
	max-width: 500px;
}

.cart-empty-title {
	font-size: 1.5rem;
	font-weight: 600;
	color: #333;
	margin-bottom: 1rem;
}

.cart-empty-text {
	font-size: 1rem;
	color: #666;
	margin-bottom: 2rem;
	line-height: 1.6;
}

.cart-empty-button {
	display: inline-block;
	padding: 0.875rem 2rem;
	background-color: var(--red-base, #6d070c);
	color: #fff;
	text-decoration: none;
	border-radius: 0.5rem;
	font-weight: 500;
	transition: background-color 0.2s ease;
}

.cart-empty-button:hover {
	background-color: #8a0a10;
	color: #fff;
}

.cart-items-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.cart-item {
	display: grid;
	grid-template-columns: 10rem 1fr auto;
	gap: 1.5rem;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid rgba(109, 7, 12, 0.1);
	border-radius: 1rem;
	position: relative;
}

.cart-item-image {
	width: 10rem;
	height: 10rem;
	border-radius: 0.75rem;
	overflow: hidden;
	background: #f5f5f5;
}

.cart-item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cart-item-content {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.cart-item-title {
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: 0;
	color: #2b2b2b;
	margin: 0;
	line-height: 1.2;
}

.cart-item-title a {
	color: #2b2b2b;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.cart-item-title a:hover {
	opacity: 0.8;
}

.cart-item-description {
	font-weight: 300;
	font-size: 0.875rem;
	line-height: 1.4;
	color: #666;
	margin: 0;
}

.cart-item-size {
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
	margin: 0;
}

.cart-item-composition {
	font-size: 0.875rem;
	color: #666;
	margin-top: 0.5rem;
	margin-bottom: 0;
	line-height: 1.4;
}

.cart-item-composition-title {
	font-weight: 500;
	color: #333;
	margin-right: 0.5rem;
}

.cart-item-composition-text {
	color: #666;
	font-weight: 300;
}

/* Стилизация стандартной иконки календаря браузера для input type="date" */
.checkout-date-input::-webkit-calendar-picker-indicator {
	cursor: pointer;
	opacity: 1;
	filter: brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%);
}

.checkout-date-input::-webkit-calendar-picker-indicator:hover {
	opacity: 0.7;
}

.cart-item-actions {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-top: auto;
}

.cart-item-quantity {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.cart-quantity-minus,
.cart-quantity-plus {
	width: 2rem;
	height: 2rem;
	border: 1px solid #E0E0E0;
	background: #fff;
	border-radius: 0.5rem;
	cursor: pointer;
	font-weight: 400;
	font-size: 1.25rem;
	color: #2b2b2b;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.cart-quantity-minus:hover,
.cart-quantity-plus:hover {
	border-color: var(--red-base);
	color: var(--red-base);
}

.cart-quantity-input {
	width: 3rem;
	height: 2rem;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	text-align: center;
	font-weight: 400;
	font-size: 1rem;
	color: #2b2b2b;
}

.cart-item-price {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.cart-item-price-old {
	font-weight: 400;
	font-size: 1rem;
	text-decoration: line-through;
	color: #a0a0a0;
}

.cart-item-price-current {
	font-weight: 500;
	font-size: 1.5rem;
	color: #2b2b2b;
}

.cart-item-remove {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
}

.cart-item-remove-btn {
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 50%;
	font-size: 1.5rem;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s ease;
}

.cart-item-remove-btn:hover {
	opacity: 0.8;
	transform: scale(1.1);
}

/* Секция "Добавить к букету" */
.cart-add-to-bouquet {
	margin-top: 3rem;
}

.cart-add-to-bouquet-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}
.cart-add-to-bouquet-title {
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	color: #252525;
	margin: 0;
}
.cart-add-to-bouquet-nav {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}

.cart-add-to-bouquet-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.cart-add-to-bouquet-item {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid rgba(109, 7, 12, 0.1);
	border-radius: 0.75rem;
}

.cart-add-to-bouquet-image {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 0.5rem;
	overflow: hidden;
	background: #f5f5f5;
	text-decoration: none;
}
.cart-add-to-bouquet-image:hover {
	opacity: 0.9;
}
.cart-add-to-bouquet-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.cart-add-to-bouquet-link {
	color: inherit;
	text-decoration: none;
}
.cart-add-to-bouquet-link:hover {
	color: var(--red-base, #6d070c);
	text-decoration: underline;
}

.cart-add-to-bouquet-info {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.cart-add-to-bouquet-name {
	font-weight: 400;
	font-size: 0.875rem;
	color: #2b2b2b;
	margin: 0;
	line-height: 1.2;
}
.cart-add-to-bouquet-name a {
	color: inherit;
}

.cart-add-to-bouquet-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.cart-add-to-bouquet-price {
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
}

.cart-add-to-bouquet-btn {
	width: 1.75rem;
	height: 1.75rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 50%;
	font-size: 1.25rem;
	line-height: 1;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.2s ease;
}

.cart-add-to-bouquet-btn:hover {
	opacity: 0.9;
	transform: scale(1.1);
}

/* Слайдер «Добавить к заказу» (Swiper): жёстко ограничиваем ширину и обрезаем переполнение */
.cart-add-to-bouquet {
	min-width: 0;
	overflow-x: hidden;
}
.cart-add-to-bouquet-swiper {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}
.cart-add-to-bouquet-swiper .swiper-wrapper {
	align-items: stretch;
}
.cart-add-to-bouquet-swiper .swiper-slide {
	height: auto;
	box-sizing: border-box;
	min-width: 0;
}
.cart-add-to-bouquet-swiper .swiper-slide .cart-add-to-bouquet-item {
	height: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
/* Стрелки навигации слайдера (в шапке справа от заголовка) */
.cart-add-to-bouquet .swiper-button-prev,
.cart-add-to-bouquet .swiper-button-next {
	position: static;
	width: 2.25rem;
	height: 2.25rem;
	margin: 0;
	top: auto;
	left: auto;
	right: auto;
	transform: none;
	border-radius: 50%;
	background: #fff;
	border: 1px solid rgba(109, 7, 12, 0.2);
	color: var(--red-base, #6d070c);
	box-shadow: 0 2px 6px rgba(0,0,0,0.08);
	transition: background 0.2s, border-color 0.2s;
}
.cart-add-to-bouquet .swiper-button-prev:after,
.cart-add-to-bouquet .swiper-button-next:after {
	font-size: 1.125rem;
	font-weight: 700;
}
.cart-add-to-bouquet .swiper-button-prev:hover,
.cart-add-to-bouquet .swiper-button-next:hover {
	background: rgba(109, 7, 12, 0.06);
	border-color: var(--red-base, #6d070c);
	color: var(--red-base, #6d070c);
}

/* Сводка заказа */
.cart-summary {
	position: sticky;
	top: 2rem;
}

.cart-summary-content {
	background: #fff;
	border: 1px solid rgba(109, 7, 12, 0.1);
	border-radius: 1rem;
	padding: 2rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.cart-summary-title {
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: -0.03em;
	color: #2b2b2b;
	margin: 0;
}

.cart-summary-details {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(109, 7, 12, 0.1);
}

.cart-summary-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.cart-summary-label {
	font-weight: 300;
	font-size: 1rem;
	color: #2b2b2b;
}

.cart-summary-value {
	font-weight: 400;
	font-size: 1rem;
	color: #2b2b2b;
}

.cart-summary-bonus {
	color: var(--red-base);
}

.cart-summary-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 1rem;
	border-top: 1px solid rgba(109, 7, 12, 0.1);
}

.cart-summary-total-label {
	font-weight: 500;
	font-size: 1.5rem;
	color: #2b2b2b;
}

.cart-summary-total-value {
	font-weight: 500;
	font-size: 1.5rem;
	color: #2b2b2b;
}

.cart-checkout-btn {
	padding: 1rem 2rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.75rem;
	font-weight: 500;
	font-size: 1.25rem;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s ease;
	display: block;
	width: 100%;
	font-family: inherit;
}

.cart-checkout-btn:hover {
	opacity: 0.9;
	transform: scale(1.02);
}

/* Адрес доставки в корзине */
.cart-delivery-address {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(109, 7, 12, 0.1);
}

.cart-delivery-address > div {
	display: flex;
	gap: 0.75rem;
	align-items: stretch;
}

.cart-delivery-address label {
	display: block;
	margin-bottom: 0.75rem;
	font-weight: 500;
	font-size: 1rem;
	color: #2b2b2b;
	letter-spacing: -0.01em;
}

.cart-delivery-address-input {
	flex: 1;
	padding: 0.875rem 1rem;
	border: 1px solid rgba(109, 7, 12, 0.15);
	border-radius: 0.75rem;
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
	transition: all 0.2s ease;
	background: #fff;
	min-width: 0;
}

.cart-delivery-address-input::placeholder {
	color: #999;
}

.cart-delivery-address-input:focus {
	outline: none;
	border-color: var(--red-base);
	box-shadow: 0 0 0 3px rgba(151, 0, 12, 0.1);
}

.cart-calculate-delivery-btn {
	padding: 0.875rem 1.5rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.75rem;
	cursor: pointer;
	font-weight: 500;
	font-size: 0.875rem;
	white-space: nowrap;
	transition: all 0.2s ease;
	font-family: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 120px;
}

.cart-calculate-delivery-btn:hover:not(:disabled) {
	opacity: 0.9;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(151, 0, 12, 0.2);
}

.cart-calculate-delivery-btn:active:not(:disabled) {
	transform: translateY(0);
}

.cart-calculate-delivery-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

#cart-delivery-info {
	margin-top: 0.75rem;
	padding: 1rem;
	background: linear-gradient(135deg, #f8f8f8 0%, #f5f5f5 100%);
	border-radius: 0.75rem;
	border: 1px solid rgba(109, 7, 12, 0.1);
	animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

#cart-delivery-cost {
	margin: 0;
	font-weight: 600;
	color: var(--red-base);
	font-size: 1rem;
	letter-spacing: -0.01em;
}

#cart-delivery-distance {
	margin: 0.5rem 0 0 0;
	font-size: 0.8125rem;
	color: #666;
	font-weight: 300;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

#cart-delivery-distance::before {
	content: '📍';
	font-size: 0.875rem;
}

.cart-delivery-address p {
	margin-top: 0.75rem;
	font-size: 0.8125rem;
	color: #666;
	font-weight: 300;
	line-height: 1.5;
}

.cart-delivery-address p a {
	color: var(--red-base);
	text-decoration: none;
	font-weight: 400;
	transition: opacity 0.2s ease;
}

.cart-delivery-address p a:hover {
	opacity: 0.8;
	text-decoration: underline;
}

/* Анимация спиннера загрузки */
@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* Улучшенный индикатор загрузки */
#cart-delivery-info .loading-spinner {
	width: 16px;
	height: 16px;
	border: 2px solid rgba(151, 0, 12, 0.2);
	border-top-color: var(--red-base);
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
	display: inline-block;
}

/* Подсказки для ввода адреса */
.cart-address-help-icon {
	display: inline-flex;
	align-items: center;
	color: #666;
	transition: opacity 0.2s ease;
}

.cart-address-help-icon:hover {
	opacity: 1;
}

.cart-address-hint {
	margin-top: 0.5rem;
	font-size: 0.8125rem;
	color: #666;
	font-weight: 300;
	opacity: 0.8;
	transition: opacity 0.2s ease;
}

.cart-delivery-address-input:focus ~ .cart-address-examples,
.cart-delivery-address-input:focus + .cart-address-examples {
	display: block;
}

.cart-address-examples {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 0.5rem;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid rgba(109, 7, 12, 0.15);
	border-radius: 0.75rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	z-index: 100;
}

.cart-delivery-address-input:focus + .cart-address-examples {
	display: block;
}

.cart-address-examples-title {
	font-size: 0.75rem;
	color: #999;
	margin-bottom: 0.5rem;
	font-weight: 400;
}

.cart-address-examples-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.cart-address-example {
	display: inline-block;
	padding: 0.5rem 0.75rem;
	background: #f8f8f8;
	border-radius: 0.5rem;
	font-size: 0.8125rem;
	color: #2b2b2b;
	cursor: pointer;
	transition: all 0.2s ease;
	border: 1px solid transparent;
}

.cart-address-example:hover {
	background: rgba(151, 0, 12, 0.05);
	border-color: rgba(151, 0, 12, 0.2);
	color: var(--red-base);
	transform: translateX(4px);
}

.cart-address-example:active {
	transform: translateX(2px);
}

/* Скрываем подсказку при фокусе на поле */
.cart-delivery-address-input:focus ~ .cart-address-hint,
.cart-delivery-address-input:not(:placeholder-shown) ~ .cart-address-hint {
	opacity: 0;
}

/* Показываем примеры только когда поле пустое */
.cart-delivery-address-input:not(:placeholder-shown) + .cart-address-examples {
	display: none;
}

/* Адаптивность для мобильных */
@media (max-width: 768px) {
	.cart-delivery-address > div {
		flex-direction: column;
	}
	
	.cart-calculate-delivery-btn {
		width: 100%;
		min-width: auto;
	}
	
	.cart-delivery-address-input {
		width: 100%;
	}
	
	.cart-address-examples {
		position: relative;
		margin-top: 0.75rem;
	}
}

/* Стили для примеров адресов на checkout */
.checkout-address-help-icon {
	display: inline-flex;
	align-items: center;
	color: #666;
	transition: opacity 0.2s ease;
}

.checkout-address-help-icon:hover {
	opacity: 1;
}

.checkout-address-hint {
	margin-top: 0.5rem;
	font-size: 0.8125rem;
	color: #666;
	font-weight: 300;
	opacity: 0.8;
	transition: opacity 0.2s ease;
}

.checkout-address-examples {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 0.5rem;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid rgba(109, 7, 12, 0.15);
	border-radius: 0.75rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	z-index: 100;
}

#checkout-address:focus ~ .checkout-address-examples {
	display: block;
}

.checkout-address-examples-title {
	font-size: 0.75rem;
	color: #999;
	margin-bottom: 0.5rem;
	font-weight: 400;
}

.checkout-address-examples-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.checkout-address-example {
	display: inline-block;
	padding: 0.5rem 0.75rem;
	background: #f8f8f8;
	border-radius: 0.5rem;
	font-size: 0.8125rem;
	color: #2b2b2b;
	cursor: pointer;
	transition: all 0.2s ease;
	border: 1px solid transparent;
}

.checkout-address-example:hover {
	background: rgba(151, 0, 12, 0.05);
	border-color: rgba(151, 0, 12, 0.2);
	color: var(--red-base);
	transform: translateX(4px);
}

.checkout-address-example:active {
	transform: translateX(2px);
}

#checkout-address:focus ~ .checkout-address-hint,
#checkout-address:not(:placeholder-shown) ~ .checkout-address-hint {
	opacity: 0;
}

#checkout-address:not(:placeholder-shown) ~ .checkout-address-examples {
	display: none;
}

/* Промокод */
.cart-promo {
	margin-top: 1rem;
}

.cart-promo-form {
	display: flex;
	gap: 0.75rem;
}

.cart-promo-input {
	flex: 1;
	padding: 0.75rem 1rem;
	border: 1px solid #E0E0E0;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 0.875rem;
	color: #2b2b2b;
}

.cart-promo-input:focus {
	outline: none;
	border-color: var(--red-base);
}

.cart-promo-btn {
	padding: 0.75rem 1.5rem;
	background: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	font-weight: 400;
	font-size: 0.875rem;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
}

.cart-promo-btn:hover {
	opacity: 0.9;
}

/* Адаптивность корзины */
@media (max-width: 1024px) {
	.cart-wrapper {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	
	.cart-summary {
		position: static;
	}
	
	.cart-add-to-bouquet-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.cart-item {
		grid-template-columns: 8rem 1fr auto;
		gap: 1rem;
		padding: 1rem;
	}
	
	.cart-item-image {
		width: 8rem;
		height: 8rem;
	}
	
	.cart-item-actions {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}
	
	.cart-add-to-bouquet-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.cart-item {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	
	.cart-item-image {
		width: 100%;
		height: 12rem;
	}
	
	.cart-item-remove {
		top: 1rem;
		right: 1rem;
	}
	
	.cart-add-to-bouquet-grid {
		grid-template-columns: 1fr;
	}
}

/* Уведомления (тосты в правом нижнем углу) */
.neoflora-toast-container {
	position: fixed;
	right: 2rem;
	bottom: 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	z-index: 10000;
	pointer-events: none;
}

.neoflora-notification {
	position: relative;
	padding: 1rem 1.5rem;
	background: #2b2b2b;
	color: #fff;
	border-radius: 0.5rem;
	font-weight: 300;
	font-size: 0.875rem;
	opacity: 0;
	transform: translateY(0.75rem);
	transition: opacity 0.3s ease, transform 0.3s ease;
	box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2);
	pointer-events: auto;
	max-width: 22rem;
}

.neoflora-notification.show {
	opacity: 1;
	transform: translateY(0);
}

.neoflora-notification-success {
	background: #2E7D32;
}

.neoflora-notification-error {
	background: #C62828;
}

.neoflora-notification-info {
	background: #1976D2;
}

.neoflora-notification-content a {
	color: #fff;
	text-decoration: underline;
}

/* Скрываем стандартные сообщения WooCommerce (они конвертируются в тосты) */
.woocommerce-message:not(.account-content .woocommerce-message),
.woocommerce-error:not(.account-content .woocommerce-error),
.woocommerce-info:not(.account-content .woocommerce-info) {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Скрываем ссылки "Просмотр корзины" в карточках товаров */
.catalog-item a[href*="cart"],
.catalog-item a[href*="корзин"] {
	display: none !important;
	visibility: hidden !important;
}

/* Скрываем любые сообщения WooCommerce внутри карточек товаров */
.catalog-item .woocommerce-message,
.catalog-item .woocommerce-error,
.catalog-item .woocommerce-info {
	display: none !important;
	visibility: hidden !important;
}

.neoflora-notification-close {
	position: absolute;
	top: 0.4rem;
	right: 0.6rem;
	border: none;
	background: transparent;
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0.8;
	padding: 0;
}

.neoflora-notification-close:hover {
	opacity: 1;
}

/* ============================================
   PAGE ABOUT
   ============================================ */

.page-about-main {
	background-color: var(--red-base);
	padding: 11.0625rem 0 6.25rem;
	min-height: calc(100vh - 11.0625rem);
	position: relative;
	background-image: url(../images/hero-bg.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.page-about-main-panel {
	position: relative;
	width: 100%;
	max-width: 1770px;
	margin: 0 auto;
}

.page-about-main-content {
	background-color: #fff;
    overflow: hidden;
    display: flex;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    /* min-height: 50rem; */
    position: relative;
    flex-direction: row;
}

.page-about-image-section {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 63.06rem;
}

.page-about-image {
	width: 62.94rem;
	height: 62.94rem;
	object-fit: cover;
	position: absolute;
	left: -10rem;
	right: 0rem;
	bottom: 0rem;
}

.page-about-text-section {
	padding: 4rem 4rem 6.69rem 0rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 2rem;
	width: 59.5rem;
}

.page-about-main-title {
	font-weight: 400;
	font-size: 6rem;
	letter-spacing: -0.04em;
	line-height: 1.2;
	color: #2b2b2b;
	margin: 0;
}

.page-about-main-text {
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
}

.page-about-main-text p {
	font-weight: 200;
font-size: 1.5rem;
line-height: 120%;
letter-spacing: -0.04em;
color: #2b2b2b;
}

.page-about-rating-block {
	border: 1px solid #e8e8e8;
border-radius: 0.75rem;
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
padding: 1.88rem 1.5rem;
background: #f7f4ef;
}

.page-about-rating-block svg path {
	fill: var(--red-base);
}

.page-about-rating-icon {
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page-about-rating-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.page-about-rating-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.page-about-rating-title-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.page-about-rating-text-main {
	font-weight: 400;
font-size: 1.75rem;
line-height: 120%;
color: #000;
}

.page-about-rating-star {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
}

.page-about-rating-description {
	font-weight: 300;
font-size: 1.5rem;
line-height: 120%;
color: #000;
}

/* Responsive для страницы О нас */

/* 1600px - большие экраны с уменьшенными отступами */
@media (max-width: 1600px) {
	.page-about-main-content {
		flex-direction: row;
	}
	
	.page-about-image-section {
		width: 50rem;
	}
	
	.page-about-image {
		width: 50rem;
		height: 50rem;
		left: -8rem;
	}
	
	.page-about-text-section {
		padding: 3.5rem 3rem 5rem 0;
		width: calc(100% - 50rem);
	}
	
}

/* 1400px - средние большие экраны */
@media (max-width: 1400px) {
	.page-about-image-section {
		width: 45rem;
	}
	
	.page-about-image {
		width: 45rem;
		height: 45rem;
		left: -7rem;
	}
	
	.page-about-text-section {
		padding: 3.5rem 2.5rem 5rem 0;
		width: calc(100% - 45rem);
	}
	
}

/* 1200px - планшеты ландшафт, переход на одну колонку */
@media (max-width: 1200px) {
	.page-about-main {
		padding: 11.0625rem 0 5rem;
	}
	
	.page-about-main-content {
		flex-direction: column;
	}
	
	.page-about-image-section {
		width: 100%;
		height: 40rem;
	}
	
	.page-about-image {
		width: 100%;
		height: 100%;
		position: relative;
		left: 0;
		right: 0;
		bottom: 0;
		border-radius: 3rem 0 0 0;
		object-fit: cover;
	}
	
	.page-about-text-section {
		padding: 3.5rem 3.5rem 4rem;
		width: 100%;
		gap: 2.5rem;
	}
	
	.page-about-main-title {
		font-size: 5rem; /* Уменьшаем для планшетов */
	}
	
	.page-about-rating-block {
		padding: 1.75rem 2rem;
	}
}

/* 991px - планшеты портрет */
@media (max-width: 991px) {
	.page-about-main {
		padding: 11.0625rem 0 4rem;
	}
	

	

	
	.page-about-image-section {
		height: 35rem;
	}
	
	.page-about-image {
		border-radius: 2rem 0 0 0;
	}
	
	.page-about-text-section {
		padding: 3rem 2.5rem 3.5rem;
		gap: 2rem;
	}
	
	.page-about-main-title {
		font-size: 4.5rem; /* Уменьшаем для планшетов портрет */
	}
	
	.page-about-main-text {
		gap: 1rem;
	}
	
	.page-about-rating-block {
		padding: 1.5rem 1.75rem;
	}
	
	.page-about-rating-icon {
		width: 2.25rem;
		height: 2.25rem;
	}
}

/* 768px - мобильные устройства ландшафт */
@media (max-width: 768px) {
	.page-about-main {
		padding: 11.0625rem 0 3rem;
	}
	

	

	
	.page-about-image-section {
		height: 30rem;
	}
	
	.page-about-image {
		border-radius: 1.5rem 0 0 0;
	}
	
	.page-about-text-section {
		padding: 2.5rem 1.75rem 3rem;
		gap: 1.75rem;
	}
	
	.page-about-main-title {
		font-size: 4rem; /* Уменьшаем для мобильных, чтобы слово поместилось */
		line-height: 1.15;
	}
	
	.page-about-main-text {
		gap: 0.875rem;
	}
	
	.page-about-main-text p {
		font-size: 1rem;
		line-height: 1.5;
	}
	
	.page-about-rating-block {
		padding: 1.25rem 1.5rem;
		gap: 0.875rem;
	}
	
	.page-about-rating-icon {
		width: 2rem;
		height: 2rem;
	}
	
	.page-about-rating-text-main {
		font-size: 1.125rem;
	}
	
	.page-about-rating-description {
		font-size: 1rem;
		line-height: 1.4;
	}
}

/* 600px - мобильные устройства средние */
@media (max-width: 600px) {
	.page-about-main {
		padding: 11.0625rem 0 2.5rem;
	}
	
	.page-about-image-section {
		height: 25rem;
	}
	
	.page-about-text-section {
		padding: 2rem 1.75rem 2.5rem;
		gap: 1.5rem;
	}
	
	.page-about-main-title {
		font-size: 3.5rem; /* Уменьшаем для средних мобильных */
	}
	
	.page-about-rating-block {
		padding: 1.125rem 1.25rem;
	}
	
	.page-about-rating-text-main {
		font-size: 1rem;
	}
	
	.page-about-rating-description {
		font-size: 0.9375rem;
	}
}

/* 480px - мобильные устройства малые */
@media (max-width: 480px) {
	/* Увеличиваем базовый размер шрифта для лучшей читаемости, как на главной странице */
	html {
		font-size: 14px;
	}
	
	.page-about-main {
		padding: 11.0625rem 0 2rem;
	}
	

	

	
	.page-about-image-section {
		height: 22rem;
	}
	
	.page-about-image {
		border-radius: 1rem 0 0 0;
	}
	
	.page-about-text-section {
		padding: 1.75rem 1.25rem 2rem;
		gap: 1.25rem;
	}
	
	.page-about-main-title {
		font-size: 3rem; /* Уменьшаем для маленьких мобильных, чтобы слово поместилось */
		line-height: 1.2;
	}
	
	.page-about-main-text {
		gap: 0.75rem;
	}
	
	.page-about-main-text p {
		line-height: 1.5;
	}
	
	.page-about-rating-block {
		padding: 1rem 1.125rem;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.625rem;
	}
	
	.page-about-rating-icon {
		width: 1.75rem;
		height: 1.75rem;
	}
	
	.page-about-rating-description {
		line-height: 1.4;
	}
}

/* 360px - очень маленькие экраны */
@media (max-width: 360px) {
	.page-about-main {
		padding: 11.0625rem 0 1.5rem;
	}
	

	
	.page-about-image-section {
		height: 20rem;
	}
	
	.page-about-text-section {
		padding: 1.5rem 1rem 1.75rem;
		gap: 1rem;
	}
	
	.page-about-main-title {
		font-size: 2.75rem; /* Уменьшаем для очень маленьких экранов */
	}
	
	.page-about-rating-block {
		padding: 0.875rem 1rem;
	}
	
	.page-about-rating-icon {
		width: 1.5rem;
		height: 1.5rem;
	}
}

/* ============================================
   PAGE DELIVERY
   ============================================ */

.page-delivery-main {
	background-color: var(--red-base);
	padding: 11.0625rem 0 6.25rem;
	min-height: calc(100vh - 11.0625rem);
	position: relative;
	background-image: url(../images/hero-bg.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.page-delivery-main-panel {
	position: relative;
	width: 100%;
	max-width: 1770px;
	margin: 0 auto;
}

.page-delivery-main-content {
	background-color: #fff;
	overflow: hidden;
	border-radius: 0;
	padding: 60px;
	position: relative;
}

.page-delivery-title {
	font-weight: 400;
	font-size: 6rem;
	letter-spacing: -0.04em;
	line-height: 1.2;
	color: #2b2b2b;
}


.page-delivery-left-content {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding: 20px;
	background-color: var(--red-base);
	border: 1px solid #e8e8e8;
border-radius: 0.75rem;
background: #f7f4ef;
}

.page-delivery-content-wrapper {
	display: grid;
	grid-template-columns: 507px 1fr;
	gap: 148px;
	align-items: flex-start;
}

.page-delivery-left-section {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.page-delivery-right-section {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.page-delivery-section-title {
	font-weight: 500;
font-size: 2rem;
line-height: 115%;
color: #2b2b2b;
}

.page-delivery-description {
	font-weight: 200;
font-size: 1.5rem;
line-height: 115%;
color: #2b2b2b;
}

/* Форма калькулятора */
.page-delivery-calculator {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.page-delivery-form-group {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}

.page-delivery-label {
	font-weight: 400;
	font-size: 1.125rem;
	line-height: 162%;
	color: #2b2b2b;
}

.page-delivery-input {
	width: 100%;
	border: 1.04px solid #e8e8e8;
border-radius: 0.75rem;
padding: 1.06rem 1rem;
width: 100%;
height: 3.63rem;
	color: #2b2b2b;
	font-weight: 200;
	font-size: 1.25rem;
		color: #2b2b2b;
	background-color: #fff;
	transition: border-color 0.2s ease;
	font-family: 'Geologica', sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page-delivery-input:focus {
	outline: none;
	border-color: var(--red-base);
}

.page-delivery-input::placeholder {
	font-weight: 200;
font-size: 1.25rem;
	color: #2b2b2b;
}

.page-delivery-hint {
	font-weight: 300;
	font-size: 0.875rem;
	line-height: 1.4;
	color: #666;
	margin-top: -0.25rem;
}

.page-delivery-checkbox-label {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	cursor: pointer;
	user-select: none;
}

.page-delivery-checkbox {
	border: 1px solid var(--red-base);
border-radius: 0.19rem;
padding: 0.38rem;
width: 1.5rem;
height: 1.5rem;
}

.page-delivery-checkbox-text {
	font-weight: 400;
	font-size: 1.125rem;
	line-height: 162%;
	color: #2b2b2b;
}

.page-delivery-submit-btn {
	background-color: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.75rem;
padding: 0.75rem 1rem;
width: 100%;
height: 3.38rem;
	font-family: 'Geologica', sans-serif;
	font-weight: 400;
font-size: 1.5rem;
color: #fff;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
	margin-top: 0.5rem;
}

.page-delivery-submit-btn:hover {
	background-color: #5a0609;
}

.page-delivery-submit-btn:active {
	transform: translateY(0);
}

/* Условия доставки */
.page-delivery-conditions {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;

	border: 1.50px solid #e8e8e8;
border-radius: 0.75rem;
padding: 1.38rem 1.75rem 1.5rem;
width: 100%;
}

.page-delivery-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.page-delivery-list li {
	position: relative;
	padding-left: 1.5rem;
	font-weight: 200;
font-size: 1.5rem;
line-height: 115%;
color: var(--red-base);
	color: #2b2b2b;
}

.page-delivery-list li span {
	font-weight: 400;
font-size: 1.5rem;
line-height: 115%;
color: var(--red-base);
}

.page-delivery-list li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--red-base);
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 1.2;
}

/* Самовывоз */
.page-delivery-pickup {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	border: 1.50px solid #e8e8e8;
border-radius: 0.75rem;
padding: 1.38rem 1.75rem 1.5rem;
}

.page-delivery-pickup-info {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.page-delivery-address strong{
	font-weight: 400;
font-size: 1.5rem;
line-height: 115%;
color: var(--red-base);
}



.page-delivery-hours {
	font-weight: 200;
font-size: 1.5rem;
line-height: 115%;
color: #2b2b2b;
}

.page-delivery-pickup-cost strong{
	font-weight: 500;
	color: var(--red-base);
}

.page-delivery-address span{
	font-weight: 200;
font-size: 1.5rem;
line-height: 115%;
color: #2b2b2b;
}

.page-delivery-pickup-cost {
	font-weight: 200;
font-size: 1.5rem;
line-height: 115%;
color: #2b2b2b;
}

/* Responsive для страницы Доставка */

/* 1600px - большие экраны */
@media (max-width: 1600px) {
	.page-delivery-main-content {
		padding: 3.5rem 3.5rem 5rem;
	}
	
	.page-delivery-title {
		margin-bottom: 2.5rem;
	}
	
	.page-delivery-content-wrapper {
		gap: 3.5rem;
	}
}

/* 1400px - средние большие экраны */
@media (max-width: 1400px) {
	.page-delivery-main-content {
		padding: 3.5rem 3rem 4.5rem;
	}
	
	.page-delivery-title {
		margin-bottom: 2.5rem;
	}
	
	.page-delivery-content-wrapper {
		gap: 3rem;
	}
}

/* 1200px - переход на одну колонку */
@media (max-width: 1200px) {
	.page-delivery-main {
		padding: 11.0625rem 0 5rem;
	}
	
	.page-delivery-main-content {
		padding: 3.5rem 3.5rem 4rem;
		border-radius: 0;
	}
	
	.page-delivery-content-wrapper {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	
	.page-delivery-title {
		font-size: 5rem; /* Уменьшаем для планшетов */
		margin-bottom: 2rem;
	}
}

/* 991px - планшеты портрет */
@media (max-width: 991px) {
	.page-delivery-main {
		padding: 11.0625rem 0 4rem;
	}
	
	
	.page-delivery-main-content {
		padding: 3rem 2.5rem 3.5rem;
		border-radius: 0;
	}
	
	.page-delivery-title {
		font-size: 4.5rem; /* Уменьшаем для планшетов портрет */
		margin-bottom: 2rem;
	}
	
	.page-delivery-content-wrapper {
		gap: 2.5rem;
	}
}

/* 768px - мобильные устройства ландшафт */
@media (max-width: 768px) {
	.page-delivery-main {
		padding: 11.0625rem 0 3rem;
	}
	

	
	.page-delivery-main-content {
		padding: 2.5rem 1.75rem 3rem;
		border-radius: 0;
	}
	
	.page-delivery-title {
		font-size: 4rem; /* Уменьшаем для мобильных, чтобы слово поместилось */
		margin-bottom: 1.75rem;
	}
	
	.page-delivery-content-wrapper {
		gap: 2rem;
	}
	
	.page-delivery-left-section,
	.page-delivery-right-section {
		gap: 1.5rem;
	}
	
	.page-delivery-calculator {
		gap: 1.25rem;
	}
	
	.page-delivery-input {
		padding: 0.875rem 1rem;
	}
	
	.page-delivery-submit-btn {
		padding: 1rem 1.75rem;
	}
}

/* 600px - мобильные устройства средние */
@media (max-width: 600px) {
	.page-delivery-main {
		padding: 11.0625rem 0 2.5rem;
	}
	
	.page-delivery-main-content {
		padding: 2rem 1.5rem 2.5rem;
	}
	
	.page-delivery-title {
		font-size: 3.5rem; /* Уменьшаем для средних мобильных */
		margin-bottom: 1.5rem;
	}
	
	.page-delivery-content-wrapper {
		gap: 1.75rem;
	}
}

/* 480px - мобильные устройства малые */
@media (max-width: 480px) {
	/* Увеличиваем базовый размер шрифта для лучшей читаемости, как на главной странице */
	html {
		font-size: 14px;
	}
	
	.page-delivery-main {
		padding: 11.0625rem 0 2rem;
	}
	
	.page-delivery-main-content {
		padding: 1.75rem 1.25rem 2rem;
		border-radius: 0;
	}
	
	.page-delivery-title {
		font-size: 3rem; /* Уменьшаем для маленьких мобильных, чтобы слово поместилось */
		margin-bottom: 1.5rem;
	}
	
	.page-delivery-content-wrapper {
		gap: 1.5rem;
	}
	
	.page-delivery-left-section,
	.page-delivery-right-section {
		gap: 1.25rem;
	}
	
	.page-delivery-calculator {
		gap: 1rem;
	}
	
	.page-delivery-form-group {
		gap: 0.5rem;
	}
	
	.page-delivery-input {
		padding: 0.75rem 0.875rem;
	}
	
	.page-delivery-submit-btn {
		padding: 0.875rem 1.5rem;
	}
}

/* 360px - очень маленькие экраны */
@media (max-width: 360px) {
	.page-delivery-main {
		padding: 11.0625rem 0 1.5rem;
	}
	

	
	.page-delivery-main-content {
		padding: 1.5rem 1rem 1.75rem;
	}
	
	.page-delivery-title {
		font-size: 2.75rem; /* Уменьшаем для очень маленьких экранов */
		margin-bottom: 1.25rem;
	}
	
	.page-delivery-input {
		padding: 0.625rem 0.75rem;
	}
	
	.page-delivery-submit-btn {
		padding: 0.75rem 1.25rem;
	}
}

/* ============================================
   PAGE LEGAL (Юридические документы)
   ============================================ */

.page-legal {
	background-color: var(--red-base);
	padding: 11.0625rem 0 5rem;
	min-height: 50vh;
}

.page-legal-inner {
	background-color: #fff;
	padding: 3.5rem 4rem 5rem;
	max-width: 900px;
	margin: 0 auto;
	border-radius: 0;
}

.page-legal-header {
	margin-bottom: 2.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #e8e8e8;
}

.page-legal-title {
	font-weight: 400;
	font-size: 2.5rem;
	letter-spacing: -0.02em;
	line-height: 1.3;
	color: #2b2b2b;
	margin: 0;
}

.page-legal-content {
	font-weight: 300;
	font-size: 1rem;
	line-height: 1.7;
	color: #333;
}

.page-legal-content p {
	margin: 0 0 1rem;
}

.page-legal-content p:last-child {
	margin-bottom: 0;
}

.page-legal-content h2,
.page-legal-content h3,
.page-legal-content h4 {
	font-weight: 500;
	color: #2b2b2b;
	margin: 2rem 0 1rem;
	line-height: 1.4;
}

.page-legal-content h2 { font-size: 1.5rem; }
.page-legal-content h3 { font-size: 1.25rem; }
.page-legal-content h4 { font-size: 1.125rem; }

.page-legal-content ul,
.page-legal-content ol {
	margin: 1rem 0;
	padding-left: 1.5rem;
}

.page-legal-content li {
	margin-bottom: 0.5rem;
}

.page-legal-content a {
	color: var(--red-base);
	text-decoration: underline;
}

.page-legal-content a:hover {
	text-decoration: none;
}

@media (max-width: 1024px) {
	.page-legal-inner {
		padding: 3rem 2.5rem 4rem;
	}
	.page-legal-title {
		font-size: 2.25rem;
	}
}

@media (max-width: 768px) {
	.page-legal {
		padding: 11.0625rem 0 3rem;
	}
	.page-legal-inner {
		padding: 2rem 1.5rem 3rem;
	}
	.page-legal-title {
		font-size: 1.75rem;
	}
	.page-legal-content h2 { font-size: 1.25rem; }
	.page-legal-content h3 { font-size: 1.125rem; }
	.page-legal-content h4 { font-size: 1rem; }
}

@media (max-width: 480px) {
	.page-legal-inner {
		padding: 1.75rem 1.25rem 2.5rem;
	}
	.page-legal-title {
		font-size: 1.5rem;
	}
}

/* ============================================
   PAGE CONTACTS
   ============================================ */

.page-contacts-main {
	background-color: var(--red-base);
	padding: 11.0625rem 0 6.25rem;
	min-height: calc(100vh - 11.0625rem);
	position: relative;
	background-image: url(../images/hero-bg.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.page-contacts-main-panel {
	position: relative;
	width: 100%;
	max-width: 1770px;
	margin: 0 auto;
}

.page-contacts-main-content {
	background-color: #fff;
	overflow: hidden;
	border-radius: 0;
	padding: 60px;
	position: relative;
}

.page-contacts-title {
	font-weight: 400;
	font-size: 6rem;
	letter-spacing: -0.04em;
	line-height: 1.2;
	color: #2b2b2b;
	margin-bottom: 3rem;
}

.page-contacts-content-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: flex-start;
}

.page-contacts-left-section {
	display: flex;
	flex-direction: column;
}

.page-contacts-map {
	width: 100%;
	height: 500px;
	border-radius: 0.75rem;
	overflow: hidden;
	position: relative;
}

.page-contacts-map iframe,
.page-contacts-map script {
	width: 100%;
	height: 100%;
	border: none;
}

.page-contacts-right-section {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.page-contacts-info-block,
.page-contacts-requisites-block {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.page-contacts-section-title {
	font-weight: 500;
	font-size: 2rem;
	line-height: 115%;
	color: #2b2b2b;
}

.page-contacts-info-content,
.page-contacts-requisites-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.page-contacts-info-content p,
.page-contacts-requisites-content p {
	font-weight: 200;
	font-size: 1.5rem;
	line-height: 1.5;
	color: #2b2b2b;
	margin: 0;
}

.page-contacts-info-content p strong,
.page-contacts-requisites-content p strong {
	font-weight: 500;
}

.page-contacts-address {
	margin-bottom: 0.5rem;
}

.page-contacts-hours {
	margin-bottom: 0.5rem;
}

.page-contacts-phone {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.5rem;
}

.page-contacts-phone-icon {
	font-size: 1.5rem;
	color: var(--red-base);
	display: inline-block;
}

.page-contacts-phone-link {
	font-weight: 500;
	font-size: 1.5rem;
	color: var(--red-base);
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.page-contacts-phone-link:hover {
	opacity: 0.8;
}

.page-contacts-email-link {
	font-weight: 500;
	font-size: 1.5rem;
	color: var(--red-base);
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.page-contacts-email-link:hover {
	opacity: 0.8;
}

/* Адаптивы для страницы Контакты */

/* 1600px - большие экраны */
@media (max-width: 1600px) {
	.page-contacts-title {
		font-size: 5rem;
		margin-bottom: 2.5rem;
	}
}

/* 1400px - средние большие экраны */
@media (max-width: 1400px) {
	.page-contacts-title {
		font-size: 4.5rem;
		margin-bottom: 2.5rem;
	}
}

/* 1200px - переход на одну колонку */
@media (max-width: 1200px) {
	.page-contacts-main {
		padding: 11.0625rem 0 5rem;
	}
	
	.page-contacts-main-content {
		padding: 3.5rem 3.5rem 4rem;
		border-radius: 0;
	}
	
	.page-contacts-content-wrapper {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	
	.page-contacts-title {
		font-size: 5rem; /* Уменьшаем для планшетов */
		margin-bottom: 2rem;
	}
	
	.page-contacts-map {
		height: 400px;
	}
}

/* 991px - планшеты портрет */
@media (max-width: 991px) {
	.page-contacts-main {
		padding: 11.0625rem 0 4rem;
	}
	
	.page-contacts-main-content {
		padding: 3rem 2.5rem 3.5rem;
		border-radius: 0;
	}
	
	.page-contacts-title {
		font-size: 4.5rem; /* Уменьшаем для планшетов портрет */
		margin-bottom: 2rem;
	}
	
	.page-contacts-content-wrapper {
		gap: 2.5rem;
	}
	
	.page-contacts-map {
		height: 350px;
	}
}

/* 768px - мобильные устройства ландшафт */
@media (max-width: 768px) {
	.page-contacts-main {
		padding: 11.0625rem 0 3rem;
	}
	
	.page-contacts-main-content {
		padding: 2.5rem 1.75rem 3rem;
		border-radius: 0;
	}
	
	.page-contacts-title {
		font-size: 4rem; /* Уменьшаем для мобильных, чтобы слово поместилось */
		margin-bottom: 1.75rem;
	}
	
	.page-contacts-content-wrapper {
		gap: 2rem;
	}
	
	.page-contacts-right-section {
		gap: 2rem;
	}
	
	.page-contacts-map {
		height: 300px;
	}
}

/* 600px - мобильные устройства средние */
@media (max-width: 600px) {
	.page-contacts-main {
		padding: 11.0625rem 0 2.5rem;
	}
	
	.page-contacts-main-content {
		padding: 2rem 1.5rem 2.5rem;
	}
	
	.page-contacts-title {
		font-size: 3.5rem; /* Уменьшаем для средних мобильных */
		margin-bottom: 1.5rem;
	}
	
	.page-contacts-content-wrapper {
		gap: 1.75rem;
	}
	
	.page-contacts-right-section {
		gap: 1.75rem;
	}
	
	.page-contacts-map {
		height: 250px;
	}
}

/* 480px - мобильные устройства малые */
@media (max-width: 480px) {
	.page-contacts-main {
		padding: 11.0625rem 0 2rem;
	}
	
	.page-contacts-main-content {
		padding: 1.75rem 1.25rem 2rem;
	}
	
	.page-contacts-title {
		font-size: 3rem; /* Уменьшаем для маленьких мобильных, чтобы слово поместилось */
		margin-bottom: 1.5rem;
	}
	
	.page-contacts-content-wrapper {
		gap: 1.5rem;
	}
	
	.page-contacts-right-section {
		gap: 1.5rem;
	}
	
	.page-contacts-info-block,
	.page-contacts-requisites-block {
		gap: 1.25rem;
	}
	
	.page-contacts-section-title {
		font-size: 1.75rem;
	}
	
	.page-contacts-info-content p,
	.page-contacts-requisites-content p {
		font-size: 1.125rem;
	}
	
	.page-contacts-phone-link,
	.page-contacts-email-link {
		font-size: 1.125rem;
	}
	
	.page-contacts-map {
		height: 250px;
	}
}

/* 360px - очень маленькие экраны */
@media (max-width: 360px) {
	.page-contacts-main {
		padding: 11.0625rem 0 1.5rem;
	}
	
	.page-contacts-main-content {
		padding: 1.5rem 1rem 1.75rem;
	}
	
	.page-contacts-title {
		font-size: 2.75rem; /* Уменьшаем для очень маленьких экранов */
		margin-bottom: 1.25rem;
	}
	
	.page-contacts-content-wrapper {
		gap: 1.25rem;
	}
	
	.page-contacts-right-section {
		gap: 1.25rem;
	}
	
	.page-contacts-info-block,
	.page-contacts-requisites-block {
		gap: 1rem;
	}
	
	.page-contacts-section-title {
		font-size: 1.5rem;
	}
	
	.page-contacts-info-content p,
	.page-contacts-requisites-content p {
		font-size: 1rem;
	}
	
	.page-contacts-phone-link,
	.page-contacts-email-link {
		font-size: 1rem;
	}
	
	.page-contacts-map {
		height: 200px;
	}
}

/* ============================================
   PAGE 404
   ============================================ */

.page-404-main {
	background-color: var(--red-base);
	padding: 11.0625rem 0 6.25rem;
	min-height: calc(100vh - 11.0625rem);
	position: relative;
	background-image: url(../images/hero-bg.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page-404-main-panel {
	position: relative;
	width: 100%;
	max-width: 1770px;
	margin: 0 auto;
}

.page-404-main-content {
	background-color: #fff;
	overflow: hidden;
	border-radius: 0;
	padding: 60px;
	position: relative;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	min-height: 400px;
}

.page-404-title {
	font-weight: 400;
	font-size: 8rem;
	letter-spacing: -0.04em;
	line-height: 1.2;
	color: #2b2b2b;
	margin: 0;
}

.page-404-text {
	font-weight: 500;
	font-size: 2.5rem;
	line-height: 1.2;
	color: #2b2b2b;
	margin: 0;
}

.page-404-description {
	font-weight: 200;
	font-size: 1.5rem;
	line-height: 1.5;
	color: #2b2b2b;
	margin: 0;
	max-width: 600px;
}

.page-404-home-btn {
	background-color: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.75rem;
	padding: 1rem 2.5rem;
	font-family: 'Geologica', sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
	display: inline-block;
	margin-top: 1rem;
}

.page-404-home-btn:hover {
	background-color: #5a0609;
	transform: translateY(-2px);
}

.page-404-home-btn:active {
	transform: translateY(0);
}

/* Адаптивы для страницы 404 */

/* 1600px - большие экраны */
@media (max-width: 1600px) {
	.page-404-title {
		font-size: 7rem;
	}
}

/* 1400px - средние большие экраны */
@media (max-width: 1400px) {
	.page-404-title {
		font-size: 6rem;
	}
}

/* 1200px - планшеты ландшафт */
@media (max-width: 1200px) {
	.page-404-main {
		padding: 11.0625rem 0 5rem;
	}
	
	.page-404-main-content {
		padding: 3.5rem 3.5rem 4rem;
		border-radius: 0;
		min-height: 350px;
	}
	
	.page-404-title {
		font-size: 5rem;
	}
	
	.page-404-text {
		font-size: 2rem;
	}
}

/* 991px - планшеты портрет */
@media (max-width: 991px) {
	.page-404-main {
		padding: 11.0625rem 0 4rem;
	}
	
	.page-404-main-content {
		padding: 3rem 2.5rem 3.5rem;
		border-radius: 0;
		min-height: 300px;
		gap: 1.5rem;
	}
	
	.page-404-title {
		font-size: 4.5rem;
	}
	
	.page-404-text {
		font-size: 1.75rem;
	}
	
	.page-404-description {
		font-size: 1.25rem;
	}
}

/* 768px - мобильные устройства ландшафт */
@media (max-width: 768px) {
	.page-404-main {
		padding: 11.0625rem 0 3rem;
	}
	
	.page-404-main-content {
		padding: 2.5rem 1.75rem 3rem;
		border-radius: 0;
		min-height: 280px;
		gap: 1.25rem;
	}
	
	.page-404-title {
		font-size: 4rem;
	}
	
	.page-404-text {
		font-size: 1.5rem;
	}
	
	.page-404-description {
		font-size: 1.125rem;
	}
	
	.page-404-home-btn {
		padding: 0.875rem 2rem;
		font-size: 1.25rem;
	}
}

/* 600px - мобильные устройства средние */
@media (max-width: 600px) {
	.page-404-main {
		padding: 11.0625rem 0 2.5rem;
	}
	
	.page-404-main-content {
		padding: 2rem 1.5rem 2.5rem;
		min-height: 250px;
		gap: 1rem;
	}
	
	.page-404-title {
		font-size: 3.5rem;
	}
	
	.page-404-text {
		font-size: 1.375rem;
	}
	
	.page-404-description {
		font-size: 1rem;
	}
	
	.page-404-home-btn {
		padding: 0.75rem 1.75rem;
		font-size: 1.125rem;
	}
}

/* 480px - мобильные устройства малые */
@media (max-width: 480px) {
	.page-404-main {
		padding: 11.0625rem 0 2rem;
	}
	
	.page-404-main-content {
		padding: 1.75rem 1.25rem 2rem;
		min-height: 220px;
		gap: 0.875rem;
	}
	
	.page-404-title {
		font-size: 3rem;
	}
	
	.page-404-text {
		font-size: 1.25rem;
	}
	
	.page-404-description {
		font-size: 0.9375rem;
	}
	
	.page-404-home-btn {
		padding: 0.625rem 1.5rem;
		font-size: 1rem;
		margin-top: 0.5rem;
	}
}

/* 360px - очень маленькие экраны */
@media (max-width: 360px) {
	.page-404-main {
		padding: 11.0625rem 0 1.5rem;
	}
	
	.page-404-main-content {
		padding: 1.5rem 1rem 1.75rem;
		min-height: 200px;
		gap: 0.75rem;
	}
	
	.page-404-title {
		font-size: 2.5rem;
	}
	
	.page-404-text {
		font-size: 1.125rem;
	}
	
	.page-404-description {
		font-size: 0.875rem;
	}
	
	.page-404-home-btn {
		padding: 0.5rem 1.25rem;
		font-size: 0.9375rem;
		margin-top: 0.5rem;
	}
}

/* ============================================
   PAGE LOYALTY
   ============================================ */

.page-loyalty-main {
	background-color: var(--red-base);
	padding: 11.0625rem 0 6.25rem;
	min-height: calc(100vh - 11.0625rem);
	position: relative;
	background-image: url(../images/hero-bg.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.page-loyalty-main-panel {
	position: relative;
	width: 100%;
	max-width: 1770px;
	margin: 0 auto;
}

.page-loyalty-main-content {
	background-color: #fff;
	overflow: hidden;
	border-radius: 0;
	padding: 60px;
	position: relative;
}

.page-loyalty-title {
	font-weight: 400;
	font-size: 6rem;
	letter-spacing: -0.04em;
	line-height: 1.2;
	color: #2b2b2b;
	margin: 0 0 3rem 0;
}

.page-loyalty-content-wrapper {
	display: grid;
	grid-template-columns: 647px 1fr;
	gap: 148px;
	align-items: flex-start;
}

.page-loyalty-left-section {
	display: flex;
	flex-direction: column;
}

.page-loyalty-cards-wrapper {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.page-loyalty-cards-image {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}

.page-loyalty-levels-block {
	width: 100%;
	align-self: stretch;
}

.page-loyalty-levels-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.page-loyalty-level {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.page-loyalty-level-name {
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 115%;
}

.page-loyalty-level-sum {
	font-weight: 200;
	font-size: 1.5rem;
	line-height: 115%;
	color: #252525;
	padding-left: 0;
}

.page-loyalty-level-bronze .page-loyalty-level-name {
	color: #7C660C;
}

.page-loyalty-level-silver .page-loyalty-level-name {
	color: #817F7F;
}

.page-loyalty-level-gold .page-loyalty-level-name {
	color: #C7AE0B;
}

.page-loyalty-level-platinum .page-loyalty-level-name {
	color: #B1B1B1;
}

.page-loyalty-bonus-levels {
	width: 100%;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 0.5rem;
	padding: 1.75rem 2rem;
}
.page-loyalty-bonus-levels-title {
	font-size: 2rem;
	font-weight: 500;
	line-height: 115%;
	color: #252525;
	margin: 0 0 1.5rem;
}
.page-loyalty-bonus-levels-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.page-loyalty-bonus-level {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 1.5rem;
	font-weight: 200;
	line-height: 115%;
}
.page-loyalty-bonus-level strong {
	font-weight: 400;
}
.page-loyalty-bonus-level--bronze strong {
	color: #7C660C;
}
.page-loyalty-bonus-level--silver strong {
	color: #817F7F;
}
.page-loyalty-bonus-level--gold strong {
	color: #C7AE0B;
}
.page-loyalty-bonus-level--platinum strong {
	color: #B1B1B1;
}
.page-loyalty-bonus-level-sum {
	color: #6b6b6b;
	font-size: 1.5rem;
	font-weight: 200;
	line-height: 115%;
}

.page-loyalty-right-section {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.page-loyalty-info-section {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 0.5rem;
	padding: 1.75rem 2rem;
}

.page-loyalty-section-title {
	font-weight: 500;
	font-size: 2rem;
	line-height: 115%;
	color: #2b2b2b;
	margin: 0;
}

.page-loyalty-description {
	font-weight: 200;
	font-size: 1.5rem;
	line-height: 115%;
	color: #2b2b2b;
	margin: 0;
}

.page-loyalty-description strong {
	font-weight: 400;
}

.page-loyalty-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.page-loyalty-list li {
	position: relative;
	padding-left: 1.5rem;
	font-weight: 200;
	font-size: 1.5rem;
	line-height: 115%;
	color: #2b2b2b;
}

.page-loyalty-list li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--red-base);
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 1.2;
}

.page-loyalty-register-btn {
	background-color: var(--red-base);
	color: #fff;
	border: none;
	border-radius: 0.75rem;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	padding: 0.75rem 2rem;
	width: 100%;
	height: 3.38rem;
	font-family: 'Geologica', sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
	margin-top: 1rem;
	text-align: center;
}

.page-loyalty-register-btn:hover {
	background-color: #5a0609;
}

.page-loyalty-register-btn:active {
	transform: translateY(0);
}

/* Responsive для страницы Лояльность */

/* 1600px - большие экраны */
@media (max-width: 1600px) {
	.page-loyalty-main-content {
		padding: 3.5rem 3.5rem 5rem;
	}
	
	.page-loyalty-title {
		margin-bottom: 2.5rem;
	}
	
	.page-loyalty-content-wrapper {
		gap: 3.5rem;
		grid-template-columns: 1fr 1fr;
	}
}

/* 1400px - средние большие экраны */
@media (max-width: 1400px) {
	.page-loyalty-main-content {
		padding: 3.5rem 3rem 4.5rem;
	}
	
	.page-loyalty-title {
		margin-bottom: 2.5rem;
	}
	
	.page-loyalty-content-wrapper {
		gap: 3rem;
	}
}

/* 1200px - переход на одну колонку */
@media (max-width: 1200px) {
	.page-loyalty-main {
		padding: 11.0625rem 0 5rem;
	}
	
	.page-loyalty-main-content {
		padding: 3.5rem 3.5rem 4rem;
		border-radius: 0;
	}
	
	.page-loyalty-content-wrapper {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	
	.page-loyalty-title {
		font-size: 5rem; /* Уменьшаем для планшетов */
		margin-bottom: 2rem;
	}
}

/* 991px - планшеты портрет */
@media (max-width: 991px) {
	.page-loyalty-main {
		padding: 11.0625rem 0 4rem;
	}
	
	.page-loyalty-main-content {
		padding: 3rem 2.5rem 3.5rem;
		border-radius: 0;
	}
	
	.page-loyalty-title {
		font-size: 4.5rem; /* Уменьшаем для планшетов портрет */
		margin-bottom: 2rem;
	}
	
	.page-loyalty-content-wrapper {
		gap: 2.5rem;
	}
}

/* 768px - мобильные устройства ландшафт */
@media (max-width: 768px) {
	.page-loyalty-main {
		padding: 11.0625rem 0 3rem;
	}
	
	.page-loyalty-main-content {
		padding: 2.5rem 1.75rem 3rem;
		border-radius: 0;
	}
	
	.page-loyalty-title {
		font-size: 4rem; /* Уменьшаем для мобильных, чтобы слово поместилось */
		line-height: 1.15;
		margin-bottom: 1.75rem;
	}
	
	.page-loyalty-content-wrapper {
		gap: 2rem;
	}
	
	.page-loyalty-left-section,
	.page-loyalty-right-section {
		gap: 1.5rem;
	}
	
	.page-loyalty-register-btn {
		padding: 1rem 1.75rem;
	}
}

/* 600px - мобильные устройства средние */
@media (max-width: 600px) {
	.page-loyalty-main {
		padding: 11.0625rem 0 2.5rem;
	}
	
	.page-loyalty-main-content {
		padding: 2rem 1.5rem 2.5rem;
	}
	
	.page-loyalty-title {
		font-size: 3.5rem; /* Уменьшаем для средних мобильных */
		margin-bottom: 1.5rem;
	}
	
	.page-loyalty-content-wrapper {
		gap: 1.75rem;
	}
}

/* 480px - мобильные устройства малые */
@media (max-width: 480px) {
	/* Увеличиваем базовый размер шрифта для лучшей читаемости, как на главной странице */
	html {
		font-size: 14px;
	}
	
	.page-loyalty-main {
		padding: 11.0625rem 0 2rem;
	}
	
	.page-loyalty-main-content {
		padding: 1.75rem 1.25rem 2rem;
		border-radius: 0;
	}
	
	.page-loyalty-title {
		font-size: 3rem; /* Уменьшаем для маленьких мобильных, чтобы слово поместилось */
		line-height: 1.2;
		margin-bottom: 1.5rem;
	}
	
	.page-loyalty-content-wrapper {
		gap: 1.5rem;
	}
	
	.page-loyalty-left-section,
	.page-loyalty-right-section {
		gap: 1.25rem;
	}
	
	.page-loyalty-register-btn {
		padding: 0.875rem 1.5rem;
	}
}

/* 360px - очень маленькие экраны */
@media (max-width: 360px) {
	.page-loyalty-main {
		padding: 11.0625rem 0 1.5rem;
	}
	
	.page-loyalty-main-content {
		padding: 1.5rem 1rem 1.75rem;
	}
	
	.page-loyalty-title {
		font-size: 2.75rem; /* Уменьшаем для очень маленьких экранов */
		margin-bottom: 1.25rem;
	}
	
	.page-loyalty-register-btn {
		padding: 0.75rem 1.25rem;
	}
}

/* ==========================================================================
   Страница «Спасибо за заказ» (order-received)
   ========================================================================== */
.page-thankyou {
	padding: 4rem 0 5rem;
	font-family: 'Geologica', sans-serif;
}

.page-thankyou-panel {
	max-width: 640px;
	margin: 0 auto;
	padding: 2.5rem;
	background: #fff;
	border-radius: 0.75rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.page-thankyou-title {
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: #1a1a1a;
	margin-bottom: 1.5rem;
	text-align: center;
}

.page-thankyou-message {
	font-size: 1.125rem;
	color: #2e7d32;
	margin-bottom: 1.5rem;
	padding: 1rem 1.25rem;
	background: #e8f5e9;
	border-radius: 0.5rem;
	border-left: 4px solid #2e7d32;
}

.page-thankyou-details {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	border-top: 1px solid #eee;
	padding-top: 1.25rem;
}

.page-thankyou-detail {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 0.5rem 0;
	font-size: 1rem;
}

.page-thankyou-detail-label {
	color: #666;
	margin-right: 1rem;
}

.page-thankyou-detail strong {
	color: #1a1a1a;
}

.page-thankyou-notice {
	padding: 1.25rem;
	border-radius: 0.5rem;
	margin-bottom: 1.5rem;
}

.page-thankyou-notice--error {
	background: #ffebee;
	border-left: 4px solid #c62828;
	color: #b71c1c;
}

.page-thankyou-actions {
	margin-top: 1rem;
}

.page-thankyou-actions .button {
	display: inline-block;
	margin-right: 0.75rem;
	margin-bottom: 0.5rem;
	padding: 0.75rem 1.5rem;
	background: #97000C;
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	text-decoration: none;
	font-weight: 600;
	cursor: pointer;
}

.page-thankyou-actions .button:hover {
	background: #7a0009;
	color: #fff;
}

.page-thankyou-back {
	text-align: center;
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #eee;
}

.page-thankyou-back .button {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	background: #1a1a1a;
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	text-decoration: none;
	font-weight: 600;
}

.page-thankyou-back .button:hover {
	background: #333;
	color: #fff;
}

/* ==========================================================================
   Счётчик корзины в шапке
   ========================================================================== */
.header-cart-count--empty,
.mobile-menu-cart-count--empty {
	opacity: 0;
}

/* ==========================================================================
   WooCommerce: адреса в 2 колонках на странице заказа/ЛК
   Убираем фиксированную ширину колонок, чтобы верстка была адаптивнее.
   ========================================================================== */
.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
	width: auto;
}

/* ============================================================
   Плавающая (sticky) шапка при скролле
   Класс site-header--stuck ставит assets/js/sticky-header.js.
   Компенсация высоты для внутренних страниц — через body.style.paddingTop (JS).
   ============================================================ */
body .site-header.site-header--stuck {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	margin-top: 0 !important;
	height: auto !important;
	background: none !important;
	background-image: none !important;
	z-index: 1002;
	animation: radha-header-slide-down 0.25s ease;
}

body .site-header.site-header--stuck .container {
	height: auto !important;
	background-color: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.18);
	border-radius: 0;
	max-width: none;
	display: flex;
	align-items: center;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

@keyframes radha-header-slide-down {
	from { transform: translateY(-100%); }
	to { transform: translateY(0); }
}

/* ============================================================
   Кнопка «Купить в 1 клик» (быстрый заказ)
   Каталог: .catalog-item-quick, страница товара: .product-quick-btn
   ============================================================ */
/* Селектор с запасом специфичности (0,3,1) — исключение из правила «Скрываем ссылки
   "Просмотр корзины"» (.catalog-item a[href*="cart"], специфичность 0,2,1): href кнопки
   содержит add-to-cart, и то правило её прятало через !important */
.catalog-item a.catalog-item-quick.radha-quick-order,
.catalog-item-quick {
	display: block !important;
	visibility: visible !important;
	margin-top: 0.63rem;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--red-base);
	border-radius: 0.75rem;
	text-align: center;
	font-size: 0.94rem;
	font-weight: 500;
	color: var(--red-base);
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
	cursor: pointer;
}

/* Ховер как у кнопки-корзинки (.catalog-item-cart:hover) — без смены цветов,
   иначе тёмный текст пропадал на тёмной заливке */
.catalog-item-quick:hover,
.catalog-item .catalog-item-buttons a.catalog-item-quick.radha-quick-order:hover {
	background-color: transparent;
	color: var(--red-base);
	opacity: 0.9;
	transform: scale(1.05);
}

.product-quick-btn {
	padding: 0.75rem 1.25rem;
	background-color: transparent;
	color: var(--red-base);
	border: 1.5px solid var(--red-base);
	border-radius: 0.75rem;
	font-weight: 500;
	font-size: 1.05rem;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
	flex-shrink: 1;
	min-width: 0;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Ховер как у «В корзину» (.product-buy-btn:hover) — без смены цветов */
.product-quick-btn:hover {
	background-color: transparent;
	color: var(--red-base);
	opacity: 0.9;
}

.radha-quick-order.loading {
	opacity: 0.5;
	pointer-events: none;
}

@media (max-width: 768px) {
	.product-quick-btn {
		flex: 1;
		font-size: 1rem;
		padding: 0.75rem 0.75rem;
	}
}

/* Кнопки в строке действий товара могут переноситься, если не влезают */
.product-actions {
	flex-wrap: wrap;
}

/* Быстрый заказ под кнопкой «В корзину» у вариативного товара */
.woocommerce-variation-add-to-cart .product-quick-btn {
	margin-top: 0.63rem;
	margin-left: 0.63rem;
}

/* Панель фильтров каталога прилипает ПОД зафиксированной шапкой, а не под краем окна
   (--radha-stuck-header-h ставит sticky-header.js, когда шапка зафиксирована) */
body.radha-header-stuck .catalog-filters {
	top: calc(var(--radha-stuck-header-h, 6rem) + 1rem);
}
.catalog-filters {
	transition: top 0.25s ease;
}

/* ============================================================
   «В корзину» + «Купить в 1 клик» — в один ряд, одинаковой ширины
   (страница товара; сердечко слева отдельной колонкой)
   ============================================================ */
.product-actions {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
	align-items: stretch;
}

.product-actions .product-favorite-btn {
	align-self: center;
}

.product-actions .product-buy-btn,
.product-actions .product-quick-btn {
	width: 100%;
	padding-left: 1rem;
	padding-right: 1rem;
}

/* Вариативный товар: те же кнопки в блоке выбранного варианта — тоже в ряд поровну */
.woocommerce-variation-add-to-cart {
	display: flex;
	gap: 1.25rem;
}

.woocommerce-variation-add-to-cart .single_add_to_cart_button,
.woocommerce-variation-add-to-cart .product-quick-btn {
	flex: 1 1 0;
	min-width: 0;
}

.woocommerce-variation-add-to-cart .product-quick-btn {
	margin: 0;
}

@media (max-width: 768px) {
	.product-actions {
		gap: 0.63rem;
	}
	.product-actions .product-buy-btn,
	.woocommerce-variation-add-to-cart .single_add_to_cart_button {
		font-size: 1.15rem;
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}
	.product-actions .product-quick-btn,
	.woocommerce-variation-add-to-cart .product-quick-btn {
		font-size: 0.9rem;
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}
}

/* ============================================================
   Карточка каталога: корзинка + «Купить в 1 клик» в один ряд,
   одинаковой ширины (цена — своей строкой выше)
   ============================================================ */
.catalog-item-buttons {
	display: flex;
	gap: 0.63rem;
	margin-top: 0.63rem;
	align-items: stretch;
}

/* width/height с !important перебивают инлайновые размеры кнопки-корзинки (3.75rem);
   иконка внутри центрируется её же инлайновыми flex-правилами */
.catalog-item-buttons .catalog-item-cart {
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
	height: auto !important;
	min-height: 2.5rem;
}

.catalog-item-buttons .catalog-item-quick {
	flex: 1 1 0;
	min-width: 0;
	margin-top: 0;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.catalog-item-buttons .catalog-item-out-of-stock {
	flex: 1;
	text-align: center;
	align-self: center;
}

/* Внутри ряда кнопок карточки: перебиваем правило-исключение
   .catalog-item a.catalog-item-quick.radha-quick-order (0,3,1) ещё большей специфичностью */
.catalog-item .catalog-item-buttons a.catalog-item-quick.radha-quick-order {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin-top: 0;
}

.catalog-item-buttons .catalog-item-cart,
.catalog-item-buttons .catalog-item-quick {
	box-sizing: border-box;
}

/* Жёсткое равенство ширины кнопок в карточке: ровно по половине ряда */
.catalog-item-buttons .catalog-item-cart,
.catalog-item .catalog-item-buttons a.catalog-item-quick.radha-quick-order {
	flex: 0 0 calc(50% - 0.315rem);
	width: calc(50% - 0.315rem) !important;
	box-sizing: border-box !important;
}

/* ============================================================
   Чекаут: редактирование состава заказа в блоке «1. ЗАКАЗ»
   ============================================================ */
.checkout-order-item-qty-controls {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.checkout-qty-btn {
	width: 1.75rem;
	height: 1.75rem;
	border: 1px solid #d9d9d9;
	border-radius: 0.5rem;
	background: #fff;
	color: #252525;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.15s ease;
	padding: 0;
}

.checkout-qty-btn:hover {
	border-color: var(--red-base);
}

.checkout-item-remove {
	width: 1.75rem;
	height: 1.75rem;
	border: none;
	border-radius: 0.5rem;
	background: transparent;
	color: #999;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: color 0.15s ease;
	padding: 0;
	margin-left: 0.25rem;
}

.checkout-item-remove:hover {
	color: #d63638;
}

.checkout-order-items--busy {
	opacity: 0.55;
	pointer-events: none;
}

/* ============================================================
   Оптовые акции (цена от количества)
   ============================================================ */
.product-bulk-note {
	margin-top: 0.5rem;
	padding: 0.5rem 0.9rem;
	background: #f6efe7;
	border-radius: 0.75rem;
	font-size: 1rem;
	color: #252525;
	display: inline-block;
}

.cart-item-bulk-note {
	display: block;
	font-size: 0.8rem;
	color: #2e7d32;
	white-space: nowrap;
}

/* Обёртки под AJAX-обновление строки корзины — в раскладке не участвуют */
.cart-item-bulk-slot {
	display: contents;
}

/* Плашка оптовой акции в карточке каталога/главной (над кнопками) */
.catalog-item .product-bulk-note {
	display: block;
	margin-top: 0.63rem;
	padding: 0.4rem 0.75rem;
	font-size: 0.85rem;
	border-radius: 0.5rem;
}

/* ============================================================
   Бейдж оптовой акции — на фото карточки (нижний левый угол):
   не занимает места в сетке, карточки с акцией и без — одной высоты
   ============================================================ */
.catalog-item-image-wrapper .product-bulk-note {
	position: absolute;
	left: 0.63rem;
	bottom: 0.63rem;
	z-index: 2;
	margin: 0;
	white-space: nowrap;
	line-height: 1.35;
	font-size: 0.85rem;
	padding: 0.35rem 0.65rem;
	background: rgba(246, 239, 231, 0.95);
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
	pointer-events: none;
}

@media (max-width: 480px) {
	.catalog-item-image-wrapper .product-bulk-note {
		font-size: 0.78rem;
		padding: 0.3rem 0.5rem;
	}
}

/* ============================================================
   Подарочные промокоды (includes/gift-promocodes.php):
   бейдж «Подарок по промокоду», бесплатная цена, статичное количество
   ============================================================ */
.radha-gift-badge {
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.2rem 0.5rem;
	border-radius: 0.4rem;
	background: #e8f5e9;
	color: #2e7d32;
	border: 1px solid #a5d6a7;
	font-size: 0.75rem;
	font-weight: 500;
	white-space: nowrap;
	vertical-align: middle;
}

.cart-item-price-gift {
	color: #2e7d32;
	font-weight: 600;
}

.cart-item-gift-qty {
	display: inline-block;
	padding: 0.35rem 0.6rem;
	font-size: 0.9rem;
	color: #666;
}

.checkout-order-item--gift .checkout-order-item-price {
	color: #2e7d32;
	font-weight: 600;
}

@media (max-width: 480px) {
	.radha-gift-badge {
		display: block;
		margin: 0.3rem 0 0;
		white-space: normal;
	}
}

/* ============================================================
   Акция «Роза в подарок» (includes/rose-promo.php):
   карточка розы на главной, счётчик остатка, таймер брони
   ============================================================ */
/* Плашки на фото розы — одной строкой снизу слева, чтобы не наезжали друг на друга.
   «Подарок» в стиле бейджа оптовой акции, счётчик остатка — ярким акцентом */
.radha-rose-card .radha-rose-labels {
	position: absolute;
	left: 0.63rem;
	right: 0.63rem;
	bottom: 0.63rem;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
	pointer-events: none;
}

.radha-rose-card .radha-rose-badge,
.radha-rose-card .radha-rose-left {
	padding: 0.35rem 0.65rem;
	border-radius: 0.5rem;
	font-size: 0.85rem;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
}

.radha-rose-card .radha-rose-badge {
	background: rgba(246, 239, 231, 0.95);
	color: #2c3338;
}

/* Счётчик — явный красный, а не var(--red-base): та переменная почти чёрная
   и на тёмном фото акция терялась. Здесь нужен акцент «времени мало» */
.radha-rose-card .radha-rose-left {
	background: #e53935;
	color: #fff;
	box-shadow: 0 2px 10px rgba(229, 57, 53, 0.45);
}

@media (max-width: 480px) {
	.radha-rose-card .radha-rose-badge,
	.radha-rose-card .radha-rose-left {
		font-size: 0.78rem;
		padding: 0.3rem 0.5rem;
	}
}
}

.radha-rose-card .radha-rose-price {
	color: #2e7d32;
	font-weight: 700;
}

.radha-rose-buttons {
	display: block;
}

.radha-rose-btn {
	display: block;
	width: 100%;
	padding: 0.6rem 1rem;
	border: none;
	border-radius: 0.75rem;
	background: var(--red-base, #d32f2f);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.radha-rose-btn:hover {
	opacity: 0.85;
	transform: scale(1.02);
}

.radha-rose-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

/* Роза уже в корзине — белая кнопка в рамке, как «Купить в 1 клик».
   Специфичность с запасом: в карточках действует правило скрытия cart-ссылок */
.catalog-item .radha-rose-btn--incart,
.radha-rose-btn--incart {
	display: block !important;
	visibility: visible !important;
	background: transparent;
	border: 1px solid var(--red-base, #d32f2f);
	color: var(--red-base, #d32f2f);
	font-weight: 500;
}

.radha-rose-btn--incart:hover {
	background: transparent;
	opacity: 0.9;
	transform: scale(1.03);
}

.radha-rose-soldout {
	display: block;
	padding: 0.6rem 0.75rem;
	border-radius: 0.75rem;
	background: #f0f0f1;
	color: #666;
	font-size: 0.875rem;
	text-align: center;
}

.radha-rose-message {
	margin-top: 0.5rem;
	font-size: 0.85rem;
	min-height: 1.1rem;
}


/* Условия акции «Роза в подарок»: ссылка на карточке, модальное окно, блок в корзине */
/* Ссылка стоит в строке с названием товара — мелкой припиской, не отдельным блоком */
.catalog-item-title .radha-rose-terms-link {
	display: inline;
	width: auto;
	margin: 0 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 400;
	white-space: nowrap;
	vertical-align: middle;
}

.radha-rose-terms-link {
	display: inline-block;
	margin-top: 0.35rem;
	padding: 0;
	border: none;
	background: none;
	color: #666;
	font-size: 0.8rem;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	cursor: pointer;
}

.radha-rose-terms-link:hover {
	color: var(--red-base, #d32f2f);
}

.radha-rose-terms-overlay {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(0, 0, 0, 0.55);
}

.radha-rose-terms-overlay[hidden] {
	display: none;
}

.radha-rose-terms-box {
	position: relative;
	max-width: 34rem;
	max-height: 85vh;
	overflow-y: auto;
	padding: 1.75rem 1.75rem 1.5rem;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}

.radha-rose-terms-box h3 {
	margin: 0 0 1rem;
	font-size: 1.15rem;
}

.radha-rose-terms-box ol {
	margin: 0;
	padding-left: 0;
	list-style: none;
	font-size: 0.92rem;
	line-height: 1.55;
	color: #444;
}

.radha-rose-terms-box li {
	margin-bottom: 0.5rem;
}

.radha-rose-terms-close {
	position: absolute;
	top: 0.5rem;
	right: 0.75rem;
	border: none;
	background: none;
	color: #999;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}

.radha-rose-terms-close:hover {
	color: #333;
}

.radha-rose-terms-block {
	margin: 0 0 0.75rem;
	padding: 0.85rem 1.1rem;
	border: 1px solid #e0e0e0;
	border-radius: 0.75rem;
	background: #fafafa;
	font-size: 0.9rem;
}

.radha-rose-terms-block summary {
	cursor: pointer;
	font-weight: 600;
	color: #444;
}

.radha-rose-terms-block ol {
	margin: 0.75rem 0 0;
	padding-left: 0;
	list-style: none;
	color: #666;
	line-height: 1.5;
}

.radha-rose-terms-block li {
	margin-bottom: 0.4rem;
}

/* Пояснение к позиции акции (сорт платных роз) */
.radha-rose-item-note {
	color: #7a7a7a;
	font-size: 0.85rem;
	font-style: italic;
	margin: 0.25rem 0 0;
}

/* ==========================================================================
   Корзина: счётчик «До бесплатной доставки осталось N ₽» (includes/free-delivery-progress.php)
   ========================================================================== */
.cart-free-delivery {
	margin-top: 1rem;
	padding: 0.85rem 1rem;
	background: #f9f9f9;
	border-radius: 0.75rem;
}

.cart-free-delivery[hidden] {
	display: none;
}

.cart-free-delivery-title {
	font-size: 0.95rem;
	font-weight: 300;
	color: #252525;
	line-height: 1.35;
}

.cart-free-delivery-title strong {
	font-weight: 500;
	color: var(--red-base);
	white-space: nowrap;
}

.cart-free-delivery-bar {
	height: 6px;
	margin: 0.6rem 0 0.5rem;
	background: rgba(109, 7, 12, 0.1);
	border-radius: 999px;
	overflow: hidden;
}

.cart-free-delivery-bar span {
	display: block;
	height: 100%;
	background: var(--red-base);
	border-radius: 999px;
	transition: width 0.3s ease;
}

.cart-free-delivery-caption {
	font-size: 0.8rem;
	font-weight: 300;
	color: #7a7a7a;
	line-height: 1.35;
}

.cart-free-delivery--reached {
	background: #f1f8f1;
}

.cart-free-delivery--reached .cart-free-delivery-title strong,
.cart-free-delivery--reached .cart-free-delivery-bar span {
	color: #28a745;
	background: #28a745;
}

.cart-free-delivery--reached .cart-free-delivery-title strong {
	background: none;
}


/* ============================================================
   Radha: шапка как в оригинальной теме — прозрачная поверх тёмно-красного фона,
   белые ссылки/иконки/логотип. При скролле (site-header--stuck) и на мобильных —
   светлая плашка с бордовым (правила выше). Два логотипа: --dark (бордовый) и --light (белый).
   ============================================================ */
.header-logo-img--light {
	display: none;
}

@media (min-width: 768px) {
	.site-header:not(.site-header--stuck) .container {
		background-color: transparent;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.site-header:not(.site-header--stuck) .header-link,
	.site-header:not(.site-header--stuck) .header-phone {
		color: #fff;
	}

	.site-header:not(.site-header--stuck) .header-button svg path {
		stroke: #fff;
	}

	.site-header:not(.site-header--stuck) .header-logo-img--dark {
		display: none;
	}

	.site-header:not(.site-header--stuck) .header-logo-img--light {
		display: block;
	}
}

/* Светлый слайд hero (класс ставит скрипт тона в index.php): шапка бордовая вместо белой */
@media (min-width: 768px) {
	body.radha-hero-light .site-header:not(.site-header--stuck) .header-link,
	body.radha-hero-light .site-header:not(.site-header--stuck) .header-phone {
		color: var(--red-base);
	}

	body.radha-hero-light .site-header:not(.site-header--stuck) .header-button svg path {
		stroke: var(--red-base);
	}

	body.radha-hero-light .site-header:not(.site-header--stuck) .header-logo-img--dark {
		display: block;
	}

	body.radha-hero-light .site-header:not(.site-header--stuck) .header-logo-img--light {
		display: none;
	}
}

/* ============================================================
   Hero на десктопе повторяет пропорции обложки (--hero-ratio из index.php, по умолчанию 1920/798):
   картинка видна целиком на любой ширине, без обрезки текста по бокам.
   .hero--image-only — обложка без заголовка (текст в картинке): кнопка «Заказать» стоит там,
   где дизайнер оставил под неё плашку (центр, 61% высоты), и масштабируется вместе с баннером.
   Мобильная версия (<768px) не меняется.
   ============================================================ */
@media (min-width: 768px) {
	.hero {
		height: auto;
		aspect-ratio: var(--hero-ratio, 1920 / 798);
	}

	.hero > .container,
	.hero-wrapper {
		height: 100%;
	}

	.hero-wrapper {
		min-height: 0;
		padding: 0;
	}

	.hero--image-only .hero-content {
		position: absolute;
		top: 61%;
		left: 50%;
		transform: translate(-50%, -50%);
		margin-top: 0;
	}

	.hero--image-only .hero-cta {
		margin-top: 0;
		font-size: clamp(1.3rem, 2.5vw, 3rem);
		padding: 0.2em 0.8em;
		letter-spacing: 0.06em;
		border-width: 0.04em;
	}

	.hero--image-only .hero-title {
		display: none;
	}
}

/* Точки ротатора на светлой обложке */
body.radha-hero-light .hero-dot {
	border-color: var(--red-base);
	background: rgba(109, 7, 12, 0.2);
}

body.radha-hero-light .hero-dot.is-active {
	background: var(--red-base);
}

/* ============================================================
   Кнопка hero «Заказать»
   1) Центровка текста. Bebas Neue по-разному считает высоту строки на macOS и Windows
      (hhea против OS/2-метрик), поэтому сдвиг translateY, подобранный на маке, на Windows давал
      текст ниже центра. text-box обрезает строку ровно по высоте заглавных букв — результат
      одинаковый на любой ОС. Где свойство не поддерживается, остаётся прежний translateY.
   2) На светлой обложке (body.radha-hero-light) кнопка сплошная чёрная: плашку под кнопку
      в картинке больше не рисуем — живая кнопка и есть плашка, совпадает при любом масштабе.
   ============================================================ */
@supports (text-box: trim-both cap alphabetic) {
	.hero-cta,
	.hero--image-only .hero-cta {
		padding-top: 0.36em;
		padding-bottom: 0.36em;
		min-height: 0;
	}

	.hero-cta-text {
		text-box: trim-both cap alphabetic;
		transform: none;
		-webkit-transform: none;
	}
}

body.radha-hero-light .hero-cta {
	background: #0a0a0a;
	border-color: #0a0a0a;
	color: #fff;
}

body.radha-hero-light .hero-cta:hover {
	background: var(--red-base);
	border-color: var(--red-base);
	color: #fff;
}

/* ============================================================
   Hero: картинка задаётся CSS-переменными (index.php), чтобы телефон скачивал только свою версию.
   .hero--mobile-art — у баннера есть вертикальная картинка для телефонов (1080×1350):
   блок повторяет её пропорции, кнопка стоит по центру на 47% высоты (место под неё в макете).
   ============================================================ */
.hero-bg-layer {
	background-image: var(--hero-img);
}

@media (max-width: 767px) {
	.hero-bg-layer {
		background-image: var(--hero-img-m, var(--hero-img));
	}

	.hero.hero--mobile-art,
	.hero.hero--mobile-art .hero-wrapper {
		min-height: 0;
	}

	.hero.hero--mobile-art {
		height: auto;
		aspect-ratio: 1080 / 1350;
	}

	.hero.hero--mobile-art > .container,
	.hero.hero--mobile-art .hero-wrapper {
		height: 100%;
		padding: 0;
	}

	.hero--mobile-art.hero--image-only .hero-content {
		position: absolute;
		top: 47%;
		left: 50%;
		transform: translate(-50%, -50%);
		margin-top: 0;
		padding: 0;
	}

	.hero--mobile-art.hero--image-only .hero-title {
		display: none;
	}

	/* точки ротатора — у самого низа, под текстом обложки */
	.hero--mobile-art .hero-pagination {
		bottom: 0.35rem;
	}

	.hero--mobile-art .hero-dot {
		width: 0.5rem;
		height: 0.5rem;
	}

	.hero--mobile-art.hero--image-only .hero-cta {
		margin-top: 0;
		font-size: clamp(1.9rem, 8.4vw, 2.6rem);
	}

	/* Radha: внутренние страницы на телефоне — чистая светлая шапка без фоновой картинки
	   (красный тюльпан под белой полупрозрачной плашкой давал грязно-розовый фон) */
	body:not(.home) .site-header {
		background-image: none;
		background-color: #fff;
		border-bottom: 1px solid rgba(109, 7, 12, 0.12);
	}

	body:not(.home) .site-header .container {
		background-color: transparent;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}

/* Radha: на телефоне шапка главной — сплошная белая (полупрозрачная мутнела поверх открытого меню) */
@media (max-width: 767px) {
	.site-header .container {
		background-color: #fff;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}

/* Radha: мобильное меню — бордовое, а не чёрное */
.mobile-menu {
	background-color: rgba(74, 5, 9, 0.97);
}

/* ============================================================
   Страница «Лояльность» на телефоне: до этого адаптив заканчивался на планшете —
   заголовок 6rem и текст 1.5rem на экране 390px выглядели гигантскими, сверху оставался
   отступ 11rem под десктопную шапку (на телефоне шапка в потоке, отступ не нужен).
   ============================================================ */
@media (max-width: 767px) {
	.page-loyalty-main {
		padding: 1.25rem 0 2.5rem;
		min-height: 0;
	}

	.page-loyalty-main-content {
		padding: 1.5rem 1.1rem 2rem;
	}

	.page-loyalty-title {
		font-size: 2.1rem;
		margin-bottom: 1.25rem;
	}

	.page-loyalty-content-wrapper {
		gap: 1.25rem;
	}

	.page-loyalty-info-section {
		padding: 1.1rem 1rem;
		gap: 0.9rem;
	}

	.page-loyalty-section-title {
		font-size: 1.25rem;
	}

	.page-loyalty-level-name,
	.page-loyalty-level-sum,
	.page-loyalty-description,
	.page-loyalty-list li {
		font-size: 1rem;
		line-height: 1.4;
	}

	.page-loyalty-levels-list {
		gap: 0.75rem;
	}

	.page-loyalty-list {
		gap: 0.6rem;
	}
}

/* Страховка к format-detection: если iOS всё же распознал «данные», не красить их в синий */
a[x-apple-data-detectors] {
	color: inherit !important;
	text-decoration: none !important;
}

/* ============================================================
   Внутренние страницы на телефоне: верхний отступ 11rem рассчитан на десктопную шапку,
   лежащую поверх фона. На телефоне шапка в потоке, и отступ превращался в пустую красную
   полосу ~150px над контентом. Плюс «Доставка»: текст 1.5rem и заголовки 2rem слишком крупные.
   ============================================================ */
@media (max-width: 767px) {
	.page-about-main,
	.page-contacts-main,
	.page-delivery-main,
	.page-legal,
	.page-404-main {
		padding-top: 1.25rem;
	}

	.page-delivery-section-title {
		font-size: 1.3rem;
	}

	.page-delivery-description,
	.page-delivery-hours,
	.page-delivery-pickup-cost {
		font-size: 1rem;
		line-height: 1.4;
	}
}

/* ============================================================
   ПЛАШКА НАД ШАПКОЙ — «Магазину N лет · Доставка от 2 часов · Свои курьеры»
   Разметка: includes/shop-age-badge.php, выводится в header.php первой строкой body.
   Высота вынесена в --radha-topbar-h: на главной шапка абсолютная (top: 0), и её
   margin-top должен учитывать плашку, иначе шапка ляжет поверх неё.
   ============================================================ */
:root {
	--radha-topbar-h: 2.25rem; /* 36px */
}

.shop-age-badge {
	position: relative;
	z-index: 101;
	background-color: var(--red-base);
	color: #f6f3ee;
	min-height: var(--radha-topbar-h);
	display: flex;
	align-items: center;
	font-size: 0.8125rem; /* 13px */
	letter-spacing: 0.02em;
}

.shop-age-badge .container {
	display: flex;
	justify-content: center;
}

.shop-age-badge-list {
	margin: 0;
	padding: 0.375rem 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	line-height: 1.3;
	text-align: center;
}

.shop-age-badge-sep {
	opacity: 0.55;
}

/* На главной шапка лежит поверх hero (position: absolute) — опускаем её под плашку */
body.home .site-header:not(.site-header--stuck) {
	margin-top: calc(2.19rem + var(--radha-topbar-h));
}

/* Телефоны: плашка ниже и мельче, третий пункт прячем, чтобы не было двух строк */
@media (max-width: 767px) {
	:root {
		--radha-topbar-h: 2rem; /* 32px */
	}
	.shop-age-badge {
		font-size: 0.75rem; /* 12px */
	}
	.shop-age-badge-list {
		gap: 0.375rem;
	}
}

@media (max-width: 479px) {
	.shop-age-badge-item--3 {
		display: none;
	}
	/* Разделитель перед скрытым пунктом — отдельным правилом: в старых браузерах
	   без :has() селектор невалиден и обнулил бы всё правило целиком вместе с пунктом */
	.shop-age-badge-sep:has(+ .shop-age-badge-item--3) {
		display: none;
	}
}

/* ============================================================
   КАРТОЧКА «ДОБАВЛЕНО В КОРЗИНУ» (поп-ап)
   Разметка собирается в assets/js/script.js (showCartNotification),
   тост-контейнер общий с остальными уведомлениями темы.
   Строка подарка приходит из фрагмента #radha-gift-state (includes/order-gift.php).
   ============================================================ */
.neoflora-notification-cart {
	background: #fff;
	color: #2b2b2b;
	max-width: 24rem;
	padding: 1rem;
	border: 1px solid #ece4da;
	box-shadow: 0 0.5rem 1.75rem rgba(0, 0, 0, 0.18);
}

.neoflora-notification-cart .neoflora-notification-close {
	color: #8c8c8c;
}

.radha-cart-card {
	display: flex;
	gap: 0.875rem;
	align-items: flex-start;
}

.radha-cart-card-thumb {
	flex: 0 0 4.5rem;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 0.5rem;
	overflow: hidden;
	background: #f6f3ee;
}

.radha-cart-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.radha-cart-card-body {
	flex: 1 1 auto;
	min-width: 0;
}

.radha-cart-card-body p {
	margin: 0 0 0.25rem;
}

.radha-cart-card-head {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #8c8c8c;
}

.radha-cart-card-name {
	font-weight: 500;
	font-size: 0.9375rem;
	line-height: 1.3;
	color: #2b2b2b;
}

.radha-cart-card-price {
	font-weight: 600;
	color: var(--red-base);
}

.radha-cart-card-gift {
	margin-top: 0.375rem !important;
	font-size: 0.8125rem;
	color: #00792b;
}

.radha-cart-card-actions {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.75rem !important;
	flex-wrap: wrap;
}

.radha-cart-card-continue,
.radha-cart-card-go {
	flex: 1 1 auto;
	text-align: center;
	padding: 0.5rem 0.75rem;
	border-radius: 0.5rem;
	font-size: 0.8125rem;
	font-family: 'Geologica', sans-serif;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
	white-space: nowrap;
}

.radha-cart-card-continue {
	background: #f6f3ee;
	border: 1px solid #e4dcd1;
	color: #2b2b2b;
}

.radha-cart-card-continue:hover {
	background: #ece4da;
}

.radha-cart-card-go {
	background: var(--red-base);
	border: 1px solid var(--red-base);
	color: #fff;
}

.radha-cart-card-go:hover {
	background: #8a0a10;
	color: #fff;
}

/* На телефоне тост во всю ширину — сбоку места нет */
@media (max-width: 600px) {
	.neoflora-notification-cart {
		max-width: none;
		width: 100%;
	}
	.radha-cart-card-thumb {
		flex-basis: 3.75rem;
		width: 3.75rem;
		height: 3.75rem;
	}
}

/* ============================================================
   ПРОГРЕСС-БАР «ДО ПОДАРКА» — вёрстка общая со счётчиком бесплатной доставки,
   отличается только акцентом (includes/order-gift.php)
   ============================================================ */
.cart-gift-progress .cart-free-delivery-bar span {
	background: #00792b;
}

/* ============================================================
   ОФФЕРЫ НА БАННЕРЕ HERO — «12 лет магазину · Свои курьеры · …»
   Задаются в метабоксе Hero на странице «Главная» (includes/front-page-hero-meta.php),
   выводятся в index.php. Текст живёт в HTML, а не внутри картинки:
   читается на телефоне, попадает в поиск и правится без дизайнера.
   ============================================================ */
.hero-offers {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	color: #fff;
	font-size: clamp(0.875rem, 1.6vw, 1.125rem);
	font-weight: 300;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.hero-offers[hidden] {
	display: none;
}

.hero-offers li {
	position: relative;
	padding-left: 1.1rem;
	line-height: 1.35;
	text-align: left;
}

.hero-offers li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.8;
}

/* Светлая обложка — тёмный текст, иначе офферы не читаются (как у шапки) */
body.radha-hero-light .hero-offers {
	color: #2b2b2b;
	text-shadow: 0 1px 10px rgba(255, 255, 255, 0.5);
}

@media (max-width: 767px) {
	.hero-offers {
		margin-top: 0.875rem;
		gap: 0.3rem;
	}
}
