/*
Theme Name: BeerHabits
Theme URI: https://beerhabits.local
Description: BeerHabits child theme for Kadence with a unified landing page and WooCommerce storefront styling.
Author: OpenAI
Template: kadence
Version: 1.0.18
Text Domain: bh-kadence
*/

/* ═══════════════════════════════════════════════════════════════════
 * style.css — ОСНОВНОЙ ФАЙЛ СТИЛЕЙ САЙТА (читать README.md в корне темы)
 * ═══════════════════════════════════════════════════════════════════
 *
 * СТРУКТУРА ФАЙЛА (по порядку сверху вниз):
 *
 *  1.  :root          — CSS-переменные: цвета, тени, радиусы, шрифты
 *                       МЕНЯТЬ ТУТ для смены палитры всего сайта.
 *  2.  body, html     — базовый dark navy фон, шрифты, типографика
 *  3.  Headings       — стили H1-H6 (белые, Oswald)
 *  4.  Header         — логотип, навигация, языковое меню, корзина
 *  5.  Section helpers— общие классы .bh-section-*, kicker, title
 *  6.  Buttons        — primary / secondary / ghost кнопки (с shimmer-эффектом)
 *  7.  Footer         — стили футера (Cinema Dark)
 *  8.  Cards & panels — общие классы для карточек (`.bh-panel` и т.д.)
 *  9.  Forms          — инпуты, текстарии, чекбоксы, селекты
 * 10.  Single product — стили страницы одного товара
 * 11.  Checkout/Cart  — стили корзины и checkout
 * 12.  Section kickers + buttons redesign — обновлённый дизайн (round 4)
 * 13.  Final polish   — scrollbar, focus, selection, 404, поиск
 * 14.  Single product force-dark — переопределение Kadence parent светлого фона
 * 15.  Section headings unified alignment — выравнивание kicker/title по центру
 * 16.  Cleanup glow blobs + center alignment — финальный глобальный override
 *
 * РАСПРОСТРАНЁННЫЕ ПРАВКИ:
 * ────────────────────────
 *   • Поменять основной голубой цвет: --bh-accent в :root (строка ~24)
 *   • Поменять фон сайта: --bh-bg, body { background: ... }*   • Поменять цвет/толщину border у карточек: --bh-line, --bh-line-strong
 *   • Поменять стиль кнопок: блок "BUTTONS — FULL REDESIGN"
 *   • Поменять стиль kicker (бейджа над заголовком секции):
 *     блок "SECTION KICKERS — REDESIGN"
 *
 * ⚠️ ВАЖНО:
 *   Файл загружается ВО ВСЕХ страницах сайта. После правок жми Ctrl+F5
 *   в браузере чтобы сбросить кеш CSS.
 * ═══════════════════════════════════════════════════════════════════ */

