/*!
Theme Name: WPHub Monobrand
Description: Кастомная WordPress тема-конструктор для монобрендовых сайтов с полной системой управления цветами и mobile-first подходом. Создана для быстрой кастомизации под любой бренд.
Author: WPHub Team
Version: 1.0.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wphub-monobrand
Tags: custom-background, custom-colors, custom-header, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, one-column, two-columns, right-sidebar, sticky-post, theme-options, translation-ready, blog, portfolio, business
Requires at least: 5.5
Tested up to: 6.3
Requires PHP: 7.4
*/

/*
==================================================
ГЛОБАЛЬНЫЕ CSS ПЕРЕМЕННЫЕ - СИСТЕМА ЦВЕТОВ
==================================================
*/

:root {
  /* ===== LAYOUT DIMENSIONS ===== */
  --container-width: 1200px;
  --container-padding: 20px;

  /* ===== PRIMARY BRAND COLORS ===== */
  /* ДИНАМИЧЕСКИ ГЕНЕРИРУЕТСЯ ИЗ PHP - НЕ ЗАХАРДКОЖИВАТЬ! */
  /* --color-primary генерируется из настроек админки */
  /* --color-primary-rgb динамически генерируется в PHP */
  /* --color-primary-light динамически генерируется в PHP */
  /* --color-primary-dark динамически генерируется в PHP */
  /* --color-primary-contrast динамически генерируется в PHP */


  /* ===== BACKGROUND COLORS ===== */
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f8fafc;
  --color-bg-tertiary: #f1f5f9;
  --color-bg-dark: #0f172a;
  --color-bg-overlay: rgba(15, 23, 42, 0.8);
  
  /* New dynamic background colors */
  --color-site-bg: #ffffff;

  /* ===== TEXT COLORS ===== */
  --color-text-primary: #0f172a;
  --color-text-secondary: #64748b;
  --color-text-light: #94a3b8;
  --color-text-inverse: #ffffff;

  /* ===== HEADER COLORS ===== */
  --color-header-bg: var(--color-bg-primary);
  --color-header-text: var(--color-text-primary);
  --color-header-link: var(--color-primary);
  --color-header-link-hover: var(--color-primary-dark);
  --color-header-border: var(--color-bg-tertiary);

  /* ===== HERO COLORS ===== */
  --color-hero-bg: var(--color-bg-secondary);
  --color-hero-text: var(--color-text-primary);
  --color-hero-accent: var(--color-primary);

  /* ===== BUTTON COLORS WITH HERO-STYLE DARKENING LOGIC ===== */
  --color-btn-primary-bg: var(--color-primary);
  --color-btn-primary-text: var(--color-primary-contrast);
  /* HOVER STATE: Hero-style darkening - background becomes darker, text stays white */
  --color-btn-primary-hover: var(--color-primary-dark);
  --color-btn-primary-hover-text: var(--color-primary-contrast);
  
  --color-btn-secondary-bg: transparent;
  --color-btn-secondary-text: var(--color-primary);
  --color-btn-secondary-border: var(--color-primary);
  --color-btn-secondary-hover-bg: var(--color-primary);
  --color-btn-secondary-hover-text: var(--color-primary-contrast);

  /* ===== FOOTER COLORS ===== */
  --color-footer-bg: var(--color-bg-dark);
  --color-footer-text: var(--color-text-inverse);
  --color-footer-link: var(--color-primary-light);
  --color-footer-link-hover: #ffffff;

  /* ===== BORDERS & DIVIDERS ===== */
  --color-border: #e2e8f0;
  --color-divider: #f1f5f9;
  --color-focus: var(--color-primary);

  /* ===== MOBILE-FIRST BREAKPOINTS ===== */
  --bp-xs: 320px;
  --bp-sm: 576px;
  --bp-md: 768px;
  --bp-lg: 992px;
  --bp-xl: 1200px;
  --bp-xxl: 1400px;

  /* ===== SPACING SYSTEM ===== */
  --spacing-xs: 0.25rem;    /* 4px */
  --spacing-sm: 0.5rem;     /* 8px */
  --spacing-md: 1rem;       /* 16px */
  --spacing-lg: 1.5rem;     /* 24px */
  --spacing-xl: 2rem;       /* 32px */
  --spacing-2xl: 3rem;      /* 48px */
  --spacing-3xl: 4rem;      /* 64px */

  /* ===== TYPOGRAPHY SCALE ===== */
  --font-size-xs: 0.75rem;      /* 12px */
  --font-size-sm: 0.875rem;     /* 14px */
  --font-size-base: 1rem;       /* 16px */
  --font-size-lg: 1.125rem;     /* 18px */
  --font-size-xl: 1.25rem;      /* 20px */
  --font-size-2xl: 1.5rem;      /* 24px */
  --font-size-3xl: 1.875rem;    /* 30px */
  --font-size-4xl: 2.25rem;     /* 36px */

  /* ===== SHADOWS ===== */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);

  /* ===== TRANSITIONS ===== */
  --transition-fast: 0.15s ease-in-out;
  --transition-normal: 0.3s ease-in-out;
  --transition-slow: 0.5s ease-in-out;

  /* ===== Z-INDEX SCALE ===== */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
}

/*
==================================================
БАЗОВЫЕ СТИЛИ - MOBILE FIRST
==================================================
*/

/* Reset и базовые стили */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-text-primary);
  background: var(--color-site-bg);
  overflow-x: hidden;
}

/* =============================
   TYPOGRAPHY - HEADINGS
   ============================= */

/* General heading styles */
h1, h2, h3, h4, h5, h6 {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-heading);
}

/* H1 specific */
h1 {
  font-size: var(--font-size-4xl);
  color: var(--color-h1);
}

/* H2 specific */
h2 {
  font-size: var(--font-size-3xl);
  color: var(--color-h2);
}

/* H3-H6 use general heading color */
h3 {
  font-size: var(--font-size-2xl);
}

h4 {
  font-size: var(--font-size-xl);
}

h5 {
  font-size: var(--font-size-lg);
}

h6 {
  font-size: var(--font-size-base);
}

/* =============================
   LINKS
   ============================= */

a {
  color: var(--color-link);
  text-decoration: underline;
  transition: color 0.2s ease;
}

a:hover,
a:focus {
  color: var(--color-link-hover);
  text-decoration: none;
}

a:focus {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

/* Remove admin bar spacing when logged in */
body.admin-bar {
  margin-top: 0;
}

/* Remove any default body padding from WordPress */
body.home,
body.page,
body.single,
body.archive {
  padding: 0;
}

/* Accessibility */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: var(--color-bg-primary);
  border-radius: 3px;
  box-shadow: var(--shadow-md);
  clip: auto !important;
  color: var(--color-text-primary);
  display: block;
  font-size: var(--font-size-sm);
  font-weight: 600;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: var(--spacing-sm) var(--spacing-md);
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: var(--z-tooltip);
}

/* Skip link */
.v696smW33 {
  left: -9999px;
  position: absolute;
  top: 2.5em;
}

.v696smW33:focus {
  clip: auto;
  height: auto;
  left: 6px;
  top: 7px;
  width: auto;
  z-index: var(--z-tooltip);
}

/*
==================================================
КНОПКИ - СИСТЕМА СТИЛЕЙ
==================================================
*/

.y0l45qQXRZp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-sm) var(--spacing-md);
  font-size: var(--font-size-base);
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  transition: all var(--transition-fast);
  min-height: 44px; /* Touch-friendly */
  min-width: 44px;
}

.y0l45qQXRZp:focus {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.kYW12IV4 {
  background: var(--color-btn-primary-bg);
  color: var(--color-btn-primary-text);
}

.kYW12IV4:hover {
  background: var(--color-btn-primary-hover);
  color: var(--color-btn-primary-hover-text);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.sxo27msxa {
  background-color: var(--color-btn-secondary-bg);
  color: var(--color-btn-secondary-text);
  border-color: var(--color-btn-secondary-border);
}

.sxo27msxa:hover {
  background-color: var(--color-btn-secondary-hover-bg);
  color: var(--color-btn-secondary-hover-text);
  /* UNIFIED HOVER EFFECTS - same as all other buttons */
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.lrN99PTSo {
  padding: var(--spacing-md) var(--spacing-xl);
  font-size: var(--font-size-lg);
}

.tdhAPWwrFJe8 {
  padding: var(--spacing-xs) var(--spacing-sm);
  font-size: var(--font-size-sm);
  min-height: 36px;
}

/*
==================================================
УТИЛИТАРНЫЕ КЛАССЫ
==================================================
*/

/* Container */
.xdTBaJAF {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spacing-md);
}

@media (min-width: 576px) {
  .xdTBaJAF {
    padding: 0 var(--spacing-lg);
  }
}

/* Уменьшаем отступы контейнера на маленьких мобильных */
@media (max-width: 480px) {
  .xdTBaJAF {
    padding: 0 var(--spacing-sm); /* 8px вместо 16px по бокам */
  }
}

@media (min-width: 1200px) {
  .xdTBaJAF {
    padding: 0 var(--spacing-xl);
  }
}

/* Text utilities */
.d37gzGxUFEg { text-align: center; }
.ksycbQZMKr { text-align: left; }
.zPLzO8dTZOXu { text-align: right; }

.alCdGX7YQq { color: var(--color-primary); }
.zFLXNCcVKjOM { color: var(--color-text-secondary); }
.eUAAQ5Zl { color: var(--color-text-light); }

/* Display utilities */
.vhE9kEQ5z { display: none; }
.aSb3HMYeH { display: block; }
.xOVtUnbm { display: flex; }
.iPAJGr1E3B { display: inline; }
.sQCte6V4f { display: inline-block; }

/* Flex utilities */
.jnamX0qXn { flex-direction: column; }
.qn8bkgAD { flex-wrap: wrap; }
.hHHCs5lVtmC { justify-content: center; }
.msn9Lo8b92VS { justify-content: space-between; }
.ueenEuVQS { justify-content: space-around; }
.hMeRtwVZSDh { align-items: center; }
.a92cdV82E { align-items: flex-start; }
.bxs1EP3eAj0 { align-items: flex-end; }

/* Spacing utilities */
.vdG4vJmu { margin-bottom: 0; }
.xYyJVZ9XGSyW { margin-bottom: var(--spacing-sm); }
.yfrXapl1TB { margin-bottom: var(--spacing-md); }
.c7WrIaMDW7ip { margin-bottom: var(--spacing-lg); }
.psS4o596iX { margin-bottom: var(--spacing-xl); }

.kRBQEZTm { margin-top: 0; }
.nhzHV5Vxzw9m { margin-top: var(--spacing-sm); }
.zyB7DR3DRGFl { margin-top: var(--spacing-md); }
.goUnEwn4zVP { margin-top: var(--spacing-lg); }
.qS5Btj011tD { margin-top: var(--spacing-xl); }

/* Responsive utilities */
@media (max-width: 767px) {
  .d-md-none { display: none; }
  .d-mobile-block { display: block; }
  .d-mobile-flex { display: flex; }
}

@media (min-width: 768px) {
  .d-mobile-none { display: none; }
  .d-md-block { display: block; }
  .d-md-flex { display: flex; }
}

/*
==================================================
ЗАГОТОВКА ДЛЯ КОМПОНЕНТОВ
(будет дополняться при создании компонентов)
==================================================
*/

/* ===== CONTENT AREA STYLES ===== */

/* Article and page containers - NO padding to avoid compound padding */
article,
.post,
.page {
  background: var(--color-site-bg);
  border-radius: var(--radius-lg);
  /* NO PADDING HERE - padding is handled by .entry-content */
}

/* Content wrapper - only vertical padding */
.qqjYbaWv,
.qxRC0cIg,
.snb3SRWB {
  padding: var(--spacing-xl) 0; /* Only vertical padding, horizontal is from .xdTBaJAF */
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .qqjYbaWv,
  .qxRC0cIg,
  .snb3SRWB {
    padding: var(--spacing-lg) 0; /* 24px vertical on tablet */
  }
}

@media (max-width: 480px) {
  .qqjYbaWv,
  .qxRC0cIg,
  .snb3SRWB {
    padding: var(--spacing-md) 0; /* 16px vertical on mobile */
  }

  /* Main container - no extra padding */
  .o6ALDveEhR2 {
    padding: 0;
  }
}

/* ===== ENTRY HEADER STYLES (when Hero is disabled) ===== */
.seTbjZS7pq {
  /* Контейнер для заголовка */
}

.yxdCnL5H {
  margin-top: var(--spacing-2xl); /* Отступ от хедера на десктопе (48px) */
  margin-bottom: var(--spacing-lg); /* Отступ снизу (24px) */
  font-size: clamp(2rem, 5vw, 3rem); /* Адаптивный размер от 32px до 48px */
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-heading);
}

/* Text alignment для Entry Header (использует Hero Settings -> Text Alignment) */
.seTbjZS7pq.ksycbQZMKr {
  text-align: left;
}

.seTbjZS7pq.d37gzGxUFEg {
  text-align: center;
}

.seTbjZS7pq.zPLzO8dTZOXu {
  text-align: right;
}

/* Мобильная адаптация для Entry Title */
@media (max-width: 768px) {
  .yxdCnL5H {
    margin-top: var(--spacing-xl); /* Меньше отступ на планшетах (32px) */
    margin-bottom: var(--spacing-md); /* Меньше снизу (16px) */
  }
}

@media (max-width: 480px) {
  .yxdCnL5H {
    margin-top: var(--spacing-lg); /* Еще меньше на мобильных (24px) */
    margin-bottom: var(--spacing-sm); /* Минимум снизу (8px) */
  }
}

/* ===== SECTION STYLES ===== */
section,
.rjY14odbIaD {
  padding: var(--spacing-xl) 0;
}

/* Уменьшаем отступы секций на мобильных */
@media (max-width: 768px) {
  section,
  .section {
    padding: var(--spacing-lg) 0; /* 24px вместо 32px */
  }
}

@media (max-width: 480px) {
  section,
  .section {
    padding: var(--spacing-md) 0; /* 16px вместо 32px */
  }
}

/* ===== HEADER STYLES ===== */
.yi4kkWQJXw {
  background: var(--color-header-bg);
  color: var(--color-header-text);
  padding: 0; /* Убираем все вертикальные паддинги - высота управляется через Header Height */
  position: relative;
  z-index: 1000; /* Выше чем dropdown меню */
  transition: all var(--transition-normal);
  display: flex;
  align-items: center; /* Вертикальное центрирование всего контента */
  justify-content: center; /* Горизонтальное центрирование контейнера */
}

/* Убеждаемся что хедер всегда выше dropdown меню на всех устройствах */
@media (max-width: 991px) {
  .yi4kkWQJXw {
    z-index: 1001 !important;
    position: relative !important;
  }
  
  /* Dropdown стиль: хедер остается видимым, меню под ним */
  body.v7DCk4TZTg .yi4kkWQJXw {
    z-index: 1002 !important;
  }
  
  /* Когда dropdown меню открыто, menu-toggle остается в хедере */
  body.v7DCk4TZTg.mobile-menu-open .kEDkh9rZbbw1 {
    z-index: 1003 !important;
  }
  
  /* Удалено - заменено на правильную логику показа/скрытия */
}

.lDzBKcQ43H {
  display: flex;
  justify-content: space-between;
  align-items: center; /* Вертикальное центрирование всех элементов */
  gap: var(--spacing-lg);
  width: 100%;
  padding: 10px 0; /* Добавляем вертикальные паддинги */
}

/* Site Branding */
.rEWcQLFn {
  flex-shrink: 0;
  display: flex;
  align-items: center; /* Центрирование по вертикали */
}

/* Custom Logo Alignment */
.o7l11iZ1p1 {
  display: flex;
  align-items: center;
  height: 100%;
}

.o7l11iZ1p1:focus {
  outline: none;
  box-shadow: none;
}

.o7l11iZ1p1:focus-visible {
  outline: none;
  box-shadow: none;
}


.w1y6N0YJ8s {
  max-height: 50px;
  width: auto;
  height: auto;
  display: block;
}

.w1y6N0YJ8s:focus {
  outline: none;
  box-shadow: none;
}


/* УНИФИЦИРОВАНО: Minimal стиль использует те же размеры, что и Default */

.jK023nT5 {
  margin: 0;
  font-size: var(--font-size-2xl);
  font-weight: 700;
}

.jK023nT5 a {
  color: var(--color-header-text);
  text-decoration: none;
}

/* Navigation */
.bk7iTeZS6 {
  flex-grow: 1;
  display: flex;
  justify-content: center;
}

.bk7iTeZS6 > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: var(--spacing-lg);
}

.bk7iTeZS6 li {
  position: relative;
  list-style: none;
}

