.holiday-header {
  height: 880px;
  width:100%;
  background-image: var(--bg-desktop);
  background-position:center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: end;
  justify-content: center;
  position:relative;
}

.holiday-header::after {
  content:'';
  position: absolute;
  top:50%;
  left:0;
  right:0;
  bottom:0;
  width: 100%;
  height: 50%;
  opacity: 0.65;
  background: linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgba(15, 15, 15, 0.857703) 48.01%, #000000 100%);
}


.holiday-header-wrapper {
  width: 745px;
  text-align: center;
  margin: 0 auto 135px auto;
  padding: 0 20px;
}

.holiday-header-content {
  position:relative;
  z-index:1;
}

.holiday-header__title {
  font-size: 60px;
  color: white;
  font-weight: 500;
  line-height: normal;
}

.holiday-header__descr {
  margin-top: 12px;
  font-size: 20px;
  color:rgba(255, 255, 255, 0.7);
  font-weight: bold;
}

.holiday-video {
  margin-top: 24px;
}

.holiday-header-video {
     display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: 2px solid white;
    border-radius: 30px;
    
}

.holiday-header-video__icon img {
  width:30px;
  height: 30px;
}

.holiday-header-video__text {
  font-size: 20px;
  font-weight: 500;
  color: white;
}

/* //---------------- ADVNT-SECTION ---------------*/

.advnt-aside {
  margin-top: -75px;
}
.grid-col-4 {
  display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
}

.advnt-aside .grid-item {
  padding:24px 12px;
      border-radius: 20px;
    border: 1px solid rgba(229, 231, 235, 1);
    background: rgba(250, 250, 250, 1);
        text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.advnt-aside .grid-item__icon img {
  width: 50px;
  height: 56px;
}

.advnt-aside .grid-item__text {
  font-size: 18px;
  color:rgba(64, 64, 64, 1);
  font-weight: 600;
}

/* //---------------- CAMP24-SECTION ---------------*/

.camp24-wrapper-horizont .camp24-module {
  justify-content: space-between !important;
  display: flex;
  align-items:center;
  padding: 20px;
}

.camp24-wrapper-horizont {
  margin: 35px auto 0 auto !important;
  border: 2px solid rgba(254, 227, 50, 1) !important;
}

app-camp-booking {
  width: 100% !important;
}

.tw-relative.flex-1 {
  flex:1;
}

/* //---------------- INFO-1-SECTION ---------------*/

.info-1 {
  margin-top:90px;
}

.info-1-title {
  font-size: 40px;
  font-weight: bold;
  color: rgba(0, 0, 0, 1);
  line-height: normal;
}

.block-text {
  font-size: 18px;
  line-height: normal;
  margin-top: 25px;
}

.block-text strong {
  font-size:24px;
}

.info-cards {
  margin-top: 25px;
}

.info-cards .grid-item {
  border-radius: 16px;
    padding: 14px;
    background: var(--color-grey-98, rgba(250, 250, 250, 1));
    box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.15);
}

.info-cards .grid-item__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: bold;
  color:rgba(38, 38, 38, 1);
}

.info-cards .grid-item__icon--arrow {
  display: none;
}

.info-cards .grid-item__icon {
  display: block;
  width: 18px;
  height: 18px;
}

