/* ================== Mobile Header Styles ================== */

/* Override WordPress alignfull styles for mobile header */
#siteHeaderMobile,
.wp-block-group.alignfull#siteHeaderMobile,
.wp-block-group.uv-glass#siteHeaderMobile,
.wp-block-group.is-layout-flow#siteHeaderMobile,
.wp-block-group.wp-block-group-is-layout-flow#siteHeaderMobile {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  transform: none !important;
  border-radius: 0 !important;
  z-index: 1000 !important;
}

/* Prevent WordPress from overriding mobile header positioning */
.wp-site-blocks > #siteHeaderMobile,
.wp-site-blocks > .wp-block-group#siteHeaderMobile {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
}

/* Override WordPress layout classes */
#siteHeaderMobile .is-layout-flow,
#siteHeaderMobile .wp-block-group-is-layout-flow,
#siteHeaderMobile .is-content-justification-space-between,
#siteHeaderMobile .is-layout-flex,
#siteHeaderMobile .wp-container-core-group-is-layout-84f7cab9,
#siteHeaderMobile .wp-block-group-is-layout-flex {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
  flex-direction: row !important;
  gap: 0 !important;
}

/* Specific overrides for problematic WordPress classes */
#siteHeaderMobile .uv-mobile-left.is-content-justification-space-between {
  justify-content: flex-start !important;
  gap: 12px !important;
}

#siteHeaderMobile .uv-mobile-left.is-layout-flex {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

#siteHeaderMobile .uv-mobile-left.wp-container-core-group-is-layout-84f7cab9 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

#siteHeaderMobile .uv-mobile-left.wp-block-group-is-layout-flex {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

/* Mobile header container */
#siteHeaderMobile {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 16px !important;
  height: 56px;
  border-radius: 0 !important;
  z-index: 1000;
  box-sizing: border-box;
  
  /* Force full width positioning */
  transform: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  
  /* Liquid Glass effect - Light theme */
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(25px) saturate(200%);
  -webkit-backdrop-filter: blur(25px) saturate(200%);
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.12), 
    inset 0 1px rgba(255, 255, 255, 0.3),
    0 1px 0 rgba(255, 255, 255, 0.1);
  transition: all .28s cubic-bezier(.2,.9,.2,1), background .28s ease, border-color .28s ease;
}

/* Dark mobile header - Liquid Glass */
:root.uv-dark #siteHeaderMobile {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(25px) saturate(200%);
  -webkit-backdrop-filter: blur(25px) saturate(200%);
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.4), 
    inset 0 1px rgba(255, 255, 255, 0.15),
    0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Mobile header row */
#siteHeaderMobile .uv-row,
#siteHeaderMobile .wp-block-group.uv-row,
#siteHeaderMobile .wp-block-group.is-layout-flex.uv-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  height: 100%;
  flex-direction: row !important;
  gap: 0 !important;
}

/* Left side: messengers only */
.uv-mobile-left,
.uv-mobile-left.is-layout-flex,
.uv-mobile-left.wp-block-group-is-layout-flex,
.uv-mobile-left.is-content-justification-space-between,
.uv-mobile-left.wp-container-core-group-is-layout-84f7cab9 {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
  justify-content: flex-start !important;
  flex-direction: row !important;
  width: auto !important;
  height: auto !important;
}

/* Center: phone number */
.uv-mobile-center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 !important;
  text-align: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
}

/* Right side: burger menu */
.uv-mobile-right {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  justify-content: flex-end !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
}

/* Messengers */
.uv-messengers {
  display: flex;
  gap: 6px;
  align-items: center;
  flex: 0 0 auto;
}

.uv-messengers .uv-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .28s ease;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.uv-messengers .uv-icon:hover {
  transform: scale(1.1);
  background: rgba(124, 58, 237, 0.2);
  border-color: rgba(124, 58, 237, 0.3);
  box-shadow: 0 2px 6px rgba(124, 58, 237, 0.2);
}

/* Dark theme messenger icons */
:root.uv-dark .uv-messengers .uv-icon {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.uv-messengers .uv-icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

/* Phone - только для мобильной шапки */
#siteHeaderMobile .site-phone {
  color: var(--uv-text) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: color .28s ease !important;
  margin: 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
  white-space: nowrap !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-align: center !important;
}

#siteHeaderMobile .site-phone a {
  color: inherit !important;
  text-decoration: none !important;
}

#siteHeaderMobile .site-phone:hover {
  color: var(--uv-primary) !important;
}

/* Mobile header specific phone styles - дублирующие стили удалены */

/* Burger button - like main header style */
.uv-burger {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  border: 1px solid var(--uv-border) !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: all .2s ease !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.uv-burger:hover {
  background: var(--uv-primary);
  border-color: var(--uv-primary);
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.3);
}

.uv-burger:hover .burger-line {
  background: white;
}

