/* =======================
   ПОДКЛЮЧЕНИЕ ШРИФТОВ
   ======================= */

@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-Regular.ttf') format('truetype');
  font-weight: 400;
}
@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-Bold.ttf') format('truetype');
  font-weight: 700;
}
@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-SemiBold.ttf') format('truetype');
  font-weight: 600;
}
@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-SemiBoldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-Light.ttf') format('truetype');
  font-weight: 300;
}
@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-Medium.ttf') format('truetype');
  font-weight: 500;
}
@font-face {
  font-family: 'CormorantGaramond';
  src: url('fonts/CormorantGaramond-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
}

:root { --vh: 1vh; }



html {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Базовые правила */
body, h1, h2, h3, p, a, .info, .price {
  
  font-family: 'CormorantGaramond', serif;
  line-height: 1.2;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  background: #000;
  color: #fff;
  overflow-x: hidden;
touch-action: manipulation;
  -webkit-text-size-adjust: none;
    overflow-y: scroll;

  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
}

body {
  transform-origin: 0 0;
  overflow-y: scroll;
  scroll-behavior: smooth;
}



/* =======================
   СЕКЦИИ
   ======================= */

section {
  position: relative;
  width: 100%;
 height: calc(var(--vh) * 100);
  scroll-snap-align: start;
  overflow: hidden;
}
/* =======================
   ВИДЕО СЕКЦИИ
   ======================= */
   /* =======================
   SNACKS PAGE (видео)
======================= */
video {
  touch-action: pan-y;
}



.snacks-page section video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}



/* === СТИЛЬ ОПИСАНИЯ ДЛЯ ВИДЕО-БЛОКОВ (как на странице суши) === */

.snacks-page .info {
  position: absolute;
  top: 0;               /* как на sushi */
  left: 0;
  width: 100%;          /* во всю ширину */
  padding: 4vh 6vw;     /* те же отступы */
  z-index: 10;
  text-align: right;     /* выравнивание слева */
}




/* Цена на SNACKS PAGE — как в sushi */
.snacks-page .info .price {
  color: #E05328;      /* фирменный оранжевый */
  font-size: 40px;   /* можешь увеличить/уменьшить */
  font-weight: 700;    /* жирный */
  margin-bottom: 1px;
  margin-top: 1px;
  padding: 1px;
    text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.75),
    0 0 32px rgba(224, 83, 40, 0.25);
}

.snacks-page .info h2 {
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 1px;
  padding: 1px;

     text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.75),
    0 0 32px rgba(224, 83, 40, 0.5);

}


.snacks-page .info p {
  font-size: 16px;
  margin-bottom: 1px;
  padding: 1px;

     text-shadow:
    0 0 10px rgba(0, 0, 0, 1),
    0 0 20px rgba(224, 83, 40, 1),
    0 0 32px rgba(224, 83, 40, 1);
}


/* =======================
   ТИТУЛЬНЫЙ ЛИСТ
   ======================= */

/* Фон титульного листа — как у фото */
#menu-list {
  position: relative;
  width: 100%;
 height: calc(var(--vh) * 100);
 
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1vw 1vw;                 /* расстояние от краёв экрана */
  padding: 0vh;      /* внутренний отступ */
  text-align: center;
  background-image: url("img/bg.webp");
  background-color: #000;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ==== Затемнение для титульного листа (как в snacks) ==== */



#menu-list .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,1);
  z-index: 3;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
}


/* Убираем старую затемнённую подложку */


/* Рамка */
#menu-list .menu-content {
  border: 1px solid rgba(224, 83, 40, 0.102); /* фирменный оранжевый, 90% */
  border-radius: 10px;
  padding: 2vh 5vw 2vh 5vw; 
/* top | right | bottom | left */          /* динамические отступы */
  background: rgba(0,0,0,0.75); /* лёгкая затемнённая подложка */
  backdrop-filter: blur(2px);
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.5), /* тень под кругом, мягкая, премиум */
inset 0 0 20px rgba(184, 184, 184, 0.15); /* 🔑 внутреннее мягкое белое свечение (эффект стекла) */
}
/* =======================
   АЙФОН
   ======================= */