.bk7iTeZS6 > ul > li {
  display: flex;
  align-items: center;
}

.bk7iTeZS6 a {
  color: var(--color-header-link);
  text-decoration: none;
  font-weight: 500;
  transition: color var(--transition-fast);
}

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

.bk7iTeZS6 .menu-item-has-children > a {
  padding-right: calc(var(--spacing-sm) + 12px);
}

.bk7iTeZS6 > ul > li > a {
  display: inline-flex;
  align-items: center;
}

.bk7iTeZS6 .menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  margin-left: var(--spacing-xs);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid currentColor;
  transition: transform var(--transition-fast);
}

.bk7iTeZS6 .menu-item-has-children:hover > a::after,
.bk7iTeZS6 .menu-item-has-children:focus-within > a::after {
  transform: rotate(180deg);
}

.bk7iTeZS6 ul ul {
  position: absolute;
  left: 0;
  top: calc(100%);
  display: none;
  flex-direction: column;
  min-width: 220px;
  padding: var(--spacing-sm) 0;
  margin: 0;
  background: var(--color-bg-primary);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
  border-radius: 6px;
  z-index: 1000;
}

.bk7iTeZS6 ul ul li {
  width: 100%;
  position: relative;
    padding: var(--spacing-sm) var(--spacing-lg);
}

.bk7iTeZS6 ul ul a {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  padding: var(--spacing-sm) var(--spacing-lg);
  white-space: nowrap;
}

.bk7iTeZS6 ul ul .menu-item-has-children > a {
  padding-right: calc(var(--spacing-sm) + 18px);
}

.bk7iTeZS6 ul ul .menu-item-has-children > a::after {
  margin-left: var(--spacing-xs);
  border: none;
  border-top: 0;
  border-left: 5px solid currentColor;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  transform: rotate(0deg);
}

.bk7iTeZS6 ul ul .menu-item-has-children:hover > a::after,
.bk7iTeZS6 ul ul .menu-item-has-children:focus-within > a::after {
  transform: translateX(2px);
}

.bk7iTeZS6 ul ul ul {
  top: 0;
  left: calc(100% + var(--spacing-xs));
  margin-left: 2px;
  border-radius: 6px;
  box-shadow: 8px 12px 30px rgba(15, 23, 42, 0.12);
}

.bk7iTeZS6 ul ul ul a {
  padding: var(--spacing-sm) calc(var(--spacing-lg) + 6px);
}

.bk7iTeZS6 ul ul a:hover,
.bk7iTeZS6 ul ul a:focus {
  background: var(--color-bg-secondary);
  color: var(--color-primary);
}

.bk7iTeZS6 li:hover > ul,
.bk7iTeZS6 li:focus-within > ul {
  display: flex;
}

/* Mobile Menu Toggle */
.kEDkh9rZbbw1 {
  display: none;
  background: transparent;
  border: none;
  padding: var(--spacing-sm);
  cursor: pointer;
  flex-direction: column;
  gap: 4px;
  z-index: 999;
  color: var(--color-header-text);
  transition: all 0.3s ease;
  border-radius: var(--radius-md);
}

.kEDkh9rZbbw1 svg {
  fill: var(--color-primary);
}

.kEDkh9rZbbw1:hover {
  background: transparent;
}

.kEDkh9rZbbw1:hover .joBCn2bK67 {
  background-color: var(--color-primary-dark);
}

.kEDkh9rZbbw1:hover .hkL9rzcWLm {
  fill: var(--color-primary-dark);
}

.joBCn2bK67 {
  width: 32px;
  height: 3px;
  background-color: var(--color-primary);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  display: block;
  position: relative;
  margin: 5px 0;
  border-radius: 2px;
}


/* Анимация для открытого состояния - как у Animated иконки */
.kEDkh9rZbbw1.pRWyFml75C .joBCn2bK67:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.kEDkh9rZbbw1.pRWyFml75C .joBCn2bK67:nth-child(2) {
  opacity: 0;
  transform: scale(0);
}

.kEDkh9rZbbw1.pRWyFml75C .joBCn2bK67:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

/* ===================================
   MOBILE MENU ICON STYLES
   =================================== */

/* Common icon styles */
.kEDkh9rZbbw1 .hkL9rzcWLm {
  width: 40px;
  height: 40px;
  fill: var(--color-primary);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}


/* Увеличиваем область клика для кнопки */
.kEDkh9rZbbw1 {
  min-width: 40px;
  min-height: 40px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative; /* Важно для абсолютного позиционирования крестика */
}

/* Переключение между открытой и закрытой иконками с анимацией */
.kEDkh9rZbbw1 .l4Kr99o49qy {
  display: none !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Для dropdown стиля - убираем центрирование НО оставляем логику показа/скрытия */
body.v7DCk4TZTg .kEDkh9rZbbw1 .l4Kr99o49qy {
  display: none !important; /* По умолчанию скрыт */
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
}

/* Когда меню активно - показываем крестик */
body.v7DCk4TZTg .kEDkh9rZbbw1.pRWyFml75C .l4Kr99o49qy {
  display: block !important; /* Показываем крестик */
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
}

.kEDkh9rZbbw1.pRWyFml75C .ifWQjFqbtx {
  display: none !important;
}

.kEDkh9rZbbw1.pRWyFml75C .l4Kr99o49qy {
  display: block !important;
  animation: fadeInRotate 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Базовая анимация для крестика */
@keyframes fadeInRotate {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5) rotate(-180deg);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }
}

/* УНИКАЛЬНЫЕ АНИМАЦИИ ДЛЯ КАЖДОГО ТИПА ИКОНКИ */

/* Hamburger - классическое исчезновение с поворотом */
.wBtB5s9CDPHh .ifWQjFqbtx {
  animation: hamburgerFadeOut 0.3s ease-out forwards;
}

.e51ddGrROHYq.pRWyFml75C .ifWQjFqbtx {
  animation: none;
}

.e51ddGrROHYq.pRWyFml75C .l4Kr99o49qy {
  animation: hamburgerFadeIn 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes hamburgerFadeIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0) rotate(180deg);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }
}

/* Dots - взрыв и сбор точек */
.e51ddGrROHYq.pRWyFml75C .l4Kr99o49qy {
  animation: dotsBurst 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes dotsBurst {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0) rotate(0deg);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2) rotate(180deg);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(360deg);
  }
}

/* Arrow - стрелка улетает и появляется крестик */
.e51ddGrROHYq.pRWyFml75C .l4Kr99o49qy {
  animation: arrowSlide 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes arrowSlide {
  from {
    opacity: 0;
    transform: translate(150%, -50%) scale(0.5);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

/* Plus - просто поворот, так как уже крестик */
.tWHomBj0YFW .ifWQjFqbtx {
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transform-origin: center;
}

.e51ddGrROHYq.pRWyFml75C .ifWQjFqbtx {
  transform: rotate(45deg);
  display: block !important;
}

.tWHomBj0YFW .l4Kr99o49qy {
  display: none !important;
}

/* Minimal - элегантное появление */
.e51ddGrROHYq.pRWyFml75C .l4Kr99o49qy {
  animation: minimalFade 0.3s ease-in-out;
}

@keyframes minimalFade {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.5);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}




/* Animated icon - эталонная анимация */
.pAMoprGV {
  width: 40px;
  height: 40px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.pAMoprGV .cF3N3Ao9y5F {
  width: 32px;
  height: 3px;
  background: var(--color-primary);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  position: absolute;
  border-radius: 2px;
}

.kEDkh9rZbbw1:hover .pAMoprGV .cF3N3Ao9y5F {
  background: var(--color-primary-dark);
}

.pAMoprGV .z0KmjNqAv {
  top: 10px;
}

.pAMoprGV .e8awzltqWx {
  top: 19px;
}

.pAMoprGV .w7DZsOig {
  top: 28px;
}

.kEDkh9rZbbw1.pRWyFml75C .pAMoprGV .z0KmjNqAv {
  transform: rotate(45deg);
  top: 19px;
}

.kEDkh9rZbbw1.pRWyFml75C .pAMoprGV .e8awzltqWx {
  opacity: 0;
  transform: scale(0) rotate(90deg);
}

.kEDkh9rZbbw1.pRWyFml75C .pAMoprGV .w7DZsOig {
  transform: rotate(-45deg);
  top: 19px;
}


/* ===== HEADER STYLE VARIATIONS ===== */

/* Default Style - Already defined above */
.yi4kkWQJXw.yRuf2T2gka2r {
  padding: 0 !important; /* Убираем вертикальные паддинги */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Minimal Style */
.yi4kkWQJXw.v6ujuFwlMS {
  padding: 0 !important; /* Убираем вертикальные паддинги для Minimal стиля */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Убираем паддинги также для sticky версии Minimal стиля */
.yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 {
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.scrolled {
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-xs);
  /* Высота теперь управляется через классы header-height-* */
  position: relative;
  padding: 0; /* Убираем паддинги у контейнера */
}

/* Меню слева */
.yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 {
  display: flex;
  order: 1; /* Первый по порядку */
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  align-self: center; /* Центрируем по вертикали относительно контейнера */
  width: 40px;
  height: 40px;
  padding: 4px;
  transition: all var(--transition-fast);
}

.yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1:hover {
  background: transparent !important;
  border-radius: var(--radius-md);
}

.yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1:hover svg {
  fill: var(--color-primary-dark) !important;
}

.yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1:hover .joBCn2bK67,
.yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1:hover .pAMoprGV .cF3N3Ao9y5F {
  background-color: var(--color-primary-dark) !important;
}

/* Логотип по центру */
.yi4kkWQJXw.v6ujuFwlMS .rEWcQLFn {
  display: flex;
  justify-content: center;
  align-items: center;
  order: 2; /* Второй по порядку */
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: 0; /* Убираем все margin'ы */
  padding: 0; /* Убираем все padding'и */
}

/* CTA кнопки справа */
.yi4kkWQJXw.v6ujuFwlMS .cNAvnuRhClR {
  order: 3; /* Третий по порядку */
  display: flex !important; /* Принудительно показываем кнопки */
  gap: var(--spacing-xs);
  flex-shrink: 0;
  margin-left: auto; /* Прижимаем к правому краю */
  align-items: center; /* Центрируем элементы внутри */
  align-self: center; /* Центрируем по вертикали относительно контейнера */
}

/* Уменьшенные CTA кнопки для Minimal стиля */
.yi4kkWQJXw.v6ujuFwlMS .dxF9tKQHpw {
  padding: 4px var(--spacing-sm); /* Минимальный вертикальный паддинг */
  font-size: var(--font-size-xs);
  min-height: 28px; /* Уменьшаем минимальную высоту */
}

/* Убираем все вертикальные отступы у элементов внутри Minimal хедера */
.yi4kkWQJXw.v6ujuFwlMS .jK023nT5 {
  margin: 0;
  padding: 0;
  line-height: 1.2; /* Компактная высота строки */
}

.yi4kkWQJXw.v6ujuFwlMS .o7l11iZ1p1 {
  padding: 0;
  margin: 0;
}

/* Убираем паддинги у контейнера внутри Minimal хедера */
.yi4kkWQJXw.v6ujuFwlMS .xdTBaJAF {
  padding: 0 var(--spacing-sm); /* Минимальные горизонтальные паддинги */
}

.yi4kkWQJXw.v6ujuFwlMS .bk7iTeZS6 {
  display: none;
}



/* Header CTA Buttons */
.cNAvnuRhClR {
  display: flex;
  gap: var(--spacing-sm);
  align-items: center;
}

.dxF9tKQHpw {
  padding: var(--spacing-xs) var(--spacing-md);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  transition: all var(--transition-fast);
  white-space: nowrap;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Primary CTA Style */
.dxF9tKQHpw.jGjKKWYgU {
  background-color: var(--color-btn-primary-bg);
  color: var(--color-btn-primary-text);
  border: 2px solid transparent;
}

.dxF9tKQHpw.jGjKKWYgU:hover {
  background-color: var(--color-btn-primary-hover);
  color: var(--color-btn-primary-hover-text);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* Remove ALL animations on hover - apply clean hover style only */
.dNf0s9VE:hover,
.qzAKZ3yuU:hover,
.l5nl2CXz:hover,
.uBEPsVL0:hover,
.utz2uRT2gEGl:hover,
.dxF9tKQHpw:hover,
.tXWeLXNw6dX:hover {
  animation: none !important;
}

/* Hide ::before and ::after pseudo-elements on hover (for pulse effect rings) */
.dNf0s9VE:hover::before,
.dNf0s9VE:hover::after,
.dxF9tKQHpw:hover::before,
.dxF9tKQHpw:hover::after,
.tXWeLXNw6dX:hover::before,
.tXWeLXNw6dX:hover::after {
  display: none !important;
}

/* Secondary CTA Style */
.dxF9tKQHpw.tLOjKFNYL {
  background-color: transparent;
  color: var(--color-btn-secondary-text);
  border: 2px solid var(--color-btn-secondary-border);
}

.dxF9tKQHpw.tLOjKFNYL:hover {
  background-color: var(--color-btn-secondary-hover-bg);
  color: var(--color-btn-secondary-hover-text);
  border-color: var(--color-btn-secondary-hover-bg);
}

/* Ghost CTA Style */
.dxF9tKQHpw.bOOwPzBqHeQh {
  background-color: transparent;
  color: var(--color-primary);
  border: 2px solid transparent;
  padding: var(--spacing-xs) var(--spacing-sm);
}

.dxF9tKQHpw.bOOwPzBqHeQh:hover {
  color: var(--color-primary-dark);
  background-color: var(--color-primary-light);
}

/* ===== CTA BUTTON SHAPES ===== */

/* Rounded Shape (Default) */
body.zdACTLpl4aDn .dxF9tKQHpw,
.dxF9tKQHpw {
  border-radius: 6px;
}

/* Fully Rounded (Pill) Shape */
body.wrdiXmL7jfn .dxF9tKQHpw {
  border-radius: 50px;
  padding-left: var(--spacing-lg);
  padding-right: var(--spacing-lg);
}

/* Square Shape */
body.qqxS8yPsY .dxF9tKQHpw {
  border-radius: 0;
}

/* Убеждаемся что формы кнопок работают и в sticky режиме */
body.zdACTLpl4aDn .yi4kkWQJXw.aIhTQNQr5n8 .dxF9tKQHpw {
  border-radius: 6px !important;
}

body.wrdiXmL7jfn .yi4kkWQJXw.aIhTQNQr5n8 .dxF9tKQHpw {
  border-radius: 50px !important;
  padding-left: var(--spacing-lg) !important;
  padding-right: var(--spacing-lg) !important;
}

body.qqxS8yPsY .yi4kkWQJXw.aIhTQNQr5n8 .dxF9tKQHpw {
  border-radius: 0 !important;
}

/* ===== HEADER HEIGHT VARIATIONS ===== */

/* Normal Header Heights */
body.nidaCDne .lDzBKcQ43H {
  min-height: 60px !important;
}

body.o8wIaOszjkhH .lDzBKcQ43H {
  min-height: 70px !important;
}

body.sAbZdt29Z0 .lDzBKcQ43H {
  min-height: 80px !important;
}

body.il5aaHym .lDzBKcQ43H {
  min-height: 100px !important;
}

/* Header Heights for Minimal Style - same values but with specific selectors */
body.nidaCDne.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H,
body.nidaCDne .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
  min-height: 60px !important;
}

body.o8wIaOszjkhH.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H,
body.o8wIaOszjkhH .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
  min-height: 70px !important;
}

body.sAbZdt29Z0.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H,
body.sAbZdt29Z0 .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
  min-height: 80px !important;
}

body.il5aaHym.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H,
body.il5aaHym .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
  min-height: 100px !important;
}

/* Sticky Header Heights */
body.twdqWBTGQfhJ #sjwhid-masthead.aIhTQNQr5n8 .lDzBKcQ43H,
body.twdqWBTGQfhJ .yi4kkWQJXw.aIhTQNQr5n8 .lDzBKcQ43H {
  min-height: 50px !important;
}

body.cpcdeog5gs #sjwhid-masthead.aIhTQNQr5n8 .lDzBKcQ43H,
body.cpcdeog5gs .yi4kkWQJXw.aIhTQNQr5n8 .lDzBKcQ43H {
  min-height: 60px !important;
}

body.i6Sw3axU5J7G #sjwhid-masthead.aIhTQNQr5n8 .lDzBKcQ43H,
body.i6Sw3axU5J7G .yi4kkWQJXw.aIhTQNQr5n8 .lDzBKcQ43H {
  min-height: 70px !important;
}

body.o0t0Mnpyg #sjwhid-masthead.aIhTQNQr5n8 .lDzBKcQ43H,
body.o0t0Mnpyg .yi4kkWQJXw.aIhTQNQr5n8 .lDzBKcQ43H {
  min-height: 80px !important;
}

/* Sticky Header Heights for Minimal Style - with specific selectors */
body.twdqWBTGQfhJ.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H,
body.twdqWBTGQfhJ .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
  min-height: 50px !important;
}

body.cpcdeog5gs.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H,
body.cpcdeog5gs .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
  min-height: 60px !important;
}

body.i6Sw3axU5J7G.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H,
body.i6Sw3axU5J7G .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
  min-height: 70px !important;
}