.info-cards .grid-item__image {
    width: 100%;
    height: 185px;
    border-radius: 16px;
    margin-top: 10px;
        overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.info-cards .grid-item__image img {
   width: 100%;
    height: 100%;
    object-fit: cover;
}

.info-cards .grid-item__text {
  font-size: 12px;
  font-weight: 500;
  margin-top: 10px;
  color: rgba(0, 0, 0, 1);
}

/* //---------------- INFO-2-SECTION ---------------*/

.section-info-2 {
  margin-top: 40px;
  margin-bottom: 40px;
}

.section-info-2 .block-text {
  margin-top: 0;
}

.section-info-2 .block-text .title {
    background: #FFDD00;
    border-radius: 50px;
    padding: 30px;
    text-align: center;
    font-weight: bold;
    font-size: 24px;
}

.section-info-2 .block-text ul {
  margin-top: 30px;
  display: flex;
  flex-direction:column;
  gap: 10px;
}

.section-info-2 .block-text ul li {
  position: relative;
  border: 1px solid #FFDD00;
  border-radius: 20px;
  padding: 10px 10px 10px 25px;
  font-weight: bold;
}

.section-info-2 .block-text ul li:after {
  content: '';
  position: absolute;
  top: 18px;
  left: 13px;
  width: 5px;
  height: 5px;
  background: black;
  border-radius: 50%;
}

.grid-col-2 {
  display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.grid-col-2 .image {
  border-radius: 16px;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.grid-col-2 .image img {
  max-width: 100%;
      height: 100%;
    object-fit: cover;
}

/* //---------------- HOLIDAY-FORM-SECTION ---------------*/

.section-mt {
  margin-top: 40px;
}

.section-holiday-form {
  padding: 70px 0;
  background: #FAFAFA;
}

.section-holiday-form  .holiday-form {
  display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.section-holiday-form  .holiday-form .btn-1 {
  padding: 16px 60px;
  font-size: 17px;
  background-color: #FFDD00;
  width: max-content;
}

.holiday-form-wrapper {
  margin: 0 auto;
  padding: 21px 24px;
  background: #FFFFFF;
  border: 0.8px solid  #FFDD00;
  border-radius: 16px;
  max-width: 814px;
}

.holiday-form-wrapper .consultation-text {
  padding: 0;
}

.holiday-form-wrapper .consultation-text strong {
  color:#111827;
  font-size: 20px;
  line-height: normal;
  font-weight: bold;
}

.holiday-form-wrapper .consultation-text p {
  color:#6B7280;
  font-size: 15px;
  line-height: normal;
  font-weight: 500;
}

.holiday-form {
  margin-top: 20px;
}

.holiday-form .consultation-content_form-btn {
  width: auto;
  font-size: 18px;
  color: #111827;
  font-weight: bold;
  padding: 16px 40px;
  background: #FFDD00;
  border-radius: 50px;
}

.holiday-form .consultation-content_form-wrapper {
  width: 100%;
}
.holiday-form .consultation-content_form-wrapper-input {
  background: #F9FAFB;
  border-top: 0.8px solid #E5E7EB;
  border-radius: 50px;
  padding: 16px;
  font-size: 15px;
  color: #111827;
}
.holiday-form .consultation-content_form-wrapper-input::placeholder {
  font-size: 15px;
  color: #9CA3AF80;
}

.holiday-form .consultation-content_form-wrapper .fa-circle-exclamation {
  top: 18px;
}

/* //---------------- OFFERS-SECTION ---------------*/

.section-offers .info-1-title {
  text-align: center;
}

.grid-col-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 40px;
}

.section-offers .grid-col-3 .grid-item {
  padding: 30px;
  background: #FAFAFA;
  box-shadow: 0px 3px 8px 0px #00000026;
  border-radius: 20px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 9;
  gap: 10px;
}

.section-offers .grid-col-3 .grid-item .grid-item__age {
  display: flex;
  align-items: center;
  gap: 8px;
}

.section-offers .grid-col-3 .grid-item .grid-item__age span {
  font-size: 12px;
  color: #262626;
  font-weight: bold;
  line-height: normal;
}

.section-offers .grid-col-3 .grid-item .grid-item__age img {
  width: 16px;
  height: 16px;
}

.section-offers .grid-col-3 .grid-item .grid-item__title {
  font-size: 22px;
  color: #262626;
  font-weight: bold;
  line-height: normal;
}
.section-offers .grid-col-3 .grid-item .grid-item__date {
  color: #000000;
  font-size: 14px;
  font-weight: 500;
  line-height: normal;
}

.section-offers .grid-col-3 .grid-item .grid-item__image {
  border-radius: 20px;
  width: 100%;
  height: 160px;
  overflow: hidden;
}

.section-offers .grid-col-3 .grid-item .grid-item__image img {
  width: 100%;
  height: 100%;
    object-fit: cover;
}

.section-offers .grid-col-3 .grid-item .grid-item__info p {
  color: #000000;
  font-size: 16px;
  font-weight: bold;
  line-height: normal;
}

.section-offers .grid-col-3 .grid-item .grid-item__info ul {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.section-offers .grid-col-3 .grid-item .grid-item__info ul li {
  display: flex;
  gap: 10px;
  font-size: 14px;
}

.section-offers .grid-col-3 .grid-item .grid-item__info ul li svg {
  width: 15px;
  height: 15px;
  margin-top: 3px;
}

.section-offers .grid-col-3 .grid-item .grid-item__info ul li svg .svg-bg {
  fill:#2370a1; 
}

.section-offers .grid-col-3 .grid-item .grid-item__info ul li p {
  font-weight: 500;
  flex:1;
}

.section-offers .grid-col-3 .grid-item .grid-item__more {
  margin: 10px 0;
}

.section-offers .grid-col-3 .grid-item .grid-item__more--btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

/* Добавляем плавный разворот иконки-стрелки при наличии класса active */
.section-offers .grid-col-3 .grid-item .grid-item__more--btn.active .icon {
  transform: rotate(180deg);
}

.section-offers .grid-col-3 .grid-item .grid-item__more--btn .span {
  font-size: 13px;
  font-weight: bold;
}

.section-offers .grid-col-3 .grid-item .grid-item__more--btn .icon {
  width: 30px;
  height: 30px;
  transition: transform 0.3s ease; /* Обеспечивает мягкий разворот стрелки */
}

/* ИСПРАВЛЕНИЕ: Прячем текст и готовим его к плавной анимации в JS */
.section-offers .grid-col-3 .grid-item .grid-item__more--text {
  font-size: 13px;
  max-height: 0; /* Изначально скрываем контент */
  overflow: hidden; /* Запрещаем тексту вылазить наружу */
  transition: max-height 0.3s ease-in-out; /* Плавный выкат списка вниз */
}

.section-offers .grid-col-3 .grid-item .grid-item__more--text ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 13px;
  padding: 0; /* Сбрасываем дефолтные отступы браузера для списков */
  list-style: none; /* Убираем стандартные маркеры, так как ниже делаем свои через :after */
}

.section-offers .grid-col-3 .grid-item .grid-item__more--text ul li {
  position: relative;
  padding-left: 15px;
  font-size: 13px;
  line-height: normal;
}

.section-offers .grid-col-3 .grid-item .grid-item__more--text ul li:after {
  content: '';
  position: absolute;
  top: 7px;
  left: 0;
  width: 5px;
  height: 5px;
  background: black;
  border-radius: 50%;
}


.section-offers .grid-col-3 .grid-item .grid-item__price {
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 20px;
  padding: 14px 10px;
  border: 0.8px solid  #C8C8C8;
  justify-content: space-between;
}

.section-offers .grid-col-3 .grid-item .grid-item__price span {
  color: #323232;
  font-size: 12px;
  line-height: normal;
}

.section-offers .grid-col-3 .grid-item .grid-item__price .price-old {
  color: #808080;
  font-size: 14px;
  font-weight: 500;
  text-decoration: line-through;
   white-space: nowrap;
   margin-left: auto;
}

.section-offers .grid-col-3 .grid-item .grid-item__price .price-new {
  color: #000000;
  font-size: 18px;
  font-weight: bold;
   white-space: nowrap;
}

.section-offers .grid-col-3 .grid-item .grid-item__sub {
    width: 100%;
    font-size: 18px;
    color: #111827;
    font-weight: bold;
    padding: 16px 40px;
    background: #FFDD00;
    border-radius: 50px;
    text-align: center;
}

.section-offers .grid-col-3 .grid-item .grid-item__bottom {
  color: #646464;
  font-size: 12px;
  text-align: center;
}

/* --- ДЕСТКТОПНАЯ ВЕРСИЯ (Больше 768px) --- */
@media (min-width: 769px) {
  /* Изначально прячем все карточки, начиная с 7-й */
  #offers-container:not(.is-expanded) .grid-item:nth-child(n+7) {
    display: none !important;
  }
  
  /* ИСПРАВЛЕНИЕ: Если на ПК карточек 6 или меньше — прячем кнопку */
  #offers-container:not(.is-expanded) .grid-item:nth-child(-n+6):last-child ~ #show-more-btn,
  #offers-container:not(.is-expanded) .grid-item:only-child ~ #show-more-btn {
    display: none !important;
  }
}

/* --- МОБИЛЬНАЯ ВЕРСИЯ (768px) --- */
@media (max-width: 768px) {
  /* Изначально прячем все карточки, начиная с 5-й */
  #offers-container:not(.is-expanded) .grid-item:nth-child(n+5) {
    display: none !important;
  }
  
  /* ИСПРАВЛЕНИЕ: Если на мобилке карточек 4 или меньше — прячем кнопку */
  #offers-container:not(.is-expanded) .grid-item:nth-child(-n+4):last-child ~ #show-more-btn {
    display: none !important;
  }
}