.menu-content {
  position: relative;
  z-index: 2;
  width: 95%;
 
}

.menu-content h1 {
  font-size: 24px;
  margin-bottom: 3px;
  color: #e05328;
    text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.5),
    0 0 24px rgba(250, 250, 250, 0.25);
    
}

.menu-content ul {
  list-style: none;
  padding: 0;
}

.menu-content ul li {
  margin: 1px 0;
  
}

.menu-content ul li a {
  display: flex;
  justify-content: space-between;
  color: #d9cdcd;
  text-decoration: none;
  font-size: 20px;
  padding: 2px 0;

  text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.5),
    0 0 24px rgba(250, 250, 250, 0.5);
}



/* =======================
   ПРЕЛОАДЕР
   ======================= */

#preloader {
  position: fixed;
  inset: 0;
pointer-events: none;   /* 🔑 не блокирует клики */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  overflow: hidden;
    transition: opacity 0.5s ease;  /* ← вот ЭТО отвечает за плавность */
}



.loading-text {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 24px;
  text-shadow: 0 0 15px rgba(0,0,0,0.7);
  z-index: 99999;
}


/* =======================
   ФОТОГАЛЕРЕЯ
   ======================= */




.slide-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

/* текст */
.roll-info-wide {
  
 position: absolute;
  top: 0;                 /* ← наверху экрана */
  left: 0;
  width: 100%;            /* ← во всю ширину */
  padding: 4vh 4vw;       /* отступы внутри */
  z-index: 3;
  text-align: left;
}

.roll-info-wide h2 {
  font-size: 32px;
  margin-bottom: 1px;
     text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.75),
    0 0 24px rgba(224, 83, 40, 0.75);
  
}

.roll-info-wide .price {
  font-size: 40px !important;
  color: #E05328;
  font-weight: 700;    /* жирный */
  margin-bottom: 1px;
   text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.75),
    0 0 24px rgba(224, 83, 40, 0.25);
}

.roll-info-wide p {
  font-size: 18px;
  line-height: 1.33;
     text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.75),
    0 0 24px rgba(224, 83, 40, 0.75);
}



/* текст снизу*/
.roll-info-bottom {
  position: absolute;
  bottom: 0;              /* ← внизу экрана */
  left: 0;
  width: 100%;
  padding: 4vh 6vw;       /* такие же отступы, хочешь — уменьши */
  z-index: 3;
  text-align: left;
}


/* Заголовок */
.roll-info-bottom h2 {
  font-size: 32px;
  margin-bottom: 1px;
       text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.75),
    0 0 24px rgba(224, 83, 40, 0.75);
}

/* Цена */
.roll-info-bottom .price {
  font-size: 40px;
  font-weight: 700;    /* жирный */
  color: #E05328;

  margin-bottom: 1px;
     text-shadow:
    0 0 6px rgba(0, 0, 0, 0.75),
    0 0 14px rgba(224, 83, 40, 0.75),
    0 0 24px rgba(224, 83, 40, 0.25);
}

/* Описание */
.roll-info-bottom p {
  font-size: 16px;
  line-height: 1.35;
       text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.75),
    0 0 24px rgba(224, 83, 40, 0.75);
}


/* ФОТО */

.photo-section {
  position: relative;
  width: 100%;
 height: calc(var(--vh) * 100);
 
}
.photo-section .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,1);
  z-index: 11;
  opacity: 0;
  transition: opacity 0.3s ease-in-out; /* скорость затемнения */
  pointer-events: none;
   transform: translateZ(0);
  will-change: opacity;
}

.photo-section2 {
  position: relative;
  width: 100%;
 height: calc(var(--vh) * 100);
  
}
.photo-section2 .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,1);
  z-index: 11;
  opacity: 1;
  transition: opacity 0.3s ease-in-out; /* скорость затемнения */
  pointer-events: none;
}