body.o0t0Mnpyg.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H,
body.o0t0Mnpyg .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
  min-height: 80px !important;
}

/* Scrolled state heights (when sticky is active and scrolled) */
body.twdqWBTGQfhJ #sjwhid-masthead.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H,
body.twdqWBTGQfhJ .yi4kkWQJXw.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H {
  min-height: 50px !important;
}

body.cpcdeog5gs #sjwhid-masthead.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H,
body.cpcdeog5gs .yi4kkWQJXw.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H {
  min-height: 60px !important;
}

body.i6Sw3axU5J7G #sjwhid-masthead.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H,
body.i6Sw3axU5J7G .yi4kkWQJXw.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H {
  min-height: 70px !important;
}

body.o0t0Mnpyg #sjwhid-masthead.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H,
body.o0t0Mnpyg .yi4kkWQJXw.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H {
  min-height: 80px !important;
}

/* Scrolled state heights for Minimal Style - with specific selectors */
body.twdqWBTGQfhJ.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H,
body.twdqWBTGQfhJ .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H {
  min-height: 50px !important;
}

body.cpcdeog5gs.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H,
body.cpcdeog5gs .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H {
  min-height: 60px !important;
}

body.i6Sw3axU5J7G.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H,
body.i6Sw3axU5J7G .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H {
  min-height: 70px !important;
}

body.o0t0Mnpyg.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H,
body.o0t0Mnpyg .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.nVuQWJV1I .lDzBKcQ43H {
  min-height: 80px !important;
}

/* Mobile Header Heights - более компактные на мобильных */
@media (max-width: 767px) {
  body.nidaCDne .lDzBKcQ43H {
    min-height: 50px !important;
  }
  
  body.o8wIaOszjkhH .lDzBKcQ43H {
    min-height: 60px !important;
  }
  
  body.sAbZdt29Z0 .lDzBKcQ43H {
    min-height: 65px !important;
  }
  
  body.il5aaHym .lDzBKcQ43H {
    min-height: 70px !important;
  }

  /* Mobile Header Heights for Minimal Style - with specific selectors */
  body.nidaCDne.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H,
  body.nidaCDne .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
    min-height: 50px !important;
  }

  body.o8wIaOszjkhH.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H,
  body.o8wIaOszjkhH .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
    min-height: 60px !important;
  }

  body.sAbZdt29Z0.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H,
  body.sAbZdt29Z0 .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
    min-height: 65px !important;
  }

  body.il5aaHym.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H,
  body.il5aaHym .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
    min-height: 70px !important;
  }

  /* Mobile Sticky Heights */
  body.twdqWBTGQfhJ #sjwhid-masthead.aIhTQNQr5n8 .lDzBKcQ43H,
  body.twdqWBTGQfhJ .yi4kkWQJXw.aIhTQNQr5n8 .lDzBKcQ43H {
    min-height: 45px !important;
  }

  body.cpcdeog5gs #sjwhid-masthead.aIhTQNQr5n8 .lDzBKcQ43H,
  body.cpcdeog5gs .yi4kkWQJXw.aIhTQNQr5n8 .lDzBKcQ43H {
    min-height: 50px !important;
  }

  body.i6Sw3axU5J7G #sjwhid-masthead.aIhTQNQr5n8 .lDzBKcQ43H,
  body.i6Sw3axU5J7G .yi4kkWQJXw.aIhTQNQr5n8 .lDzBKcQ43H {
    min-height: 55px !important;
  }

  body.o0t0Mnpyg #sjwhid-masthead.aIhTQNQr5n8 .lDzBKcQ43H,
  body.o0t0Mnpyg .yi4kkWQJXw.aIhTQNQr5n8 .lDzBKcQ43H {
    min-height: 60px !important;
  }

  /* Mobile Sticky Heights for Minimal Style - with specific selectors */
  body.twdqWBTGQfhJ.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H,
  body.twdqWBTGQfhJ .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
    min-height: 45px !important;
  }

  body.cpcdeog5gs.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H,
  body.cpcdeog5gs .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
    min-height: 50px !important;
  }

  body.i6Sw3axU5J7G.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H,
  body.i6Sw3axU5J7G .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
    min-height: 55px !important;
  }

  body.o0t0Mnpyg.header-style-minimal .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H,
  body.o0t0Mnpyg .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
    min-height: 60px !important;
  }

  /* FIX: Prevent menu button from wrapping in sticky mode */
  #sjwhid-masthead.aIhTQNQr5n8 .lDzBKcQ43H,
  .yi4kkWQJXw.aIhTQNQr5n8 .lDzBKcQ43H {
    flex-wrap: nowrap !important; /* Force elements to stay in one line */
  }

  /* Adjust logo and menu button size in sticky mode for better fit */
  #sjwhid-masthead.aIhTQNQr5n8 .rEWcQLFn,
  .yi4kkWQJXw.aIhTQNQr5n8 .rEWcQLFn {
    height: auto !important;
    flex-shrink: 1; /* Allow logo to shrink if needed */
  }

  #sjwhid-masthead.aIhTQNQr5n8 .rEWcQLFn img,
  .yi4kkWQJXw.aIhTQNQr5n8 .rEWcQLFn img {
    max-height: 35px;
    max-width: 140px;
    width: auto;
    object-fit: contain; /* Сохраняем пропорции */
  }

  /* УНИФИЦИРОВАНО: Minimal в sticky режиме использует стандартные размеры */

  #sjwhid-masthead.aIhTQNQr5n8 .kEDkh9rZbbw1,
  .yi4kkWQJXw.aIhTQNQr5n8 .kEDkh9rZbbw1 {
    flex-shrink: 0; /* Prevent button from shrinking */
    padding: 5px !important; /* Reduce padding in sticky mode */
    min-width: 35px !important;
    min-height: 35px !important;
  }

  #sjwhid-masthead.aIhTQNQr5n8 .kEDkh9rZbbw1 .hkL9rzcWLm,
  .yi4kkWQJXw.aIhTQNQr5n8 .kEDkh9rZbbw1 .hkL9rzcWLm {
    width: 30px !important;
    height: 30px !important;
  }

  #sjwhid-masthead.aIhTQNQr5n8 .kEDkh9rZbbw1 .pAMoprGV,
  .yi4kkWQJXw.aIhTQNQr5n8 .kEDkh9rZbbw1 .pAMoprGV {
    width: 30px !important;
    height: 30px !important;
  }

  #sjwhid-masthead.aIhTQNQr5n8 .kEDkh9rZbbw1 .joBCn2bK67,
  .yi4kkWQJXw.aIhTQNQr5n8 .kEDkh9rZbbw1 .joBCn2bK67 {
    width: 24px !important;
    margin: 3px 0 !important;
  }
}

/* ===== HEADER BORDER VARIATIONS ===== */

/* Default border for all headers */
.yi4kkWQJXw {
  border-bottom: 1px solid var(--color-primary);
}

/* Border height variations */
body.v2AOUJFR .yi4kkWQJXw {
  border-bottom: none !important;
}

body.sDkXutlJb .yi4kkWQJXw {
  border-bottom: 1px solid var(--color-primary) !important;
}

body.eq4LpFaj7dLy .yi4kkWQJXw {
  border-bottom: 2px solid var(--color-primary) !important;
}

body.o9IW2aLUVirH .yi4kkWQJXw {
  border-bottom: 3px solid var(--color-primary) !important;
}

body.wlA7KUbI .yi4kkWQJXw {
  border-bottom: 4px solid var(--color-primary) !important;
}

/* ===== PROGRESS BAR STYLES ===== */

/* Progress bar container */
.zlHGk15U4G {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: transparent;
  z-index: 10;
}

/* Progress bar fill */
.aJOJVbgstg {
  height: 100%;
  width: 0%;
  background-color: var(--color-primary);
  transition: width 0.1s ease-out;
}

/* For sticky header - keep progress bar visible */
#sjwhid-masthead.aIhTQNQr5n8 .zlHGk15U4G,
.yi4kkWQJXw.aIhTQNQr5n8 .zlHGk15U4G {
  position: absolute;
  bottom: 0;
}

/* Hide progress bar when header is hidden on scroll */
#sjwhid-masthead.aIhTQNQr5n8.header-hidden .zlHGk15U4G,
.yi4kkWQJXw.aIhTQNQr5n8.header-hidden .zlHGk15U4G {
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Show progress bar when visible */
body.xdaW0Z4K3vX .zlHGk15U4G {
  display: block;
}

/* Hide progress bar by default if not enabled */
body:not(.sjwh-header-progress-bar-enabled) .zlHGk15U4G {
  display: none;
}

/* ===== MOBILE MENU STYLES ===== */

/* Mobile Menu Container */
.vyQ3BbCO {
  display: none;
  position: fixed;
  top: 0;
  right: -100%;
  width: 80%;
  max-width: 320px;
  height: 100%;
  background-color: var(--color-header-bg);
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  transition: right var(--transition-normal);
  overflow-y: auto;
}

.vyQ3BbCO.pRWyFml75C {
  right: 0;
}

/* Mobile Menu Overlay */
.hEm2jcG5 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9998;
  opacity: 0;
  transition: opacity var(--transition-normal);
}

.hEm2jcG5.pRWyFml75C {
  display: block;
  opacity: 1;
}

/* Специальный оверлей для fullscreen (скрыт, так как меню и так на весь экран) */
body.kOxmqvhvqA1C .hEm2jcG5 {
  display: none !important;
}

/* Скрываем оверлей для dropdown стиля (меню выходит из-под хедера, оверлей не нужен) */
body.v7DCk4TZTg .hEm2jcG5 {
  display: none !important;
}

/* Предотвращаем прокрутку body когда fullscreen меню открыто */
body.mobile-menu-open.mobile-menu-style-fullscreen {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
  height: 100% !important;
}

/* Обеспечиваем полноэкранность для fullscreen меню на всех устройствах */
@media screen and (max-width: 9999px) {
  .dPQpDM8V {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Mobile Menu Header */
.qnPT56SrPLn {
  padding: var(--spacing-lg);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.jhzu9jkfXb {
  background: transparent;
  border: none;
  font-size: 24px;
  cursor: pointer;
  padding: var(--spacing-xs);
  color: var(--color-text-primary);
  transition: all 0.3s ease;
}

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

.jhzu9jkfXb:hover svg {
  stroke: var(--color-primary);
}

/* Mobile Menu Navigation */
.qvbJ8D2OLIPZ {
  padding: var(--spacing-lg);
}

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

.qvbJ8D2OLIPZ li {
  margin-bottom: var(--spacing-md);
}

.qvbJ8D2OLIPZ a {
  color: var(--color-header-link);
  text-decoration: none;
  font-size: var(--font-size-lg);
  font-weight: 500;
  display: block;
  padding: var(--spacing-sm) 0;
  transition: color var(--transition-fast);
}

.qvbJ8D2OLIPZ .menu-item-has-children > a {
  position: relative;
  padding-right: var(--spacing-xl);
}

.qvbJ8D2OLIPZ .menu-item-has-children > a::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid currentColor;
  transition: transform var(--transition-fast);
}

.qvbJ8D2OLIPZ .dZkZafCe8RI > a::after {
  transform: translateY(-50%) rotate(180deg);
}

.qvbJ8D2OLIPZ .sub-menu,
.qvbJ8D2OLIPZ .ohEziMtpfi {
  display: none;
  padding-left: var(--spacing-lg);
  margin-top: var(--spacing-xs);
  border-left: 1px solid rgba(148, 163, 184, 0.2);
}

.qvbJ8D2OLIPZ .ohEziMtpfi .ohEziMtpfi {
  margin-left: var(--spacing-md);
  padding-left: calc(var(--spacing-lg) / 1.5);
  border-left: 1px dashed rgba(148, 163, 184, 0.25);
}

.qvbJ8D2OLIPZ .ohEziMtpfi .menu-item-has-children > a::after {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid currentColor;
  border-right: 0;
  transform: translateY(-50%);
}

.qvbJ8D2OLIPZ .ohEziMtpfi .dZkZafCe8RI > a::after {
  transform: translateY(-50%) rotate(90deg);
}

.qvbJ8D2OLIPZ .dZkZafCe8RI > .ohEziMtpfi {
  display: block;
}

.qvbJ8D2OLIPZ .sub-menu a,
.qvbJ8D2OLIPZ .ohEziMtpfi a {
  font-size: var(--font-size-base);
  padding: var(--spacing-xs) 0;
}

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

/* Mobile Menu CTA Buttons */
.jvhquJwV {
  padding: 20px var(--spacing-lg) var(--spacing-md);
}

.jvhquJwV .dxF9tKQHpw {
  width: 100%;
  margin-bottom: var(--spacing-sm);
}

/* ===== RESPONSIVE STYLES ===== */

/* Mobile Styles - Применяется ко ВСЕМ стилям хедеров */
@media (max-width: 767px) {
  /* Скрываем основное меню на мобильных */
  .bk7iTeZS6 {
    display: none !important;
  }
  
  /* Показываем кнопку мобильного меню */
  .kEDkh9rZbbw1 {
    display: flex !important;
  }
  
  /* Показываем мобильное меню когда активно */
  .vyQ3BbCO {
    display: block;
  }
  
  /* Адаптируем контейнер хедера */
  .lDzBKcQ43H {
    flex-wrap: wrap;
    align-items: center; /* Центрируем по вертикали на мобильном */
    /* Высота управляется через классы header-height-* */
  }
  
  /* Выравнивание логотипа на мобильных */
  .rEWcQLFn {
    display: flex !important;
    align-items: center !important;
    height: 60px; /* Фиксированная высота для центрирования */
  }
  
  .o7l11iZ1p1 {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
  }
  
  .custom-logo {
    max-height: 40px; /* Меньше на мобильных */
    max-width: 140px; /* Убираем !important чтобы Minimal правила могли перебить */
    width: auto;
    height: auto;
    display: block !important;
    object-fit: contain; /* Сохраняем пропорции */
  }

  /* ИСКЛЮЧЕНИЕ: Для Minimal стиля логотип 95px */
  .yi4kkWQJXw.v6ujuFwlMS .custom-logo,
  .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .custom-logo,
  .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.scrolled .custom-logo {
    max-width: 95px !important; /* Override 140px for Minimal style */
  }
  
  /* CTA кнопки в хедере на мобильных скрываем (кроме Minimal стиля) */
  .cNAvnuRhClR {
    display: none !important;
  }
  
  /* Исключение для Minimal стиля - показываем обе CTA кнопки */
  .yi4kkWQJXw.v6ujuFwlMS .cNAvnuRhClR {
    display: flex !important;
  }
  
  /* Для Default стиля - показываем только Primary кнопку (первую) */
  .yi4kkWQJXw.yRuf2T2gka2r .cNAvnuRhClR {
    display: flex !important;
  }
  
  .yi4kkWQJXw.yRuf2T2gka2r .cNAvnuRhClR .dxF9tKQHpw:nth-child(2) {
    display: none !important;
  }
  
  /* Для всех стилей хедеров убираем специфичные стили */
  .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 {
    position: static;
    display: flex !important;
  }
  
  /* Minimal style на мобильных - сохраняем flexbox с order */
  .yi4kkWQJXw.v6ujuFwlMS .lDzBKcQ43H {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    /* Высота управляется через классы header-height-* */
    position: relative !important;
  }
  
  .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 {
    order: 1;
    position: static !important;
    flex-shrink: 0;
  }
  
  .yi4kkWQJXw.v6ujuFwlMS .rEWcQLFn {
    order: 2;
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  
  .yi4kkWQJXw.v6ujuFwlMS .cNAvnuRhClR {
    order: 3;
    display: flex !important; /* Показываем кнопки на мобильных в Minimal стиле */
    margin-left: auto !important;
  }
  
  /* В Minimal стиле на мобильном показываем только Primary Button (первую кнопку) */
  .yi4kkWQJXw.v6ujuFwlMS .cNAvnuRhClR .dxF9tKQHpw:nth-child(2) {
    display: none !important;
  }

  /* CTA кнопка ТОЛЬКО В ХЕДЕРЕ на мобильном - по размеру текста */
  .yi4kkWQJXw .dxF9tKQHpw {
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
    padding: var(--spacing-xs) var(--spacing-sm) !important;
    font-size: var(--font-size-xs) !important;
    flex-shrink: 1 !important;
    white-space: nowrap !important;
  }

  /* Для Minimal стиля - еще меньше отступы */
  .yi4kkWQJXw.v6ujuFwlMS .dxF9tKQHpw {
    padding: 6px 10px !important;
    font-size: 12px !important;
  }

  /* Контейнер CTA кнопок ТОЛЬКО В ХЕДЕРЕ - может сжиматься */
  .yi4kkWQJXw .cNAvnuRhClR {
    flex-shrink: 1 !important;
    min-width: 0 !important;
  }

  /* Для Minimal - контейнер тоже компактный */
  .yi4kkWQJXw.v6ujuFwlMS .cNAvnuRhClR {
    gap: 6px !important;
    flex-shrink: 1 !important;
  }


  
  /* Ограничиваем ширину логотипа в Minimal стиле на мобильном */
  .yi4kkWQJXw.v6ujuFwlMS .custom-logo,
  .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .custom-logo,
  .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.scrolled .custom-logo {
    max-width: 95px !important; /* Smaller logo for Minimal style on mobile */
    height: auto !important;
  }
  
  /* Sticky Minimal на мобильном - простое вертикальное выравнивание через flex */
  .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  
}

/* Small Tablet Styles */
@media (min-width: 576px) and (max-width: 767px) {
  /* Отступ остается 0, так как container уже имеет padding */
}

/* Tablet Styles */
@media (min-width: 768px) and (max-width: 991px) {
  /* На планшетах тоже используем мобильное меню */
  .bk7iTeZS6 {
    display: none !important;
  }

  .kEDkh9rZbbw1 {
    display: flex !important;
  }

  .vyQ3BbCO {
    display: block;
  }

  .cNAvnuRhClR {
    gap: var(--spacing-xs);
  }

  .dxF9tKQHpw {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-sm);
  }

  /* Скрываем вторую CTA кнопку на планшетах для всех стилей хедера */
  .yi4kkWQJXw .cNAvnuRhClR .dxF9tKQHpw:nth-child(2) {
    display: none !important;
  }

  /* Показываем только первую CTA кнопку */
  .yi4kkWQJXw .cNAvnuRhClR {
    display: flex !important;
  }

}

/* Desktop Styles */
@media (min-width: 992px) {
  /* Убеждаемся, что мобильное меню скрыто на десктопе */
  .vyQ3BbCO,
  .hEm2jcG5 {
    display: none !important;
  }
  
  /* Кнопка мобильного меню скрыта по умолчанию на десктопе */
  .kEDkh9rZbbw1 {
    display: none;
  }
  
  /* Но для Minimal style показываем кнопку даже на десктопе */
  .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Убеждаемся что иконки правильно отображаются в Minimal стиле на десктопе */
  .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 .hkL9rzcWLm {
    width: 40px;
    height: 40px;
  }
  
  .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 .pAMoprGV {
    width: 40px;
    height: 40px;
  }
}



/* ===================================
   STICKY HEADER FUNCTIONALITY
   =================================== */

/* When header becomes sticky via JavaScript */
#sjwhid-masthead.aIhTQNQr5n8,
.yi4kkWQJXw.aIhTQNQr5n8 {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  width: 100%;
  /* Keep original header background color */
  background-color: var(--color-header-bg);
  padding: 0; /* Убираем паддинги - высота управляется через Sticky Header Height */
  display: flex;
  align-items: center; /* Вертикальное центрирование */
  justify-content: center; /* Горизонтальное центрирование */


  /* Тень для глубины */
  -webkit-box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
  -moz-box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}


/* Optional: Add subtle effects when scrolled without changing color */
#sjwhid-masthead.aIhTQNQr5n8.scrolled,
.yi4kkWQJXw.aIhTQNQr5n8.scrolled {
  /* Keep the same background color, just add backdrop filter for subtle effect */
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding: 0; /* Убираем паддинги - высота управляется через Sticky Header Height */
  display: flex;
  align-items: center; /* Вертикальное центрирование */
  justify-content: center; /* Горизонтальное центрирование */

  /* Усиленная тень при скролле */
  -webkit-box-shadow: 0 4px 30px rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 4px 30px rgba(0, 0, 0, 0.12);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.12);
}






@-webkit-keyframes subtlePulse {
  0%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
  }
}