/* --- АНИМАЦИЯ И ПОКАЗ КАРТОЧЕК ПРИ КЛИКЕ --- */
@media (min-width: 769px) {
  #offers-container.is-expanded .grid-item:nth-child(n+7) {
    animation: offersFadeIn 0.4s ease-in-out forwards;
  }
}
@media (max-width: 768px) {
  #offers-container.is-expanded .grid-item:nth-child(n+5) {
    animation: offersFadeIn 0.4s ease-in-out forwards;
  }
}

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




.offers-more-btn {
  display: block;
  width: max-content;
  cursor:pointer;
  margin: 20px auto 0 auto;
    font-size: 18px;
    color: #111827;
    font-weight: bold;
    padding: 16px 40px;
    background: #FFDD00;
    border-radius: 50px;
    text-align: center;
}

/* //---------------- GALLERY-IMAGE-SECTION ---------------*/

.section-gallery {
  padding: 60px 0;
  background: #FAFAFA;
}

.holiday-video-slider {
  max-width: 1350px;
  margin: 0 auto;
}

.video-swiper {
  margin-top: 70px;
  overflow: hidden;
  border-radius: 27px;
}

.video-card {
  background: none;
  padding: 0;
  height: 380px;
}

.video-card:first-child {
  margin-left: 30px;
}