.photo-bg {
  position: absolute;
  top: 45%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: contain;
  z-index: 1;
  opacity: 1; /* сразу видна */
  transition: none; /* можно оставить, не мешает */
}

.photo-section .info {
  position: absolute;
  bottom: 0;
  padding: 25px 20px 50px;
  width: 100%;
  z-index: 5;
}

.photo-section .price {
  color: #E05328;
  font-size: 40px;
  font-weight: 700;
}

.photo-section .info h2 {
  font-size: 32px;
  font-weight: 600;

}

/* =======================
   КНОПКА ДОМОЙ
   ======================= */
#homeBtn {
  position: fixed;
  bottom: 90px;      /* ← выше кнопки вверх */
  right: 10px;
  width: 50px;
  height: 50px;
  background: rgba(224, 83, 40, 0.1);
  color: rgba(255,255,255,0.5); /* цвет и прозрачность иконки */
  border-radius: 50%;
  border: none;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  backdrop-filter: blur(1px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

#homeBtn span {
  display: inline-block;
  transform: translateY(-5px); /* смещаем значок чуть выше */
}


#homeBtn:hover {
  background: rgba(224, 83, 40, 0.9);
  transform: translateY(-3px);
}

/* =======================
   КНОПКА ВВЕРХ
   ======================= */

#scrollTopBtn {
  position: fixed;
  bottom: 30px;
  right: 10px;
  width: 50px;
  height: 50px;
  background: rgba(224, 83, 40, 0.1);
  color: rgba(255,255,255,0.5); /* цвет и прозрачность иконки */
  border-radius: 50%;
  border: none;
  font-size: 32px;
  font-weight: bold;
  cursor: pointer;
  backdrop-filter: blur(1px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

#scrollTopBtn:hover {
  background: rgba(224, 83, 40, 0.9);
  transform: translateY(-3px);
}

/* =======================
   СТРАНИЦА С 4 КНОПКАМИ
   ======================= */

.menu-grid {
  display: flex;
  flex-direction: column;
  height: calc(var(--vh) * 100);
}

.menu-btn {
  flex: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: #fff;
  text-shadow:
    0 0 6px rgba(0, 0, 0, 0.25),
    0 0 14px rgba(224, 83, 40, 0.75),
    0 0 40px rgba(224, 83, 40, 0.25);
  font-size: 40px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.menu-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(0.1);
  transition: 0.3s ease;
}

.menu-btn:hover::before {
  filter: brightness(0.7);
}

.menu-btn span {
  z-index: 2;
}

/* Фоновые изображения */
#sushi::before { background-image: url("img/sushi.webp"); }
#snacks::before { background-image: url("img/snacks.webp"); }
#cocktails::before { background-image: url("img/cocktails.webp"); }
#bar::before { background-image: url("img/bar.webp"); }
#hookah::before { background-image: url("img/hookah.webp"); }







/* ===========================
   ПОДСКАЗКА СВАЙПА (PREMIUM STYLE)
=========================== */

#swipeHint {
  position: fixed;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;

  opacity: 0;
  pointer-events: none;

  transition: opacity 0.7s ease;
}

/* Сам SVG */
#swipeHint img {
  width: 60px;
  height: auto;

  opacity: 0.85;

  /* Две анимации: движение + пульсация свечения */
  animation: swipeDown 2.4s infinite cubic-bezier(.22,.61,.36,1);

  /* Мягкий дорогой glow */
  filter: drop-shadow(0 0 14px rgba(224, 83, 40, 0.85));
}

/* Плавное “утяжелённое” движение вниз → идеально для премиум UI */
@keyframes swipeDown {
  0%   { transform: translateY(0);   opacity: 0.75; }
  50%  { transform: translateY(42px); opacity: 1;    }
  100% { transform: translateY(0);   opacity: 0.75; }
}



/* ===========================
   ПОДСКАЗКА ГОРИЗОНТАЛЬНОГО СВАЙПА (PREMIUM STYLE)
=========================== */

