/* ==========================================================================
   1. ПЕРЕМЕННЫЕ И БРЕНДОВАЯ ПАЛИТРА LAVERTE SHOES
   ========================================================================== */
:root {
	/* 1. Брендовая палитра Laverte Shoes */

	--laverte-bg: #FFFFFF;
	--laverte-bg-light: #FBFBFB;
	--laverte-text-main: #111111;
	--laverte-text-secondary: #767676;
	--laverte-border: #E5E5E5;
	--laverte-border-light: #F0F0F0;
	--laverte-black: #000000;
	--laverte-white: #FFFFFF;
	--laverte-font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

	/* 2. Полная нейтрализация синих и серых цветов Kadence */
	--global-palette1: #000000 !important;
	--global-palette2: #222222 !important;
	--global-palette3: #111111 !important;
	--global-palette4: #333333 !important;
	--global-palette5: #767676 !important;
	--global-palette6: #E5E5E5 !important;
	--global-palette7: #F5F5F5 !important;
	--global-palette8: #FBFBFB !important;
	--global-palette9: #FFFFFF !important;
	--global-palette-highlight: #000000 !important;
	--global-palette-highlight-alt: #222222 !important;
	--global-palette-btn: #FFFFFF !important;
	--global-palette-btn-hover: #FFFFFF !important;
	--global-palette-btn-bg: #111111 !important;
	--global-palette-btn-bg-hover: #000000 !important;
	--global-content-width: 1360px !important;
	--global-content-top-spacing: 2rem !important;
	--global-content-bottom-spacing: 3rem !important;
}

/* ==========================================================================
   2. ГЛОБАЛЬНЫЕ СТИЛИ И ЗАЩИТА ОТ СКРОЛЛА
   ========================================================================== */
html {
	scroll-padding-top: clamp(110px, 12vw, 140px) !important;
}

html,
body {
	overflow-x: hidden !important;
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0;
	padding: 0;
}