@keyframes subtlePulse {
  0%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
  }
}

#sjwhid-masthead.aIhTQNQr5n8.scrolled .rEWcQLFn img,
.yi4kkWQJXw.aIhTQNQr5n8.scrolled .rEWcQLFn img {
  max-height: 40px;
  transition: max-height 0.3s ease;
}

/* ИСКЛЮЧЕНИЕ: Для Minimal стиля в sticky scrolled режиме логотип 95px и высота как в обычном sticky */
/* УДАЛЕНО: Дублированное правило для Minimal sticky, теперь используются стандартные размеры */

/* Sticky mode для Minimal style */
.yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .lDzBKcQ43H {
  /* Высота управляется через классы sticky-header-height-* */
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important; /* Вертикальное выравнивание всех элементов */
  justify-content: space-between !important;
}


/* Scrolled состояние для Minimal - центрируем сам хедер */
.yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.scrolled {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  /* Для Minimal сохраняем оригинальный цвет фона без изменений */
  background-color: var(--color-header-bg) !important;
}

/* Контейнер внутри scrolled Minimal */
.yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.scrolled .lDzBKcQ43H {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Body padding when header is sticky - now handled by JavaScript dynamically */
/* body.has-sticky-header padding-top is set via JavaScript based on actual header height */

/* Optional: Hide header on scroll down */
#sjwhid-masthead.aIhTQNQr5n8.header-hidden,
.yi4kkWQJXw.aIhTQNQr5n8.header-hidden {
  transform: translateY(-100%);
}

/* ===================================
   GUTENBERG BLOCKS SPACING
   =================================== */

/* Media & Text Block - добавляем стандартный отступ снизу */
.wp-block-media-text {
  margin-bottom: var(--spacing-lg); /* 24px - стандартный отступ между блоками */
}

/* Убираем отступ у последнего блока в контейнере */
.qqjYbaWv > .wp-block-media-text:last-child {
  margin-bottom: 0;
}

/* ===================================
   LIVE PREVIEW POSITIONING FIXES
   =================================== */

/* Специальные стили для live preview режима */
.wphub-live-preview-mode .zgdgxBYkJuT.live-preview-dropdown-positioned {
  position: fixed !important;
  top: var(--live-preview-menu-top, 81px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: calc(100vh - var(--live-preview-header-height, 80px)) !important;
  z-index: 1001 !important;
  max-width: none !important;
}

.wphub-live-preview-mode .dPQpDM8V.live-preview-fullscreen-positioned {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  z-index: 1001 !important;
}

/* ===================================
   MOBILE MENU STYLES
   =================================== */

/* Base Mobile Menu Reset */
.vyQ3BbCO {
  position: fixed;
  z-index: 9999;
  background: var(--color-header-bg);
  overflow-y: auto;
  transition: all 0.3s ease;
}

/* 1. Slide from Right (Default) */
.bu2Ol4qtSpW {
  top: 0;
  right: 0;
  bottom: 0;
  width: 300px;
  transform: translateX(100%);
}

.bu2Ol4qtSpW.pRWyFml75C {
  transform: translateX(0);
}

/* Убираем все бордеры для slide-right */
.bu2Ol4qtSpW .qnPT56SrPLn {
  border-bottom: none !important;
}

.bu2Ol4qtSpW .jvhquJwV {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* 2. Slide from Left */
.lrMbZ6nfICh {
  top: 0;
  left: 0;
  bottom: 0;
  width: 300px;
  transform: translateX(-100%);
}

.lrMbZ6nfICh.pRWyFml75C {
  transform: translateX(0);
}

/* Убираем все бордеры для slide-left */
.lrMbZ6nfICh .qnPT56SrPLn {
  border-bottom: none !important;
}

.lrMbZ6nfICh .jvhquJwV {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* 3. Fullscreen Overlay - ПОЛНОСТЬЮ ПЕРЕДЕЛАННЫЙ */
.dPQpDM8V {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background: var(--color-header-bg);
  z-index: 99999 !important;
  display: flex;
  flex-direction: column;
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-x: hidden;
  overflow-y: auto;
}

/* Красивый градиентный фон для fullscreen меню */
.dPQpDM8V::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    var(--color-header-bg) 0%, 
    var(--color-bg-secondary) 100%);
  opacity: 0.5;
  z-index: -1;
}

.dPQpDM8V.pRWyFml75C {
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
}

/* Хедер с логотипом по центру */
.dPQpDM8V .qnPT56SrPLn {
  padding: var(--spacing-xl) var(--spacing-lg);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  border-bottom: none !important;
}

.dPQpDM8V .dA1qllCrOCbD {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.dPQpDM8V .jhzu9jkfXb {
  position: absolute;
  right: var(--spacing-lg);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* CTA кнопки под логотипом */
.dPQpDM8V .jvhquJwV {
  padding: var(--spacing-lg) var(--spacing-xl);
  display: flex;
  flex-direction: row;
  gap: var(--spacing-md);
  justify-content: center;
  flex-shrink: 0;
  border: none !important;
}

.dPQpDM8V .jvhquJwV .dxF9tKQHpw {
  min-width: 120px;
  text-align: center;
}

/* Навигационное меню по центру */
.dPQpDM8V .qvbJ8D2OLIPZ {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xl) var(--spacing-lg);
  overflow-y: auto;
}

.dPQpDM8V #bapVfP24E {
  text-align: center;
  width: 100%;
  max-width: 600px;
}

.dPQpDM8V .qvbJ8D2OLIPZ li {
  margin: 0;
  padding: var(--spacing-md) 0;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.5s ease forwards;
}

.dPQpDM8V.pRWyFml75C .qvbJ8D2OLIPZ li {
  opacity: 1;
  transform: translateY(0);
}

.dPQpDM8V .qvbJ8D2OLIPZ li:nth-child(1) { animation-delay: 0.1s; }
.dPQpDM8V .qvbJ8D2OLIPZ li:nth-child(2) { animation-delay: 0.15s; }
.dPQpDM8V .qvbJ8D2OLIPZ li:nth-child(3) { animation-delay: 0.2s; }
.dPQpDM8V .qvbJ8D2OLIPZ li:nth-child(4) { animation-delay: 0.25s; }
.dPQpDM8V .qvbJ8D2OLIPZ li:nth-child(5) { animation-delay: 0.3s; }

.dPQpDM8V .qvbJ8D2OLIPZ a {
  font-size: var(--font-size-2xl);
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--color-header-link);
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-block;
  position: relative;
}

.dPQpDM8V .qvbJ8D2OLIPZ a:hover {
  color: var(--color-primary);
  transform: scale(1.05);
}

/* Эффект подчеркивания при hover */
.dPQpDM8V .qvbJ8D2OLIPZ a::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 100%;
  height: 3px;
  background: var(--color-primary);
  transition: transform 0.3s ease;
}

.dPQpDM8V .qvbJ8D2OLIPZ a:hover::after {
  transform: translateX(-50%) scaleX(1);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 4. Dropdown from Header - FIXED WITH CLOSE BUTTON IN HEADER */
.zgdgxBYkJuT {
  position: fixed;
  top: 80px; /* JavaScript will override this dynamically */
  left: 0;
  right: 0;
  width: 100vw;
  max-width: none;
  background: var(--color-header-bg);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  z-index: 998; /* Below header but above content */
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  height: calc(100vh - 80px);
  /* Hide menu above screen initially */
  transform: translateY(-100%);
  padding: 0;
  box-sizing: border-box;
}

/* Когда активно, позиционируем точно под хедером */
.zgdgxBYkJuT.pRWyFml75C {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

/* Allow JavaScript to override positioning */
body.nidaCDne .zgdgxBYkJuT {
  top: 60px;
  height: calc(100vh - 60px);
}
body.o8wIaOszjkhH .zgdgxBYkJuT {
  top: 70px;
  height: calc(100vh - 70px);
}
body.sAbZdt29Z0 .zgdgxBYkJuT {
  top: 80px;
  height: calc(100vh - 80px);
}
body.il5aaHym .zgdgxBYkJuT {
  top: 100px;
  height: calc(100vh - 100px);
}

/* Для мобильных устройств */
@media (max-width: 767px) {
  body.nidaCDne .zgdgxBYkJuT {
    top: 50px;
    height: calc(100vh - 50px);
  }
  body.o8wIaOszjkhH .zgdgxBYkJuT {
    top: 60px;
    height: calc(100vh - 60px);
  }
  body.sAbZdt29Z0 .zgdgxBYkJuT {
    top: 65px;
    height: calc(100vh - 65px);
  }
  body.il5aaHym .zgdgxBYkJuT {
    top: 70px;
    height: calc(100vh - 70px);
  }
  
  /* Фиксируем позицию menu-toggle в хедере для dropdown стиля */
  
  /* Для Default и Split стилей */
  body.v7DCk4TZTg .yi4kkWQJXw:not(.sjwh-header-minimal) .kEDkh9rZbbw1 {
    position: relative !important;
    z-index: 1005 !important;
  }
  
  /* Для Minimal стиля - кнопка остается слева */
  body.v7DCk4TZTg .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 {
    position: static !important;
    order: 1;
    z-index: 1005 !important;
  }
  
  
  /* Когда меню открыто - кнопки остаются на месте */
  body.v7DCk4TZTg.mobile-menu-open .kEDkh9rZbbw1 {
    /* Остается на тех же позициях */
  }
  
  body.v7DCk4TZTg.mobile-menu-open .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 {
    position: static !important;
    order: 1;
  }
  
}


/* Скрываем хедер меню для dropdown стиля - МОЩНЫЕ ПРАВИЛА */

/* Основное правило для dropdown меню */
.zgdgxBYkJuT .qnPT56SrPLn,
#sjwhid-mobile-menu.mobile-menu-dropdown .qnPT56SrPLn {
  display: none !important;
}

/* Правила по классу body - более мощные */
body.v7DCk4TZTg .qnPT56SrPLn,
body.v7DCk4TZTg #jbO5r96LX .qnPT56SrPLn,
body.v7DCk4TZTg .vyQ3BbCO .qnPT56SrPLn {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  z-index: -9999 !important;
}

/* Скрываем кнопку закрытия - МОЩНЫЕ ПРАВИЛА */
.zgdgxBYkJuT .jhzu9jkfXb,
.zgdgxBYkJuT #t9fBDCYTnzbe,
#sjwhid-mobile-menu.mobile-menu-dropdown .jhzu9jkfXb,
#sjwhid-mobile-menu.mobile-menu-dropdown #t9fBDCYTnzbe,
body.v7DCk4TZTg .jhzu9jkfXb,
body.v7DCk4TZTg #t9fBDCYTnzbe,
body.v7DCk4TZTg .vyQ3BbCO .jhzu9jkfXb,
body.v7DCk4TZTg #jbO5r96LX .jhzu9jkfXb,
body.v7DCk4TZTg #jbO5r96LX #t9fBDCYTnzbe {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  z-index: -9999 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* На всякий случай - скрываем логотип в мобильном меню */
body.v7DCk4TZTg .dA1qllCrOCbD,
body.v7DCk4TZTg .vyQ3BbCO .dA1qllCrOCbD,
.zgdgxBYkJuT .dA1qllCrOCbD {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* CTA кнопки с отступом сверху - сразу после хедера */
.zgdgxBYkJuT .jvhquJwV,
body.v7DCk4TZTg .vyQ3BbCO .jvhquJwV,
body.v7DCk4TZTg #jbO5r96LX .jvhquJwV {
  padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-md);
  border-bottom: none !important;
  margin-top: 15px !important; /* Отступ от края хедера */
  /* Кнопки должны быть первым элементом в меню */
  order: -1;
}

/* Навигационное меню */
.zgdgxBYkJuT .qvbJ8D2OLIPZ {
  padding: 0;
}

.zgdgxBYkJuT #bapVfP24E {
  margin: 0;
  padding: 0;
}

.zgdgxBYkJuT .qvbJ8D2OLIPZ li {
  margin: 0;
  opacity: 0;
  transform: translateX(-20px);
  animation: slideInFromLeft 0.3s ease forwards;
}

.zgdgxBYkJuT.pRWyFml75C .qvbJ8D2OLIPZ li {
  opacity: 1;
  transform: translateX(0);
}