:root {
	/* ── Dark Navy palette ── */
	--bh-bg:             #071827;
	--bh-bg-soft:        #0a1f32;
	--bh-bg-muted:       #0d2438;
	--bh-page-bg:
		radial-gradient(ellipse at 8% 0%, rgba(26, 160, 224, 0.09) 0%, transparent 34%),
		radial-gradient(ellipse at 88% 18%, rgba(92, 197, 255, 0.045) 0%, transparent 32%),
		linear-gradient(160deg, #071421 0%, #0a1e30 54%, #071c2e 100%);
	--bh-page-bg-flat:   #071827;
	--bh-panel-bg:       rgba(8, 38, 58, 0.68);
	--bh-panel-bg-strong:rgba(9, 31, 48, 0.92);
	--bh-surface:        rgba(255, 255, 255, 0.05);
	--bh-surface-strong: rgba(255, 255, 255, 0.09);
	--bh-line:           rgba(255, 255, 255, 0.08);
	--bh-line-strong:    rgba(255, 255, 255, 0.15);
	--bh-text:           rgba(255, 255, 255, 0.82);
	--bh-text-strong:    #ffffff;
	--bh-text-soft:      rgba(255, 255, 255, 0.62);
	--bh-text-muted:     rgba(255, 255, 255, 0.40);
	--bh-accent:         #1aa0e0;
	--bh-accent-strong:  #5cc5ff;
	--bh-accent-deep:    #0f8bcb;
	--bh-warm:           #f0a500;
	--bh-warm-soft:      rgba(240, 165, 0, 0.15);
	--bh-white:          #ffffff;
	--bh-shadow:         0 28px 80px rgba(0, 0, 0, 0.45);
	--bh-shadow-soft:    0 20px 56px rgba(0, 0, 0, 0.30);
	--bh-shadow-accent:  0 12px 32px rgba(15, 139, 203, 0.30);
	--bh-shadow-warm:    0 12px 32px rgba(240, 165, 0, 0.25);

	/* ── Gradient tokens ── */
	--bh-grad-accent:    linear-gradient(135deg, var(--bh-accent) 0%, var(--bh-accent-deep) 50%, #0a6fa3 100%);
	--bh-grad-warm:      linear-gradient(135deg, #f0a500 0%, #e08800 100%);
	--bh-grad-dark:      linear-gradient(180deg, rgba(7, 24, 39, 0) 0%, rgba(7, 24, 39, 0.96) 100%);
	--bh-grad-glass:     linear-gradient(135deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.01) 100%);
	--bh-grad-hero-shade:linear-gradient(180deg, rgba(7,18,30,0.12) 0%, rgba(7,18,30,0.72) 100%);

	--bh-radius-xl: 34px;
	--bh-radius-lg: 26px;
	--bh-radius-md: 18px;
	--bh-radius-sm: 999px;
	--bh-container: min(1240px, calc(100vw - 40px));

	/* ── Типографическая шкала ── */
	--bh-text-xs:   0.75rem;    /* 12px */
	--bh-text-sm:   0.875rem;   /* 14px */
	--bh-text-base: 1rem;       /* 16px */
	--bh-text-lg:   1.125rem;   /* 18px */
	--bh-text-xl:   1.25rem;    /* 20px */
	--bh-text-2xl:  1.5rem;     /* 24px */
	--bh-text-3xl:  2rem;       /* 32px */
	--bh-text-4xl:  2.5rem;     /* 40px */
	--bh-text-5xl:  3.25rem;    /* 52px */

	/* ── Шкала отступов ── */
	--bh-space-1:  4px;
	--bh-space-2:  8px;
	--bh-space-3:  12px;
	--bh-space-4:  16px;
	--bh-space-5:  20px;
	--bh-space-6:  24px;
	--bh-space-8:  32px;
	--bh-space-10: 40px;
	--bh-space-12: 48px;
	--bh-space-16: 64px;
	--bh-space-20: 80px;
	--bh-space-24: 96px;

	/* ── Стандартные брейкпоинты ── */
	--bh-bp-xs:  480px;   /* телефоны */
	--bh-bp-sm:  640px;   /* большие телефоны */
	--bh-bp-md:  768px;   /* планшеты */
	--bh-bp-lg:  960px;   /* небольшой десктоп */
	--bh-bp-xl:  1200px;  /* широкий экран */
}html {
	scroll-behavior: smooth;
}body {
	background: var(--bh-page-bg);
	background-attachment: fixed;
	color: var(--bh-text-soft);
	font-family: "Manrope", "Segoe UI", sans-serif;
}body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .entry-title,
body .site-title {
	color: var(--bh-text-strong);
	font-family: "Oswald", "Arial Narrow", sans-serif;
	letter-spacing: 0.02em;
}body h1,
body .entry-title,
body .site-title {
	text-transform: uppercase;
}body h2,
body h3,
body h4,
body h5,
body h6 {
	text-transform: none;
	letter-spacing: 0.01em;
}body a {
	color: var(--bh-accent-deep);
}body a:hover,
body a:focus {
	color: var(--bh-text-strong);
}body .content-bg,
body .site,
body .wp-site-blocks,
body .site-content,
body #wrapper,
body #inner-wrap {
	background: transparent;
}body .site-title,
body .site-title a,
body .entry-title,
body .bh-section-title,
body .bh-card-title,
body .bh-panel-title,
body .bh-product-title,
body .bh-faq-item h3,
body .bh-slide__title,
body .bh-slide__visual-title,
body .bh-slide__side-title,
body .bh-journal-card__title,
body .bh-review-card__name {
	color: var(--bh-text-strong);
	overflow-wrap: anywhere;
}#masthead {
	position: sticky;
	top: 0;
	z-index: 80;
	background: rgba(5, 16, 27, 0.97);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}body.admin-bar #masthead {
	top: 32px;
}#main-header .site-header-row-container-inner,
#mobile-header .site-header-row-container-inner {
	background: transparent;
	border-bottom: none;
	box-shadow: none;
}#main-header .site-main-header-inner-wrap,
#mobile-header .site-main-header-inner-wrap {
	min-height: 94px;
	align-items: center;
}.site-branding .brand,
.mobile-site-branding .brand {
	align-items: center;
	gap: 0;
}.site-branding .custom-logo,
.mobile-site-branding .custom-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 118px;
	max-height: 118px;
	flex-shrink: 0;
	opacity: 1;
	visibility: visible;
	transform: translateZ(0);
	object-fit: contain;
	filter: drop-shadow(0 10px 24px rgba(16, 109, 147, 0.08));
}.site-branding .site-title-wrap,
.mobile-site-branding .site-title-wrap,
#masthead .site-branding .site-title-wrap,
#masthead .mobile-site-branding .site-title-wrap,
#masthead .site-branding .site-title,
#masthead .mobile-site-branding .site-title {
	display: none !important;
}.site-branding .custom-logo-link,
.mobile-site-branding .custom-logo-link {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	position: relative;
	z-index: 2;
}.site-branding .site-title,
.mobile-site-branding .site-title,
.site-branding .site-title a,
.mobile-site-branding .site-title a {
	color: var(--bh-text-strong);
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1;
}.main-navigation .menu,
.mobile-navigation .menu {
	gap: 10px;
	align-items: center;
}.main-navigation .menu > li,
.mobile-navigation .menu > li {
	margin: 0;
}.main-navigation .menu > li > a,
.mobile-navigation .menu > li > a,
.bh-language-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid transparent;
	border-radius: var(--bh-radius-sm);
	background: transparent;
	color: var(--bh-text);
	font-family: inherit;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}.main-navigation .menu > li > a:hover,
