:root{
  --bg:#0b0b0c;
  --card:#5d5d5d;
  --muted:#bdbdc1;
  --accent:#ff7a00;
  --header-height:72px;
}
*{box-sizing:border-box}
html,body{height:100%;width:100%;max-width:100%;overflow-x:hidden;scroll-padding-top:calc(var(--header-height) + 8px)}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:#fff;-webkit-font-smoothing:antialiased}

/* container */
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;height:var(--header-height);z-index:150;background:rgba(0,0,0,0.35);backdrop-filter:blur(8px);display:flex;align-items:center}
.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%}
/*.logo{font-weight:700;font-size:18px;padding-left:4px}*/
.logo {height: 52px;}
.main-nav a{
	color:#fff;
	text-decoration:none;
	margin-left:22px;
	font-weight:600;
	vertical-align: middle;
	display: inline-flex;
	height: 32px;
	line-height: 32px;
}
.mobileMenuButton {
	vertical-align: middle;
	display: inline-flex;
	height: 32px;
	line-height: 32px;
}
nav.main-nav {
height: 40px;
}
/* burger button */
.burger{display:none;background:transparent;border:0;padding:6px;margin-left:8px;align-items:center;justify-content:center}
/*.burger span{display:block;width:34px;height:4px;background:#fff;border-radius:4px;margin:4px 0;transition:transform .28s,opacity .28s}
.burger.active span:nth-child(1){transform:translateY(10px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}*/
.burger img:nth-child(1){display:block}
.burger img:nth-child(2){display:none}
.burger.active img:nth-child(1){display:none}
.burger.active img:nth-child(2){display:block}


/* mobile menu and overlay */
#overlay{position:fixed;inset:0;background:rgba(0,0,0,0.55);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .28s linear;z-index:130}
#overlay.show{opacity:1;pointer-events:auto}
#mobileMenu{position:fixed;top:0;right:-100%;width:78%;max-width:320px;height:100vh;background:#0f0f10;padding:84px 20px 20px 20px;display:flex;flex-direction:column;gap:18px;transition:right .32s ease;z-index:135}
#mobileMenu.open{right:0}
#mobileMenu a{color:#fff;text-decoration:none;font-size:18px}

/* when menu open, hide hero block to prevent slider overflow and disable scroll */
.menu-open .hero{display:none !important}

/* HERO */
.hero{
	position:relative;
	height:100vh;
	height:calc(100svh - 1px);

	width:100%;
	min-height:560px;
	overflow:hidden
}
.hero .swiper{height:100%}
.hero .swiper-slide{background-size:cover;background-position:center;width:100%;height:100%}
.hero-overlay{
	position:absolute;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:20px;pointer-events:none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.5));
	text-shadow: #000000 0px 0px 20px;
	}
.hero-box{max-width:760px;text-align:center;pointer-events:auto}
.hero-box h1{font-size:clamp(30px,6vw,56px);margin:0 0 12px}
.hero-box p{/*color:var(--muted);*/font-size:clamp(15px,2.2vw,18px);margin:0}
.cta{display:inline-block;margin-top:16px;padding:12px 22px;background:var(--accent);color:#000;border-radius:10px;text-decoration:none;font-weight:700;text-shadow: none;}

/* sections */
section{
/*	padding:72px 0*/
	padding:72px 0 0 0
}
h2{text-align:center;font-size:32px;margin-bottom:18px}
.lead{color:var(--muted);text-align:center;max-width:860px;margin:0 auto 28px}

/* actors */
.actors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:18px}
.actor-card{background:var(--card);padding:18px;border-radius:12px;text-align:center}
.actor-photo{width:100%;height:220px;background:#222;border-radius:10px;margin-bottom:10px;background-size:cover;background-position:center;}
.actor-name{font-weight:700}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-top:20px}
.tile{background:var(--card);padding:18px;border-radius:12px;text-align:center}
.tile svg{width:44px;height:44px;stroke:var(--accent);fill:none;stroke-width:1.6;margin-bottom:8px;max-width:100%;height:auto}