body,
body.woocommerce,
body.woocommerce-page {
	background-color: var(--laverte-bg) !important;
	color: var(--laverte-text-main) !important;
	font-family: var(--laverte-font-family) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

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

a {
	color: var(--laverte-text-main);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

a:hover {
	opacity: 0.65;
}

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

/* Контейнеры и премиальные боковые отступы Laverte Shoes */
.site-container,
.content-container,
.site-header .site-header-inner-wrap,
.site-footer .site-footer-inner-wrap,
#primary,
.site-main,
.site-content {
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

/* Роскошные боковые отступы для всех внутренних страниц каталога, чтобы карточки никогда не прилипали */
.site-content .content-container,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
	padding-left: clamp(16px, 3.5vw, 40px) !important;
	padding-right: clamp(16px, 3.5vw, 40px) !important;
	box-sizing: border-box !important;
}

/* Сбрасываем вложенные отступы у дочерних контейнеров, предотвращая сжатие контента на экранах */
.woocommerce.archive .site-main,
.woocommerce-page.archive .site-main,
.woocommerce-shop .site-main,
.tax-product_cat .site-main,
.single-product .site-main,
.single-product div.product,
.post-type-archive-product .site-main {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

@media (max-width: 768px) {
	.site-content .content-container,
	.woocommerce-cart .entry-content,
	.woocommerce-checkout .entry-content {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}
}


/* ==========================================================================
   3. НОРМАЛИЗАЦИЯ ВЕРТИКАЛЬНЫХ ОТСТУПОВ И ШАПКИ КАТАЛОГА/КАТЕГОРИЙ (HERO)
   ========================================================================== */
.entry-hero,
.entry-hero-container-inner,
.site-main .entry-hero,
.woocommerce .entry-hero,
.page-hero-section,
.product-archive-hero-section,
.site-header-row-container-inner {
	background: #FFFFFF !important;
	background-color: #FFFFFF !important;
	box-shadow: none !important;
}

#inner-wrap .entry-hero,
#inner-wrap .product-archive-hero-section,
.entry-hero,
.product-archive-hero-section {
	border-bottom: 1px solid var(--laverte-border-light) !important;
	padding-top: 18px !important;
	padding-bottom: 16px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	min-height: auto !important;
}

#inner-wrap .entry-hero-container-inner,
#inner-wrap .product-archive-hero-section .entry-hero-container-inner,
.entry-hero-container-inner {
	min-height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
}

#inner-wrap .entry-hero .entry-header,
#inner-wrap .product-archive-hero-section .entry-header,
.entry-hero.product-archive-hero-section .entry-header,
.entry-hero .entry-header {
	min-height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 4px !important;
}

/* Приоритетные отступы для заголовков WooCommerce (Оформление заказа, Мой аккаунт, Корзина) */
#inner-wrap .woocommerce-checkout .entry-hero .entry-header,
.woocommerce-checkout #inner-wrap .entry-hero .entry-header,
.woocommerce-checkout #inner-wrap .entry-header,
body.woocommerce-checkout #inner-wrap .entry-header,
#inner-wrap .woocommerce-account .entry-hero .entry-header,
.woocommerce-account #inner-wrap .entry-hero .entry-header,
.woocommerce-account #inner-wrap .entry-header,
body.woocommerce-account #inner-wrap .entry-header,
#inner-wrap .woocommerce-cart .entry-hero .entry-header,
.woocommerce-cart #inner-wrap .entry-hero .entry-header,
.woocommerce-cart #inner-wrap .entry-header,
body.woocommerce-cart #inner-wrap .entry-header {
	margin-top: clamp(16px, 2.5vw, 36px) !important;
	margin-bottom: clamp(16px, 2vw, 28px) !important;
	padding-top: 0 !important;
}

#inner-wrap .entry-hero .entry-title,
#inner-wrap .entry-hero h1.page-title,
#inner-wrap .product-archive-hero-section h1.page-title,
.entry-hero .entry-title,
.entry-hero h1.page-title,
.product-archive-hero-section h1.page-title,
h1.entry-title {
	font-family: var(--laverte-font-family) !important;
	font-size: clamp(16px, 2.2vw, 22px) !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: #000000 !important;
	text-align: center !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.25 !important;
}

/* Полная ликвидация пустого пространства Kadence между шапкой, заголовком и каталогом */
#inner-wrap {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.content-area,
.site-content,
.site-main,
.woocommerce-page .content-area,
.woocommerce.archive .content-area,
.tax-product_cat .content-area,
.woocommerce-archive .content-area,
.post-type-archive-product .content-area {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.site-main,
.content-container,
#primary,
.entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.woocommerce-account .entry-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
	padding-top: 0.5rem !important;
}

.site-content {
	padding-top: 0 !important;
	padding-bottom: 2rem !important;
}

.kadence-breadcrumbs,
.woocommerce-breadcrumb,
.entry-hero .kadence-breadcrumbs,
.entry-hero .woocommerce-breadcrumb,
.product-archive-hero-section .kadence-breadcrumbs {
	font-size: 10px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--laverte-text-secondary) !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	text-align: center !important;
}


/* ==========================================================================
   11. СТРАНИЦЫ ТЕКСТОВОГО КОНТЕНТА (ПОЛИТИКА, ОФЕРТА, РЕКВИЗИТЫ)
   ========================================================================== */
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #inner-wrap,
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .site-content,
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .content-area,
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #primary,
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .site-main {
	padding-top: 48px !important;
	padding-bottom: 80px !important;
	margin-top: 0 !important;
}

/* Верхние отступы для ключевых страниц WooCommerce (Оформление заказа, Мой аккаунт, Корзина, Карточка товара), чтобы контент никогда не перекрывался шапкой */
body.woocommerce-cart #inner-wrap,
body.woocommerce-checkout #inner-wrap,
body.woocommerce-account #inner-wrap,
body.single-product #inner-wrap,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-account .site-content,
body.single-product .site-content {
	padding-top: clamp(28px, 3.5vw, 44px) !important;
	padding-bottom: clamp(40px, 5vw, 80px) !important;
	margin-top: 0 !important;
}

/* Шапка страницы и заголовок H1 */
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout) .entry-header,
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout) .page-header {
	max-width: 880px !important;
	margin: 0 auto 36px auto !important;
	padding: 0 20px 20px 20px !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-header,
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .page-header {
	border-bottom: 1px solid var(--laverte-border-light) !important;
}

body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout) h1.entry-title,
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout) .entry-title,
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout) h1.page-title {
	font-family: var(--laverte-font-family) !important;
	font-size: clamp(20px, 2.6vw, 26px) !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #111111 !important;
	text-align: center !important;
	margin: 0 auto !important;
	padding: 0 0 10px 0 !important;
	line-height: 1.35 !important;
	display: block !important;
	width: 100% !important;
	word-wrap: break-word !important;
}