.main-navigation .menu > li > a:focus,
.mobile-navigation .menu > li > a:hover,
.mobile-navigation .menu > li > a:focus,
.bh-language-toggle:hover,
.bh-language-toggle:focus,
.bh-language-toggle[aria-expanded="true"] {
	color: var(--bh-white);
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.10);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.20);
	transform: translateY(-1px);
}.main-navigation .menu > li.current-menu-item > a,
.main-navigation .menu > li.current_page_item > a {
	color: var(--bh-accent-deep);
	border-color: rgba(15, 139, 203, 0.22);
	background: rgba(15, 139, 203, 0.08);
	font-weight: 800;
}.main-navigation .menu,
.mobile-navigation .menu {
	gap: 4px;
}.bh-language-toggle {
	gap: 10px;
	padding: 0 14px;
	border-color: rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.08);
	box-shadow: none;
	cursor: pointer;
}.bh-language-toggle__current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--bh-text-strong);
	font-weight: 800;
}.bh-language-toggle__current--flag {
	min-width: 22px;
}.bh-language-toggle__code {
	color: var(--bh-text-strong);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}.bh-language-toggle__caret {
	font-size: 0.72rem;
}.menu-item-language {
	position: relative;
}.menu-item-language-option a {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	min-width: 160px;
}.bh-flag {
	display: inline-flex;
	width: 22px;
	height: 15px;
	flex: 0 0 22px;
	border: 1px solid rgba(8, 91, 132, 0.12);
	border-radius: 4px;
	box-shadow: 0 6px 18px rgba(11, 56, 82, 0.1);
	overflow: hidden;
	background-color: transparent;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}.bh-flag--et {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 15'%3E%3Cpath fill='%230072CE' d='M0 0h22v5H0z'/%3E%3Cpath fill='%23000' d='M0 5h22v5H0z'/%3E%3Cpath fill='%23fff' d='M0 10h22v5H0z'/%3E%3C/svg%3E");
}.bh-flag--ru {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 15'%3E%3Cpath fill='%23fff' d='M0 0h22v5H0z'/%3E%3Cpath fill='%230039A6' d='M0 5h22v5H0z'/%3E%3Cpath fill='%23D52B1E' d='M0 10h22v5H0z'/%3E%3C/svg%3E");
}.bh-flag--en {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Cpath fill='%23012169' d='M0 0h60v40H0z'/%3E%3Cpath stroke='%23fff' stroke-width='8' d='M0 0l60 40M60 0L0 40'/%3E%3Cpath stroke='%23C8102E' stroke-width='4' d='M0 0l60 40M60 0L0 40'/%3E%3Cpath stroke='%23fff' stroke-width='14' d='M30 0v40M0 20h60'/%3E%3Cpath stroke='%23C8102E' stroke-width='8' d='M30 0v40M0 20h60'/%3E%3C/svg%3E");
}.bh-menu-cart {
	position: relative;
}.bh-cart {
	position: relative;
}.bh-cart__trigger {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid rgba(8, 91, 132, 0.14);
	border-radius: var(--bh-radius-sm);
	background: rgba(255, 255, 255, 0.84);
	color: var(--bh-text-strong);
	box-shadow: 0 14px 34px rgba(15, 139, 203, 0.12);
	font: inherit;
	font-size: 0.92rem;
	font-weight: 800;
	cursor: pointer;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}.bh-cart__trigger:hover,