.zgdgxBYkJuT .qvbJ8D2OLIPZ li:nth-child(1) { animation-delay: 0.05s; }
.zgdgxBYkJuT .qvbJ8D2OLIPZ li:nth-child(2) { animation-delay: 0.1s; }
.zgdgxBYkJuT .qvbJ8D2OLIPZ li:nth-child(3) { animation-delay: 0.15s; }
.zgdgxBYkJuT .qvbJ8D2OLIPZ li:nth-child(4) { animation-delay: 0.2s; }
.zgdgxBYkJuT .qvbJ8D2OLIPZ li:nth-child(5) { animation-delay: 0.25s; }

.zgdgxBYkJuT .qvbJ8D2OLIPZ a {
  padding: var(--spacing-md) var(--spacing-lg);
  display: block;
  font-size: var(--font-size-lg);
  color: var(--color-header-link);
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
}

.zgdgxBYkJuT .qvbJ8D2OLIPZ a:hover {
  background: rgba(var(--color-primary-rgb, 37, 99, 235), 0.05);
  padding-left: calc(var(--spacing-lg) + 10px);
  color: var(--color-primary);
}

/* Эффект при наведении - появление линии слева */
.zgdgxBYkJuT .qvbJ8D2OLIPZ a::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) scaleY(0);
  width: 3px;
  height: 60%;
  background: var(--color-primary);
  transition: transform 0.3s ease;
}

.zgdgxBYkJuT .qvbJ8D2OLIPZ a:hover::after {
  transform: translateY(-50%) scaleY(1);
}

/* Индикатор активной страницы */
.zgdgxBYkJuT .qvbJ8D2OLIPZ .current-menu-item a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 70%;
  background: var(--color-primary);
}

@keyframes slideInFromLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}



/* ===== FOOTER STYLES ===== */
.oR11x51iv {
  background: var(--color-footer-bg);
  color: var(--color-footer-text);
  padding: 0; /* Removed vertical padding */
  margin-top: var(--spacing-3xl);
}

.oR11x51iv a {
  color: var(--color-footer-link);
  text-decoration: none;
}

.oR11x51iv a:hover {
  color: var(--color-footer-link-hover);
  text-decoration: underline;
}

/* ===================================
   MOBILE MENU ANIMATIONS
   =================================== */