.video-card:last-child {
  margin-right: 30px;
}

.video-card iframe {
  width: 100%;
  height: 100%;
  border-radius: 27px;
  object-fit: cover;
}
.video-preview {
  position: relative;
  cursor: pointer;
  border-radius: 27px;
  overflow: hidden;
  height: 100%;
}
.video-preview img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: 50px;
  height: 50px;
  background-image: url('/assets/img/img/holiday-video-play.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.video-frame {
  display: none;
  height: 100%;
  width: 100%;        /* Четко указываем занять 100% ширины ОДНОГО слайда */
  max-width: 100%;    /* Запрещаем становиться шире одной карточки */
  position: relative; /* Создаем контекст позиционирования */
  overflow: hidden;   /* Прячем все, что пытается вылезти */
}

/* Принудительно зажимаем iframe в рамки родителя */
.video-frame iframe {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important; /* На случай, если Slick пытается его растянуть */
  border: 0;
  border-radius: 27px;
  display: block; /* Убираем лишние строчные отступы */
}

.video-card.is-playing .video-preview {
  display: none;
}

.video-card.is-playing .video-frame {
  display: block;
}
.video-text {
  margin-top: 10px;
  display: block;
  font-family: "Ubuntu";
  font-size: 17px;
  font-weight: 500;
  color: var(--dark-80);
}

/* Отключаем влияние старых флекс-стилей на Slick Slider */
.video-swiper.slick-slider .slick-track {
  display: flex !important; /* Позволяет слайдам корректно вставать в ряд */
  gap: 50px;
}

.holiday-video-slider .slick-dots {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 20px;
  justify-content: center;
}


.holiday-video-slider .slick-dots button {
  font-size: 0;
    width: 27px;
    height: 9px;
    border-radius: 20px;
    background-color: hsla(0, 0%, 51.4%, .8);
    transition-duration: 1s;
    transition-timing-function: ease;
 
}

.holiday-video-slider .slick-dots .slick-active button {
     width: 65px;
    height: 9px;
    border-radius: 20px;
    background-color: rgba(26, 26, 26, .8);
}
   

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  
  /* ИСПРАВЛЕНИЕ: Жестко задаем высоту для первой и второй строки. 
     Теперь они ВСЕГДА будут по 172.5px, а в сумме вместе с gap — ровно 360px */
  grid-template-rows: 300px 300px;
  
  /* Для всех нижних строк (начиная с 3-й) высота остается автоматической */
  grid-auto-rows: auto; 
  gap: 15px;
  margin-top: 20px;
}

.gallery-grid .card-item {
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  
  /* Добавляем min-width и min-height 0, чтобы сбросить 
     внутренние ограничения браузера на размер контента */
  min-height: 0;
  min-width: 0; 
}

.gallery-grid .card-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Первый элемент (А) автоматически займет 172.5 + 15 + 172.5 = 360px */
.gallery-grid .card-item:nth-child(1) {
  grid-column: 1 / 4;
  grid-row: span 2;
  /* Высоту height: 360px отсюда можно убрать, её теперь идеально сформирует Grid */
}

.gallery-grid .card-item:nth-child(2) {
  grid-column: 4 / 7;
  grid-row: 1;
}