#swipeHintHorizontal {
  position: fixed;
  bottom: 5px;
  left: 40%;
  transform: translate(-50%, -50%);
  z-index: 30;

  opacity: 0;
  pointer-events: none;

  transition: opacity 0.7s ease;
}

#swipeHintHorizontal img {
  width: 60px;
  height: auto;

  opacity: 0.85;

  /* Анимация движения + сияние */
  animation: swipeLeftRight 2.4s infinite cubic-bezier(.22,.61,.36,1);

  /* Оранжевый премиальный glow */
  filter: drop-shadow(0 0 14px rgba(224, 83, 40, 0.85));
}

/* Горизонтальное движение (премиальная плавность) */
@keyframes swipeLeftRight {
  0%   { transform: translateX(0);     opacity: 0.75; }
  50%  { transform: translateX(80px);  opacity: 1;    }
  100% { transform: translateX(0);     opacity: 0.75; }
}



/* ----------- SCROLL SNAP ГОРИЗОНТАЛЬНОЙ ГАЛЕРЕИ ----------- */

.h-snap-gallery {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  height: 100%;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.h-snap-gallery .h-slide {
  flex: 0 0 100%;
  height: 100%;
  position: relative;
  scroll-snap-align: center;
}

/* Чтобы не было горизонтального scrollbar */
.h-snap-gallery::-webkit-scrollbar {
  display: none;
}




/* --- Чистый верхний градиент (для текста сверху) --- */
.gradient-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 20%;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 1),
    rgba(0, 0, 0, 0.75),
    rgba(0, 0, 0, 0)
  );
}

/* --- Чистый нижний градиент (для текста снизу) --- */
.gradient-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30%;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 1),
    rgba(0, 0, 0, 0.25),
    rgba(0, 0, 0, 0)
  );
}


img, video {
  touch-action: manipulation;
  -webkit-user-drag: none;
  user-select: none;
}

.h-snap-gallery,
.h-slide,
.photo-section {
  touch-action: pan-x pan-y;
}


.h-snap-indicator {
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 20;
  pointer-events: none;
}

.h-snap-indicator div {
  width: 9px;
  height: 9px;
  background: rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  transition: background 0.3s, transform 0.3s;
}

.h-snap-indicator div.active {
  background: white;
  transform: scale(1.35);
}


/* Блокирующий экран при горизонтальной ориентации */
#rotate-lock {
  position: fixed;
  inset: 0;
  background: black;
  color: white;
  display: none;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px;
  font-size: 24px;
  z-index: 999999;
}

/* Когда ширина > высоты (альбомная ориентация) — включаем блокировку */
@media screen and (orientation: landscape) {
  #rotate-lock {
    display: flex;
  }

  body {
    overflow: hidden !important;
  }
}


/* Блокировка для компьютеров */
#desktop-lock {
  position: fixed;
  inset: 0;
  background: #000;
  color: #fff;
  font-size: 22px;
  display: none;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 999999999;
  padding: 20px;
  line-height: 1.4;
}

/* Если ширина экрана больше высоты — это компьютер или планшет горизонтально */
@media screen and (min-width: 900px) {
  #desktop-lock {
    display: flex !important;
  }

  body {
    overflow: hidden !important;
  }
}


html, body {
  -webkit-user-select: none; /* Safari / iOS */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* старый IE/Edge */
  user-select: none;
}


/* Значок рубля ПМР как иконка рядом с ценой */
.price {
  display: inline-flex;
  align-items: baseline;
  gap: 1px; /* расстояние между цифрами и значком */
}

/* сама иконка */
.ruble-pmr {
  display: inline-block;
  width: 12px;   /* ширина как у буквы, можно подогнать */
  height: 12px;  /* высота пропорционально */
  background-image: url("img/ruble-pmr.png"); /* или .jpg */
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translate(-3px, 2px); 
    filter:
    drop-shadow(0 0 6px rgba(0, 0, 0, 1))
    drop-shadow(0 0 14px rgba(224, 83, 40, 0.75))
    drop-shadow(0 0 32px rgba(224, 83, 40, 0.25));
}

