/* ==========================================================================
   header-fixed.css — фиксированная шапка сайта
   Подключается в header.php после style.css.

   Логика:
   • .navbar переводится из position:absolute в position:fixed —
     раскладка при этом не меняется, оба варианта вне потока, поэтому
     контент под шапкой не сдвигается;
   • вверху страницы шапка остаётся прозрачной поверх фото-обложки;
   • при прокрутке JS вешает класс .is-stuck (js/script.js) — появляется
     кремовый фон, лёгкая тень, шапка становится компактнее, а логотип
     и меню переключаются на тёмный вариант (как у .navbar--dark),
     иначе светлый текст пропал бы на светлом контенте.

   Размеры намеренно в rem: в теме html { font-size: calc(100vw * 16/1920) },
   поэтому шапка масштабируется вместе с остальной вёрсткой.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. Фиксация
   -------------------------------------------------------------------------- */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  -webkit-transition: background-color .3s ease, box-shadow .3s ease,
                      padding-top .3s ease, padding-bottom .3s ease,
                      border-color .3s ease;
  -o-transition: background-color .3s ease, box-shadow .3s ease,
                 padding-top .3s ease, padding-bottom .3s ease,
                 border-color .3s ease;
  transition: background-color .3s ease, box-shadow .3s ease,
              padding-top .3s ease, padding-bottom .3s ease,
              border-color .3s ease;
}

/* Переход по якорю не должен прятать заголовок под шапкой */
html {
  scroll-padding-top: 6rem;
}


/* --------------------------------------------------------------------------
   2. Состояние после начала прокрутки
   -------------------------------------------------------------------------- */
.navbar.is-stuck {
  background-color: var(--light-gray);
  border-bottom: 0.0625rem solid var(--gray);
  -webkit-box-shadow: 0 0.125rem 1.25rem rgba(57, 57, 57, .12);
  box-shadow: 0 0.125rem 1.25rem rgba(57, 57, 57, .12);
  padding-top: 0.875rem !important;
  padding-bottom: 0.875rem !important;
}

/* Логотип компактнее */
.navbar .navbar-brand {
  -webkit-transition: max-width .3s ease;
  -o-transition: max-width .3s ease;
  transition: max-width .3s ease;
}

.navbar.is-stuck .navbar-brand {
  max-width: 11.5rem;
}


/* --------------------------------------------------------------------------
   3. Тёмная тема шапки при прокрутке
   (повторяет правила .navbar--dark из style.css)
   -------------------------------------------------------------------------- */
.navbar.is-stuck .navbar-nav .nav-link {
  color: var(--dark);
}

.navbar.is-stuck .navbar__phone {
  color: var(--accent-3);
}

.navbar.is-stuck .navbar__call {
  color: rgba(57, 57, 57, 0.8);
}

.navbar.is-stuck .navbar-brand .logo-light {
  display: none;
}

.navbar.is-stuck .navbar-brand .logo-dark {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.navbar.is-stuck .btn-cart {
  border-color: var(--accent-3);
}

.navbar.is-stuck .btn-cart__icon svg path {
  fill: var(--accent-3);
}

.navbar.is-stuck .btn-cart__num {
  background-color: var(--accent-3);
  color: var(--light-gray);
}


/* --------------------------------------------------------------------------
   4. Счётчик корзины — ровный круг

   В style.css у счётчика фиксированная высота и боковые отступы при
   border-radius: 50%. Пока цифра одна, ширина примерно равна высоте и
   выходит круг; на двузначном числе бейдж растягивается и превращается
   в овал (50% скругляет по обеим осям пропорционально).

   Задаём min-width равным высоте и скругление в rem (ровно половина
   высоты): 1–2 цифры дают правильный круг, на трёхзначном значении
   бейдж аккуратно вытянется в «таблетку» вместо каши.
   -------------------------------------------------------------------------- */
.btn-cart__num {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 1.25rem;
  width: auto;
  height: 1.25rem;
  padding: 0 0.125rem;
  -webkit-border-radius: 0.625rem;
  border-radius: 0.625rem;
  line-height: 1;
  text-align: center;
}


/* --------------------------------------------------------------------------
   5. Планшет: бургер
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1399.98px) {

  .navbar.is-stuck .navbar-toggler {
    border-color: var(--accent-3);
  }

  .navbar.is-stuck .navbar-toggler-icon svg path {
    stroke: var(--accent-3);
  }
}


/* --------------------------------------------------------------------------
   6. Мобильные: кнопка брони столика + чуть меньший логотип
   -------------------------------------------------------------------------- */
@media screen and (max-width: 991.98px) {

  .navbar.is-stuck .btn-book {
    border-color: var(--accent-3);
  }

  .navbar.is-stuck .btn-book__icon svg path {
    stroke: var(--accent-3);
  }

  .navbar.is-stuck .btn-book__icon svg circle {
    fill: var(--accent-3);
  }
}

@media screen and (max-width: 575.98px) {

  .navbar.is-stuck {
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
  }

  .navbar.is-stuck .navbar-brand {
    max-width: 9.5rem;
  }
}


/* --------------------------------------------------------------------------
   7. Открытое мобильное меню всегда поверх фона шапки
   (класс .active вешает js/script.js при открытии offcanvas)
   -------------------------------------------------------------------------- */
.navbar.active.is-stuck {
  background-color: var(--light-gray);
  -webkit-box-shadow: none;
  box-shadow: none;
}


/* --------------------------------------------------------------------------
   8. Уважаем системную настройку «меньше движения»
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {

  .navbar,
  .navbar .navbar-brand {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
  }
}