/* Dark theme burger button */
:root.uv-dark .uv-burger {
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.burger-line {
  display: block !important;
  width: 18px !important;
  height: 2px !important;
  background: var(--uv-text) !important;
  transition: all .3s ease !important;
  border-radius: 1px !important;
  transform-origin: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Burger animation when menu is open */
.uv-menu-overlay.is-open .uv-burger .burger-line:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.uv-menu-overlay.is-open .uv-burger .burger-line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.uv-menu-overlay.is-open .uv-burger .burger-line:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* Hide WordPress navigation burger button */
.wp-block-navigation__responsive-container-open {
  display: none !important;
}

.wp-block-navigation__responsive-container-close {
  display: none !important;
}

/* Универсальная гибкая система для всех мониторов */

/* CSS переменные для мобильной адаптивности - добавляем к основным */
:root {
  --uv-header-top: 12px;
  --uv-header-height: 76px;
  --uv-header-margin: 18px;
  --uv-header-margin-x: 1cm;
  --uv-header-padding-x: 24px;
  --uv-header-radius: 14px;
  --uv-header-bg-light: linear-gradient(180deg, rgba(255,255,255,0.62), rgba(250,250,250,0.40));
  --uv-header-border-light: rgba(255,255,255,0.35);
  
  /* Адаптивные переменные для мобильной шапки */
  --header-height: clamp(48px, 8vw, 80px);
  --header-padding: clamp(8px, 2vw, 24px);
  --header-gap: clamp(6px, 1.5vw, 16px);
  --icon-size: clamp(20px, 4vw, 32px);
  --font-size-phone: clamp(11px, 2vw, 17px);
  --font-size-nav: clamp(12px, 1.8vw, 16px);
  --burger-size: clamp(36px, 6vw, 56px);
  --burger-line-width: clamp(16px, 3vw, 24px);
  --burger-line-height: clamp(2px, 0.4vw, 4px);
}

/* ================== МОБИЛЬНАЯ ШАПКА (320px - 767px) ================== */
@media (max-width: 767px) {
  #siteHeaderMobile {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: var(--header-height) !important;
    padding: 0 var(--header-padding) !important;
  }
}

/* ================== ПЛАНШЕТНАЯ ШАПКА (768px - 1279px) ================== */
@media (min-width: 768px) and (max-width: 1279px) {
  #siteHeaderMobile {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: clamp(60px, 8vw, 80px) !important;
    padding: 0 clamp(20px, 4vw, 30px) !important;
  }
  
  #siteHeader {
    display: none !important;
  }
}

/* ================== ДЕСКТОПНАЯ ШАПКА (1280px+) ================== */
@media (min-width: 1280px) {
  #siteHeaderMobile {
    display: none !important;
  }
}

/* Универсальные стили для всех элементов мобильной шапки */
#siteHeaderMobile .uv-mobile-left {
  gap: var(--header-gap) !important;
}

#siteHeaderMobile .uv-messengers {
  gap: calc(var(--header-gap) * 0.6) !important;
}

#siteHeaderMobile .uv-messenger-icon {
  width: var(--icon-size) !important;
  height: var(--icon-size) !important;
}

#siteHeaderMobile .site-phone {
  font-size: var(--font-size-phone) !important;
}

#siteHeaderMobile .uv-burger {
  width: var(--burger-size) !important;
  height: var(--burger-size) !important;
}

#siteHeaderMobile .burger-line {
  width: var(--burger-line-width) !important;
  height: var(--burger-line-height) !important;
}

/* Адаптивное позиционирование линий burger меню */
#siteHeaderMobile .burger-line:nth-child(1) {
  top: calc(var(--burger-size) * 0.22) !important;
}

#siteHeaderMobile .burger-line:nth-child(2) {
  top: calc(var(--burger-size) * 0.5) !important;
}

#siteHeaderMobile .burger-line:nth-child(3) {
  top: calc(var(--burger-size) * 0.78) !important;
}

/* Small mobile screens */
@media (max-width: 480px) {
  #siteHeaderMobile {
    padding: 0 12px !important;
    height: 52px;
  }
  
  .uv-mobile-left {
    gap: 8px;
  }
  
  .uv-messengers {
    gap: 4px;
  }
  
  .uv-messengers .uv-icon {
    width: 28px;
    height: 28px;
  }
  
  .uv-messengers .uv-icon img {
    width: 20px;
    height: 20px;
  }
  
  .site-phone {
    font-size: 11px;
  }
  
  .uv-burger {
    width: 32px;
    height: 32px;
  }
  
  .burger-line {
    width: 16px;
    height: 2px;
  }
}

/* ================== Mobile Menu Styles ================== */

/* Overlay (popup) */
.uv-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}

.uv-menu-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.uv-menu-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

:root.uv-dark .uv-menu-backdrop {
  background: rgba(0,0,0,.6);
}

