/*
Theme Name: Mountain3D
Text Domain: mountain3d
Version: 0.1.6
*/

/* ===== БАЗА: фон 3D под всем ===== */
html, body { background: transparent; }
#hero3d{
  position: fixed; inset: 0; z-index: -1;
  pointer-events: none; overflow: hidden; background: transparent;
}
#hero3d canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }
main, footer, .site, .content, .wrapper{ position:relative; z-index:1; }

/* ===== SEO: скрытый заголовок для поисковиков (виден только поисковым системам) ===== */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ===== ТЕМА / ПЕРЕМЕННЫЕ ===== */
:root{
  --brand: #C0C0C0;
  --nav-fz: clamp(18px, 1.6vw, 22px);
  --nav-gap: clamp(14px, 2.6vw, 36px);
  --header-pad-y: clamp(10px, 1.8vw, 18px);

  /* размеры лого по ВЫСОТЕ; ширина авто по пропорциям */
  --logo-h-mobile: 56px;
  --logo-h-desktop: 112px;
}

/* базовый цвет в хедере */
#site-header, #site-header a{ color: var(--brand); }

/* =========================================================
   ===================== HEADER (SILVER) ===================
   ========================================================= */
#site-header,
#site-header a,
.site-header__toggle{ color: var(--brand) !important; }
.site-nav__link::after{ background: currentColor; }

/* ===== СЕТКА ШАПКИ: минимальный зазор между логотипом и меню ===== */
.site-header__inner.container{
  display:grid;
  grid-template-columns: max-content 1fr max-content; /* лого | меню | бургер */
  align-items:center;
  column-gap: 10px;                /* маленький зазор между лого и меню */
  padding-block: var(--header-pad-y);
  position: relative;              /* НОВОЕ: база для абсолютного центрирования меню */
}

/* Колонки */
.site-header__logo{ grid-column:1; justify-self:start; }
.site-nav{          grid-column:2; justify-self:start; min-width:0; }
.site-header__toggle{ grid-column:3; justify-self:end; }

/* ===== ЛОГО: хитбокс = ровно картинка ===== */
.site-header__logo{
  display:inline-flex;
  align-items:center;
  padding:0; margin:0;
  line-height:0;
  width:auto !important;          /* убираем фикс. размеры у ссылки */
  height:auto !important;
  color: var(--brand);
}
.js .site-header__logo{ opacity: 1 !important; }  /* гарантируем видимость */
.site-header__logo::before{ content:none !important; } /* гасим старую маску */

.site-header__logo-img{
  display:block !important;
  height: var(--logo-h-mobile);   /* задаём РАЗМЕРЫ КАРТИНКЕ, не ссылке */
  width: auto;                    /* ширина по пропорциям */
  object-fit: contain;
}
@media (min-width:1200px){
  .site-header__logo-img{ height: var(--logo-h-desktop); }
}

/* никаких «летающих логотипов» */
.logo-fly{ display:none !important; }

/* чуть подсушим левый внутренний паддинг контейнера */
#site-header .site-header__inner.container{
  padding-left: clamp(6px, 1vw, 14px);
}

/* ===== МЕНЮ — одна строка, без переполнения ===== */
.site-nav{ justify-self:start; }
.site-nav__list{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; justify-content:flex-start;
  flex-wrap: nowrap;                 /* одна строка */
  gap: var(--nav-gap);
  min-width:0; max-width:100%;
}
.site-nav__item{ flex:0 0 auto; }
.site-nav__link{
  position:relative; display:inline-block; text-decoration:none;
  font-weight:700; letter-spacing:.02em;
  font-size: var(--nav-fz); line-height:1.2; padding:.25rem .1rem;
  white-space: nowrap;
  opacity:0; transform: translateY(12px);
  transition: transform 1.0s cubic-bezier(.2,.8,.2,1), opacity 1.0s ease;
}
.site-nav__link::after{
  content:""; position:absolute; left:0; right:0; bottom:-0.35em;
  height:3px; background: currentColor; opacity:.55;
  transform: scaleX(0); transform-origin:left;
  transition: transform .55s ease;
}
.site-nav__link:hover::after{ transform: scaleX(1); opacity:1; }

/* включение плавного появления ссылок (класс ставит JS) */
body.nav-in .site-nav__link{ opacity:1; transform:none; }

/* ===== БУРГЕР ===== */
.site-header__toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px;
  padding:0; border:0; background:transparent; color: var(--brand);
  cursor:pointer; position:relative; z-index: 100;
}
.site-header__toggle-bars,
.site-header__toggle-bars::before,
.site-header__toggle-bars::after{
  position:absolute; left:12px; right:12px; height:3px; background: currentColor;
  content:""; transition: transform .35s ease, opacity .25s ease, top .35s ease, bottom .35s ease;
}
.site-header__toggle-bars{ top: calc(50% - 1.5px); }
.site-header__toggle-bars::before{ top: -12px; }
.site-header__toggle-bars::after{  bottom: -12px; }
body.menu-open .site-header__toggle-bars{ transform: rotate(45deg); }
body.menu-open .site-header__toggle-bars::before{ transform: rotate(-90deg); top: 0; }
body.menu-open .site-header__toggle-bars::after{  opacity: 0; }