.ruble-pmr-img {
  display: inline-block;
  width: 24px;
  height: 24px;

  /* превращаем картинку в маску */
  mask-image: url("img/ruble-pmr.png");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;

  /* Safari */
  -webkit-mask-image: url("img/ruble-pmr.png");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;

  /* Задаём фирменный оранжевый цвет */
  background-color: rgb(224, 83, 40); /* твой фирменный */
  
  /* подстройка позиции */
  transform: translate(1px, 1px);

 
}




/* =======================
   BAR — ФИНАЛЬНЫЙ ФИКС
   ======================= */

/* левый блок (как было), но теперь вертикальный */
.menu-content .dish-name {
  display: flex;               /* 🔑 */
  flex-direction: column;      /* 🔑 */
  align-items: flex-start;     /* 🔑 */
  text-align: left;
}

/* основное название */
.menu-content .dish-title {
  display: block;
}

/* подкатегория под названием */
.menu-content .dish-sub {
  display: block;
  margin-top: -2px;
color: #E05328;
  font-size: 14px;
  opacity: 0.9;

  font-style: italic;
  font-weight: 400;
}

.menu-content .dish-title{
  display: inline-block;
}

/* Объём из data-volume на самом названии */
.menu-content .dish-title[data-volume]::after{
  content: " " attr(data-volume);
  margin-left: 0px;
  font-size: 14px;
  opacity: 0.9;
  font-style: italic;
  font-weight: 400;
  white-space: nowrap;
}

html, body {
  touch-action: manipulation;     /* 🔑 запрещает double-tap zoom */
  -webkit-text-size-adjust: none; /* 🔑 iOS не увеличивает текст */
}

/* на всякий — для текста */
* {
  -webkit-user-select: none;
  user-select: none;
}





#menu-list { transform: translateZ(0); }


/* Плавный нативный скролл (соцсети-стайл) */
html, body {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

/* BAR PAGE — снимаем прилипание */
.bar-page {
  scroll-snap-type: none;
}
.bar-page section {
  scroll-snap-align: none;
}
.bar-page #menu-list {                /* применяем только на странице BAR */
  background-image: url("img/bg.webp"); /* ← картинка фона титульного листа */
  background-size: cover;              /* ← растягивает фон по экрану */
  background-position: center;         /* ← держит фон по центру */
  background-repeat: no-repeat;        /* ← фон не дублируется */
  background-attachment: fixed;        /* 🔑 ← делает фон статичным при скролле */
}

.bar-frame {                          /* стиль общей рамки для всех позиций бара */
  border: 1px solid rgba(224,83,40,0,1); /* ← тонкая фирменная оранжевая обводка */
  border-radius: 10px;                /* ← скругление углов рамки */
  width: 95%;                         /* ← ширина рамки относительно экрана */
  margin: 0 auto;                     /* 🔑 ← центрирует рамку по горизонтали */
  padding: 2vh 0 2vh 0;               /* ← отступ сверху/снизу, 0 по бокам чтобы не съезжало */
  background: rgba(0,0,0,0.8);        /* ← полупрозрачная тёмная подложка внутри рамки */
  backdrop-filter: blur(2px);         /* ← лёгкий блюр подложки (премиум-эффект) */
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.5), /* тень под кругом, мягкая, премиум */
inset 0 0 20px rgba(184, 184, 184, 0.15); /* 🔑 внутреннее мягкое белое свечение (эффект стекла) */
  max-height: 95%;                   /* ← максимальная высота рамки */
  overflow-y: auto;                   /* ← включает скролл ВНУТРИ рамки если много позиций */
  position: relative;                 /* ← позиционирование без влияния на соседние блоки */
  z-index: 5;                         /* ← слой рамки над фоном */
}