/* Если страница рендерится через Kadence entry-hero */
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout) .entry-hero {
	padding-top: 44px !important;
	padding-bottom: 30px !important;
	margin-top: 0 !important;
	background: #FFFFFF !important;
	text-align: center !important;
}

body.woocommerce-cart .entry-hero,
body.woocommerce-checkout .entry-hero,
body.woocommerce-account .entry-hero {
	padding-top: clamp(16px, 2.5vw, 32px) !important;
	padding-bottom: clamp(16px, 2vw, 24px) !important;
	margin-top: 0 !important;
	background: #FFFFFF !important;
	text-align: center !important;
}

body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-hero {
	border-bottom: 1px solid var(--laverte-border-light) !important;
}

/* Центрирование контейнера hero и принудительный сброс левого выравнивания */
.entry-hero,
.entry-hero .hero-container,
.entry-hero .site-container,
.entry-hero .entry-hero-container-inner {
	max-width: 900px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.entry-hero .entry-header,
.entry-hero-container-inner .entry-header,
.entry-content-wrap > .entry-header,
.entry-header,
.page-header,
.woocommerce-account .entry-header,
.entry-hero .title-align-left,
.entry-hero .title-align-right,
.entry-hero .title-align-center,
.title-align-left,
.title-align-right,
.title-align-center,
.title-tablet-align-left,
.title-tablet-align-right,
.title-tablet-align-center,
.title-mobile-align-left,
.title-mobile-align-right,
.title-mobile-align-center {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.entry-hero h1.entry-title,
.entry-hero .entry-title,
.entry-hero h1.page-title,
.entry-header h1.entry-title,
.entry-header .entry-title,
h1.entry-title,
h1.page-title,
.entry-title,
.page-title,
body.page .entry-hero h1.entry-title,
body.page .entry-header h1.entry-title {
	padding-bottom: 0 !important;
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	box-sizing: border-box !important;
}

@media screen and (max-width: 1024px) {
	.entry-hero .title-tablet-align-left,
	.entry-hero .title-tablet-align-right,
	.entry-hero .title-tablet-align-center,
	.entry-hero .entry-header,
	.entry-header,
	.title-tablet-align-left,
	.title-tablet-align-center {
		align-items: center !important;
		text-align: center !important;
		justify-content: center !important;
	}
}

@media screen and (max-width: 719px) {
	.entry-hero .title-mobile-align-left,
	.entry-hero .title-mobile-align-right,
	.entry-hero .title-mobile-align-center,
	.entry-hero .entry-header,
	.entry-header,
	.title-mobile-align-left,
	.title-mobile-align-center {
		align-items: center !important;
		text-align: center !important;
		justify-content: center !important;
	}
}

/* Контейнер текста документа (только для информационных страниц, НЕ затрагивая WooCommerce, чекаут, аккаунт и корзину) */
body.page:not(.home):not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.laverte-wide-legal-page) .entry-content {
	max-width: 860px !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
	font-size: 14.5px !important;
	line-height: 1.85 !important;
	color: #333333 !important;
}

body.page.laverte-wide-legal-page .entry-content,
body.page:has(.laverte-delivery-concierge-block) .entry-content,
body.page:has(.laverte-returns-concierge-block) .entry-content {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

body.page:not(.home):not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content h2 {
	font-family: var(--laverte-font-sans, -apple-system, BlinkMacSystemFont, sans-serif) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	margin-top: 2.8rem !important;
	margin-bottom: 1.1rem !important;
	color: #111111 !important;
	border-bottom: 1px solid var(--laverte-border-light) !important;
	padding-bottom: 8px !important;
}

body.page:not(.home):not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content p:not(.laverte-delivery-subtitle):not(.laverte-card-title):not(.laverte-step-text) {
	margin-bottom: 1.25rem !important;
	color: #444444 !important;
}

body.page:not(.home):not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content ul:not(.laverte-card-list) {
	margin-bottom: 1.5rem !important;
	padding-left: 1.5rem !important;
}

body.page:not(.home):not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content li:not(.laverte-card-list li):not(.laverte-step-item) {
	margin-bottom: 0.6rem !important;
	line-height: 1.7 !important;
	color: #444444 !important;
}

body.page:not(.home):not(.woocommerce):not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content strong {
	color: #111111 !important;
	font-weight: 600 !important;
}

/* ==========================================================================
   12. COOKIE-БАННЕР (152-ФЗ)
   ========================================================================== */
.laverte-cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999999;
	background-color: #FFFFFF;
	border-top: 1px solid var(--laverte-border);
	box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
	padding: clamp(14px, 2.5vw, 18px) clamp(16px, 3vw, 24px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.laverte-cookie-content {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px 24px;
	flex-wrap: wrap;
}

.laverte-cookie-text {
	font-size: clamp(11px, 2vw, 12px);
	line-height: 1.55;
	color: #444444;
	margin: 0;
	flex: 1;
	min-width: 260px;
}

.laverte-cookie-text a {
	color: #000000;
	text-decoration: underline;
	font-weight: 500;
}

.laverte-cookie-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.laverte-cookie-btn {
	border-radius: 0 !important;
	padding: 10px 20px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	cursor: pointer !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	min-height: 40px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
	box-sizing: border-box !important;
}

.laverte-cookie-btn-primary {
	background-color: #000000 !important;
	color: #FFFFFF !important;
	border: 1px solid #000000 !important;
}

.laverte-cookie-btn-primary:hover {
	background-color: #333333 !important;
	border-color: #333333 !important;
}

.laverte-cookie-btn-secondary {
	background-color: transparent !important;
	color: #333333 !important;
	border: 1px solid #CCCCCC !important;
}

.laverte-cookie-btn-secondary:hover {
	background-color: #F7F7F7 !important;
	border-color: #999999 !important;
	color: #000000 !important;
}


/* ==========================================================================
   13. СИСТЕМНЫЕ УВЕДОМЛЕНИЯ WOOCOMMERCE (NOTICES & MESSAGES - QUIET LUXURY)
   ========================================================================== */
.woocommerce-notices-wrapper {
	width: 100% !important;
	max-width: var(--global-content-width, 1240px) !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice,
.wc-block-components-notice-banner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	padding: 16px 24px !important;
	margin: 16px auto 28px auto !important;
	background: #FFFFFF !important;
	background-color: #FFFFFF !important;
	border: 1px solid var(--laverte-border, #E5E5E5) !important;
	border-left: 3px solid #111111 !important;
	border-radius: 0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
	font-family: var(--laverte-font-family) !important;
	font-size: 13.5px !important;
	color: #111111 !important;
	line-height: 1.5 !important;
	box-sizing: border-box !important;
	outline: none !important;
	width: 100% !important;
}

/* Удаление дефолтных иконок-псевдоэлементов и цветных рамок WooCommerce */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none !important;
	content: none !important;
}

.woocommerce-message {
	border-left: 3px solid #111111 !important;
}

.woocommerce-info {
	border-left: 3px solid #555555 !important;
}

.woocommerce-error {
	border-left: 3px solid #111111 !important;
}

/* Кнопка действия внутри уведомления ("Просмотр корзины" и др.) */
.woocommerce-message .button,
.woocommerce-message a.button,
.woocommerce-message a.button.wc-forward,
.woocommerce-info .button,
.woocommerce-info a.button,
.woocommerce-error .button,
.woocommerce-error a.button,
.woocommerce-notices-wrapper .button,
.woocommerce-notices-wrapper a.button,
.wc-block-components-notice-banner .button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	order: 2 !important;
	margin-left: auto !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	float: none !important;
	height: 40px !important;
	min-height: 40px !important;
	padding: 0 22px !important;
	background: #111111 !important;
	background-color: #111111 !important;
	color: #FFFFFF !important;
	border: 1px solid #111111 !important;
	border-radius: 0 !important;
	font-family: var(--laverte-font-heading, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
}

.woocommerce-message .button:hover,
.woocommerce-message a.button:hover,
.woocommerce-message a.button.wc-forward:hover,
.woocommerce-info .button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error .button:hover,
.woocommerce-error a.button:hover,
.woocommerce-notices-wrapper .button:hover,
.woocommerce-notices-wrapper a.button:hover,
.wc-block-components-notice-banner .button:hover {
	background: transparent !important;
	background-color: transparent !important;
	color: #111111 !important;
	border-color: #111111 !important;
	box-shadow: none !important;
}