.gallery-grid .card-item:nth-child(3) {
  grid-column: 4 / 7;
  grid-row: 2;
}

.gallery-grid .card-item:nth-child(4) {
  grid-column: 7 / 10;
  grid-row: 1;
}

.gallery-grid .card-item:nth-child(5) {
  grid-column: 7 / 10;
  grid-row: 2;
}

/* Нижние маленькие элементы (F, G, H...) */
.gallery-grid .card-item:nth-child(n+6) {
  grid-column: span 1;
  height: 100px; /* Их высота настраивается отдельно и не влияет на верх */
}

/* --- ДЕСТКТОПНАЯ ВЕРСИЯ --- */
@media (min-width: 769px) {
  /* Скрываем всё начиная с 15-го элемента */
  #gallery-container .card-item:nth-child(n+15) {
    display: none !important;
  }
}

/* --- МОБИЛЬНАЯ ВЕРСИЯ --- */
@media (max-width: 750px) {
  /* Скрываем всё начиная с 8-го элемента */
  #gallery-container .card-item:nth-child(n+8) {
    display: none !important;
  }
}

/* --- ОБЩИЙ КЛАСС ДЛЯ ПОКАЗА (Для JS) --- */
#gallery-container .card-item.gallery-visible {
  /* На мобильных элементах восстанавливаем display: block или flex, в зависимости от сетки */
  display: flex !important; 
  animation: galleryFadeIn 0.4s ease-in-out forwards;
}

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


/* //---------------- ABOUT-SECTION ---------------*/

.section-about .info-1-title {
  text-align: center;
}

.section-about__subtitle {
  margin-top: 30px;
  font-size: 18px;
  color:  #404040;
  text-align: center;
}

.section-about__cards {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 30px;
  justify-content: center;
}

.section-about__cards .card-item {
  border-radius: 20px;
  background: #FAFAFA;
  border: 0.8px solid  #E5E7EB;
  padding: 16px;
  text-align: center;
  min-width: 200px;
}

.section-about__cards .card-item span {
  display: block;
  font-wight: bold;
  font-size: 15px;
  color: black;
}

.section-about__cards .card-item p {
  font-size: 12px;
  color: #6B7280;
}

.section-about__map {
  height: 342px;
  width: 100%;
  margin-top: 30px;
  
}

.section-about__map iframe {
  position: static !important;
  border-radius: 20px;
  overflow: hidden;
 box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 8px 0px;
}

.section-about__map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* //---------------- HOLIDAY-FORM-SECTION ---------------*/