.bar-page h1 {                        /* стиль заголовков внутри BAR */
  text-align: center;                 /* 🔑 ← выравнивает заголовки по центру */
  width: 100%;                        /* ← чтобы центрирование работало без сдвига */
  margin: 10px 0 12px 0;                 /* ← отступ только снизу */
  padding: 0;                         /* ← убираем внутренние отступы */
}





#globalTap {
  position: fixed;
  inset: 0;
  background: radial-gradient(circle, rgba(3,3,110,0.25) 0%, transparent 10%);
  opacity: 0;
  pointer-events: none;
  transform: scale(1.8);
  transition: opacity 0.05s ease, transform 0.25s ease;
  z-index: 99999;
}


/* Фон титульного листа — кальяны */
#menu-list3 {
  position: relative;
  width: 100%;
 height: calc(var(--vh) * 105);
 
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1vw 1vw;                 /* расстояние от краёв экрана */
  padding: 0vh;      /* внутренний отступ */
  text-align: center;
  background-image: url("img/hookah.webp");
  background-color: #000;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}



/* Рамка */
#menu-list3 .menu-content {
  border: 1px solid rgba(224,83,40,0.1); /* фирменный оранжевый, 90% */
  border-radius: 10px;
  padding: 2vh 5vw 2vh 5vw; 
/* top | right | bottom | left */          /* динамические отступы */
  background: rgba(0,0,0,0.85); /* лёгкая затемнённая подложка */
  backdrop-filter: blur(2px);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.5), /* тень под кругом, мягкая, премиум */
inset 0 0 20px rgba(213, 213, 213, 0.15); /* 🔑 внутреннее мягкое белое свечение (эффект стекла) */
}
/* =======================
   АЙФОН
   ======================= */
.menu-content {
  position: relative;
  z-index: 2;
  width: 95%;
 
}

.menu-content h1 {
  font-size: 24px;
  margin-bottom: 3px;
  color: rgba(224, 83, 40, 0.8);
    text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.5),
    0 0 24px rgba(250, 250, 250, 0.25);
    
}

.menu-content ul {
  list-style: none;
  padding: 0;
}

.menu-content ul li {
  margin: 1px 0;
  
}

.menu-content ul li a {
  display: flex;
  justify-content: space-between;
  color: #d9cdcd;
  text-decoration: none;
  font-size: 20px;
  padding: 2px 0;

  text-shadow:
    0 0 6px rgba(0, 0, 0, 1),
    0 0 14px rgba(224, 83, 40, 0.5),
    0 0 24px rgba(250, 250, 250, 0.5);
}



/* ====== BOTTOM ICONS ====== */
.index-icon {
  display: flex;              /* включает flex-контейнер (у тебя уже есть) */
  justify-content: center;    /* центрирует содержимое по горизонтали */
  align-items: center;        /* центрирует по вертикали */
  position: fixed;
  bottom: 20px;
  width: 60px;   /* размер круга */
  height: 60px;
  background: rgba(224, 83, 40, 0.05); /* прозрачность стекла */
  backdrop-filter: blur(1px);        /* эффект glass */
  border-radius: 50%;                 /* делает круг */
font-size: 50px;         /* размер, если иконка символом, но у нас svg — зона не влияет */
 color: #fff;             /* цвет иконок/текста */
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.5), /* тень под кругом, мягкая, премиум */
inset 0 0 9px rgba(213, 213, 213, 0.25); /* 🔑 внутреннее мягкое белое свечение (эффект стекла) */
  text-decoration: none;      /* ❗убирает подчёркивание ссылки */
  z-index: 20;
  transform: scale(1);        /* исходный размер, чтобы анимация всегда стартовала одинаково */
  transition: transform 0.3s ease, opacity 0.3s ease; /* плавное увеличение/уменьшение при тапе */
}

.index-icon img {
  width: 44px; /* размер самой иконки внутри круга */
  height: 44px;
  pointer-events: none;
  opacity: 0.75;
   display: block;             /* убирает inline-смещение */
  margin: 0;                  /* сбрасывает отступы */
  padding: 0;

 z-index: 19;
  transform: translateY(-10px); /* 🔑 микро-сдвиг вверх если нужно */
  transform: translateX(-1px)
}