.bh-cart__trigger:focus,
.bh-cart.is-open .bh-cart__trigger {
	transform: translateY(-2px);
	border-color: rgba(15, 139, 203, 0.2);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 18px 38px rgba(15, 139, 203, 0.16);
}.bh-cart__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: var(--bh-accent-deep);
}.bh-cart__icon svg {
	display: block;
	width: 18px;
	height: 18px;
}.bh-cart__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	padding: 0 8px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--bh-accent-strong), var(--bh-accent));
	color: var(--bh-white);
	font-size: 0.78rem;
	line-height: 1;
}.bh-cart__subtotal {
	color: var(--bh-text-soft);
	font-size: 0.82rem;
	font-weight: 700;
}.bh-cart__panel {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	width: min(380px, calc(100vw - 28px));
	padding: 18px;
	border: 1px solid rgba(8, 91, 132, 0.14);
	border-radius: 24px;
	background: rgba(255, 252, 248, 0.96);
	box-shadow: var(--bh-shadow);
	backdrop-filter: blur(24px);
	opacity: 0;
	pointer-events: none;
	transform: translateY(12px);
	transition: opacity 0.22s ease, transform 0.22s ease;
}.bh-cart.is-open .bh-cart__panel {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}.bh-cart__panel-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}.bh-cart__panel-label,
.bh-cart__panel-total {
	margin: 0;
}.bh-cart__panel-label {
	color: var(--bh-text-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}.bh-cart__panel-total,
.bh-cart__panel-count {
	color: var(--bh-text-strong);
	font-weight: 800;
}.bh-cart__panel-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 10px;
	border-radius: 999px;
	background: rgba(15, 139, 203, 0.1);
}.bh-cart__items .woocommerce-mini-cart {
	margin: 0;
	padding: 0;
	list-style: none;
}.bh-cart__items .woocommerce-mini-cart-item {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 12px;
	padding: 12px 0;
	border-top: 1px solid rgba(8, 91, 132, 0.08);
}.bh-cart__items .woocommerce-mini-cart-item:first-child {
	border-top: 0;
	padding-top: 0;
}.bh-cart__items .woocommerce-mini-cart-item a {
	color: var(--bh-text-strong);
	font-weight: 700;
	text-decoration: none;
}.bh-cart__items .woocommerce-mini-cart-item img {
	width: 58px;
	height: 58px;
	border-radius: 16px;
	object-fit: cover;
}.bh-cart__items .quantity,
.bh-cart__items .woocommerce-mini-cart__empty-message,
.bh-cart__items .total {
	color: var(--bh-text-soft);
	font-size: 0.9rem;
	line-height: 1.6;
}.bh-cart__items .total {
	margin: 14px 0 0;
	padding-top: 14px;
	border-top: 1px solid rgba(8, 91, 132, 0.1);
}.bh-cart__items .remove_from_cart_button {
	color: var(--bh-text-muted);
	font-size: 1rem;
}.bh-cart__panel-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}.menu-item-language .sub-menu {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	min-width: 210px;
	margin: 0;
	padding: 12px;
	list-style: none;
	border: 1px solid rgba(23, 101, 138, 0.14);
	border-radius: 20px;
	background: rgba(255, 251, 246, 0.92);
	box-shadow: var(--bh-shadow);
	backdrop-filter: blur(18px);
	opacity: 0;
	pointer-events: none;
	transform: translateY(10px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}.menu-item-language.is-open .sub-menu,
.menu-item-language:focus-within .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}.menu-item-language .sub-menu li + li {
	margin-top: 8px;
}.menu-item-language .sub-menu a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 14px;
	color: var(--bh-text);
	text-decoration: none;
}.menu-item-language .sub-menu a:hover,
.menu-item-language .sub-menu a:focus,
.menu-item-language .is-current-language a {
	background: rgba(78, 167, 204, 0.12);
	color: var(--bh-text-strong);
}.bh-lang-code {
	min-width: 28px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}.bh-lang-name {
	display: inline-flex;
	align-items: center;
	color: var(--bh-text-soft);
	font-size: 0.9rem;
	line-height: 1.2;
}.site-header-item .drawer-toggle,
.site-header-item .drawer-toggle:hover,
.site-header-item .drawer-toggle:focus {
	color: var(--bh-text-strong);
}#mobile-drawer .drawer-inner {
	background: rgba(255, 250, 244, 0.98);
	color: var(--bh-text);
}#mobile-drawer .drawer-content {
	padding-top: 10px;
}#mobile-drawer .mobile-navigation .menu {
	display: grid;
	gap: 10px;
	margin: 0;
}#mobile-drawer .mobile-navigation .menu > li > a,
#mobile-drawer .bh-language-toggle {
	width: 100%;
	justify-content: space-between;
	padding: 0 18px;
	border: 1px solid rgba(23, 101, 138, 0.1);
	background: rgba(255, 255, 255, 0.66);
}#mobile-drawer .menu-item-language .sub-menu {
	position: static;
	min-width: 0;
	margin-top: 10px;
	opacity: 1;
	pointer-events: auto;
	transform: none;
	display: none;
	background: rgba(255, 255, 255, 0.68);
	box-shadow: none;
}#mobile-drawer .menu-item-language.is-open .sub-menu {
	display: block;
}.bh-homepage {
	color: var(--bh-text-soft);
}.bh-section {
	position: relative;
	width: var(--bh-container);
	margin: 0 auto;
	padding: 62px 0;
}.bh-section-title {
	position: relative;
	margin: 10px 0 18px;
	max-width: 26ch;
	padding-left: 22px;
	font-size: clamp(1.35rem, 1.9vw, 2.1rem);
	line-height: 1.18;
	letter-spacing: 0.01em;
	text-transform: none;
	text-wrap: balance;
}.bh-section-title::before {
	content: "";
	position: absolute;
	top: 0.16em;
	left: 0;
	width: 5px;
	height: 0.95em;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--bh-accent), rgba(215, 171, 114, 0.84));
	box-shadow: 0 8px 20px rgba(15, 139, 203, 0.18);
}.bh-section-title::after {
	content: "";
	position: absolute;
	left: 22px;
	bottom: -10px;
	width: 108px;
	height: 1px;
	background: linear-gradient(90deg, rgba(15, 139, 203, 0.28), rgba(15, 139, 203, 0));
}.bh-section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px;
	border: 1px solid rgba(23, 101, 138, 0.14);
	border-radius: var(--bh-radius-sm);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.44));
	box-shadow: 0 14px 34px rgba(11, 56, 82, 0.06);
	color: var(--bh-accent-deep);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}.bh-section-intro {
	max-width: 690px;
	margin: 0;
	padding-left: 22px;
	color: var(--bh-text-soft);
	font-size: 0.97rem;
	line-height: 1.72;
}.bh-section-title + .bh-product-grid,
.bh-section-title + .bh-mood-grid,
.bh-section-title + .bh-pairing-grid,
.bh-section-title + .bh-review-grid,
.bh-section-title + .bh-journal-grid,
.bh-section-title + .bh-faq-grid,
.bh-section-title + .bh-filler-grid,
.bh-section-title + .bh-delivery-band {
	margin-top: 30px;
}/* Кнопки перенесены в assets/css/components.css */

