/* ========== ПОЛНАЯ МОБИЛЬНАЯ ВЕРСИЯ ========== */
/* Для экранов до 768px */

/* === БАЗА === */
html, body {
  overflow-x: hidden;
  max-width: 100%;
  width: 100%;
}

body {
  cursor: auto;
}

.custom-cursor {
  display: none !important;
}

/* === ЛОАДЕР === */
#loader {
  overflow: hidden;
}

.counter-display {
  font-size: 28px !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  text-align: center;
  width: 100%;
  letter-spacing: -1px;
}

/* === ХИРО === */
.hero {
  height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.layer-sun {
  width: 100vh !important;
  height: 100vh !important;
  right: -30vw !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.layer-sun img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.layer-city {
  width: 200vh !important;
  max-width: none;
  bottom: 0;
  left: 50%;
  transform: translateX(-35%);
  position: absolute;
  z-index: 2;
}

.layer-city img {
  width: 200vh !important;
  height: auto;
  display: block;
}

.layer-branches {
  width: 100vh !important;
  max-width: none !important;
  top: auto !important;
  bottom: 25vh !important;
  left: -20vw !important;
  position: absolute;
  z-index: 5;
}

.layer-branches img {
  width: 100% !important;
  height: auto !important;
  display: block;
}

.logo {
  top: 55% !important;
}

.logo-title {
  font-size: 48px !important;
  white-space: nowrap;
}

.logo-sub {
  font-size: 12px !important;
  text-shadow:
    -1px -1px 0 #F7F5F0,
    1px -1px 0 #F7F5F0,
    -1px 1px 0 #F7F5F0,
    1px 1px 0 #F7F5F0,
    -2px 0 0 #F7F5F0,
    2px 0 0 #F7F5F0,
    0 -1px 0 #F7F5F0,
    0 1px 0 #F7F5F0 !important;
}

.social-links {
  display: none !important;
}

.actions {
  bottom: 8% !important;
  right: 5% !important;
  left: 5% !important;
  align-items: center !important;
  gap: 12px !important;
}

.action-btn {
  width: 100%;
  min-width: auto;
  font-size: 13px;
  padding: 12px 20px;
}

/* === АФИША === */
.scroll-section {
  padding: 50px 15px 40px 15px !important;
  height: auto !important;
  min-height: 100vh;
}

.scroll-title {
  font-size: 50px !important;
  margin-bottom: 30px;
}

.scroll-title::after {
  margin: 10px auto 30px;
}

.scroll-cards {
  gap: 15px;
}

.scroll-card {
  flex-direction: column;
  gap: 15px;
  padding: 20px;
  text-align: center;
  margin-bottom: 10px;
}

.card-date {
  min-width: auto;
}

.card-day {
  font-size: 40px;
}

.card-title {
  font-size: 30px;
}

.card-tickets {
  display: block;
  width: 100%;
  text-align: center;
}

/* === О ГРУППЕ === */
.about-section {
  padding: 40px 15px 60px 15px;
}

.about-title {
  font-size: 50px !important;
  margin-bottom: 30px;
}

.timeline-container {
  gap: 20px;
}

.timeline-item {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}

.timeline-line {
  width: 50px;
  height: 3px;
  align-self: center;
  min-height: auto;
}

.timeline-year {
  min-width: auto;
  font-size: 40px;
  padding: 8px 20px 4px 20px;
}

.timeline-text {
  font-size: 15px;
  line-height: 1.5;
}

/* === ГАРАЖНАЯ СТЕНА === */
.garage-wall {
  display: none !important;
}

.hotspot-label {
  font-size: 10px;
  padding: 6px 10px;
}

.hotspot-composition {
  top: 18%;
  left: 8%;
}

.hotspot-discography {
  top: 35%;
  right: 3%;
}

/* === МЕРЧ === */
.merch-section {
  padding: 40px 15px 30px 15px !important;
  min-height: auto !important;
  height: auto !important;
  margin-bottom: 0 !important;
}

.merch-title {
  font-size: 50px !important;
  margin-bottom: 30px;
}

.merch-grid {
  grid-template-columns: 1fr;
  gap: 20px;
}

.merch-card {
  padding: 20px !important;
  height: auto !important;
}

.merch-card-image {
  height: auto !important;
  min-height: auto !important;
  margin-bottom: 15px !important;
  overflow: visible !important;
}

.merch-card-image img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* === КОНТАКТЫ === */
.contacts-section {
  padding: 40px 15px;
  min-height: 100vh;
  height: auto;
}

.contacts-title {
  font-size: 50px !important;
  margin-bottom: 30px;
}

.social-grid {
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 60px;
  gap: 10px;
}

/* Бенто на мобилке */
.social-link:nth-child(9) {
  grid-column: span 2;
}

.social-link {
  display: flex;
  align-items: center;
  justify-content: center;
}

.social-link {
  font-size: 12px;
  padding: 12px;
}

.management-info {
  flex-direction: column;
  gap: 20px;
  text-align: center;
}

.management-name {
  font-size: 36px;
}

.management-contacts {
  border-left: none;
  border-top: 2px solid #C21414;
  padding-left: 0;
  padding-top: 15px;
  align-items: center;
}

/* === ФУТЕР === */
.footer {
  padding: 40px 15px 20px;
}

.footer-top {
  flex-direction: column;
  text-align: center;
  gap: 20px;
}

.footer-social {
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-logo {
  font-size: 36px;
}

.footer-bottom {
  flex-direction: column;
  text-align: center;
  gap: 10px;
}

/* Убираем горизонтальный скролл */
html, body {
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}

.hero,
.garage-wall,
.layer-sun,
.layer-branches,
.artwork-container,
.artwork-part {
  max-width: 100vw;
}

/* Плашка с соцсетями в хиро */
.mobile-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  background: rgba(0, 0, 0, 0.7);
  border-bottom: 1px solid #C21414;
  padding: 8px 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: center;
}

.mobile-nav a {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.5px;
  text-decoration: none;
  color: #F7F5F0;
  padding: 4px 6px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.2s;
  cursor: pointer;
  text-transform: uppercase;
  flex-shrink: 0;
  text-align: center;
}

.mobile-nav a:hover {
  border-color: #C21414;
  color: #C21414;
  background: rgba(194, 20, 20, 0.1);
}

/* Мерч — бесконечный слайдер */
.merch-slider-mobile {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}

.merch-track-mobile {
  display: flex;
  gap: 15px;
  transition: transform 0.3s ease;
  will-change: transform;
}

.merch-slide-mobile {
  min-width: 100%;
  flex-shrink: 0;
  background: #ffffff;
  border: 1px solid #ddd;
  padding: 20px;
  text-align: center;
}

.merch-slide-mobile img {
  width: auto !important;
  max-width: 100% !important;
  height: 250px !important;
  object-fit: cover !important;
  object-position: center !important;
  margin-bottom: 15px !important;
  border: 1px solid #ddd;
}

.merch-slider-btn-mobile {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.7);
  border: 1px solid #C21414;
  color: #F7F5F0;
  font-size: 20px;
  cursor: pointer;
  z-index: 5;
  transition: all 0.2s;
}

.merch-slider-btn-mobile:hover {
  background: #C21414;
}

.merch-prev-mobile {
  left: 5px;
}

.merch-next-mobile {
  right: 5px;
}

/* Красивая кнопка */
.merch-catalog-btn-mobile {
  display: block;
  width: 100%;
  text-align: center;
  padding: 16px;
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 3px;
  text-decoration: none;
  color: #0A0A0A;
  background: #F7F5F0;
  border: 2px solid #C21414;
  transition: all 0.3s;
  text-transform: uppercase;
}

.merch-catalog-btn-mobile:hover {
  background: #C21414;
  color: #F7F5F0;
  box-shadow: 0 5px 20px rgba(194, 20, 20, 0.4);
}

/* Мобилка: скрываем сетку, показываем слайдер */
.merch-grid {
  display: none !important;
}

.merch-slider-mobile {
  display: block !important;
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}

.merch-track-mobile {
  display: flex;
  gap: 15px;
  transition: transform 0.3s ease;
  will-change: transform;
}

.merch-slide-mobile {
  min-width: 100%;
  flex-shrink: 0;
  background: #ffffff;
  border: 1px solid #ddd;
  padding: 20px;
  text-align: center;
}

.merch-slide-mobile img {
  width: auto !important;
  max-width: 100% !important;
  height: 250px !important;
  object-fit: cover !important;
  object-position: center !important;
  margin-bottom: 15px !important;
  border: 1px solid #ddd;
}

.merch-slider-btn-mobile {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.7);
  border: 1px solid #C21414;
  color: #F7F5F0;
  font-size: 20px;
  cursor: pointer;
  z-index: 5;
  transition: all 0.2s;
}