/* Smooth Animation (Default) */
.tbYLZJ8q .vyQ3BbCO {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Fade Animation */
.lep2DXmNOH2 .vyQ3BbCO {
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.lep2DXmNOH2 .vyQ3BbCO:not(.sjwh-is-active) {
  opacity: 0;
}

/* Scale Animation */
.kLJh3tiS7 .vyQ3BbCO {
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.kLJh3tiS7 .vyQ3BbCO:not(.sjwh-is-active) {
  transform: scale(0.8);
}

/* Rotate Animation */
.guRfm5j1ph4 .vyQ3BbCO {
  transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transform-origin: top right;
}

.guRfm5j1ph4 .vyQ3BbCO:not(.sjwh-is-active) {
  transform: rotateY(-90deg);
}

/* ===================================
   RESPONSIVE ADJUSTMENTS
   =================================== */

@media (max-width: 991px) {
}

@media (min-width: 992px) {
}

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

/* =====
   FOOTER DEFAULT
   ===== */
/* Footer Default Styles */
.xSBkvHRAeaF {
  background: var(--color-footer-bg, #1a1a1a);
  color: var(--color-footer-text, #ffffff);
  margin-top: 60px;
}

/* Footer Top Section */
.p9sZMtgnWAhZ {
  padding: 60px 0 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.nUOhOp7Rj1E {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
}

/* Footer Brand Column */
.ik0IeURRQe {
  max-width: 350px;
}

.eu5tOm0yfp img {
  max-height: 45px;
  width: auto;
}

.wvHpsrjgM {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 15px 0;
  color: var(--color-footer-text, #ffffff);
}

.mxnh1IOiEZv9 {
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.7);
  margin: 15px 0 25px;
}

/* Social Links */
.hqHP98vc {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.wq5HWfELiYVV {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: var(--color-footer-text, #ffffff);
  transition: all 0.3s ease;
}

.wq5HWfELiYVV:hover {
  background: var(--color-primary, #007cba);
  transform: translateY(-3px);
}

.wq5HWfELiYVV svg {
  width: 18px;
  height: 18px;
}

/* Widget Areas Grid */
.fVN76fsHy {
  flex: 1;
}

.rUkWRj8vo4 {
  display: grid;
  gap: 40px;
}

.rUkWRj8vo4.columns-1 {
  grid-template-columns: 1fr;
}

.rUkWRj8vo4.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.rUkWRj8vo4.columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

/* Widget Styles */
.aK8OSoHu .widget {
  margin-bottom: 30px;
}

.aK8OSoHu .widget:last-child {
  margin-bottom: 0;
}

.aK8OSoHu .widget-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-footer-text, #ffffff);
  margin: 0 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color-primary, #007cba);
  display: inline-block;
}

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

.aK8OSoHu ul li {
  margin-bottom: 12px;
}

.aK8OSoHu ul li a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.3s ease;
  display: inline-flex;
  align-items: center;
}

.aK8OSoHu ul li a:hover {
  color: var(--color-primary, #007cba);
  transform: translateX(3px);
}

/* Footer Bottom */
.eYbsM4Sj {
  padding: 25px 0;
  background: rgba(0, 0, 0, 0.2);
}

.y4IC0R0bk1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.eSzCoVwYzgF {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}

/* Footer Navigation */
.wk8mfNywFY0 {
  display: flex;
  gap: 25px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.wk8mfNywFY0 li a {
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.3s ease;
}

.wk8mfNywFY0 li a:hover {
  color: var(--color-footer-text, #ffffff);
}

/* Responsive Columns */
.footer-columns-1 .nUOhOp7Rj1E {
  grid-template-columns: 1fr;
}

.footer-columns-2 .nUOhOp7Rj1E {
  grid-template-columns: 350px 1fr;
}

.footer-columns-3 .nUOhOp7Rj1E {
  grid-template-columns: 350px 1fr;
}

.footer-columns-4 .nUOhOp7Rj1E {
  grid-template-columns: 350px 1fr;
}

/* Responsive Design */
@media (max-width: 991px) {
  .nUOhOp7Rj1E {
    grid-template-columns: 1fr !important;
    gap: 40px;
  }

  .ik0IeURRQe {
    max-width: 100%;
    text-align: center;
  }

  .hqHP98vc {
    justify-content: center;
  }

  .rUkWRj8vo4.columns-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .p9sZMtgnWAhZ {
    padding: 40px 0 30px;
  }

  .rUkWRj8vo4 {
    grid-template-columns: 1fr !important;
    gap: 30px;
  }

  .y4IC0R0bk1 {
    flex-direction: column;
    text-align: center;
  }

  .wk8mfNywFY0 {
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
  }
}

@media (max-width: 480px) {
  .wvHpsrjgM {
    font-size: 20px;
  }

  .aK8OSoHu .widget-title {
    font-size: 15px;
  }

  .wq5HWfELiYVV {
    width: 35px;
    height: 35px;
  }
}

/* Dark Theme Support */
body.dark-theme .xSBkvHRAeaF {
  background: var(--color-footer-bg, #000000);
}

body.dark-theme .eYbsM4Sj {
  background: rgba(0, 0, 0, 0.2);
}

/* Animation Effects */
@keyframes sjwhFadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.aK8OSoHu {
  animation: sjwhFadeInUp 0.5s ease-out;
}

.aK8OSoHu:nth-child(2) {
  animation-delay: 0.1s;
}

.aK8OSoHu:nth-child(3) {
  animation-delay: 0.2s;
}

/* =====
   FOOTER CENTERED
   ===== */
/* Centered Footer Styles */
.nd52uayE {
  background: var(--color-footer-bg, #1a1a1a);
  color: var(--color-footer-text, #ffffff);
  padding: 60px 0 30px;
  text-align: center;
}

.ecqWTn6JGqg {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.dVcJk6sM {
  margin-bottom: 10px;
}

.dVcJk6sM .custom-logo {
  max-height: 50px;
  width: auto;
}

.nd52uayE .wvHpsrjgM {
  font-size: 24px;
  margin: 0;
  color: var(--color-footer-text, #fff);
}

.x27JAcT7 {
  margin: 10px 0 0;
  font-size: 14px;
  opacity: 0.8;
  color: var(--color-footer-text, #fff);
}

.rKa3vvn6VbYp {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rKa3vvn6VbYp a {
  color: var(--color-footer-text, #fff);
  text-decoration: none;
  font-size: 15px;
  transition: opacity 0.3s;
}

.rKa3vvn6VbYp a:hover {
  opacity: 0.7;
}

.nd52uayE .hqHP98vc {
  display: flex;
  gap: 15px;
  justify-content: center;
}

.nd52uayE .bPbaQFM7yI {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-footer-text, #fff);
  text-decoration: none;
  transition: all 0.3s;
}

.nd52uayE .bPbaQFM7yI:hover {
  background: var(--color-primary, #007cba);
  transform: translateY(-2px);
}

.llSZsfQsN92I {
  font-weight: bold;
}

.dc59Ojt2dMcq {
  font-size: 14px;
  color: var(--color-footer-text, #fff);
  opacity: 0.7;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  width: 100%;
  max-width: 600px;
}

@media (max-width: 768px) {
  .nd52uayE {
    padding: 40px 0 20px;
  }

  .rKa3vvn6VbYp {
    flex-direction: column;
    gap: 15px;
  }
}

/* =====
   FOOTER MINIMAL
   ===== */
/* Minimal Footer Styles */
.dEkVOFx9W {
  padding: 20px 0;
  border-top: 1px solid var(--color-primary, #007cba);
}

.aXd8BBAM {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.yDveKCfpcz {
  font-size: 14px;
  color: var(--color-text-primary, #1a1a1a);
}

.qpwmtX5yZ {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qpwmtX5yZ a {
  font-size: 14px;
  color: var(--color-text-primary, #1a1a1a);
  text-decoration: none;
  transition: color 0.3s;
}

.qpwmtX5yZ a:hover {
  color: var(--color-primary, #007cba);
}

@media (max-width: 768px) {
  .aXd8BBAM {
    flex-direction: column;
    text-align: center;
  }

  .qpwmtX5yZ {
    justify-content: center;
  }
}

/* ===================================
   DESKTOP SIDEBAR MENU (Minimal Style Only)
   =================================== */

/* Боковое меню - скрыто по умолчанию */
.qLsln3CA,
.nwwMe0ai8wdR {
  display: none;
}

/* Показываем ТОЛЬКО для Minimal стиля на десктопе */
@media (min-width: 992px) {
  /* Показываем sidebar для Minimal header (без :has для совместимости) */
  .yi4kkWQJXw.v6ujuFwlMS ~ #colophon ~ .qLsln3CA,
  body.q3HEc11RW15 .qLsln3CA {
    display: flex !important;
  }
  
  .yi4kkWQJXw.v6ujuFwlMS ~ #colophon ~ .nwwMe0ai8wdR,
  body.q3HEc11RW15 .nwwMe0ai8wdR {
    display: block !important;
  }
  .qLsln3CA {
    position: fixed;
    top: 0;
    left: -320px; /* Скрыто слева */
    bottom: 0;
    width: 320px;
    background: var(--color-header-bg); /* Используем цвет фона хедера */
    box-shadow: 5px 0 25px rgba(0, 0, 0, 0.1);
    z-index: 10000;
    transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
  }
  
  /* Активное состояние меню - ВАЖНО для показа */
  .qLsln3CA.pRWyFml75C {
    left: 0;
    display: flex !important; /* Форсируем показ */
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  /* Внутренний контейнер */
  .cZ01WicvRdB {
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  
  /* Заголовок бокового меню */
  .khSEUsBWR8Q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-lg) var(--spacing-xl);
    background: var(--color-header-bg);
    flex-shrink: 0;
  }
  
  .zpdXDa9PQtEl {
    flex: 1;
  }
  
  .zpdXDa9PQtEl img {
    max-height: 50px;
    max-width: 140px; /* Ограничиваем ширину логотипа в боковом меню */
    width: auto;
    object-fit: contain; /* Сохраняем пропорции */
  }
  
  .fZ8l4LHnO {
    margin: 0;
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--color-header-text);
  }
  
  /* Кнопка закрытия */
  .niefDD4RC {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--color-header-text);
    transition: all 0.3s ease;
    border-radius: var(--radius-full);
    flex-shrink: 0;
  }
  
  .niefDD4RC:hover {
    color: var(--color-primary-contrast);
    transform: rotate(90deg);
  }
  
  /* Навигация */
  .oTmpLEfxkocr {
    flex: 1;
    padding: var(--spacing-lg) 0;
    overflow-y: auto;
  }
  
  .dnJxxYhu {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  .dnJxxYhu li {
    margin: 0;
    position: relative;
  }
  
  .dnJxxYhu a {
    display: flex;
    align-items: center;
    padding: var(--spacing-md) var(--spacing-xl);
    color: var(--color-header-link);
    text-decoration: none;
    font-size: var(--font-size-base);
    font-weight: 500;
    transition: all 0.3s ease;
    position: relative;
  }
  
  /* Индикатор активного пункта */
  .dnJxxYhu a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 0;
    background: var(--color-primary);
    transition: height 0.3s ease;
  }
  
  .dnJxxYhu a:hover {
    background: rgba(var(--color-primary-rgb), 0.1);
    color: var(--color-primary);
    padding-left: calc(var(--spacing-xl) + var(--spacing-sm));
  }
  
  .dnJxxYhu a:hover::before {
    height: 70%;
  }
  
  /* Текущая страница */
  .dnJxxYhu .current-menu-item > a {
    background: rgba(var(--color-primary-rgb), 0.15);
    color: var(--color-primary);
  }
  
  .dnJxxYhu .current-menu-item > a::before {
    height: 100%;
  }
  
  /* Подменю */
  .dnJxxYhu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    background: rgba(0, 0, 0, 0.05);
  }
  
  .dnJxxYhu .sub-menu a {
    padding-left: calc(var(--spacing-xl) + var(--spacing-lg));
    font-size: var(--font-size-sm);
  }

  /* Отключение всех focus стилей в боковом меню */
  .qLsln3CA *:focus,
  .qLsln3CA a:focus,
  .qLsln3CA button:focus,
  .oTmpLEfxkocr *:focus,
  .dnJxxYhu a:focus,
  .zpdXDa9PQtEl a:focus,
  .pZwiYMINaw a:focus,
  .pZwiYMINaw button:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
  }

  .qLsln3CA *:focus-visible,
  .qLsln3CA a:focus-visible,
  .dnJxxYhu a:focus-visible {
    outline: none !important;
    box-shadow: none !important;
  }

  
  /* CTA кнопки в боковом меню (под логотипом) */
  .pZwiYMINaw {
    padding: 0 var(--spacing-xl) var(--spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    flex-shrink: 0;
  }
  
  /* Используем стили обычных CTA кнопок */
  .pZwiYMINaw .dxF9tKQHpw {
    display: flex !important;
    width: 100%;
    justify-content: center !important;
    align-items: center !important;
    text-align: center;
  }
  
  /* Footer бокового меню */
  .rn1uUV0DQ {
    padding: var(--spacing-lg) var(--spacing-xl);
    background: rgba(0, 0, 0, 0.03);
    flex-shrink: 0;
  }
  
  .kUEIZvtzwI {
    text-align: center;
    color: var(--color-header-text);
    opacity: 0.7;
    font-size: var(--font-size-sm);
  }
  
  .kUEIZvtzwI p {
    margin: var(--spacing-xs) 0;
  }
  
  .e81tZahB {
    color: var(--color-header-text);
    opacity: 0.5;
    font-size: var(--font-size-xs);
  }
  
  /* Оверлей для десктопного меню */
  .nwwMe0ai8wdR {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
  }
  
  .nwwMe0ai8wdR.pRWyFml75C {
    opacity: 1;
    visibility: visible;
  }
  
  /* Push эффект для контента ТОЛЬКО для Minimal стиля */
  body:has(.yi4kkWQJXw.sjwh-header-minimal).e8q5XYxZO6 #page {
    transform: translateX(320px);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  /* Обязательная анимация для плавного возврата */
  body:has(.yi4kkWQJXw.sjwh-header-minimal) #page {
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  /* Никакого смещения для НЕ-Minimal стилей */
  body:not(:has(.yi4kkWQJXw.sjwh-header-minimal)).e8q5XYxZO6 #page {
    transform: none !important;
  }
  
  /* Особый стиль для кнопки меню в Minimal header на десктопе */
  .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 {
    transition: all 0.3s ease;
  }
  
  .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1:hover {
    background: transparent;
    transform: scale(1.1);
  }
  
  .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1:hover svg {
    fill: var(--color-primary-dark);
  }

  .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1:hover .pAMoprGV .cF3N3Ao9y5F {
    background: var(--color-primary-dark);
  }

  /* Когда меню открыто, меняем иконку */
  body.e8q5XYxZO6 .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 {
    background: transparent;
  }

  body.e8q5XYxZO6 .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 svg,
  body.e8q5XYxZO6 .yi4kkWQJXw.v6ujuFwlMS .kEDkh9rZbbw1 .pAMoprGV .cF3N3Ao9y5F {
    fill: var(--color-primary-dark);
  }
  
  /* Анимация появления пунктов меню - ИСПРАВЛЕНО */
  .qLsln3CA .dnJxxYhu li {
    opacity: 1;
    transform: translateX(0);
  }
  
  .qLsln3CA.pRWyFml75C .dnJxxYhu li {
    animation: slideInLeft 0.5s ease both; /* both вместо forwards для правильной работы */
  }
  
  .qLsln3CA.pRWyFml75C .dnJxxYhu li:nth-child(1) { animation-delay: 0.1s; }
  .qLsln3CA.pRWyFml75C .dnJxxYhu li:nth-child(2) { animation-delay: 0.15s; }
  .qLsln3CA.pRWyFml75C .dnJxxYhu li:nth-child(3) { animation-delay: 0.2s; }
  .qLsln3CA.pRWyFml75C .dnJxxYhu li:nth-child(4) { animation-delay: 0.25s; }
  .qLsln3CA.pRWyFml75C .dnJxxYhu li:nth-child(5) { animation-delay: 0.3s; }
  .qLsln3CA.pRWyFml75C .dnJxxYhu li:nth-child(6) { animation-delay: 0.35s; }
  .qLsln3CA.pRWyFml75C .dnJxxYhu li:nth-child(7) { animation-delay: 0.4s; }
  .qLsln3CA.pRWyFml75C .dnJxxYhu li:nth-child(8) { animation-delay: 0.45s; }
  
  @keyframes slideInLeft {
    from {
      opacity: 0;
      transform: translateX(-30px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
}

/* Скрываем десктопное боковое меню на мобильных */
@media (max-width: 991px) {
  .qLsln3CA,
  .nwwMe0ai8wdR {
    display: none !important;
  }
  
  /* На мобильных для Minimal используется обычное мобильное меню */
  body.e8q5XYxZO6 #page {
    transform: none !important;
  }
}

/* ========================================================================
   HERO SECTION STYLES
   ======================================================================== */

/* Base Hero Styles */
.iUtri2Ooa {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.iUtri2Ooa.jKgcRjlYBd {
  background-size: cover;
  background-position: center;
}

/* Hero mobile background moved to dynamic CSS for proper obfuscation */

/* Hero Height Variants - АДАПТИВНАЯ ВЫСОТА */
/* МОБИЛЬНЫЕ ПЕРВЫЕ - адаптивная высота по содержимому */
.zYqnTFezyVu {
  min-height: 350px; /* Базовый минимум для мобильных */
}

.hIxBRcA3TX {
  min-height: 400px; /* Базовый минимум для мобильных */
}

.jtYFxTbnB {
  min-height: 450px; /* Базовый минимум для мобильных */
}

.bivCJYb5T {
  min-height: 100vh; /* Полный экран на всех устройствах */
}

/* ДЕСКТОП - ФИКСИРОВАННАЯ ВЫСОТА (только на больших экранах) */
@media (min-width: 769px) {
  .zYqnTFezyVu {
    height: 40vh;
    min-height: 400px;
  }

  .hIxBRcA3TX {
    height: 60vh;
    min-height: 500px;
  }

  .jtYFxTbnB {
    height: 80vh;
    min-height: 600px;
  }

  .bivCJYb5T {
    height: 100vh;
  }
}

/* Hero Parallax Effect */
.gCFhqZajHD {
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  /* Background-size определяется динамически через JavaScript на основе aspect ratio изображения */
  position: relative;
  transform: translateZ(0); /* GPU acceleration */
  will-change: transform;
}

/* Fallback размеры если JavaScript не сработал */
.gCFhqZajHD:not([style*="background-size"]) {
  background-size: 130% auto;
}

/* For browsers that don't support fixed background on mobile */
@supports not (background-attachment: fixed) {
  .gCFhqZajHD {
    background-attachment: scroll;
    background-size: cover; /* На мобильных используем обычный cover */
  }
}

/* Hero Container */
.m6KrEqWpX2Wv {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
}

/* Hero Content */
.uPhNOt4bL {
  position: relative;
  z-index: 2;
  width: 100%;
}

/* Hero Title */
.g11pMbRAmY {
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 20px;
  color: var(--color-h1);
}

/* Hero Subtitle */
.wUKQ49cNcq {
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  line-height: 1.5;
  margin: 0 0 30px;
  color: var(--color-h1);
  max-width: 800px;
}

/* Text Alignment */
.iUtri2Ooa.ksycbQZMKr .uPhNOt4bL {
  text-align: left;
}

.iUtri2Ooa.d37gzGxUFEg .uPhNOt4bL {
  text-align: center;
}

.iUtri2Ooa.d37gzGxUFEg .wUKQ49cNcq {
  margin-left: auto;
  margin-right: auto;
}

.iUtri2Ooa.zPLzO8dTZOXu .uPhNOt4bL {
  text-align: right;
}

.iUtri2Ooa.zPLzO8dTZOXu .wUKQ49cNcq {
  margin-left: auto;
}

/* Hero Overlay Variants */
.i2rZF72Cb {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.wnvPOULNx3u .i2rZF72Cb {
  display: none;
}

.vZ5evV8MXYG .i2rZF72Cb {
  background: rgba(0, 0, 0, 0.2);
}

.iiGfIdHO4QE .i2rZF72Cb {
  background: rgba(0, 0, 0, 0.4);
}

.qInqFsJ1qS .i2rZF72Cb {
  background: rgba(0, 0, 0, 0.6);
}

.iczChClm .i2rZF72Cb {
  background: linear-gradient(135deg,
    rgba(var(--color-primary-rgb, 37, 99, 235), 0.8) 0%,
    rgba(var(--color-primary-rgb, 37, 99, 235), 0.6) 100%);
}

/* Hero Featured Image Overlay */
.zJtejxjt31M {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}

.mM9JNFmi .zJtejxjt31M {
  display: none;
}

.ecw2S1JL3u .zJtejxjt31M {
  background: rgba(0, 0, 0, 0.2);
}

.cgTu8pPCRn .zJtejxjt31M {
  background: rgba(0, 0, 0, 0.4);
}

.ke8hP5tq6 .zJtejxjt31M {
  background: rgba(0, 0, 0, 0.6);
}

.jM5H7PYoZ .zJtejxjt31M {
  background: rgba(0, 0, 0, 0.8);
}

.xyLQJ40iWpwW .zJtejxjt31M {
  background: linear-gradient(135deg,
    rgba(var(--color-primary-rgb, 37, 99, 235), 0.8) 0%,
    rgba(var(--color-primary-rgb, 37, 99, 235), 0.6) 100%);
}

/* Hero Color Overlay (when no featured image) */
.tj0AcUp1qw {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}

/* Hero Buttons */
.u0VA9W8I {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 30px;
}

.iUtri2Ooa.d37gzGxUFEg .u0VA9W8I {
  justify-content: center;
}

.iUtri2Ooa.zPLzO8dTZOXu .u0VA9W8I {
  justify-content: flex-end;
}

.tXWeLXNw6dX {
  /* СИНХРОНИЗИРОВАНО С HEADER CTA КНОПКАМИ */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xs) var(--spacing-md);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  transition: all var(--transition-fast);
  white-space: nowrap;
  min-height: 36px;
}

/* Button Shapes */
.ch6XDeb13cq {
  border-radius: 6px;
}

.wLXF2JIJHTo {
  border-radius: 50px;
}

.rG6aAD6udjX {
  border-radius: 0;
}

/* Button Styles */
.tXWeLXNw6dX.kFSgg1Anw1 {
  /* PRIMARY ВСЕГДА ЗАМЕТНЫЙ - на любом фоне */
  background-color: var(--color-btn-primary-bg, var(--color-primary));
  color: var(--color-btn-primary-text, #ffffff);
  border: 2px solid transparent;
}

/* На очень светлом фоне можно использовать более темный primary */
.uN8MJDffR9 .tXWeLXNw6dX.kFSgg1Anw1,
.i97gZz8oxrkT .tXWeLXNw6dX.kFSgg1Anw1 {
  background-color: var(--color-btn-primary-bg, var(--color-primary));
  color: var(--color-btn-primary-text, #ffffff);
}

.tXWeLXNw6dX.kFSgg1Anw1:hover {
  /* УНИВЕРСАЛЬНЫЙ HOVER - темнее на 20% */
  background-color: var(--color-btn-primary-hover, var(--color-primary-dark));
  color: var(--color-btn-primary-hover-text, #ffffff);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.tXWeLXNw6dX.iVGt8PnJe {
  /* ИДЕНТИЧНО HEADER CTA-SECONDARY - используем primary цвет */
  background-color: transparent;
  color: var(--color-btn-secondary-text); /* Используем primary из CSS переменной */
  border: 2px solid var(--color-btn-secondary-border); /* Используем primary из CSS переменной */
}

.tXWeLXNw6dX.iVGt8PnJe:hover {
  /* ИДЕНТИЧНО HEADER CTA-SECONDARY:HOVER - реверс цветов */
  background-color: var(--color-btn-secondary-hover-bg);
  color: var(--color-btn-secondary-hover-text);
  border-color: var(--color-btn-secondary-hover-bg);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.tXWeLXNw6dX.whylaxvZ {
  /* ИДЕНТИЧНО HEADER CTA-GHOST - используем primary цвет */
  background-color: transparent;
  color: var(--color-primary);
  border: 2px solid transparent;
  padding: var(--spacing-xs) var(--spacing-sm);
}

.tXWeLXNw6dX.whylaxvZ:hover {
  /* ИДЕНТИЧНО HEADER CTA-GHOST:HOVER */
  color: var(--color-primary-dark);
  background-color: var(--color-primary-light);
}

/* СПЕЦИАЛЬНЫЕ МОДИФИКАТОРЫ ДЛЯ HERO С ОЧЕНЬ ТЕМНЫМ/КОНТРАСТНЫМ ФОНОМ */
/* Если hero имеет очень темный фон и primary цвет плохо виден, используйте класс .etFZ6QqGGw */
.etFZ6QqGGw .tXWeLXNw6dX.iVGt8PnJe {
  color: var(--color-text-inverse, #ffffff);
  border-color: var(--color-text-inverse, #ffffff);
}

.etFZ6QqGGw .tXWeLXNw6dX.iVGt8PnJe:hover {
  background-color: var(--color-text-inverse, #ffffff);
  color: var(--color-primary);
  border-color: var(--color-text-inverse, #ffffff);
}

.etFZ6QqGGw .tXWeLXNw6dX.whylaxvZ {
  color: var(--color-text-inverse, #ffffff);
}

.etFZ6QqGGw .tXWeLXNw6dX.whylaxvZ:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--color-text-inverse, #ffffff);
}

/* Hero Style: Default */
.olPaZbIGzy {
  /* Default style uses base styles */
}

/* Hero Style: Split - Content Left, Image Right */
.cKPonxaGCq {
  display: flex;
  align-items: stretch; /* Важно для равной высоты колонок */
}

.cKPonxaGCq .m6KrEqWpX2Wv {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none; /* Убираем ограничение ширины для split layout */
  padding: 0;
  gap: 0;
}

.cKPonxaGCq .uPhNOt4bL {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 40px;
  z-index: 2;
}

.cKPonxaGCq .oPLZNtDh {
  flex: 1;
  height: 100%; /* Занимает всю высоту hero секции */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

/* Hero Style: Split Reverse - Image Left, Content Right */
.p0nRIolmbrAs {
  display: flex;
  align-items: stretch;
}

.p0nRIolmbrAs .m6KrEqWpX2Wv {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  padding: 0;
  gap: 0;
  flex-direction: row-reverse; /* Меняем порядок для reverse */
}

.p0nRIolmbrAs .uPhNOt4bL {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 40px;
  z-index: 2;
}

.p0nRIolmbrAs .oPLZNtDh {
  flex: 1;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

/* Адаптивность для split стилей */
@media (max-width: 991px) {
  .cKPonxaGCq .m6KrEqWpX2Wv,
  .p0nRIolmbrAs .m6KrEqWpX2Wv {
    flex-direction: column;
  }

  .cKPonxaGCq .uPhNOt4bL,
  .p0nRIolmbrAs .uPhNOt4bL {
    padding: 40px 30px;
  }

  .cKPonxaGCq .oPLZNtDh,
  .p0nRIolmbrAs .oPLZNtDh {
    min-height: 300px; /* Минимальная высота на планшетах */
  }
}

@media (max-width: 768px) {
  .cKPonxaGCq .uPhNOt4bL,
  .p0nRIolmbrAs .uPhNOt4bL {
    padding: 30px 20px;
  }

  .cKPonxaGCq .oPLZNtDh,
  .p0nRIolmbrAs .oPLZNtDh {
    min-height: 250px; /* Минимальная высота на мобильных */
    background-size: contain; /* Показывать всё изображение на мобильных */
    background-position: center center;
  }
}

/* =================================================
   GUTENBERG BUTTON BLOCKS STYLING
   ================================================= */

/* WordPress Gutenberg Button Blocks inherit CTA button styles */
.blk-ce50a093__link,
.blk-ce50a093s .blk-ce50a093__link,
.blk-ce50a093 .blk-ce50a093__link,
div.blk-ce50a093 .blk-ce50a093__link,
div.blk-ce50a093s .blk-ce50a093 .blk-ce50a093__link {
  /* Base button styling - inherit from .btn */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--spacing-sm) var(--spacing-md) !important;
  font-size: var(--font-size-base) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: all var(--transition-fast) !important;
  min-height: 44px !important; /* Touch-friendly */
  min-width: 44px !important;

  /* SMART COLOR LOGIC: Use primary color with automatic contrast text */
  background: var(--color-btn-primary-bg, var(--color-primary, #2563eb)) !important;
  color: var(--color-btn-primary-text, var(--color-primary-contrast, #ffffff)) !important;
  border-color: var(--color-btn-primary-bg, var(--color-primary, #2563eb)) !important;

  /* Apply global button shape */
  border-radius: 6px !important; /* Default rounded */
}

/* =================================================
   GLOBAL BUTTON SHAPE SYSTEM - APPLIES TO ALL BUTTONS
   ================================================= */

/* ROUNDED SHAPE - applies to ALL buttons (CTA + Gutenberg + Mobile + Sidebar) */
body.kgMA2D5jfKG2 .blk-ce50a093__link,
body.kgMA2D5jfKG2 div.blk-ce50a093 .blk-ce50a093__link,
body.kgMA2D5jfKG2 .dxF9tKQHpw,
body.kgMA2D5jfKG2 .btn,
body.kgMA2D5jfKG2 .tXWeLXNw6dX,
body.kgMA2D5jfKG2 .jvhquJwV .dxF9tKQHpw,
body.kgMA2D5jfKG2 .pZwiYMINaw .dxF9tKQHpw {
  border-radius: 6px !important;
}

/* PILL SHAPE - applies to ALL buttons (CTA + Gutenberg + Mobile + Sidebar) */
body.eRmu26aj .blk-ce50a093__link,
body.eRmu26aj div.blk-ce50a093 .blk-ce50a093__link,
body.eRmu26aj .dxF9tKQHpw,
body.eRmu26aj .btn,
body.eRmu26aj .tXWeLXNw6dX,
body.eRmu26aj .jvhquJwV .dxF9tKQHpw,
body.eRmu26aj .pZwiYMINaw .dxF9tKQHpw {
  border-radius: 50px !important;
}

/* PILL SHAPE - extra padding for CTA buttons и HERO buttons */
body.eRmu26aj .dxF9tKQHpw,
body.eRmu26aj .tXWeLXNw6dX,
body.eRmu26aj .jvhquJwV .dxF9tKQHpw,
body.eRmu26aj .pZwiYMINaw .dxF9tKQHpw {
  padding-left: var(--spacing-lg) !important;
  padding-right: var(--spacing-lg) !important;
}

/* SQUARE SHAPE - applies to ALL buttons (CTA + Gutenberg + Mobile + Sidebar) */
body.c8vXPGG9s1sQ .blk-ce50a093__link,
body.c8vXPGG9s1sQ div.blk-ce50a093 .blk-ce50a093__link,
body.c8vXPGG9s1sQ .dxF9tKQHpw,
body.c8vXPGG9s1sQ .btn,
body.c8vXPGG9s1sQ .tXWeLXNw6dX,
body.c8vXPGG9s1sQ .jvhquJwV .dxF9tKQHpw,
body.c8vXPGG9s1sQ .pZwiYMINaw .dxF9tKQHpw {
  border-radius: 0 !important;
}

/* ENSURE GLOBAL SHAPE WORKS EVERYWHERE - MAXIMUM SPECIFICITY */
body.kgMA2D5jfKG2 .yi4kkWQJXw.aIhTQNQr5n8 .dxF9tKQHpw,
body.kgMA2D5jfKG2 .oR11x51iv .dxF9tKQHpw,
body.kgMA2D5jfKG2 .ch6XDeb13cq,
body.kgMA2D5jfKG2 .wLXF2JIJHTo,
body.kgMA2D5jfKG2 .rG6aAD6udjX {
  border-radius: 6px !important;
}

body.eRmu26aj .yi4kkWQJXw.aIhTQNQr5n8 .dxF9tKQHpw,
body.eRmu26aj .oR11x51iv .dxF9tKQHpw,
body.eRmu26aj .ch6XDeb13cq,
body.eRmu26aj .wLXF2JIJHTo,
body.eRmu26aj .rG6aAD6udjX {
  border-radius: 50px !important;
}

/* PILL SHAPE - extra padding for all contexts (включая HERO) */
body.eRmu26aj .yi4kkWQJXw.aIhTQNQr5n8 .dxF9tKQHpw,
body.eRmu26aj .oR11x51iv .dxF9tKQHpw,
body.eRmu26aj .tXWeLXNw6dX {
  padding-left: var(--spacing-lg) !important;
  padding-right: var(--spacing-lg) !important;
}

body.c8vXPGG9s1sQ .yi4kkWQJXw.aIhTQNQr5n8 .dxF9tKQHpw,
body.c8vXPGG9s1sQ .oR11x51iv .dxF9tKQHpw,
body.c8vXPGG9s1sQ .ch6XDeb13cq,
body.c8vXPGG9s1sQ .wLXF2JIJHTo,
body.c8vXPGG9s1sQ .rG6aAD6udjX {
  border-radius: 0 !important;
}

/* OVERRIDE OLD CTA-SHAPE SYSTEM - GLOBAL TAKES PRIORITY */
body.kgMA2D5jfKG2.wrdiXmL7jfn .dxF9tKQHpw,
body.kgMA2D5jfKG2.qqxS8yPsY .dxF9tKQHpw {
  border-radius: 6px !important;
  padding-left: var(--spacing-md) !important;
  padding-right: var(--spacing-md) !important;
}

body.eRmu26aj.zdACTLpl4aDn .dxF9tKQHpw,
body.eRmu26aj.qqxS8yPsY .dxF9tKQHpw {
  border-radius: 50px !important;
  padding-left: var(--spacing-lg) !important;
  padding-right: var(--spacing-lg) !important;
}

body.c8vXPGG9s1sQ.zdACTLpl4aDn .dxF9tKQHpw,
body.c8vXPGG9s1sQ.wrdiXmL7jfn .dxF9tKQHpw {
  border-radius: 0 !important;
  padding-left: var(--spacing-md) !important;
  padding-right: var(--spacing-md) !important;
}

/* HOVER EFFECTS WITH HERO STYLE DARKENING - same as CTA buttons */
.blk-ce50a093__link:hover,
.blk-ce50a093s .blk-ce50a093__link:hover,
.blk-ce50a093 .blk-ce50a093__link:hover,
div.blk-ce50a093 .blk-ce50a093__link:hover,
div.blk-ce50a093s .blk-ce50a093 .blk-ce50a093__link:hover {
  /* HERO STYLE DARKENING: Background becomes darker, text stays white */
  background: var(--color-btn-primary-hover, var(--color-primary-dark, #1e40af)) !important;
  color: var(--color-btn-primary-hover-text, var(--color-primary-contrast, #ffffff)) !important;
  border-color: var(--color-btn-primary-hover-text, var(--color-primary-contrast, #ffffff)) !important;

  /* Visual feedback effects */
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1)) !important;
}

/* Focus states for accessibility */
.blk-ce50a093__link:focus,
.blk-ce50a093s .blk-ce50a093__link:focus {
  outline: 2px solid var(--color-focus, #3b82f6);
  outline-offset: 2px;
}

/*
=================================================================
HERO STYLE DARKENING LOGIC EXPLANATION:
=================================================================

NORMAL STATE:
- Background: var(--color-primary) - фон кнопки в основном цвете темы
- Text: var(--color-primary-contrast) - автоматический контрастный цвет

HOVER STATE (HERO DARKENING):
- Background: var(--color-primary-dark) - фон становится темнее
- Text: var(--color-primary-contrast) - текст остается белым

ПРИМЕР РАБОТЫ:
1. Темная тема (primary: #2563eb, primary-dark: #1e40af, contrast: #ffffff):
   Normal: синий фон + белый текст
   Hover: темно-синий фон + белый текст

2. Светлая тема (primary: #ffeb3b, primary-dark: #e6d12e, contrast: #1a1a1a):
   Normal: желтый фон + черный текст
   Hover: темно-желтый фон + черный текст

Это создает элегантный эффект затемнения как в Hero секции!
=================================================================
*/

/* Color variants support - OUTLINE BUTTONS */
.blk-ce50a093.is-style-outline .blk-ce50a093__link,
div.blk-ce50a093.is-style-outline .blk-ce50a093__link,
div.blk-ce50a093s .blk-ce50a093.is-style-outline .blk-ce50a093__link {
  /* Secondary button style - outline version with smart colors */
  background: transparent !important;
  color: var(--color-btn-secondary-text, var(--color-primary, #2563eb)) !important;
  border: 2px solid var(--color-btn-secondary-border, var(--color-primary, #2563eb)) !important;
}

.blk-ce50a093.is-style-outline .blk-ce50a093__link:hover,
div.blk-ce50a093.is-style-outline .blk-ce50a093__link:hover,
div.blk-ce50a093s .blk-ce50a093.is-style-outline .blk-ce50a093__link:hover {
  /* Secondary button hover - reverse colors with smart contrast */
  background: var(--color-btn-secondary-hover-bg, var(--color-primary, #2563eb)) !important;
  color: var(--color-btn-secondary-hover-text, var(--color-primary-contrast, #ffffff)) !important;
  border-color: var(--color-btn-secondary-hover-bg, var(--color-primary, #2563eb)) !important;
}

/* Button groups container */
.blk-ce50a093s {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm, 0.75rem);
  align-items: center;
}

/* Override Gutenberg default styles that might conflict - HIGHEST SPECIFICITY */
.blk-ce50a093:not(.is-style-outline) .blk-ce50a093__link,
div.blk-ce50a093:not(.is-style-outline) .blk-ce50a093__link,
div.blk-ce50a093s .blk-ce50a093:not(.is-style-outline) .blk-ce50a093__link {
  /* Ensure our SMART color styling takes precedence */
  background: var(--color-btn-primary-bg, var(--color-primary, #2563eb)) !important;
  color: var(--color-btn-primary-text, var(--color-primary-contrast, #ffffff)) !important;
  border-color: var(--color-btn-primary-bg, var(--color-primary, #2563eb)) !important;
}

/* Override Gutenberg default hover styles - HIGHEST SPECIFICITY */
.blk-ce50a093:not(.is-style-outline) .blk-ce50a093__link:hover,
div.blk-ce50a093:not(.is-style-outline) .blk-ce50a093__link:hover,
div.blk-ce50a093s .blk-ce50a093:not(.is-style-outline) .blk-ce50a093__link:hover {
  /* Apply our color reversal logic on hover */
  background: var(--color-btn-primary-hover, var(--color-primary-dark, #1e40af)) !important;
  color: var(--color-btn-primary-hover-text, var(--color-primary-contrast, #ffffff)) !important;
  border-color: var(--color-btn-primary-hover-text, var(--color-primary-contrast, #ffffff)) !important;
}

/* Large button variant */
.blk-ce50a093.blk-ce50a093__width-25 .blk-ce50a093__link,
.blk-ce50a093.blk-ce50a093__width-50 .blk-ce50a093__link,
.blk-ce50a093.blk-ce50a093__width-75 .blk-ce50a093__link,
.blk-ce50a093.blk-ce50a093__width-100 .blk-ce50a093__link {
  width: 100%;
  justify-content: center;
}

/* EMERGENCY OVERRIDE: Force our color logic even if WordPress overrides it */
.blk-ce50a093 .blk-ce50a093__link,
.blk-ce50a093s .blk-ce50a093 .blk-ce50a093__link,
[class*="blk-ce50a093"] .blk-ce50a093__link {
  background-color: var(--color-btn-primary-bg, var(--color-primary, #2563eb)) !important;
  color: var(--color-btn-primary-text, var(--color-primary-contrast, #ffffff)) !important;
}

.blk-ce50a093 .blk-ce50a093__link:hover,
.blk-ce50a093s .blk-ce50a093 .blk-ce50a093__link:hover,
[class*="blk-ce50a093"] .blk-ce50a093__link:hover {
  background-color: var(--color-btn-primary-hover, var(--color-primary-dark, #1e40af)) !important;
  color: var(--color-btn-primary-hover-text, var(--color-primary-contrast, #ffffff)) !important;
  border-color: var(--color-btn-primary-hover-text, var(--color-primary-contrast, #ffffff)) !important;
}

/* Support for Gutenberg custom colors with automatic contrast */
.blk-ce50a093__link[style*="background-color"] {
  /* When user sets custom background color, try to maintain good contrast */
  border-color: currentColor !important;
}

.blk-ce50a093__link[style*="background-color"]:hover {
  /* For custom colored buttons, create subtle hover effect */
  opacity: 0.85 !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1)) !important;
}

/* Responsive adjustments for Gutenberg buttons */
@media (max-width: 768px) {
  .blk-ce50a093s {
    flex-direction: column;
    align-items: stretch;
  }

  .blk-ce50a093__link {
    justify-content: center;
    text-align: center;
  }
}

/* Responsive Styles for Hero */
@media (max-width: 768px) {
  .m6KrEqWpX2Wv {
    padding: 40px 20px;
  }

  .g11pMbRAmY {
    font-size: clamp(1.75rem, 6vw, 2.5rem);
  }

  .wUKQ49cNcq {
    font-size: clamp(1rem, 3vw, 1.25rem);
  }

  .u0VA9W8I {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .tXWeLXNw6dX {
    text-align: center;
    min-width: 180px; /* Минимальная ширина для удобства тапа */
  }

  .iUtri2Ooa.ksycbQZMKr .u0VA9W8I {
    align-items: flex-start;
  }

  .iUtri2Ooa.zPLzO8dTZOXu .u0VA9W8I {
    align-items: flex-end;
  }

  /* МОБИЛЬНАЯ АДАПТАЦИЯ ИЗОБРАЖЕНИЙ - умное отображение */
  .hero {
    background-size: cover; /* Покрывать контейнер, но без !important */
    background-position: center center;
    background-repeat: no-repeat;
  }

  /* Если изображение очень широкое, показывать его полностью */
  .hero[style*="background-image"] {
    background-size: contain;
    background-position: center center;
  }

  /* На мобильных убираем фиксированную высоту - пусть адаптируется по содержимому */
  .hIxBRcA3TX {
    min-height: 400px; /* Базовый минимум - без фиксированной высоты */
  }

  .jtYFxTbnB {
    min-height: 450px; /* Базовый минимум - без фиксированной высоты */
  }

  /* Disable parallax on mobile for performance */
  .gCFhqZajHD {
    background-attachment: scroll;
  }
}

@media (max-width: 480px) {
  .m6KrEqWpX2Wv {
    padding: 30px 15px;
  }

  .u0VA9W8I {
    gap: 10px;
  }

  .tXWeLXNw6dX {
    padding: 10px 20px;
    font-size: 14px;
    min-width: 150px; /* Чуть меньше для маленьких экранов */
  }

  /* Дополнительная страховка для логотипа на очень маленьких экранах */
  .custom-logo,
  .yi4kkWQJXw .custom-logo,
  .yi4kkWQJXw.aIhTQNQr5n8 .custom-logo,
  .rEWcQLFn img {
    max-width: 140px; /* Убираем !important чтобы Minimal правила могли перебить */
    object-fit: contain !important;
  }

  /* ИСКЛЮЧЕНИЕ: Для Minimal стиля логотип должен быть 95px - МАКСИМАЛЬНАЯ СПЕЦИФИЧНОСТЬ */
  body .yi4kkWQJXw.v6ujuFwlMS .custom-logo,
  body .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .custom-logo,
  body .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.scrolled .custom-logo,
  body .yi4kkWQJXw.v6ujuFwlMS .rEWcQLFn img,
  body .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8 .rEWcQLFn img,
  body .yi4kkWQJXw.v6ujuFwlMS.aIhTQNQr5n8.scrolled .rEWcQLFn img,
  /* УДАЛЕНО: !important правила для body.q3HEc11RW15 - теперь используются стандартные размеры */
}

/* ==========================================================================
   Lightbox Styles
   ========================================================================== */
.lcAgfuZpsOAg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
}

.xEC6hzUsH5 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
  cursor: zoom-out;
}

.apHRVJPn0 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.iytzH9jZ {
  position: relative;
  max-width: 100%;
  max-height: 100%;
}

.p8lv2mt6 {
  max-width: 90vw;
  max-height: 80vh;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
}

.q3bBDsf5 {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  text-align: center;
  padding: 10px 20px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 4px;
  font-size: 14px;
  white-space: nowrap;
  max-width: 80vw;
  overflow: hidden;
  text-overflow: ellipsis;
}

.djYc7Cn9qR {
  position: absolute;
  top: 20px;
  left: 20px;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  z-index: 10;
}

.qS8S4XUKKh,
.e3OUYmOP2,
.q7TCmIpQiH {
  position: absolute;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.qS8S4XUKKh:hover,
.e3OUYmOP2:hover,
.q7TCmIpQiH:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  transform: scale(1.1);
}

.qS8S4XUKKh {
  top: 20px;
  right: 20px;
}

.e3OUYmOP2 {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

.q7TCmIpQiH {
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

.e3OUYmOP2:disabled,
.q7TCmIpQiH:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.e3OUYmOP2:disabled:hover,
.q7TCmIpQiH:disabled:hover {
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.3);
}

/* Body state when lightbox is open */
body.lightbox-open {
  overflow: hidden;
}

/* Responsive lightbox styles */
@media (max-width: 768px) {
  .p8lv2mt6 {
    max-width: 95vw;
    max-height: 70vh;
  }

  .qS8S4XUKKh,
  .e3OUYmOP2,
  .q7TCmIpQiH {
    width: 40px;
    height: 40px;
  }

  .qS8S4XUKKh {
    top: 10px;
    right: 10px;
  }

  .e3OUYmOP2 {
    left: 10px;
  }

  .q7TCmIpQiH {
    right: 10px;
  }

  .q3bBDsf5 {
    bottom: -35px;
    font-size: 12px;
    padding: 8px 16px;
  }

  .djYc7Cn9qR {
    top: 10px;
    left: 10px;
    padding: 6px 12px;
    font-size: 12px;
  }
}

/* Content image styles when lightbox is enabled */
body.lightbox-enabled .qqjYbaWv img:hover,
body.lightbox-enabled .qxRC0cIg img:hover,
body.lightbox-enabled article img:hover {
  opacity: 0.9;
  transition: opacity 0.3s ease;
}

/* =================================================
   FINAL GUTENBERG OVERRIDE - MAXIMUM SPECIFICITY
   ================================================= */

/* =================================================
   FINAL OVERRIDE - FORCE GLOBAL BUTTON SYSTEM
   ================================================= */

/* FORCE GLOBAL BUTTON SHAPES - MAXIMUM SPECIFICITY */
html body.kgMA2D5jfKG2 .blk-ce50a093 .blk-ce50a093__link,
html body.kgMA2D5jfKG2 .dxF9tKQHpw,
html body.kgMA2D5jfKG2 .btn,
html body.kgMA2D5jfKG2 .tXWeLXNw6dX {
  border-radius: 6px !important;
}

html body.eRmu26aj .blk-ce50a093 .blk-ce50a093__link,
html body.eRmu26aj .dxF9tKQHpw,
html body.eRmu26aj .btn,
html body.eRmu26aj .tXWeLXNw6dX {
  border-radius: 50px !important;
}

html body.eRmu26aj .dxF9tKQHpw {
  padding-left: var(--spacing-lg) !important;
  padding-right: var(--spacing-lg) !important;
}

html body.c8vXPGG9s1sQ .blk-ce50a093 .blk-ce50a093__link,
html body.c8vXPGG9s1sQ .dxF9tKQHpw,
html body.c8vXPGG9s1sQ .btn,
html body.c8vXPGG9s1sQ .tXWeLXNw6dX {
  border-radius: 0 !important;
}

/* =================================================
   UNIFIED HOVER EFFECTS FOR ALL BUTTONS
   ================================================= */

/* ENSURE ALL BUTTONS HAVE CONSISTENT TRANSITIONS */
.y0l45qQXRZp,
.dxF9tKQHpw,
.tXWeLXNw6dX,
.blk-ce50a093__link,
.jvhquJwV .dxF9tKQHpw,
.pZwiYMINaw .dxF9tKQHpw {
  transition: all var(--transition-fast, 0.15s ease-in-out) !important;
}

/* UNIFIED HOVER EFFECTS - ALL BUTTON TYPES */
.y0l45qQXRZp:hover,
.kYW12IV4:hover,
.sxo27msxa:hover,
.dxF9tKQHpw.jGjKKWYgU:hover,
.dxF9tKQHpw.tLOjKFNYL:hover,
.dxF9tKQHpw.bOOwPzBqHeQh:hover,
.tXWeLXNw6dX.kFSgg1Anw1:hover,
.tXWeLXNw6dX.iVGt8PnJe:hover,
.tXWeLXNw6dX.whylaxvZ:hover,
.jvhquJwV .dxF9tKQHpw:hover,
.pZwiYMINaw .dxF9tKQHpw:hover {
  /* SIGNATURE HOVER EFFECT - LIFT AND SHADOW */
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1)) !important;
}

/* ==========================================================================
   HERO SPLIT LAYOUTS
   ========================================================================== */

/* Hero Split Base */
.cKPonxaGCq {
  padding: 0;
  overflow: hidden;
  position: relative;
}

.ucKirk5PHTme {
  display: flex;
  position: relative;
  z-index: 2;
  align-items: stretch;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

.dpn4E72scjP,
.xNoONJcPR26 {
  flex: 0 0 50%;
  width: 50%;
}

.dpn4E72scjP {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 60px;
  color: var(--color-text-light);
  position: relative;
  min-height: 400px;
}

.oMjedmzB {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
}

.cKPonxaGCq .g11pMbRAmY {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: var(--color-h1);
  line-height: 1.2;
}

.cKPonxaGCq .wUKQ49cNcq {
  font-size: 1.25rem;
  opacity: 0.9;
  margin-bottom: 2rem;
  color: var(--color-h1);
  line-height: 1.6;
}

.cKPonxaGCq .u0VA9W8I {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.xNoONJcPR26 {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  min-height: 400px;
}

.fLISaMyFU {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 600px;
}

.xNoONJcPR26 img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.eV69xRPrwot {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hero Split Reverse Base */
.p0nRIolmbrAs {
  padding: 0;
  overflow: hidden;
  position: relative;
}

.p0nRIolmbrAs .ucKirk5PHTme {
  display: flex;
  position: relative;
  z-index: 2;
  align-items: stretch;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

.p0nRIolmbrAs .dpn4E72scjP,
.p0nRIolmbrAs .xNoONJcPR26 {
  flex: 0 0 50%;
  width: 50%;
}

.p0nRIolmbrAs .dpn4E72scjP {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 60px;
  color: var(--color-text-light);
  position: relative;
  min-height: 400px;
}

.p0nRIolmbrAs .oMjedmzB {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
}

.p0nRIolmbrAs .g11pMbRAmY {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: var(--color-h1);
  line-height: 1.2;
}

.p0nRIolmbrAs .wUKQ49cNcq {
  font-size: 1.25rem;
  opacity: 0.9;
  margin-bottom: 2rem;
  color: var(--color-h1);
  line-height: 1.6;
}

.p0nRIolmbrAs .u0VA9W8I {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.p0nRIolmbrAs .xNoONJcPR26 {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  min-height: 400px;
}

.p0nRIolmbrAs .fLISaMyFU {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 600px;
}

.p0nRIolmbrAs .xNoONJcPR26 img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.p0nRIolmbrAs .eV69xRPrwot {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Large screens */
@media (min-width: 1600px) {
  .ucKirk5PHTme {
    max-width: 1320px;
  }

  .p0nRIolmbrAs .ucKirk5PHTme {
    max-width: 1320px;
  }
}

/* Tablet and smaller */
@media (max-width: 1319px) {
  .ucKirk5PHTme {
    max-width: 100%;
    padding: 0 20px;
  }

  .p0nRIolmbrAs .ucKirk5PHTme {
    max-width: 100%;
    padding: 0 20px;
  }
}

/* Mobile responsive */
@media (max-width: 991px) {
  .ucKirk5PHTme {
    flex-direction: column;
    padding: 0;
  }

  .dpn4E72scjP,
  .xNoONJcPR26 {
    width: 100%;
    flex: 0 0 auto;
  }

  .dpn4E72scjP {
    padding: 60px 20px;
    min-height: auto;
  }

  .xNoONJcPR26 {
    min-height: 300px;
    padding: 30px 20px;
  }

  .cKPonxaGCq .g11pMbRAmY {
    font-size: clamp(1.75rem, 5vw, 2.5rem);
  }

  .cKPonxaGCq .wUKQ49cNcq {
    font-size: 1.1rem;
  }

  .cKPonxaGCq .u0VA9W8I {
    justify-content: center;
  }

  .pkIU4IVPL1TS .xNoONJcPR26 {
    display: none;
  }

  .p0nRIolmbrAs .ucKirk5PHTme {
    flex-direction: column;
    padding: 0;
  }

  .p0nRIolmbrAs .dpn4E72scjP,
  .p0nRIolmbrAs .xNoONJcPR26 {
    width: 100%;
    flex: 0 0 auto;
  }

  .p0nRIolmbrAs .dpn4E72scjP {
    padding: 60px 20px;
    min-height: auto;
  }

  .p0nRIolmbrAs .xNoONJcPR26 {
    min-height: 300px;
    padding: 30px 20px;
  }

  .p0nRIolmbrAs .g11pMbRAmY {
    font-size: clamp(1.75rem, 5vw, 2.5rem);
  }

  .p0nRIolmbrAs .wUKQ49cNcq {
    font-size: 1.1rem;
  }

  .p0nRIolmbrAs .u0VA9W8I {
    justify-content: center;
  }

  .dbXgkKGo0RWk .xNoONJcPR26 {
    display: none;
  }
}

@media (max-width: 575px) {
  .dpn4E72scjP {
    padding: 30px 15px;
  }

  .cKPonxaGCq .u0VA9W8I {
    flex-direction: column;
    align-items: stretch;
  }

  .cKPonxaGCq .u0VA9W8I .y0l45qQXRZp {
    text-align: center;
    min-width: 150px;
  }

  .p0nRIolmbrAs .dpn4E72scjP {
    padding: 30px 15px;
  }

  .p0nRIolmbrAs .u0VA9W8I {
    flex-direction: column;
    align-items: stretch;
  }

  .p0nRIolmbrAs .u0VA9W8I .y0l45qQXRZp {
    text-align: center;
    min-width: 150px;
  }
}

/* FINAL OVERRIDE: Gutenberg Button Colors */
body .blk-ce50a093 .blk-ce50a093__link,
body div.blk-ce50a093 .blk-ce50a093__link,
body .blk-ce50a093s .blk-ce50a093 .blk-ce50a093__link,
body div.blk-ce50a093s div.blk-ce50a093 .blk-ce50a093__link,
html body .qqjYbaWv .blk-ce50a093 .blk-ce50a093__link,
html body .post-content .blk-ce50a093 .blk-ce50a093__link {
  /* FORCE HERO STYLE DARKENING LOGIC */
  background-color: var(--color-btn-primary-bg, var(--color-primary, #2563eb)) !important;
  color: var(--color-btn-primary-text, var(--color-primary-contrast, #ffffff)) !important;
  border-color: var(--color-btn-primary-bg, var(--color-primary, #2563eb)) !important;
}

body .blk-ce50a093 .blk-ce50a093__link:hover,
body div.blk-ce50a093 .blk-ce50a093__link:hover,
body .blk-ce50a093s .blk-ce50a093 .blk-ce50a093__link:hover,
body div.blk-ce50a093s div.blk-ce50a093 .blk-ce50a093__link:hover,
html body .qqjYbaWv .blk-ce50a093 .blk-ce50a093__link:hover,
html body .post-content .blk-ce50a093 .blk-ce50a093__link:hover {
  /* FORCE HERO STYLE DARKENING ON HOVER + UNIFIED EFFECTS */
  background-color: var(--color-btn-primary-hover, var(--color-primary-dark, #1e40af)) !important;
  color: var(--color-btn-primary-hover-text, var(--color-primary-contrast, #ffffff)) !important;
  border-color: var(--color-btn-primary-hover-text, var(--color-primary-contrast, #ffffff)) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1)) !important;
}
/* ========================================
   Footer Menu Columns System
   ======================================== */

/* Container grid for footer menu columns */
.scuV6m8zeYh {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  width: 100%;
}

/* Individual column */
.zYtBIc3vo {
  flex: 1 1 200px;
  min-width: 200px;
}

/* Column title */
.zYtBIc3vo .footer-column-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 1rem 0;
  color: var(--color-footer-heading, var(--color-text-primary, #1a1a1a));
  letter-spacing: -0.01em;
}

/* Column links list */
.zYtBIc3vo .footer-column-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.zYtBIc3vo .footer-column-links li {
  margin-bottom: 0.75rem;
}

.zYtBIc3vo .footer-column-links li:last-child {
  margin-bottom: 0;
}

.zYtBIc3vo .footer-column-links a {
  color: var(--color-footer-link, var(--color-text-secondary, #666));
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline-block;
  position: relative;
}

.zYtBIc3vo .footer-column-links a:hover {
  color: var(--color-footer-link-hover, var(--color-primary, #007cba));
}

.zYtBIc3vo .footer-column-links a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-footer-link-hover, var(--color-primary, #007cba));
  transition: width 0.3s ease;
}

.zYtBIc3vo .footer-column-links a:hover::after {
  width: 100%;
}

/* Current page indicator */
.zYtBIc3vo .footer-column-links .current-menu-item a {
  color: var(--color-footer-link-hover, var(--color-primary, #007cba));
  font-weight: 500;
}

/* No menu assigned message */
.scuV6m8zeYh .no-menu-assigned {
  grid-column: 1 / -1;
  text-align: center;
  padding: 2rem;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 4px;
  color: var(--color-text-secondary, #666);
  font-style: italic;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  .scuV6m8zeYh {
    gap: 30px;
  }

  .zYtBIc3vo {
    flex: 1 1 180px;
    min-width: 180px;
  }
}

@media (max-width: 768px) {
  .scuV6m8zeYh {
    gap: 25px;
  }

  .zYtBIc3vo {
    flex: 1 1 calc(50% - 12.5px);
    min-width: 150px;
  }

  .zYtBIc3vo .footer-column-title {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }

  .zYtBIc3vo .footer-column-links li {
    margin-bottom: 0.5rem;
  }

  .zYtBIc3vo .footer-column-links a {
    font-size: 0.9375rem;
  }
}

@media (max-width: 480px) {
  .scuV6m8zeYh {
    flex-direction: column;
    gap: 20px;
  }

  .zYtBIc3vo {
    flex: 1 1 100%;
    min-width: 100%;
  }
}

/* ========================================
   Footer Menu Columns - Footer Styles Integration
   ======================================== */

/* Wrapper for columns in centered footer */
.nd52uayE .vIREeTBKs {
  width: 100%;
  margin: 30px 0;
}

.nd52uayE .scuV6m8zeYh {
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto;
}

/* Wrapper for columns in complex footer */
.a6zDrHhizlvZ .vIREeTBKs {
  grid-column: 1 / -1;
  width: 100%;
}

/* Wrapper for columns in default footer */
.xSBkvHRAeaF .vIREeTBKs {
  width: 100%;
}

.xSBkvHRAeaF .fVN76fsHy {
  flex: 1 1 100%;
  width: 100%;
}

/* Adjust column min-width in default footer to fit in grid layout */
.xSBkvHRAeaF .zYtBIc3vo {
  flex: 1 1 150px;
  min-width: 150px;
}

/* Make menu columns grid span full width in default footer */
.xSBkvHRAeaF .fVN76fsHy:has(.sjwh-footer-menu-columns-grid) {
  grid-column: 1 / -1;
  margin-top: 30px;
}

/* ========================================
   UNIQUE STYLES FOR EACH FOOTER STYLE
   ======================================== */

/* ===== FOOTER DEFAULT - Classic with Underline Animation ===== */
.xSBkvHRAeaF .footer-column-title {
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 1.25rem;
  border-bottom: 2px solid var(--color-primary, #007cba);
  padding-bottom: 0.5rem;
}

.xSBkvHRAeaF .footer-column-links a {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9375rem;
  padding: 0.25rem 0;
}

.xSBkvHRAeaF .footer-column-links a:hover {
  color: rgba(255, 255, 255, 1);
  padding-left: 5px;
}

/* Animated underline for default */
.xSBkvHRAeaF .footer-column-links a::after {
  background-color: var(--color-primary, #007cba);
  height: 1px;
}

.xSBkvHRAeaF .footer-column-links .current-menu-item a {
  color: var(--color-primary, #007cba);
  font-weight: 600;
}

/* ===== FOOTER CENTERED - Minimal with Background on Hover ===== */
.nd52uayE .footer-column-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text-primary, #1a1a1a);
  margin-bottom: 1rem;
  text-align: center;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.nd52uayE .footer-column-links {
  text-align: center;
}

.nd52uayE .footer-column-links a {
  color: var(--color-text-primary, #1a1a1a);
  font-size: 0.9375rem;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.nd52uayE .footer-column-links a:hover {
  background-color: var(--color-primary, #007cba);
  color: #ffffff;
  transform: translateY(-2px);
}

/* Remove default underline for centered */
.nd52uayE .footer-column-links a::after {
  display: none;
}

.nd52uayE .footer-column-links .current-menu-item a {
  background-color: var(--color-primary, #007cba);
  color: #ffffff;
  font-weight: 500;
}

/* ===== FOOTER COMPLEX - Modern with Glowing Dots ===== */
.a6zDrHhizlvZ .footer-column-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 1.25rem;
  position: relative;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  letter-spacing: 0.02em;
}

.a6zDrHhizlvZ .footer-column-links a {
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.9375rem;
  padding-left: 18px;
  position: relative;
  display: inline-block;
  transition: all 0.3s ease;
}

/* Bullet point before link */
.a6zDrHhizlvZ .footer-column-links a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  transition: all 0.3s ease;
}

/* Hover state - enlarge and glow */
.a6zDrHhizlvZ .footer-column-links a:hover {
  color: rgba(255, 255, 255, 1);
  padding-left: 22px;
}

.a6zDrHhizlvZ .footer-column-links a:hover::before {
  width: 8px;
  height: 8px;
  background: var(--color-primary, #007cba);
  box-shadow: 0 0 8px var(--color-primary, #007cba);
}

/* Underline on hover */
.a6zDrHhizlvZ .footer-column-links a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 18px;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--color-primary, #007cba) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.a6zDrHhizlvZ .footer-column-links a:hover::after {
  opacity: 1;
}

/* Current page indicator */
.a6zDrHhizlvZ .footer-column-links .current-menu-item a {
  color: var(--color-primary, #007cba);
  font-weight: 500;
}

.a6zDrHhizlvZ .footer-column-links .current-menu-item a::before {
  width: 8px;
  height: 8px;
  background: var(--color-primary, #007cba);
  box-shadow: 0 0 6px var(--color-primary, #007cba);
}

.a6zDrHhizlvZ .footer-column-links .current-menu-item a::after {
  opacity: 1;
}

/* ===== FOOTER MINIMAL - Simple No Effects ===== */
.dEkVOFx9W .footer-column-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text-primary, #1a1a1a);
  margin-bottom: 0.875rem;
  text-transform: none;
  letter-spacing: normal;
}

.dEkVOFx9W .footer-column-links a {
  color: var(--color-text-primary, #1a1a1a);
  font-size: 0.875rem;
  transition: color 0.2s ease;
}

.dEkVOFx9W .footer-column-links a:hover {
  color: var(--color-primary, #007cba);
}

/* Remove all effects for minimal */
.dEkVOFx9W .footer-column-links a::before,
.dEkVOFx9W .footer-column-links a::after {
  display: none;
}

.dEkVOFx9W .footer-column-links .current-menu-item a {
  color: var(--color-primary, #007cba);
  font-weight: 500;
}