/* Sheet */
.uv-menu-sheet,
.uv-menu-sheet.uv-glass {
  position: relative;
  width: min(90vw, 400px);
  max-height: 85vh;
  overflow: auto;
  padding: 24px;
  border-radius: 20px;
  box-sizing: border-box;
  transform: translateY(20px) scale(.95);
  transition: transform .3s ease;
  background: var(--uv-bg);
  border: 1px solid var(--uv-border);
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.uv-menu-overlay.is-open .uv-menu-sheet,
.uv-menu-overlay.is-open .uv-menu-sheet.uv-glass {
  transform: translateY(0) scale(1);
}

.uv-menu-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--uv-border);
  gap: 12px;
}

.uv-menu-header .uv-menu-logo {
  flex: 1;
}

.uv-menu-header .uv-menu-close {
  margin-left: auto;
}

.uv-menu-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.uv-menu-logo .uv-logo {
  width: 24px;
  height: 24px;
}

.uv-menu-logo .uv-brand-text {
  font-size: 16px;
  font-weight: 600;
  color: var(--uv-text);
}

.uv-menu-close {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid var(--uv-border);
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--uv-text);
  transition: all .2s ease;
}

.uv-menu-close:hover {
  background: var(--uv-primary);
  border-color: var(--uv-primary);
  color: white;
}

/* Theme toggle in mobile menu */
/* Переключатель темы в заголовке меню */
.uv-menu-header .uv-theme-toggle-mobile {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border: 1px solid var(--uv-border) !important;
  background: transparent !important;
  border-radius: 8px !important;
  padding: 0 !important;
  color: var(--uv-text) !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.uv-menu-header .uv-theme-toggle-mobile:hover {
  background: rgba(124, 58, 237, 0.1);
  border-color: rgba(124, 58, 237, 0.3);
}

.uv-menu-header .uv-theme-toggle-mobile img {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain !important;
  transition: none !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.uv-menu-header .uv-theme-toggle-mobile:hover img {
  transform: none !important;
}

/* Navigation in mobile menu */
.uv-mobile-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin-bottom: 20px !important;
  padding: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.uv-mobile-nav .uv-nav-link {
  display: block !important;
  padding: 12px 16px !important;
  color: var(--uv-text) !important;
  text-decoration: none !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.uv-mobile-nav .uv-nav-link:hover {
  background: rgba(124, 58, 237, 0.1);
  border-color: rgba(124, 58, 237, 0.2);
  color: var(--uv-primary);
  transform: translateX(4px);
}

.uv-mobile-nav .uv-nav-link.is-active {
  background: rgba(124, 58, 237, 0.15);
  border-color: var(--uv-primary);
  color: var(--uv-primary);
  font-weight: 600;
}

.uv-menu-sheet .wp-block-navigation ul,
.uv-menu-sheet.uv-glass .wp-block-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.uv-menu-sheet .wp-block-navigation li,
.uv-menu-sheet.uv-glass .wp-block-navigation li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.uv-menu-sheet .wp-block-navigation a,
.uv-menu-sheet.uv-glass .wp-block-navigation a {
  padding: 14px 16px;
  border-radius: 12px;
  display: block;
  text-decoration: none;
  color: var(--uv-text);
  transition: all .2s ease;
  font-weight: 500;
  margin: 0;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  font-size: 16px;
}

.uv-menu-sheet .wp-block-navigation a:hover,
.uv-menu-sheet.uv-glass .wp-block-navigation a:hover {
  background: rgba(124,58,237,0.1);
  color: var(--uv-primary);
  transform: translateX(4px);
}

/* Phone in mobile menu */
.uv-menu-sheet .site-phone,
.uv-menu-sheet.uv-glass .site-phone {
  margin: 16px 0;
  padding: 12px 16px;
  background: rgba(124,58,237,0.05);
  border-radius: 12px;
  text-align: center;
  font-weight: 600;
  color: var(--uv-text);
}

/* CTA button in mobile menu */
.uv-menu-sheet .uv-cta-outline,
.uv-menu-sheet.uv-glass .uv-cta-outline {
  display: block;
  width: 100%;
  text-align: center;
  padding: 14px 20px;
  margin: 16px 0;
  background: var(--uv-primary);
  color: white;
  text-decoration: none;
  border-radius: 12px;
  font-weight: 600;
  transition: all .2s ease;
}

.uv-menu-sheet .uv-cta-outline:hover,
.uv-menu-sheet.uv-glass .uv-cta-outline:hover {
  background: var(--uv-primary-hover);
  transform: translateY(-2px);
}

/* Экстремально маленькие экраны (iPhone SE, старые Android) */
@media (max-width: 320px) {
  #siteHeaderMobile {
    padding: 0 8px !important;
    height: 48px;
  }
  
  .uv-burger {
    width: 28px;
    height: 28px;
  }
  
  .uv-burger span {
    height: 2px;
  }
  
  .uv-burger span:nth-child(1) {
    top: 8px;
  }
  
  .uv-burger span:nth-child(2) {
    top: 14px;
  }
  
  .uv-burger span:nth-child(3) {
    top: 20px;
  }
  
  .uv-mobile-nav {
    padding: 20px 16px;
  }
  
  .uv-mobile-nav .uv-nav-link {
    font-size: 14px;
    padding: 8px 12px;
  }
}