.index-icon:active {
  transform: scale(1.5);
  opacity: 1;
}


/* ====== BOTTOM ICONS2 ====== */
.index-icon2 {
  display: flex;              /* включает flex-контейнер (у тебя уже есть) */
  justify-content: center;    /* центрирует содержимое по горизонтали */
  align-items: center;        /* центрирует по вертикали */
  position: fixed;
  bottom: 20px;
  width: 60px;   /* размер круга */
  height: 60px;
  background: rgba(224, 83, 40, 0.05); /* прозрачность стекла */
  backdrop-filter: blur(1px);        /* эффект glass */
  border-radius: 50%;                 /* делает круг */
font-size: 50px;         /* размер, если иконка символом, но у нас svg — зона не влияет */
 color: #fff;             /* цвет иконок/текста */
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.5), /* тень под кругом, мягкая, премиум */
inset 0 0 9px rgba(213, 213, 213, 0.25); /* 🔑 внутреннее мягкое белое свечение (эффект стекла) */
  text-decoration: none;      /* ❗убирает подчёркивание ссылки */
  z-index: 20;
  transform: scale(1);        /* исходный размер, чтобы анимация всегда стартовала одинаково */
  transition: transform 0.3s ease, opacity 0.3s ease; /* плавное увеличение/уменьшение при тапе */
}

.index-icon2 img {
  width: 44px; /* размер самой иконки внутри круга */
  height: 44px;
  pointer-events: none;
  opacity: 0.75;
   display: block;             /* убирает inline-смещение */
  margin: 0;                  /* сбрасывает отступы */
  padding: 0;

 z-index: 19;
  transform: translateY(-10px); /* 🔑 микро-сдвиг вверх если нужно */
  transform: translateX(-1px)
}

.index-icon2:active {
  transform: scale(1.5);
  opacity: 1;
}







.bg-video {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 1;
  pointer-events: none;
}

/* =======================
   NAV ICONS — СТОЛБИК В ПРАВОМ НИЖНЕМ
   (не меняем стиль кругов, меняем только позиционирование)
   ======================= */


.nav-icons { 
  position: fixed; 
  right: 20px; 
  bottom: 40px; 
  display: flex; 
  flex-direction: column; 
  gap: 12px; 
  z-index: 9999; 
}



/* важно: отключаем fixed/offset у каждой иконки внутри столбика */
.nav-icons .index-icon {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}

/* =======================
   NAV ICONS — СТОЛБИК В ПРАВОМ НИЖНЕМ
   (не меняем стиль кругов, меняем только позиционирование)
   ======================= */

.nav-icons2 {
  position: fixed;
 
  bottom: 40px;
  width: 100%; /* не даём выходить за экран */
  display: flex;
  flex-direction: row;
  justify-content: center; /* прижимаем вправо */
  gap: 10px;
  z-index: 9999;
  flex-wrap: wrap; /* если не помещается — переносит */
}


/* важно: отключаем fixed/offset у каждой иконки внутри столбика */
.nav-icons2 .index-icon2 {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}


/* ===== INDEX: 2 ЭКРАНА С ВИДЕО (ровно в экран) ===== */

/* чтобы не было двойного скролла (у тебя scroll-snap уже на body) */
body.index-page {
  overflow: hidden;              /* скроллим только внутри .screens */
}

/* контейнер двух экранов */
/* ===============================
   FIX: Видео ровно в экран, не вылазят
=============================== */
/* ===== ЭКРАНЫ С ПРИЛИПАНИЕМ ===== */
.index-page .screens {
  position: fixed;          /* один контейнер, без прыжков */
  inset: 0;                 /* ровно в экран */
  height: 100vh;            /* высота = 1 экран */
  width: 100vw;             /* ширина = 1 экран */
  overflow-y: auto;         /* вертикальный скролл */
  scroll-snap-type: y mandatory; /* прилипание секций */
  -webkit-overflow-scrolling: touch; /* плавность на iOS */
  z-index: 1;               /* над фоном, под кнопками */
}

