/* === Контейнер страницы тура === */
.container-tour{
  max-width:1110px;
  width:100%;
  margin:0 auto;
  padding-left:1px;
  padding-right:1px;
  box-sizing:border-box;
}

/* Унификация карточек */
.container-tour .card{
  max-width:100%;
  margin:1px auto;                  /* внешний отступ по 1px */
  margin-left:1px;
  margin-right:1px;
  border-radius:3px;
  overflow:hidden;
}

/* Внутренние отступы карточек */
.container-tour .card .card-body{
  padding:3px;                      /* внутренние отступы по 3px */
  box-sizing:border-box;
}

/* ===================== ГАЛЕРЕЯ ===================== */
.tour-gallery{ border-radius:3px; overflow:hidden; }

/* Слайды */
.tour-gallery .carousel-item{ height:380px; }
@media (max-width: 991.98px){
  .tour-gallery .carousel-item{ height:260px; }
}
.tour-gallery .carousel-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* моментальное переключение */
.tour-gallery .carousel-item,
.tour-gallery .carousel-item-next,
.tour-gallery .carousel-item-prev,
.tour-gallery .carousel-item-start,
.tour-gallery .carousel-item-end{
  transition:none !important;
}

/* Превью справа (показываются только на десктопе — в Blade стоит d-none d-lg-block) */
.thumbs-wrapper{ position:relative; z-index:1; }
.thumbs-rail{
  max-height:380px;
  overflow:auto;
  scrollbar-width:thin;
  padding:8px;
}
.thumbs-rail .thumb{
  border-radius:3px;
  overflow:hidden;
  cursor:pointer;
  border:2px solid transparent;
  transition:.18s ease;
}
.thumbs-rail .thumb.active{ border-color:#0d6efd; }
.thumbs-rail .thumb img{
  width:100%;
  height:88px;          /* квадратные превью */
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}

/* На мобильной превью не показываем ещё и на всякий случай */
@media (max-width: 991.98px){
  .thumbs-wrapper,
  .thumbs-rail{ display:none !important; }
}

/* ===================== ОПИСАНИЕ ===================== */
.tour-description p{ margin-bottom:.75rem; }
.tour-description ul,
.tour-description ol{ padding-left:1.2rem; margin-bottom:.75rem; }
.tour-description h2,
.tour-description h3{ margin-top:1rem; margin-bottom:.5rem; }

/* ===================== БЛОК ГОСТЕЙ ===================== */
.booking-wrapper{ max-width:96%; width:100%; margin-left:0; }
.booking-row{ display:flex; flex-wrap:nowrap; align-items:stretch; gap:.75rem; }

/* Жёлтая рамка — как просил, не менял */
.guest-field{
  background:#fff;
  border:2px solid #febb02;
  border-radius:.6rem;
  padding:.75rem 1rem;
  min-height:56px;
  display:flex;
  align-items:center;
  gap:.75rem;
  flex:1 1 auto;
  text-decoration:none;
  color:#000;
}
.guest-field:focus{ outline:none; box-shadow:0 0 0 3px rgba(254,187,2,.3); }
.guest-icon{ flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.guest-text{ display:flex; flex-direction:column; line-height:1.25; }
.guest-caret{ margin-left:auto; display:flex; align-items:center; }

.guest-counter-row{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; }
.guest-counter-controls button{ width:2rem; height:2rem; padding:0; }
.child-age-select.is-invalid{ border-color:#dc3545 !important; }

/* ===================== ДАТЫ/ЦЕНЫ ===================== */
#datesPrices .list-group-item{
  background:transparent;
}
#datesPrices .list-group-item > .d-flex{
  align-items:center;
}
#datesPrices .btn{
  white-space:nowrap;
}

/* ===================== МОБИЛЬНАЯ ВЁРСТКА: всё в столбик ===================== */
@media (max-width:576px){
  .booking-wrapper{ max-width:100%; padding-left:.8rem; padding-right:.8rem; }
  .booking-row{ flex-wrap:wrap; }
  .guest-field{ width:100%; }
}

/* Предохранитель от горизонтального скролла из-за картинок */
img{ max-width:100%; height:auto; }

/* --- НЕ ТРОГАЕМ ДРУГОЕ: фикс только для логотипа в шапке --- */
.navbar-brand img{
  height: 40px !important;
  width: auto !important;
  max-width: none !important;   /* перекрываем max-width:100% */
  display: inline-block !important;
  opacity: 1 !important;
}


/* === MOBILE: убрать боковые отступы колонок и карточек внутри .container-tour === */
@media (max-width:576px){
  /* убираем горизонтальные "гаттеры" у строки */
  .container-tour .row.g-3{ --bs-gutter-x: 0 !important; }

  /* убираем паддинги у колонок */
  .container-tour .row.g-3 > [class*="col-"]{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* карточки ровно по ширине контейнера */
  .container-tour .card{
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 6px;
  }

  /* небольшой внутренний отступ для читабельности (кроме галереи) */
  .container-tour .card:not(.tour-gallery) > .card-body{
    padding: 8px 10px !important;
  }

  /* галерея без внутренних полей */
  .container-tour .tour-gallery > .card-body{
    padding: 0 !important;
  }
  
  
}

/* === Обновлённый красивый список отправления === */

.departure-lines {
  font-size: 1.1rem;           /* было .94 — увеличили */
  line-height: 1.45;         /* чуть воздух */
  color: #1f2937;
}

.departure-lines .departure-line-item {
  display: flex;
  align-items: center;
  gap: 8px;                  /* отступ между кружком и текстом */
  margin-bottom: .4rem;
  font-weight: 500;          /* заметнее, но не жирно */
}

/* Красивый залитый круг */
.departure-line-icon {
  width: 10px;
  height: 10px;
  flex-shrink: 0;

  fill: #6c757d;             /* заливка */
  stroke: #6c757d;           /* контур тоже серый */
  stroke-width: 1.5;
  border-radius: 50%;        /* защита для Safari */
  display: inline-block;
  margin-top: 1px;
}

/* На мобиле — чуть меньше, но всё равно читаемо */
@media (max-width: 576px) {
  .departure-lines {
    font-size: 1rem;
    line-height: 1.38;
  }
}


/* === Финальная коррекция размера списка отправления === */

.departure-lines {
  font-size: .98rem !important;    /* компактный размер, не огромный */
  line-height: 1.34 !important;    /* удобное расстояние между строками */
  color: #1f2937 !important;
}

.departure-lines .departure-line-item {
  margin-bottom: .3rem !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;             /* аккуратный отступ от кружка */
}

/* Кружок нормального размера */
.departure-line-icon {
  width: 8px !important;
  height: 8px !important;
  fill: #6c757d !important;
  stroke: #6c757d !important;
  stroke-width: 1 !important;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 1px;
}

/* На мобиле чуть компактнее, но всё читается */
@media (max-width: 576px) {
  .departure-lines {
    font-size: .93rem !important;
    line-height: 1.32 !important;
  }
}

/* === Липкий правый столбец на десктопе (гости + цены) === */
@media (min-width: 992px) {
  .tour-sidebar {
    position: sticky;
    top: 90px;          /* отступ от верха, чтобы не залезало под шапку */
    align-self: flex-start;
    z-index: 10;
  }
}