.merch-slider-btn-mobile:hover {
  background: #C21414;
}

.merch-prev-mobile {
  left: 5px;
}

.merch-next-mobile {
  right: 5px;
}

/* Соцсети: 2 столбца + магазин на всю ширину */
.social-grid {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
}

.social-link:nth-child(9) {
  grid-column: span 2 !important;
}

/* Соцсети на мобилке — 2 столбца, магазин на всю ширину */
.social-grid {
  grid-template-columns: repeat(2, 1fr) !important;
  grid-auto-rows: auto !important;
  gap: 10px !important;
}

.social-link {
  grid-column: auto !important;
  grid-row: auto !important;
  font-size: 12px !important;
  padding: 12px !important;
  white-space: nowrap !important;
}

.social-link:nth-child(9) {
  grid-column: span 2 !important;
}

/* Слайдер — правильный */
.merch-slider-mobile {
  position: relative;
  overflow: hidden !important;
  width: 100%;
}

.merch-track-mobile {
  display: flex !important;
  gap: 0 !important;
  transition: transform 0.4s ease !important;
  width: 100%;
}

.merch-slide-mobile {
  min-width: 100% !important;
  width: 100% !important;
  flex-shrink: 0 !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  min-height: 350px !important;
  padding: 20px !important;
}

/* Кнопка каталога — строго одна строка */
.merch-catalog-btn {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 14px 10px !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
}

.merch-section {
  padding-bottom: 20px !important;
}

.merch-content {
  margin-bottom: 0 !important;
}

/* На мобилке показываем */
.mobile-nav {
  display: flex !important;
}