/* ===== МОБИЛКА ===== */
@media (max-width: 1199px){
  .site-header__inner.container{
    grid-template-columns: 1fr auto 1fr;
  }
  .site-header__logo{ grid-column: 2; justify-self: center; }
  .site-header__toggle{ grid-column: 3; justify-self: end; }

  .site-nav{
    position: fixed; inset: 0; z-index: 90;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .45s ease, visibility .45s ease;
  }
  body.menu-open .site-nav{ opacity:1; visibility:visible; pointer-events:auto; }
  .site-nav__list{ flex-direction: column; gap: 18px; flex-wrap: wrap; }
  .site-nav__link{ font-size: clamp(20px, 5vw, 28px); }
}

/* ===== ДЕСКТОП ===== */
@media (min-width:1200px){
  .site-header__toggle{ display:none; }

  /* НОВОЕ: ссылки по центру экрана по ширине */
  .site-nav{
    position: absolute;            /* вытаскиваем из грида */
    left: 50%;
    transform: translateX(-50%);   /* центрируем ТОЛЬКО по ширине */
    opacity:1; visibility:visible; pointer-events:auto;
    width: max-content;            /* по содержимому */
    white-space: nowrap;
  }
  .site-nav__list{
    justify-content: center;       /* равномерная строка вокруг центра */
    gap: var(--nav-gap);
  }

  /* не меняем вертикаль — остаётся как есть (по высоте не центрируем) */
}

/* ===== БЕЗ АНИМАЦИЙ ===== */
@media (prefers-reduced-motion: reduce){
  .site-nav__link{ transition:none !important; opacity:1 !important; transform:none !important; }
  .js .site-header__logo{ opacity:1 !important; }
}

/* === Sticky на ПК === */
@media (min-width: 1200px){
  .site-header{
    position: sticky; top: 0; z-index: 50;
    transition: transform .4s ease, opacity .3s ease; will-change: transform;
  }
  .site-header.header--hidden{ transform: translateY(-100%); opacity: 0; }

  /* состояние при .menu-open оставляем как было, на десктоп оно не используется */
  body.menu-open .site-nav{
    position: absolute !important; inset: auto !important;
    background: transparent !important; backdrop-filter: none !important;
    opacity: 1 !important; visibility: visible !important;
    pointer-events: auto !important; display: block !important;
    left: 50% !important; transform: translateX(-50%) !important;
    width: max-content !important; white-space: nowrap !important;
  }
}

/* =========================================================
   ===================== FOOTER (NO EDIT) ==================
   ========================================================= */
body { font-family: 'Montserrat', sans-serif; font-weight: 200; }

.booking-row{
  display: flex;
  align-items: flex-start;
  gap: 24px;
}
.booking-row > .steps-scatter,
.booking-row > .booking-hero{ flex: 1 1 0; min-width: 0; }
.booking-row > .steps-scatter{ margin-top: 32px; }
@media (max-width: 991px){
  .booking-row{ display: block; }
  .booking-row > .steps-scatter{ margin-top: 16px; }
}
.ftr__social{display:flex;gap:10px;margin-top:12px}
.ftr__soc{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.04);color:#C0C0C0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media(hover:hover){.ftr__soc:hover{color:#B4CF32;border-color:color-mix(in oklab,#B4CF32 55%,transparent)}}

/* === Language dropdown in header nav === */
.site-nav__item--langdrop{
  position: relative;
  display: flex;
  align-items: center;            /* на одном уровне с пунктами меню */
  margin-left: 8px;
}

/* Кнопка */
.langbtn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(16,18,22,.35);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  color: #E9E9E9;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.langbtn:hover{ filter: brightness(1.06); transform: translateY(-1px); }
.langbtn[aria-expanded="true"]{
  box-shadow: 0 8px 22px rgba(0,0,0,.35), 0 0 0 2px rgba(180,207,50,.25);
}
.langbtn__chev{ opacity: .85; }