.bh-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin-top: 34px;
	align-items: stretch;
}.bh-card {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 28px;
	border: 1px solid rgba(23, 101, 138, 0.12);
	border-radius: var(--bh-radius-lg);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.4));
	box-shadow: var(--bh-shadow-soft);
}.bh-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, var(--bh-accent), rgba(255, 255, 255, 0));
}.bh-card-title {
	margin: 0 0 12px;
	font-size: 1.3rem;
	line-height: 1.16;
	text-wrap: balance;
}.bh-card-copy {
	margin: 0;
	color: var(--bh-text-soft);
	line-height: 1.78;
}.bh-card-link {
	display: inline-flex;
	margin-top: 18px;
	color: var(--bh-accent-deep);
	font-weight: 800;
	text-decoration: none;
}.bh-panel {
	position: relative;
	overflow: hidden;
	padding: 30px;
	border: 1px solid rgba(23, 101, 138, 0.12);
	border-radius: var(--bh-radius-lg);
	background:
		radial-gradient(circle at top right, rgba(92, 197, 255, 0.14), transparent 34%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.44));
	box-shadow: var(--bh-shadow-soft);
}.bh-panel::before {
	content: "";
	position: absolute;
	top: 0;
	left: 28px;
	width: 124px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--bh-accent), rgba(255, 255, 255, 0));
}.bh-panel-title {
	margin: 0 0 16px;
	font-size: 1.55rem;
	line-height: 1.12;
	text-wrap: balance;
}.bh-check-list {
	margin: 0;
	padding-left: 20px;
	color: var(--bh-text-soft);
	line-height: 1.8;
}.bh-check-list li + li {
	margin-top: 12px;
}.bh-product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin-top: 34px;
	align-items: stretch;
}.bh-product-card {
	display: grid;
	grid-template-rows: auto 1fr;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(23, 101, 138, 0.12);
	border-radius: 26px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.44));
	box-shadow: var(--bh-shadow-soft);
}.bh-product-media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	background:
		radial-gradient(circle at top, rgba(130, 205, 231, 0.3), transparent 52%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.75), rgba(233, 230, 223, 0.6));
}.bh-product-media img {
	width: 100%;
	height: auto;
	max-height: 190px;
	object-fit: contain;
}.bh-product-media img.bh-product-photo {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
}.bh-product-media::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 46%;
	background: linear-gradient(180deg, rgba(246, 239, 229, 0), rgba(246, 239, 229, 0.34));
	pointer-events: none;
}.bh-product-placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1;
	border: 1px dashed rgba(23, 101, 138, 0.16);
	border-radius: 18px;
	color: var(--bh-text-muted);
	font-size: 0.86rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}.bh-product-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px;
}.bh-product-kicker {
	margin-bottom: 10px;
	color: var(--bh-accent-deep);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}.bh-product-title {
	margin: 0 0 12px;
	font-size: 1.22rem;
	line-height: 1.16;
	text-wrap: balance;
}.bh-product-copy {
	margin: 0;
	color: var(--bh-text-soft);
	line-height: 1.7;
}.bh-product-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 18px;
}.bh-product-price {
	color: var(--bh-text-strong);
	font-size: 1.06rem;
	font-weight: 800;
}.bh-badge-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
}.bh-badge {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: var(--bh-radius-sm);
	border: 1px solid rgba(23, 101, 138, 0.14);
	background: rgba(255, 255, 255, 0.54);
	color: var(--bh-text);
	font-size: 0.84rem;
	font-weight: 700;
}.bh-faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	margin-top: 34px;
	align-items: stretch;
}.bh-faq-item {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 26px;
	border: 1px solid rgba(23, 101, 138, 0.12);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.56);
	box-shadow: var(--bh-shadow-soft);
}.bh-faq-item h3 {
	margin: 0 0 12px;
	font-size: 1.08rem;
	line-height: 1.18;
	text-wrap: balance;
}.bh-faq-item p {
	margin: 0;
	color: var(--bh-text-soft);
	line-height: 1.78;
}.bh-cta {
	padding-bottom: 110px;
}.bh-cta-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	padding: 34px;
	border: 1px solid rgba(23, 101, 138, 0.14);
	border-radius: var(--bh-radius-xl);
	background:
		radial-gradient(circle at top right, rgba(130, 205, 231, 0.28), transparent 32%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.52));
	box-shadow: var(--bh-shadow);
}.bh-cta-box p {
	margin: 10px 0 0;
	color: var(--bh-text-soft);
}.bh-section-anchor {
	position: relative;
	top: -120px;
	display: block;
	visibility: hidden;
}.bh-sitewide-promo {
	padding: 18px 0 0;
}.bh-sitewide-promo__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: 24px;
	align-items: center;
	width: var(--bh-container);
	margin: 0 auto;
	padding: 28px 30px;
	border: 1px solid rgba(23, 101, 138, 0.12);
	border-radius: 28px;
	background:
		radial-gradient(circle at top left, rgba(130, 205, 231, 0.22), transparent 30%),
		radial-gradient(circle at right center, rgba(215, 171, 114, 0.18), transparent 26%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.52));
	box-shadow: var(--bh-shadow-soft);
}.bh-sitewide-promo__title {
	margin: 16px 0 14px;
	max-width: 24ch;
	color: var(--bh-text-strong);
	font-family: "Oswald", "Arial Narrow", sans-serif;
	font-size: clamp(1.35rem, 2vw, 2rem);
	line-height: 1.14;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}.bh-sitewide-promo__text {
	max-width: 62ch;
	margin: 0;
	color: var(--bh-text-soft);
	font-size: 0.98rem;
	line-height: 1.8;
}.bh-sitewide-promo__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 22px;
}.bh-sitewide-promo__badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 12px;
}.bh-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}.bh-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}.site-footer-wrap {
	background: rgba(255, 250, 244, 0.8);
	border-top: 1px solid rgba(23, 101, 138, 0.1);
}.site-footer-wrap,
.site-footer-wrap a,
.site-footer-wrap .site-info {
	color: var(--bh-text-soft);
}.woocommerce-page .content-wrap,
.single-product .content-wrap,
.post-type-archive-product .content-wrap {
	padding-top: 42px;
	padding-bottom: 64px;
}.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(var(--bh-shop-cols, 4), minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
}.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}.woocommerce ul.products li.product,
.woocommerce div.product,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-account .woocommerce {
	border: 1px solid rgba(23, 101, 138, 0.12);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.68);
	box-shadow: var(--bh-shadow-soft);
}
.woocommerce ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 18px;
}.woocommerce ul.products li.product a img {
	margin-bottom: 18px;
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(130, 205, 231, 0.18), rgba(255, 255, 255, 0.26));
}.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--bh-text-strong);
}.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart table.cart td.actions .coupon .input-text {
	min-height: 48px;
	border: 1px solid rgba(23, 101, 138, 0.12);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.7);
	color: var(--bh-text);
}.woocommerce table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals {
	border: 1px solid rgba(23, 101, 138, 0.12);
	background: rgba(255, 255, 255, 0.7);
}
.woocommerce span.onsale {
	min-width: 58px;
	min-height: 58px;
	padding: 0;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--bh-accent), var(--bh-accent-deep));
	color: var(--bh-white);
	font-weight: 800;
	line-height: 58px;
}@media (max-width: 1200px) {.bh-sitewide-promo__inner {
		grid-template-columns: 1fr;
	}.bh-sitewide-promo__badges {
		justify-content: flex-start;
	}.bh-card-grid,
	.bh-product-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}.bh-cta-box {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 960px) {body.admin-bar #masthead {
		top: 46px;
	}.site-branding .custom-logo,
	.mobile-site-branding .custom-logo {
		max-width: 68px;
		max-height: 68px;
	}.site-branding .site-title,
	.mobile-site-branding .site-title {
		font-size: 1.4rem;
	}.bh-section {
		padding: 48px 0;
	}.bh-section-title,
	.bh-section-intro {
		padding-left: 18px;
	}.bh-section-title::after {
		left: 18px;
	}.bh-card-grid,
	.bh-product-grid,
	.bh-faq-grid,
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}#mobile-drawer .bh-cart__trigger {
		width: 100%;
		justify-content: space-between;
	}#mobile-drawer .bh-cart__panel {
		position: static;
		width: 100%;
		margin-top: 12px;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		display: none;
	}#mobile-drawer .bh-cart.is-open .bh-cart__panel {
		display: block;
	}
}
@media (max-width: 640px) {:root {
		--bh-container: min(1220px, calc(100vw - 24px));
	}.bh-sitewide-promo__inner {
		padding: 22px 20px;
		border-radius: 24px;
	}.bh-section {
		padding: 36px 0;
	}.bh-section-title,
	.bh-section-intro {
		padding-left: 14px;
	}.bh-section-title::after {
		left: 14px;
		width: 88px;
	}.bh-button,
	.bh-button:visited {
		width: 100%;
	}.bh-cart__trigger {
		width: 100%;
		justify-content: space-between;
	}.bh-cart__panel-actions {
		grid-template-columns: 1fr;
	}
}
/* Contacts page alignment: reuse company, map and request-form components. */
.bh-homepage.bh-contact-page .bh-company-band,
.bh-homepage.bh-contact-page .bh-company-map--full,
.bh-homepage.bh-contact-page .bh-company-support-grid {
	width: min(1240px, calc(100vw - 40px)) !important;
	max-width: 1240px !important;
}.bh-homepage.bh-contact-page .bh-company-band {
	grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr) !important;
	gap: clamp(20px, 2.6vw, 34px) !important;
	align-items: stretch !important;
}.bh-homepage.bh-contact-page .bh-company-info,
.bh-homepage.bh-contact-page .bh-company-feedback,
.bh-homepage.bh-contact-page .bh-company-b2b--compact,
.bh-homepage.bh-contact-page .bh-company-map--full {
	border: 1px solid rgba(126, 224, 255, 0.14) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.074), rgba(255,255,255,0.032)),
		rgba(7, 24, 39, 0.70) !important;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255,255,255,0.07) !important;
}.bh-homepage.bh-contact-page .bh-company-info {
	align-items: stretch !important;
	text-align: left !important;
}.bh-homepage.bh-contact-page .bh-company-info__head {
	display: grid !important;
	justify-items: center !important;
	gap: 12px !important;
	text-align: center !important;
}.bh-homepage.bh-contact-page .bh-company-info__title {
	margin: 0 !important;
	text-align: center !important;
	line-height: 1.08 !important;
}.bh-homepage.bh-contact-page .bh-company-info__contacts {
	justify-content: center !important;
	text-align: center !important;
}.bh-homepage.bh-contact-page .bh-company-info__reqs {
	width: 100% !important;
}.bh-homepage.bh-contact-page .bh-company-info__req {
	align-items: center !important;
	gap: 12px !important;
}.bh-homepage.bh-contact-page .bh-company-info__req-label {
	text-align: left !important;
}.bh-homepage.bh-contact-page .bh-company-info__req-value {
	text-align: right !important;
}.bh-homepage.bh-contact-page .bh-company-feedback {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	padding: clamp(22px, 2.4vw, 34px) !important;
}.bh-homepage.bh-contact-page .bh-company-feedback__title {
	margin: 0 !important;
	color: var(--bh-text-strong) !important;
	font-size: clamp(1.7rem, 3vw, 2.35rem) !important;
	line-height: 1.05 !important;
}.bh-homepage.bh-contact-page .bh-company-feedback__intro {
	max-width: 52ch;
	margin: 0 !important;
	color: var(--bh-text-soft) !important;
}.bh-homepage.bh-contact-page .bh-company-feedback .bh-ws-request__fields {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
}.bh-homepage.bh-contact-page .bh-company-feedback .bh-ws-request__field--full {
	grid-column: 1 / -1 !important;
}.bh-homepage.bh-contact-page .bh-company-feedback .bh-ws-request__footer {
	align-items: center !important;
	justify-content: space-between !important;
	gap: 14px !important;
}.bh-homepage.bh-contact-page .bh-company-map--full {
	margin-top: clamp(22px, 3vw, 36px) !important;
	padding: 0 !important;
	overflow: hidden;
}.bh-homepage.bh-contact-page .bh-company-map--full .bh-company-map__head {
	padding: 20px 24px 0;
}.bh-homepage.bh-contact-page .bh-company-map--full iframe {
	display: block;
	width: 100%;
	min-height: clamp(360px, 44vw, 520px) !important;
	height: clamp(360px, 44vw, 520px) !important;
	border: 0;
}.bh-homepage.bh-contact-page .bh-company-b2b--compact {
	min-height: 0 !important;
	padding: clamp(22px, 2.6vw, 34px) !important;
}@media (max-width: 1200px) {.bh-homepage.bh-contact-page .bh-company-band {
		grid-template-columns: 1fr !important;
	}.bh-homepage.bh-contact-page .bh-company-feedback .bh-ws-request__fields {
		grid-template-columns: 1fr !important;
	}
}
@media (max-width: 640px) {.bh-homepage.bh-contact-page .bh-company-band,
	.bh-homepage.bh-contact-page .bh-company-map--full,
	.bh-homepage.bh-contact-page .bh-company-support-grid {
		width: min(100%, calc(100vw - 28px)) !important;
	}.bh-homepage.bh-contact-page .bh-company-info__req {
		grid-template-columns: 1fr !important;
		align-items: start !important;
	}.bh-homepage.bh-contact-page .bh-company-info__req-value {
		text-align: left !important;
	}.bh-homepage.bh-contact-page .bh-company-feedback .bh-ws-request__footer {
		align-items: stretch !important;
	}
}
.main-navigation .menu,
.mobile-navigation .menu {
	gap: 12px;
}.main-navigation .menu > li > a,
.mobile-navigation .menu > li > a,
.bh-language-toggle {
	position: relative;
	background: rgba(255, 255, 255, 0.32);
	backdrop-filter: blur(12px);
}.main-navigation .menu > li > a::after,
.mobile-navigation .menu > li > a::after {
	content: "";
	position: absolute;
	right: 14px;
	bottom: 9px;
	left: 14px;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--bh-accent), transparent 92%);
	opacity: 0;
	transform: scaleX(0.55);
	transform-origin: left center;
	transition: opacity 0.24s ease, transform 0.24s ease;
}.main-navigation .menu > li > a:hover::after,
.main-navigation .menu > li > a:focus::after,
.mobile-navigation .menu > li > a:hover::after,
.mobile-navigation .menu > li > a:focus::after {
	opacity: 1;
	transform: scaleX(1);
}.main-navigation .menu > li.menu-item-wholesale > a,
.mobile-navigation .menu > li.menu-item-wholesale > a {
	background: linear-gradient(135deg, rgba(15, 139, 203, 0.18), rgba(7, 91, 138, 0.12));
	border-color: rgba(15, 139, 203, 0.2);
	box-shadow: 0 14px 28px rgba(15, 139, 203, 0.12);
}.bh-language-toggle {
	min-width: 76px;
}.bh-lang-name {
	display: none;
}.bh-panel,
.bh-card,
.bh-product-card,
.bh-company-detail,
.bh-cart__trigger,
.bh-cart__panel {
	border-color: rgba(255, 255, 255, 0.14);
	box-shadow:
		0 24px 64px rgba(11, 56, 82, 0.09),
		inset 0 1px 0 rgba(255, 255, 255, 0.42);
}.bh-panel,
.bh-card,
.bh-product-card,
.bh-company-detail {
	background:
		radial-gradient(circle at top right, rgba(92, 197, 255, 0.14), transparent 34%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.42));
	backdrop-filter: blur(14px);
}/* box-shadow кнопок — в components.css */