/* forms */
form{max-width:560px;margin:18px auto 0;display:flex;flex-direction:column;gap:12px}
input,textarea{background:#111;border:1px solid #5d5d5d;padding:12px;border-radius:8px;color:#fff;font-size:15px}
.submit{background:var(--accent);color:#000;padding:12px;border-radius:8px;border:none;font-weight:700;cursor:pointer;font-size: 16px;}

/* fade-up */
.fade-up{opacity:0;transform:translateY(20px);transition:all .7s ease-out}
.fade-up.visible{opacity:1;transform:none}

.main-msg {
	width: 100%;
    text-align: right;
    display: none;
}
/* responsive */
@media (max-width:920px){.header-inner{padding:8px 16px}}
@media (max-width:1020px){
  .main-nav{display:none}
  .burger{display:flex}
  .main-msg{display:block;}
  .hero-box h1{font-size:clamp(24px,7vw,36px)}
  section{
  	padding:72px 0 0 0
  }
}

.contact-link {
	color: #fff;
	display: inline-flex;
	height: 32px;
	line-height: 32px;
	vertical-align: middle;
	text-decoration: none;
}


/* shows */
.shows {
  padding: 40px 20px;
  max-width: 900px;
  margin: 0 auto;
}

.show-card {
  display: flex;
  gap: 20px;
  margin-bottom: 40px;
  align-items: flex-start;
}

/* Квадратное фото */
.show-image {
  width: 200px;
  min-width: 200px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 12px;
}

.show-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.show-info h3 {
  margin: 0 0 10px;
  font-size: 22px;
}

.show-info p {
  margin: 0;
  line-height: 1.5;
}
.show-detail {
    background: var(--card);
    padding: 18px;
    border-radius: 12px;
}

/* 📱 Мобильная адаптация */
@media (max-width: 1020px) {
  .show-card {
    flex-direction: column;
    text-align: center;
  }

  .show-image {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
  }
}

.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
    z-index: 9999;
}
.modal-overlay.show {
    opacity: 1;
    pointer-events: auto;
}

.modal-window {
    background: #151517;
    padding: 25px 30px;
    border-radius: 14px;
    max-width: 330px;
    width: 90%;
    text-align: center;
    color: #fff;
    position: relative;
    animation: fadeInUp .35s ease;
}

.modal-close {
    position: absolute;
    top: 8px;
    right: 12px;
    font-size: 26px;
    cursor: pointer;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.scroll-arrow {
	z-index: 140;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
/*  top: calc(var(--hght) - 25px - 72px);           */      /* настраиваем высоту от нижней границы */
  bottom: 25px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  color: white;                 /* цвет стрелки (контраст) */
}

/* анимация "прыжок" */
@keyframes bounceDown {
  0%   { transform: translateX(-50%) translateY(0); opacity: 1; }
  50%  { transform: translateX(-50%) translateY(8px); opacity: 0.85; }
  100% { transform: translateX(-50%) translateY(0); opacity: 1; }
}
.scroll-arrow svg { display:block; }
.scroll-arrow { animation: bounceDown 1.4s ease-in-out infinite; }

/* уважение к настройкам пользователя */
@media (prefers-reduced-motion: reduce) {
  .scroll-arrow { animation: none; }
}



/*Отзывы*/
/* Контейнер с горизонтальной прокруткой */
.reviews-scroll {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 10px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.reviews-scroll::-webkit-scrollbar {
  height: 6px;
}
.reviews-scroll::-webkit-scrollbar-thumb {
  background: #555;
  border-radius: 4px;
}

/* Каждая карточка фиксированной ширины */
.review-card {
  min-width: 280px;
  max-width: 280px;
  background: var(--card);
  padding: 20px;
  border-radius: 12px;
  flex-shrink: 0;
  scroll-snap-align: start;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.05);
}

/* Остальной стиль отзывов */
.review-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}
.review-name {
  font-size: 18px;
  font-weight: 600;
}
.stars {
  color: #ffbb00;
  font-size: 18px;
  letter-spacing: 2px;
}
.review-text {
  font-size: 16px;
  line-height: 1.45;
}

/* Аватары */
.avatar {
  width: 48px;
  height: 48px;
  background: var(--accent);
  border-radius: 50%;
  color: #fff;
  font-weight: 600;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

/*Badges */
.show-badges {
  display: flex;
  gap: 10px;
  margin: 10px 0 15px 0;
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width:1020px){
	.show-badges {
		  justify-content: center;
	}
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  user-select: none;
  animation: fade-in 0.8s ease forwards;
  opacity: 0;
}

/* Анимация появления */
@keyframes fade-in {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Длительность */
.badge.duration {
  background: var(--card);
  
}

/* Старая цена */
.badge.price-old {
  background: #ffe6e6;
  color: #b40000;
  text-decoration: line-through;
}

/* Встряхивание */
@keyframes shake-cycle {
  0% { transform: translateX(0); }

  /* само встряхивание: 0–15% длительности (0.6 сек из 4 сек) */
  3% { transform: translateX(-3px) rotate(-2deg); }
  6% { transform: translateX(3px) rotate(2deg); }
  9% { transform: translateX(-3px) rotate(-2deg); }
  12% { transform: translateX(3px) rotate(2deg); }
  15% { transform: translateX(0); }

  /* дальше — пауза */
  100% { transform: translateX(0); }
}

/* Новая цена */
.badge.price-new {
  background: #eaffea;
  color: #0a8a0a;

animation:
    fade-in 0.8s ease forwards,
    shake-cycle 2s ease 0.6s infinite;
}

/* Адаптивность */
/*
@media (max-width: 600px) {
  .show-badges {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .badge {
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 12px;
  }
}
*/

.gallery-section {
  padding: 60px 20px;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.gallery-title {
  font-size: 32px;
  margin-bottom: 30px;
}

.gallery-swiper {
  width: 100%;
  height: 380px;
  border-radius: 14px;
  overflow: hidden;
}

.gallery-swiper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Белые стрелки */
.swiper-button-prev,
.swiper-button-next {
  color: #fff;
}

/* Точки */
.swiper-pagination-bullet {
  background: #fff;
  opacity: 0.6;
}
.swiper-pagination-bullet-active {
  background: var(--accent);
  opacity: 1;
}