/* Выпадающее меню */
.langmenu{
  position: absolute;
  top: calc(100% + 8px);
  right: 0;                       /* выравнивание по правому краю кнопки */
  min-width: 180px;
  padding: 8px;
  border-radius: 14px;
  background: rgba(12,14,18,.82);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  backdrop-filter: blur(8px) saturate(120%);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 36px rgba(0,0,0,.45);
  z-index: 1000;

  opacity: 0;
  transform: translateY(-6px) scale(.98);
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
}
.site-nav__item--langdrop.is-open .langmenu{
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Пункты меню языков */
.langmenu__item{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 10px;
  color: #E9E9E9;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background .15s ease, border-color .15s ease;
}
.langmenu__item:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
}
.langmenu__item.is-active{
  background: rgba(180,207,50,.18);
  border-color: rgba(180,207,50,.32);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(180,207,50,.25);
}
.langmenu__code{
  display:inline-grid; place-items:center;
  width: 34px; height: 28px;
  border-radius: 8px;
  background: #B4CF32; color: #0B0E13;
  font-weight: 900;
  box-shadow: 0 4px 12px rgba(180,207,50,.35);
}
.langmenu__name{ opacity: .95; }

/* Мобилка: делаем кнопку крупнее, выпадашка на всю ширину списка */
@media (max-width: 900px){
  .langbtn{ height: 38px; }
  .langmenu{
    right: auto; left: 0;
    min-width: 220px;
  }
}
/* === Lang dropdown fixes === */
.site-nav,
.site-nav__list{
  overflow: visible !important;            /* не обрезаем выпадашку */
}

.site-nav__item--langdrop{
  position: relative;                      /* якорь для absolute меню */
  z-index: 50;                             /* выше соседних пунктов */
}

/* базовые стили кнопки/меню (если не добавлял ранее) */
.langbtn{
  display:inline-flex; align-items:center; gap:8px;
  height:34px; padding:0 12px; border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(16,18,22,.35);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  color:#E9E9E9; font-weight:900; letter-spacing:.06em; text-transform:uppercase;
  cursor:pointer; transition:filter .15s, transform .15s, box-shadow .15s;
}
.langbtn:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.langbtn[aria-expanded="true"]{ box-shadow:0 8px 22px rgba(0,0,0,.35), 0 0 0 2px rgba(180,207,50,.25); }

.langmenu{
  position:absolute; top:calc(100% + 8px); right:0;
  min-width:180px; padding:8px; border-radius:14px;
  background: rgba(12,14,18,.82);
  -webkit-backdrop-filter: blur(8px) saturate(120%); backdrop-filter: blur(8px) saturate(120%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 36px rgba(0,0,0,.45);
  z-index: 100;                           /* поверх всего в хедере */

  opacity:0; transform:translateY(-6px) scale(.98);
  pointer-events:none; transition:opacity .16s ease, transform .16s ease;
}
.site-nav__item--langdrop.is-open .langmenu{
  opacity:1; transform:translateY(0) scale(1); pointer-events:auto;
}

.langmenu__item{
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px;
  padding:10px; border-radius:10px; color:#E9E9E9; text-decoration:none;
  border:1px solid transparent; transition:background .15s, border-color .15s;
}
.langmenu__item:hover{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); }
.langmenu__item.is-active{
  background:rgba(180,207,50,.18); border-color:rgba(180,207,50,.32); color:#fff;
  box-shadow: inset 0 0 0 1px rgba(180,207,50,.25);
}
.langmenu__code{
  display:inline-grid; place-items:center;
  width:34px; height:28px; border-radius:8px; background:#B4CF32; color:#0B0E13; font-weight:900;
  box-shadow:0 4px 12px rgba(180,207,50,.35);
}

/* на мобиле можно расширить меню */
@media (max-width: 900px){
  .langbtn{ height:38px; }
  .langmenu{ right:auto; left:0; min-width:220px; }
}

/* ===== Footer bar: copy (слева) + dev link (справа) ===== */
.ftr__bar{
  margin-top: 18px;
  padding: 14px clamp(16px, 3vw, 28px);
  border-top: 1px solid rgba(255,255,255,.12);
  background: rgba(12,14,18,.58);
  -webkit-backdrop-filter: blur(6px) saturate(115%);
  backdrop-filter: blur(6px) saturate(115%);
}

.ftr__bar-inner{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;   /* по разным краям */
  gap: 16px;
  color: #C0C0C0;
  font-weight: 600;
}

.ftr__copy{
  margin: 0;
  opacity: .95;
}

/* ссылка разработчика */
.ftr__dev{
  color: #C0C0C0;
  text-decoration: none;
  letter-spacing: .04em;
  font-weight: 800;
  white-space: nowrap;
  transition: opacity .2s ease, transform .2s ease;
}
@media (hover:hover){
  .ftr__dev:hover{ opacity: .9; transform: translateY(-1px); }
}

/* мобильная адаптация: стэк по центру */
@media (max-width: 600px){
  .ftr__bar-inner{
    flex-direction: column;
    text-align: center;
  }
}

/* ==== FIX: Footer no horizontal overflow on mobile ==== */
.ftr__bar{
  width: 100%;
  max-width: 100vw;     /* не шире вьюпорта */
  box-sizing: border-box;
  overflow-x: clip;     /* предотвращаем горизонтальный скролл внутри */
}