.bh-site-footer {
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0;
	padding: 40px min(72px, 5vw) 28px;
	border-radius: 0;
	background:
		radial-gradient(circle at top right, rgba(92, 197, 255, 0.14), transparent 28%),
		linear-gradient(180deg, rgba(7, 42, 62, 0.94), rgba(11, 56, 82, 0.88));
	color: rgba(255, 255, 255, 0.82);
	box-shadow: 0 -4px 32px rgba(4, 28, 41, 0.12);
	overflow: hidden;
}.bh-site-footer::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -70px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(92, 197, 255, 0.24), transparent 66%);
	filter: blur(6px);
	pointer-events: none;
}.bh-site-footer__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(220px, 0.7fr));
	gap: 28px;
}.bh-site-footer__brand img {
	width: 96px;
	height: auto;
	margin-bottom: 14px;
}.bh-site-footer__brand p,
.bh-site-footer__contacts p {
	margin: 0;
	line-height: 1.78;
}.bh-site-footer h3 {
	margin: 0 0 14px;
	color: var(--bh-white);
	font-size: 1rem;
	letter-spacing: 0.08em;
}.bh-site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}.bh-site-footer a {
	color: rgba(255, 255, 255, 0.88);
	text-decoration: none;
}.bh-site-footer a:hover,
.bh-site-footer a:focus {
	color: var(--bh-white);
}.bh-site-footer__bottom {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px 18px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 0.88rem;
}.bh-home #colophon,
.bh-wholesale-page #colophon,
.bh-shop #colophon {
	display: none;
}@media (max-width: 960px) {.bh-site-footer {
		width: 100%;
		padding: 28px 20px 20px;
	}.bh-site-footer__inner {
		grid-template-columns: 1fr;
	}
}
/* Final header and control polish */
#main-header .site-header-row-container-inner,
#mobile-header .site-header-row-container-inner {
	border-bottom: 1px solid rgba(10, 50, 72, 0.06);
	box-shadow: 0 18px 44px rgba(10, 50, 72, 0.06);
	backdrop-filter: blur(16px);
}.main-navigation .menu,
.mobile-navigation .menu {
	gap: 14px;
}.main-navigation .menu > li > a,
.mobile-navigation .menu > li > a {
	min-height: 48px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.46);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.44)),
		radial-gradient(circle at top left, rgba(114, 217, 255, 0.18), transparent 36%);
	box-shadow: 0 16px 34px rgba(10, 50, 72, 0.08);
	color: var(--bh-text-strong);
	font-weight: 700;
	transition:
		transform 0.24s ease,
		box-shadow 0.24s ease,
		border-color 0.24s ease,
		background 0.24s ease;
}.main-navigation .menu > li > a:hover,
.main-navigation .menu > li > a:focus,
.mobile-navigation .menu > li > a:hover,
.mobile-navigation .menu > li > a:focus {
	transform: translateY(-2px);
	border-color: rgba(15, 139, 203, 0.2);
	box-shadow: 0 22px 40px rgba(10, 50, 72, 0.1);
}.main-navigation .menu > li.current-menu-item > a,
.main-navigation .menu > li.current_page_item > a,
.mobile-navigation .menu > li.current-menu-item > a,
.mobile-navigation .menu > li.current_page_item > a {
	background: linear-gradient(135deg, rgba(15, 139, 203, 0.2), rgba(255, 255, 255, 0.76));
	border-color: rgba(15, 139, 203, 0.24);
	box-shadow: 0 24px 42px rgba(15, 139, 203, 0.12);
}.main-navigation .menu > li > a::after,
.mobile-navigation .menu > li > a::after {
	right: 18px;
	left: 18px;
	bottom: 8px;
	height: 3px;
	background: linear-gradient(90deg, var(--bh-accent), rgba(255, 255, 255, 0));
}.bh-language-toggle {
	min-width: 92px;
	gap: 10px;
	padding: 0 14px 0 12px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0.52)),
		radial-gradient(circle at top left, rgba(114, 217, 255, 0.18), transparent 34%);
	box-shadow: 0 16px 34px rgba(10, 50, 72, 0.08);
}.bh-language-toggle:hover,
.bh-language-toggle:focus,
.bh-language-toggle[aria-expanded="true"] {
	transform: translateY(-2px);
	border-color: rgba(15, 139, 203, 0.22);
	box-shadow: 0 24px 42px rgba(10, 50, 72, 0.1);
}.bh-language-toggle__current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}.bh-language-toggle__code {
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}.bh-language-toggle__caret {
	font-size: 0.68rem;
	color: var(--bh-text-soft);
	transition: transform 0.22s ease;
}.menu-item-language.is-open .bh-language-toggle__caret {
	transform: rotate(180deg);
}.menu-item-language .sub-menu {
	top: calc(100% + 14px);
	right: 0;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.54);
	border-radius: 22px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(246, 251, 253, 0.9)),
		radial-gradient(circle at top right, rgba(114, 217, 255, 0.18), transparent 34%);
	box-shadow: 0 30px 60px rgba(10, 50, 72, 0.14);
	backdrop-filter: blur(18px);
}.menu-item-language .sub-menu::before {
	content: "";
	position: absolute;
	top: -7px;
	right: 24px;
	width: 14px;
	height: 14px;
	background: rgba(255, 255, 255, 0.94);
	border-top: 1px solid rgba(255, 255, 255, 0.54);
	border-left: 1px solid rgba(255, 255, 255, 0.54);
	transform: rotate(45deg);
}.menu-item-language .sub-menu a {
	min-height: 46px;
	padding: 0 12px;
	border-radius: 14px;
	gap: 10px;
}.menu-item-language .sub-menu a:hover,
.menu-item-language .sub-menu a:focus,
.menu-item-language .is-current-language a {
	transform: translateX(2px);
}.bh-lang-code {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}.bh-lang-name {
	display: inline;
	color: var(--bh-text-soft);
	font-size: 0.82rem;
	font-weight: 600;
}/* Кнопки перенесены в assets/css/components.css */

@media (max-width: 960px) {
	.main-navigation .menu > li > a,
	.mobile-navigation .menu > li > a,
	.bh-language-toggle {
		min-height: 46px;
	}

	.menu-item-language .sub-menu {
		padding: 10px;
		border-radius: 18px;
	}
}

/* ============================================================
   Gradient utility classes — use via class on any element
   ============================================================ */

/* Accent gradient text */
.bh-text-gradient {
	background: var(--bh-grad-accent);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* Warm (amber) gradient text */
.bh-text-gradient-warm {
	background: var(--bh-grad-warm);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* Glass card panel */
.bh-glass {
	background: var(--bh-grad-glass);
	border: 1px solid var(--bh-line);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

/* Improved focus ring — accessible, on-brand */
:focus-visible {
	outline: 2px solid var(--bh-accent-strong);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Selection colour */
::selection {
	background: rgba(15, 139, 203, 0.35);
	color: #ffffff;
}
