/* =========================================================
✅ ФИКС: МЕНЮ ВСЕГДА СВЕРХУ (МОБИЛА + ДЕСКТОП)
========================================================= */
.header_bottom.container{
position: sticky !important;
top: 0 !important;
z-index: 3000 !important;
background: transparent !important;
backdrop-filter: none !important;
-webkit-backdrop-filter: none !important;
border: none !important;
box-shadow: none !important;
padding-top: 8px;
padding-bottom: 8px;
}
.mobile-menu-wrapper,
.excursions-menu-wrapper{ z-index: 2999 !important; }

/* =========================================================
✅ КНОПКА ТЕМЫ В ЛЕВОМ НИЖНЕМ УГЛУ
========================================================= */
.theme-toggle{
position: fixed !important;
left: 12px !important;
bottom: 12px !important;
width: 64px !important;
height: 64px !important;
border-radius: 999px !important;
border: 1px solid rgba(255,255,255,0.6) !important;

background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.88) 42%, rgba(240,240,240,0.82) 100%) !important;
box-shadow:
0 16px 40px rgba(0,0,0,0.32),
0 0 0 1px rgba(255,255,255,0.25) inset,
0 0 24px rgba(255,255,255,0.22),
0 4px 12px rgba(0,0,0,0.15) !important;

display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
cursor: pointer !important;
z-index: 5000 !important;
transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), 
            box-shadow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), 
            background 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
            filter 0.3s ease !important;
padding: 0 !important;
line-height: 1 !important;
backdrop-filter: blur(12px) saturate(180%) !important;
-webkit-backdrop-filter: blur(12px) saturate(180%) !important;
}
.theme-toggle::before{
content:"";
position:absolute;
inset: 0;
border-radius: 999px;
background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.3) 0%, transparent 70%);
pointer-events:none;
opacity: 0;
z-index: 0;
transition: opacity 0.3s ease;
}
.theme-toggle::after{
content:"";
position:absolute;
inset: 6px;
border-radius: 999px;
border: 1px solid rgba(255,255,255,0.35);
pointer-events:none;
transition: border-color 0.3s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.theme-toggle:hover{ 
  transform: translateY(-4px) scale(1.05); 
  box-shadow:
    0 20px 50px rgba(0,0,0,0.38),
    0 0 0 1px rgba(255,255,255,0.3) inset,
    0 0 32px rgba(255,255,255,0.28),
    0 6px 16px rgba(0,0,0,0.2) !important;
  filter: brightness(1.08);
}
.theme-toggle:hover::before {
  opacity: 1;
  transition: opacity 0.4s ease !important;
}
.theme-toggle:hover::after {
  border-color: rgba(255,255,255,0.5);
  transform: scale(0.95);
  transition: border-color 0.4s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
body.dark-mode .theme-toggle:hover::before,
html.dark-mode .theme-toggle:hover::before {
  opacity: 0.6;
  transition: opacity 0.4s ease !important;
}
.theme-toggle:active{ 
  transform: translateY(-2px) scale(1.02); 
  transition: transform 0.15s ease;
}
.theme-toggle:focus{ outline: none; }

.theme-ic{ position: absolute; font-size: 18px; }
.theme-ic-sun{ opacity: 1; transform: scale(1); transition: opacity .18s ease, transform .18s ease; }
.theme-ic-moon{ opacity: 0; transform: scale(0.9); transition: opacity .18s ease, transform .18s ease; }
body.dark-mode .theme-ic-sun,
html.dark-mode body .theme-ic-sun{ opacity: 0; transform: scale(0.9); }
body.dark-mode .theme-ic-moon,
html.dark-mode body .theme-ic-moon{ opacity: 1; transform: scale(1); }

body.dark-mode .theme-toggle,
html.dark-mode .theme-toggle{
border-color: rgba(255,255,255,0.2) !important;
background: radial-gradient(circle at 30% 20%, rgba(70,78,92,0.96) 0%, rgba(20,24,31,0.94) 45%, rgba(10,12,16,0.98) 100%) !important;
box-shadow:
0 18px 48px rgba(0,0,0,0.68),
0 0 0 1px rgba(255,255,255,0.12) inset,
0 0 24px rgba(77,171,247,0.22),
0 4px 12px rgba(0,0,0,0.4) !important;
backdrop-filter: blur(14px) saturate(180%) !important;
-webkit-backdrop-filter: blur(14px) saturate(180%) !important;
transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), 
            box-shadow 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), 
            background 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
            filter 0.4s ease,
            border-color 0.4s ease !important;
}
body.dark-mode .theme-toggle:hover,
html.dark-mode .theme-toggle:hover {
  transform: translateY(-4px) scale(1.05) !important;
  box-shadow:
    0 22px 58px rgba(0,0,0,0.75),
    0 0 0 1px rgba(255,255,255,0.18) inset,
    0 0 32px rgba(77,171,247,0.32),
    0 6px 16px rgba(0,0,0,0.5) !important;
  filter: brightness(1.12);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), 
              box-shadow 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), 
              filter 0.4s ease !important;
}
body.dark-mode .theme-toggle:hover::after,
html.dark-mode .theme-toggle:hover::after {
  border-color: rgba(77,171,247,0.4);
  transition: border-color 0.4s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
body.dark-mode .theme-toggle::after,
html.dark-mode .theme-toggle::after {
  transition: border-color 0.4s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