.ftr__bar-inner{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  flex-wrap: wrap;      /* в сомнит. брейкпоинтах не выталкивать вправо */
}

.ftr__copy,
.ftr__dev{
  min-width: 0;         /* разрешить ужиматься во флексе */
}

/* чтобы длинные слова/домен не толкали контейнер */
.ftr__copy{ 
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* на десктопе пусть остаётся в одну строку, а на мобиле разрешаем перенос */
@media (max-width: 600px){
  .ftr__bar{
    padding-inline: 16px;    /* чуть меньше боковые отступы */
  }
  .ftr__bar-inner{
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 8px;
  }
  .ftr__dev{
    white-space: normal;     /* вместо nowrap */
    text-align: center;
  }
}
/* === Footer: kill horizontal overflow on mobile (hard fix) === */
.ftr__bar{
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
  overflow-x: hidden;             /* вместо clip для широкой поддержки */
}

.ftr__bar-inner{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  flex-wrap: wrap;
}

/* ни один ребенок не может растянуть строку */
.ftr__copy,
.ftr__dev{
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;        /* если вдруг очень длинно */
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* мобилка: исключаем субпиксельное переполнение и визуальные «хвосты» */
@media (max-width: 600px){
  html, body{ overflow-x: hidden; }       /* страхуем глобально, но только на мобиле */
  .ftr__bar{
    padding-inline: 16px;                 /* компактнее паддинги */
    /* фильтры иногда рисуют за пределами — скрываем */
    overflow: hidden;
  }
  .ftr__bar-inner{
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    max-width: calc(100vw - 32px);        /* 32px = суммарные боковые паддинги */
  }
  .ftr__dev{
    white-space: normal;                  /* обязательно, чтобы переносилась */
  }
}
link[rel="icon"] {
  filter: brightness(0) invert(0);
}
.lf-whitespace-pre {
	colo
	:#1e1e1e;!important
}



/* terms.css */
.terms-container {
    max-width: 900px;
    margin: 50px auto;
    padding: 20px;
    font-family: Arial, sans-serif;
    line-height: 1.8;
    color: #222;
    font-weight: 600; /* основной текст жирнее */
}

.terms-container h1 {
    text-align: center;
    margin-bottom: 40px;
    font-size: 2.4em;
    color: #111;
    font-weight: 800; /* заголовок крупнее и жирнее */
}

.terms-container h2 {
    margin-top: 30px;
    font-size: 1.7em;
    color: #111;
    font-weight: 700; /* подзаголовки жирнее */
}

.terms-container ul {
    margin-left: 20px;
    margin-bottom: 15px;
}

.terms-container ul ul {
    margin-left: 20px;
    list-style-type: disc;
}

.terms-container li {
    margin-bottom: 10px;
    font-weight: 600; /* пункты списка жирнее */
}

.terms-container li strong {
    font-weight: 700; /* нумерация и важные цифры выделены */
}


/* privacy.css */
.privacy-policy .container {
    max-width: 900px;
    margin: 50px auto;
    padding: 20px;
    font-family: Arial, sans-serif;
    line-height: 1.8;
    color: #222;
    font-weight: 600; /* основной текст жирнее */
    text-align: center; /* весь текст по центру */
}

.privacy-policy h1 {
    margin-bottom: 40px;
    font-size: 2.4em;
    color: #111;
    font-weight: 800; /* заголовок крупнее и жирнее */
}

.privacy-policy h2 {
    margin-top: 40px;
    font-size: 1.8em;
    color: #111;
    font-weight: 700; /* подзаголовки жирнее */
}

.privacy-policy h3 {
    margin-top: 25px;
    font-size: 1.4em;
    color: #111;
    font-weight: 700;
}

.privacy-policy p {
    margin-bottom: 15px;
    font-weight: 600;
}

.privacy-policy ul {
    margin: 10px auto 20px auto;
    padding-left: 0;
    list-style: none;
    text-align: left;
}

.privacy-policy ul li {
    margin-bottom: 10px;
    font-weight: 600;
}

.privacy-policy ul li strong {
    font-weight: 700;
}

.privacy-policy table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    text-align: center;
}

.privacy-policy table,
.privacy-policy th,
.privacy-policy td {
    border: 1px solid #ddd;
}

.privacy-policy th,
.privacy-policy td {
    padding: 12px 15px;
}

.privacy-policy th {
    font-weight: 700;
    background-color: #0073e6;
    color: #fff;
}

.privacy-policy a {
    color: #0073e6;
    text-decoration: none;
}

.privacy-policy a:hover {
    text-decoration: underline;
}

/* Списки с вложенными списками */
.privacy-policy ul ul {
    margin-left: 20px;
    list-style-type: disc;
}