.index-page .screen {
  position: relative;       /* база для вложенных элементов */
  height: 100vh;            /* каждый экран = 1 экран */
  width: 100vw;             /* ширина = экран */
  scroll-snap-align: start; /* прилипание к старту */
  overflow: hidden;         /* обрезаем вылазящие элементы */
}

/* ===== ВИДЕО-ФОНЫ ===== */
.index-page .screen video {
  position: absolute;       /* видео как фон */
  inset: 0;                 /* растягиваем */
  width: 100%;              /* ровно в экран по ширине */
  height: 100%;             /* ровно в экран по высоте */
  object-fit: cover;        /* заполняем без искажений */
  object-position: center;  /* держим центр кадра */
  pointer-events: none;     /* не ловит клики, ловит круг */
  z-index: 0;               /* под текстом */
}

/* ===== ТАП-КРУГ ===== */
.tap-circle {
  position: absolute;
  width: 600px;             /* ширина круга тапа */
  height: 700px;            /* высота круга тапа */
  left: 50%;                /* центр по X */
  top: 50%;                 /* центр по Y */
  transform: translate(-50%, -50%); /* точный центр */
  border-radius: 50%;       /* форма круга */
  background: transparent;  /* невидимый круг */
  z-index: 10;               /* поверх видео */
  pointer-events: auto;     /* ловит тап */
  cursor: pointer;          /* курсор для браузера */
}

/* ===== ТАЙТЛЫ PARTY ===== */
.party-title {
  position: absolute;
  top: 10px;                /* отступ от верха экрана */
  left: 50%;                /* центр X */
  transform: translateX(-50%); /* точное центрирование */
  width: 80vw;              /* 80% ширины экрана примерно */
  font-family: "Cormorant Garamond", serif; /* фирменный шрифт */
  font-size: 32px;          /* крупный текст */
  text-align: center;       /* центр текста */
               /* цвет текста */
  z-index: 10;              /* поверх видео */
  margin: 0;                /* обнуляем отступы */
  padding: 0;               /* обнуляем паддинги */
  line-height: 1.1;         /* межстрочный интервал */
  
  
    /* 🔑 стеклянный текст */
  color: transparent;              /* убирает обычный цвет, нужен для эффекта */
  background: rgba(255,255,255,0.75); /* стеклянный оттенок внутри букв */
  -webkit-background-clip: text;   /* обрезает фон по форме букв (Safari/Chrome iOS) */
  background-clip: text;           /* обрезает фон по форме букв */
 
  
  text-shadow:                    /* мягкое свечение, можно оставить как есть */
    0 0 6px rgba(0, 0, 0, 0.1),
    0 0 14px #e0532880,
    0 0 24px rgba(250, 250, 250, 0.25);
}

.logo-top {
  position: fixed;        /* всегда сверху, не зависит от секции */
  top: -15px;              /* отступ от верха */
  left: 50%;              /* центр по горизонтали */
  transform: translateX(-50%); /* точное центрирование */
  width: 60%;             /* можешь менять, 60–80% смотрится хорошо */
  height: auto;           /* сохраняет пропорции */
  z-index: 50;            /* поверх видео */
  pointer-events: none;   /* не ловит клики */
 
}

#zoomContainer {
  position: fixed;           /* контейнер на весь экран */
  inset: 0;                  /* растягиваем */
  overflow: hidden;          /* обрезаем выход за экран */
  z-index: 2;                /* под кнопками блокировок */
}

#hallScheme {
  width: 100%;               /* базовый размер */
  height: 100%;              /* базовый размер */
  object-fit: contain;       /* не растягиваем, сохраняем пропорции */
  transform-origin: center;  /* точка увеличения будет меняться в JS */
  transition: transform 0.3s ease;
  cursor: pointer;           /* ловим тап */
}