.instagram {
  width: 260px;
  margin: 24px auto 0 auto;
  border: 1px solid #E5E7EB;
  box-shadow: 0px 3px 8px 0px #0000004D;
  border-radius: 38px;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.instagram img {
  width: 31.25px;
  height: 31.25px;
}

.instagram span {
  font-size: 20px;
  font-weight: 500;
  color: #000000;
}

.section-instagram .grid-col-4 {
  margin-top: 30px;
}

.section-instagram .grid-col-4 .grid-item img {
  border-radius: 15px;
  overflow: hidden;
  width: 100%;
  height: 412px;
  object-fit: cover;
}

/* //---------------- SCHEDULE-SECTION ---------------*/

.section-schedule .grid-col-2 {
  margin-top: 30px;
}

.section-schedule .grid-col-2 .grid-item {
  background: #FAFAFA;
  box-shadow: 0px 4px 16px 0px #00000026;
  padding: 20px;
  border-radius: 20px;
}

.section-schedule .grid-col-2 .grid-item .grid-item__shift {
  padding: 4px 10px;
  border: 1px solid  #4B66EB;
  background: #EBF0FF;
  font-size: 12px;
  font-weight: bold;
  color: #4B66EB;
  border-radius: 6px;
  display: inline-block;
  margin-bottom: 16px;
}

.section-schedule .grid-col-2 .grid-item .grid-item__text ul {
  margin: 16px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.section-schedule .grid-col-2 .grid-item .grid-item__text ul li {
  position: relative;
  padding-left: 24px;
}

.section-schedule .grid-col-2 .grid-item .grid-item__text ul li::after {
  content:'';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url('/assets/img/img/bus.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.section-schedule .grid-col-2 .grid-item .grid-item__text em {
  font-size: 14px;
  color: #726F67;
}

/* //---------------- FAQ-SECTION ---------------*/

.section-faq .grid-col-2 {
  margin-top: 30px;
}

.section-faq .grid-col-2 .questions-accordion_item-btn {
  right: 0;
}

.section-faq .grid-col-2 .questions-accordion_item-title {
  font-weight: bold;
}

.section-faq .grid-col-2 .questions-accordion_item-subTitle_content {
  color: #6B7280;
}

/* //---------------- CONSULTANTS-SECTION ---------------*/

.section-about .consultants-body {
  margin-top: 30px;
}

@media screen and (max-width:1200px) {
  .section-offers .grid-col-3 .grid-item {
    padding:15px;
  }
  .section-offers .grid-col-3 {
    gap: 15px;
  }
} 


@media screen and (max-width:1000px) {
  .info-1-title {
    font-size: 29px;
  }
  .block-text {
  font-size: 16px;
}

.block-text strong {
  font-size:20px;
}
  .info-cards .grid-col-4 {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .section-offers .grid-col-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}
}

@media screen and (max-width:750px) {
 .holiday-header {
   height: 710px;
   background-image: var(--bg-mobile);
 }
 .holiday-header:after {
   top: 0;
   height: 100%;
   opacity: 0.8;
    background: linear-gradient(360deg, #000000 15.94%, rgba(0, 0, 0, 0) 37.57%);
 }


 .holiday-header-wrapper {
   width: 100%;
   padding: 0 10px;
   margin-bottom: 40px;
   text-align: start;
 }
 .holiday-header__title {
   font-size: 30px;
   font-weight: bold;
 }
 .holiday-video{
   justify-content: left;
 }
  .holiday-header__descr,
  .holiday-header-video__text {
    font-size: 14px;
  }

  .holiday-header-video__icon img {
    width:20px;
    height:20px;
  }
  
  .advnt-aside {
    margin-top: 35px;
  }
  
  .advnt-aside .grid-col-4 {
   display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  
  .advnt-aside .grid-item {
    padding: 12px;
    gap:6px;
  } 
  .advnt-aside .grid-item__icon img {
    width: 36px;
    height: 32px;
  }
  
  .advnt-aside .grid-item__text {
    font-size: 12px;
  }
  
  .info-1 {
  margin-top:50px;
  }
  
  .block-text strong {
  font-size:20px;
}
.info-cards .grid-col-4 {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .info-cards .grid-item {
   padding: 16px 18px 0 18px;
  }
  .grid-item__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.info-cards .grid-item__icon--arrow {
  display: block;
}

.info-cards .grid-item__icon {
  display: block;
  width: 18px;
  height: 18px;
}

.info-cards .grid-item__title span {
  margin-right: auto;
}

 .info-cards .grid-item__image,
 .info-cards   .grid-item__text {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        transition:
            max-height 0.4s ease,
            opacity 0.3s ease,
            visibility 0.3s ease;
            padding-bottom 0.3s ease;
    }
    
    .info-cards .grid-item__image {
      height: 310px;
    }
    
    .info-cards .grid-item__image img {
      border-radius: 20px;
      overflow: hidden;
    }

   .info-cards .grid-item.active .grid-item__image,
   .info-cards .grid-item.active .grid-item__text {
        max-height: 500px;
        opacity: 1;
        visibility: visible;
    }
    .grid-item.active .grid-item__text {
      padding-bottom: 16px;
    }
    
    .section-info-2 .grid-col-2 {
      grid-template-columns: 1fr;
      gap: 28px;
    }
    
    .grid-col-2 .image {
     height: 245px;
    }
    
    .section-holiday-form {
      padding: 0;
    }
    .holiday-form-wrapper {
      padding: 15px;
    }
    .holiday-form-wrapper .consultation-text strong {
      font-size: 15px;
    }
    .holiday-form-wrapper .consultation-text p {
      font-size: 12px;
    }
    
    .holiday-form {
      margin-top: 10px;
    }
    .holiday-form .consultation-content_form-wrapper-input,
    .holiday-form .consultation-content_form-btn {
      padding: 11px;
    font-size: 13px;
    }
    .holiday-form .consultation-content_form-wrapper-input::placeholder {
  font-size: 13px;
}
    .holiday-form .consultation-content_form-wrapper .fa-circle-exclamation {
      top: 13px;
      right: 10px;
    }
    
      .section-offers .grid-col-3 {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}
.section-offers .grid-col-3 .grid-item .grid-item__sub {
  font-size: 16px;
}

.section-offers .grid-col-3 .grid-item .grid-item__price {
    display: grid;
  grid-template-columns: 1fr max-content; 
  grid-template-rows: auto 1fr; 
  gap:0;
  padding: 10px;
}

.section-offers .grid-col-3 .grid-item .grid-item__price span {
   grid-column: 1;               
  grid-row: 1 / 3;   
}

.section-offers .grid-col-3 .grid-item .grid-item__price .price-old {
  grid-column: 2;             
  grid-row: 1;  
}

.section-offers .grid-col-3 .grid-item .grid-item__price .price-new {
  grid-column: 2;             
  grid-row: 2;  
}

.section-offers .grid-col-3 .grid-item .grid-item__price .price-old {
  font-size: 14px;
}
.section-offers .grid-col-3 .grid-item .grid-item__price .price-new {
  font-size: 16px;
}

.offers-more-btn {
  padding: 13px 20px;
  font-size: 14px;
  border: 2px solid #E5E7EB;
  background: white;
  width: 100%;
}
  .gallery-grid {
    /* Перестраиваем сетку на 2 равные колонки */
    grid-template-columns: repeat(2, 1fr) !important;
    /* Сбрасываем фиксированные строки десктопа на автоматические */
    grid-template-rows: auto !important;
    grid-auto-rows: auto !important;
    gap: 10px; /* Уменьшаем отступы для мобильных экранов */
  }

  /* Сбрасываем десктопное позиционирование для ВСЕХ элементов */
  .gallery-grid .card-item,
  .gallery-grid .card-item:nth-child(1),
  .gallery-grid .card-item:nth-child(2),
  .gallery-grid .card-item:nth-child(3),
  .gallery-grid .card-item:nth-child(4),
  .gallery-grid .card-item:nth-child(5),
  .gallery-grid .card-item:nth-child(n+6) {
    grid-column: span 1 !important; /* По умолчанию каждый элемент занимает 1 колонку */
    grid-row: auto !important;       /* Идет друг за другом в обычном порядке */
    height: 126px !important;       /* Устанавливаем базовую высоту 126px */
  }

  /* Особое правило для 7-го элемента (G) */
  .gallery-grid .card-item:nth-child(7) {
    grid-column: 1 / 3 !important;  /* Растягиваем его на всю ширину (с 1 по 3 линию) */
    height: 160px !important;       /* Устанавливаем индивидуальную высоту 160px */
  }
  
  .section-gallery {
  padding: 30px 0;
  background: none;
}

.section-about__subtitle,
.section-about__cards,
.section-about__map {
  margin-top: 10px;
}

.section-about__cards {
  gap: 10px;

}
.section-about__cards .card-item {
  padding: 10px;
  font-size: 13px;
  min-width: 31%;
}

.section-about__map {
  height: 250px;
}

.section-holiday-slider .camp-horizont-slider-item_image {
  height: 200px;
  padding-bottom: 0;
}

.instagram {
  width: 100%;
  justify-content: center;
}

.instagram img {
  width: 25px;
  height: 25px;
}
.instagram span {
  font-size: 16px;
}

.section-instagram .grid-col-4 {
  grid-template-columns: repeat(3, 1fr);
}

.section-instagram .grid-col-4 .grid-item img {
  height: 165px;
}

.section-instagram.section-mt {
  margin-top: 0;
}

.section-schedule .grid-col-2 {
   grid-template-columns: 1fr;
}

.section-faq .grid-col-2 {
  grid-template-columns: 1fr;
  gap: 0;
}

.section-about .consultant {
  display: none;
}

.holiday-video-slider .video-swiper  {
  margin-top: 30px;
}
.video-card {
  height: 240px;
}
.section-info-2 .block-text .title {
  padding: 20px;
  border-radius: 20px;
  font-size: 18px;
}

.section-holiday-form  .holiday-form{
  flex-direction:column;
}
.section-holiday-form  .holiday-form .btn-1 {
  padding: 11px;
  font-size: 15px;
  width: 100%;
  margin-top: 10px;
}
.camp24-wrapper-horizont .camp24-module {
  flex-direction:column;
  gap: 20px;
}
}
@media screen and (max-width:576px) {
  .video-card:first-child {
    margin-left: 10px;
  }
  .video-card:last-child {
    margin-right: 10px;
  }
  
  .video-swiper.slick-slider .slick-track {
    gap: 20px;
}
}