/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./shared/components/common/Breadcrumbs/Breadcrumbs.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.Breadcrumbs_breadcrumbs__qpQ_0 {
  width: 100%;
  padding: 16px 0;
  border-bottom: 1px solid #F0F0F0;
  transition: transform 0.3s ease-in-out;
  transform: translateY(0);
}

.Breadcrumbs_breadcrumbs__qpQ_0.Breadcrumbs_hidden__NB6Lq {
  transform: translateY(-100%);
}

.Breadcrumbs_list__fqGXb {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
}

.Breadcrumbs_item__JgcWj {
  display: flex;
  align-items: center;
  gap: 12px;
}

.Breadcrumbs_link__YkKDC {
  font-family: var(--font-open-sans, 'Open Sans', sans-serif);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.25em;
  color: #949494;
  text-decoration: none;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.Breadcrumbs_link__YkKDC:hover {
  color: #666666;
  text-decoration: underline;
}

.Breadcrumbs_current__H5MhJ {
  font-family: var(--font-open-sans, 'Open Sans', sans-serif);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.25em;
  color: #000000;
  white-space: nowrap;
}

.Breadcrumbs_arrow__t0Iyp {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

/* Responsive */
@media (max-width: 768px) {
  .Breadcrumbs_breadcrumbs__qpQ_0 {
    padding: 12px 0;
  }
  
  .Breadcrumbs_list__fqGXb {
    gap: 8px;
  }
  
  .Breadcrumbs_item__JgcWj {
    gap: 8px;
  }
  
  .Breadcrumbs_link__YkKDC,
  .Breadcrumbs_current__H5MhJ {
    font-size: 12px;
  }
  
  .Breadcrumbs_arrow__t0Iyp {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 480px) {
  .Breadcrumbs_list__fqGXb {
    gap: 6px;
  }
  
  .Breadcrumbs_item__JgcWj {
    gap: 6px;
  }
  
  .Breadcrumbs_link__YkKDC,
  .Breadcrumbs_current__H5MhJ {
    font-size: 11px;
  }
  
  .Breadcrumbs_arrow__t0Iyp {
    width: 14px;
    height: 14px;
  }
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/layout/PageScaffold.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
/* Базовый каркас страницы со стандартной сеткой */
.PageScaffold_main__UGyk6 {
  min-height: 100vh;
  background-color: var(--color-bg-light);
}

.PageScaffold_container__S0X_E {
  max-width: 1440px;
  margin: 0 auto;
  padding: 48px 24px;
}

.PageScaffold_pageHeader___mgAB {
  text-align: center;
  margin-bottom: 48px;
}

.PageScaffold_pageTitle__7UYTA {
  font-family: var(--font-pt-serif);
  font-size: 42px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-text-primary);
  margin: 0 0 20px 0;
}

.PageScaffold_pageSubtitle__XCn5H {
  font-family: var(--font-open-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--color-text-dark-gray);
  margin: 0;
}

.PageScaffold_contentWrapper__jyrx9 {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 48px;
  align-items: start;
}

.PageScaffold_leftColumn__KQJTn {
  position: sticky;
  top: 24px;
  background: var(--color-bg-primary);
  border-radius: 20px;
  padding: 32px 24px;
  box-shadow: 0 4px 16px var(--color-shadow-medium);
}

.PageScaffold_rightColumn__j2Z_E {
  background: var(--color-bg-primary);
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 4px 16px var(--color-shadow-medium);
}

@media (max-width: 1200px) {
  .PageScaffold_contentWrapper__jyrx9 {
    grid-template-columns: 280px 1fr;
    gap: 32px;
  }
  .PageScaffold_container__S0X_E {
    padding: 32px 16px;
  }
}

@media (max-width: 768px) {
  .PageScaffold_contentWrapper__jyrx9 {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .PageScaffold_leftColumn__KQJTn {
    position: static;
    order: 2;
    margin-top: 24px;
  }
  .PageScaffold_rightColumn__j2Z_E {
    order: 1;
  }
  .PageScaffold_pageTitle__7UYTA {
    font-size: 32px;
  }
  .PageScaffold_pageSubtitle__XCn5H {
    font-size: 16px;
  }
  .PageScaffold_container__S0X_E {
    padding: 24px 16px;
  }
  .PageScaffold_pageHeader___mgAB {
    margin-bottom: 32px;
  }
}

@media (max-width: 480px) {
  .PageScaffold_leftColumn__KQJTn,
  .PageScaffold_rightColumn__j2Z_E {
    padding: 24px 16px;
    border-radius: 16px;
  }
  .PageScaffold_pageTitle__7UYTA {
    font-size: 28px;
  }
  .PageScaffold_container__S0X_E {
    padding: 16px 12px;
  }
}



/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/tours/filters/FilterItem.module.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
/* Контейнер фильтра */
.FilterItem_container__E9kDb {
  margin-bottom: 20px;
}

.FilterItem_header__07Zj_ {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  cursor: pointer;
}

.FilterItem_title___dDvl {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0;
  line-height: 1.3;
}

.FilterItem_headerActions__Fha3c {
  display: flex;
  align-items: center;
  gap: 6px;
}

.FilterItem_selectedIndicator__mcCMu {
  width: 16px;
  height: 16px;
  background-color: var(--color-accent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.FilterItem_selectedCount__EAiCO {
  font-family: var(--font-open-sans);
  font-size: 10px;
  font-weight: 600;
  color: var(--color-bg-primary);
  line-height: 1;
}

.FilterItem_chevron__XW9fx {
  transition: transform 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.FilterItem_chevron__XW9fx.FilterItem_expanded__yZhRU {
  transform: rotate(180deg);
}

.FilterItem_content__0WZpT {
  /* Без дополнительных отступов для максимальной компактности */
  display: block;
}

/* Адаптивность */
@media (max-width: 768px) {
  .FilterItem_container__E9kDb {
    margin-bottom: 16px;
  }

  .FilterItem_header__07Zj_ {
    margin-bottom: 10px;
  }

  .FilterItem_title___dDvl {
    font-size: 15px;
  }

  .FilterItem_selectedIndicator__mcCMu {
    width: 14px;
    height: 14px;
  }

  .FilterItem_selectedCount__EAiCO {
    font-size: 9px;
  }
}

@media (max-width: 480px) {
  .FilterItem_container__E9kDb {
    margin-bottom: 14px;
  }

  .FilterItem_header__07Zj_ {
    margin-bottom: 8px;
  }

  .FilterItem_title___dDvl {
    font-size: 14px;
  }

  .FilterItem_selectedIndicator__mcCMu {
    width: 12px;
    height: 12px;
  }

  .FilterItem_selectedCount__EAiCO {
    font-size: 8px;
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/tours/filters/NearestDatesFilter.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************/
/* Список дат */
.NearestDatesFilter_datesList__fj9CV {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 200px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
}

.NearestDatesFilter_datesList__fj9CV::-webkit-scrollbar {
  width: 3px;
}

.NearestDatesFilter_datesList__fj9CV::-webkit-scrollbar-track {
  background: var(--color-brand-primary-rgba-light);
  border-radius: 2px;
}

.NearestDatesFilter_datesList__fj9CV::-webkit-scrollbar-thumb {
  background: var(--color-accent);
  border-radius: 2px;
}

.NearestDatesFilter_datesList__fj9CV::-webkit-scrollbar-thumb:hover {
  background: var(--color-accent-hover);
}

.NearestDatesFilter_dateItem___954Z {
  padding: 8px 10px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-family: var(--font-open-sans);
  font-size: 13px;
  font-weight: 400;
  color: var(--color-text-primary);
  text-align: left;
  cursor: pointer;
  line-height: 1.4;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  transition: background-color 0.15s ease;
}

.NearestDatesFilter_dateItem___954Z input[type="checkbox"] {
  margin: 0;
  margin-top: 2px; /* Выравниваем чекбокс по первой строке текста */
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  align-self: start;
}

.NearestDatesFilter_dateItem___954Z:hover {
  background-color: var(--color-brand-primary-rgba-light);
}

.NearestDatesFilter_dateItem___954Z.NearestDatesFilter_selected__rBmYC {
  background-color: var(--color-accent);
  color: var(--color-bg-primary);
}

.NearestDatesFilter_dateItem___954Z.NearestDatesFilter_selected__rBmYC:hover {
  background-color: var(--color-accent-hover);
}

/* Адаптивность */
@media (max-width: 768px) {
  .NearestDatesFilter_datesList__fj9CV {
    max-height: 180px;
  }

  .NearestDatesFilter_dateItem___954Z {
    font-size: 12px;
    padding: 6px 8px;
  }

  .NearestDatesFilter_dateItem___954Z input[type="checkbox"] {
    width: 12px;
    height: 12px;
    margin-top: 1px;
  }
}

@media (max-width: 480px) {
  .NearestDatesFilter_datesList__fj9CV {
    max-height: 160px;
  }

  .NearestDatesFilter_dateItem___954Z {
    font-size: 11px;
    padding: 5px 6px;
  }

  .NearestDatesFilter_dateItem___954Z input[type="checkbox"] {
    width: 11px;
    height: 11px;
    margin-top: 1px;
  }
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/tours/filters/DateFilter.module.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
/* Контейнер диапазона дат */
.DateFilter_dateRangeContainer__Q8pBZ {
  display: flex;
  align-items: stretch;
  gap: 12px;
}

/* Поле выбора дат */
.DateFilter_dateRangeField___iZrA {
  flex: 1;
  position: relative;
  display: flex;
}

.DateFilter_dateInput__DVsy5 {
  flex: 1;
  padding: 12px 16px;
  border: 1px solid var(--color-border-primary);
  border-radius: 8px;
  font-family: var(--font-open-sans);
  font-size: 14px;
  color: var(--color-text-primary);
  background: var(--color-bg-primary);
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
}

.DateFilter_dateInput__DVsy5:hover {
  border-color: var(--color-accent);
  box-shadow: 0 2px 8px var(--color-accent-light);
}

.DateFilter_dateText__zM_6_ {
  flex: 1;
  color: var(--color-text-primary);
}

.DateFilter_dateInput__DVsy5 .DateFilter_dateText__zM_6_:empty::before {
  content: 'Выберите даты';
  color: var(--color-text-medium-gray);
}

.DateFilter_dateIcon__kzLpU {
  color: var(--color-text-light);
  transition: color 0.15s ease;
}

.DateFilter_dateInput__DVsy5:hover .DateFilter_dateIcon__kzLpU {
  color: var(--color-accent);
}

/* Поле счетчика дней */
.DateFilter_offsetField__NPhlQ {
  flex-shrink: 0;
  display: flex;
}

.DateFilter_offsetControls___aN2v {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--color-border-primary);
  border-radius: 6px;
  background: var(--color-bg-primary);
  min-width: 110px;
  flex: 1;
}

.DateFilter_offsetButton__Awh3n {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: var(--color-text-primary);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.15s ease;
  flex-shrink: 0;
}

.DateFilter_offsetButton__Awh3n:hover:not(:disabled) {
  background-color: var(--color-accent-light);
}

.DateFilter_offsetButton__Awh3n:active {
  background-color: var(--color-accent-light-medium);
}

.DateFilter_offsetButton__Awh3n:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.DateFilter_offsetDisplay__Engxk {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  flex: 1;
  min-width: 0;
}

.DateFilter_offsetValue__C3g9c {
  font-family: var(--font-open-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-primary);
  line-height: 1;
}

.DateFilter_offsetLabel__5FTpP {
  font-family: var(--font-open-sans);
  font-size: 10px;
  font-weight: 400;
  color: var(--color-text-light);
  line-height: 1;
}

/* Адаптивность */
@media (max-width: 768px) {
  .DateFilter_dateRangeContainer__Q8pBZ {
    flex-direction: column;
    gap: 10px;
  }

  .DateFilter_offsetControls___aN2v {
    align-self: flex-start;
    min-width: 100px;
    padding: 8px 10px;
  }

  .DateFilter_dateInput__DVsy5 {
    font-size: 13px;
    padding: 8px 10px;
    min-height: 40px;
  }

  .DateFilter_offsetValue__C3g9c {
    font-size: 13px;
  }

  .DateFilter_offsetLabel__5FTpP {
    font-size: 9px;
  }

  .DateFilter_offsetButton__Awh3n {
    width: 20px;
    height: 20px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .DateFilter_dateRangeContainer__Q8pBZ {
    gap: 8px;
  }

  .DateFilter_offsetControls___aN2v {
    min-width: 90px;
    padding: 6px 8px;
  }

  .DateFilter_dateInput__DVsy5 {
    font-size: 12px;
    padding: 6px 8px;
    min-height: 36px;
  }

  .DateFilter_offsetValue__C3g9c {
    font-size: 12px;
  }

  .DateFilter_offsetLabel__5FTpP {
    font-size: 8px;
  }

  .DateFilter_offsetButton__Awh3n {
    width: 18px;
    height: 18px;
    font-size: 12px;
  }
}


/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/ui/Calendar/CalendarPortal.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
/* Overlay */
.CalendarPortal_overlay__cC_y5 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--color-shadow-overlay);
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

/* Контейнер календаря */
.CalendarPortal_calendarContainer__gz_rN {
  position: absolute;
  background: var(--color-bg-primary);
  border-radius: 16px;
  box-shadow: 0 20px 60px var(--color-brand-primary-rgba-medium);
  overflow: hidden;
  width: 520px; /* расширяем для навигации слева */
  max-width: 95vw;
  height: 560px;
}



.CalendarPortal_calendarContent__Mb_7I {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.CalendarPortal_calendarBody__Hfe9_ {
  display: grid;
  grid-template-columns: 132px 1fr; /* навигация слева + скролл */
  gap: 8px;
  padding: 8px;
  padding-right: 0;
  height: 100%;
  box-sizing: border-box;
}

/* Вертикальный скролл всех месяцев */
.CalendarPortal_calendarScroll__TKt_B {
  flex: 1;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-primary) var(--color-bg-accent);
  padding: 0 8px 8px 0;
}

.CalendarPortal_calendarScroll__TKt_B::-webkit-scrollbar {
  width: 8px;
}

.CalendarPortal_calendarScroll__TKt_B::-webkit-scrollbar-track {
  background: var(--color-bg-accent);
  border-radius: 4px;
}

.CalendarPortal_calendarScroll__TKt_B::-webkit-scrollbar-thumb {
  background: var(--color-border-primary);
  border-radius: 4px;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}

.CalendarPortal_calendarScroll__TKt_B::-webkit-scrollbar-thumb:hover {
  background: var(--color-accent);
}

/* Месяц в вертикальном скролле */
.CalendarPortal_month__C18Aa {
  margin-bottom: 8px; /* меньше расстояние между месяцами справа */
  padding: 4px;
  background: transparent;
  border-radius: 12px;
}
/* Убрали выделение справа */

/* Навигация по месяцам */
.CalendarPortal_monthsNav__mL5u7 {
  display: flex;
  flex-direction: column;
  gap: 1px; /* еще компактнее */
  overflow-y: auto;
  padding-right: 6px;
  position: relative;
  padding-top: 6px; /* небольшой отступ сверху */
}

.CalendarPortal_monthsNavItem__PLdLg {
  width: 100%;
  text-align: left;
  padding: 4px 8px;
  border-radius: 8px;
  border: none; /* убираем рамки */
  background: transparent;
  font-family: var(--font-open-sans);
  font-size: 12px;
  color: var(--color-text-primary);
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.CalendarPortal_monthsNavItem__PLdLg:hover { background: transparent; }

.CalendarPortal_monthsNavItemActive__Lfg0Y { color: var(--color-accent) !important; }

/* Красный кружок у месяцев, где есть выбор (начало/конец) — справа рядом с текстом */
.CalendarPortal_monthsNavItemDot__nVhSR::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 6px;
  border-radius: 50%;
  background: var(--color-accent);
  vertical-align: middle;
}

/* убран левый маркер */

.CalendarPortal_monthsNavHighlight__AqIOL { display: none; }


/* Заголовок месяца */
.CalendarPortal_monthHeader__mEl8J {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 0 8px;
  margin-bottom: 8px;
}

.CalendarPortal_monthHeader__mEl8J h3 {
  font-family: var(--font-open-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0;
}

/* Дни недели */
.CalendarPortal_weekdays__a9Uxf {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  margin-bottom: 8px;
}

.CalendarPortal_weekday__CC2wU {
  font-family: var(--font-open-sans);
  font-size: 11px;
  font-weight: 600;
  color: var(--color-text-light);
  text-align: center;
  padding: 4px 0;
  background: transparent;
  width: 28px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Сетка дней */
.CalendarPortal_daysGrid___nKxu {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}

/* День */
.CalendarPortal_day__fQIg6 {
  font-family: var(--font-open-sans);
  font-size: 13px;
  color: var(--color-text-primary);
  width: 28px;
  height: 28px;
  line-height: 28px;
  margin: 0;
  border-radius: 6px;
  transition: all 0.15s ease;
  text-align: center;
  cursor: pointer;
  position: relative;
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.CalendarPortal_day__fQIg6:hover:not(.CalendarPortal_empty__On4y_):not(.CalendarPortal_disabled__V9WeI) {
  background-color: var(--color-accent-light);
  color: var(--color-text-primary);
}

/* Пустые ячейки */
.CalendarPortal_day__fQIg6.CalendarPortal_empty__On4y_ {
  cursor: default;
  background-color: transparent;
}

/* Отключенные даты */
.CalendarPortal_day__fQIg6.CalendarPortal_disabled__V9WeI {
  color: var(--color-border-light);
  cursor: not-allowed;
  background-color: transparent;
}

/* Выходные дни */
.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1 {
  color: var(--color-accent);
  font-weight: 600;
}

.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1:hover:not(.CalendarPortal_empty__On4y_):not(.CalendarPortal_disabled__V9WeI) {
  background-color: var(--color-accent-light);
  color: var(--color-accent);
}

/* Выходные дни в диапазоне */
.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1.CalendarPortal_inRange__BeXka {
  background-color: var(--color-accent-medium);
  color: var(--color-accent);
}

/* Выходные дни - начало диапазона */
.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1.CalendarPortal_rangeStart__ZgvlY {
  background-color: transparent;
  border: 2px solid var(--color-accent);
  color: var(--color-accent);
  font-weight: 700;
}

/* Выходные дни - конец диапазона */
.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1.CalendarPortal_rangeEnd__h32fk {
  background-color: transparent;
  border: 2px solid var(--color-accent);
  color: var(--color-accent);
  font-weight: 700;
}

.CalendarPortal_day__fQIg6.CalendarPortal_disabled__V9WeI:hover {
  background-color: transparent;
  color: var(--color-border-light);
}

/* Начало диапазона */
.CalendarPortal_day__fQIg6.CalendarPortal_rangeStart__ZgvlY {
  background-color: transparent;
  border: 2px solid var(--color-accent);
  color: inherit;
  font-weight: 600;
}

/* Конец диапазона */
.CalendarPortal_day__fQIg6.CalendarPortal_rangeEnd__h32fk {
  background-color: transparent;
  border: 2px solid var(--color-accent);
  color: inherit;
  font-weight: 600;
}

/* Даты в диапазоне */
.CalendarPortal_day__fQIg6.CalendarPortal_inRange__BeXka {
  background-color: var(--color-accent-very-light);
  color: var(--color-text-primary);
}

/* Кнопки действий календаря */
.CalendarPortal_calendarActions__X4Ywv {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 12px 20px;
  background: var(--color-bg-accent);
  border-top: 1px solid var(--color-border-primary);
}

.CalendarPortal_actionButtons__k0_oz {
  display: flex;
  gap: 12px;
}

.CalendarPortal_cancelButton__8L4pt,
.CalendarPortal_applyButton__v81Mu {
  padding: 10px 16px;
  border: 1px solid var(--color-border-primary);
  border-radius: 8px;
  font-family: var(--font-open-sans);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  min-width: 100px;
}

.CalendarPortal_cancelButton__8L4pt:hover {
  background: var(--color-bg-light-gray);
  border-color: var(--color-border-light);
}

.CalendarPortal_applyButton__v81Mu:hover:not(:disabled) {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-bg-primary);
}

.CalendarPortal_applyButton__v81Mu:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Адаптивность */
@media (max-width: 1024px) {
  .CalendarPortal_calendarContainer__gz_rN {
    width: 320px;
    height: 80vh;
  }

  .CalendarPortal_calendarScroll__TKt_B {
    padding: 10px;
  }

  .CalendarPortal_month__C18Aa {
    margin-bottom: 16px;
    padding: 6px;
  }

  .CalendarPortal_day__fQIg6 {
    width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 13px;
  }

  .CalendarPortal_weekday__CC2wU {
    width: 28px;
    height: 24px;
    font-size: 11px;
  }

  .CalendarPortal_daysGrid___nKxu {
    gap: 2px;
  }
}

@media (max-width: 768px) {
  .CalendarPortal_calendarContainer__gz_rN {
    width: 95vw;
    height: 85vh;
  }

  .CalendarPortal_calendarScroll__TKt_B {
    padding: 8px;
  }

  .CalendarPortal_month__C18Aa {
    margin-bottom: 14px;
    padding: 6px;
  }

  .CalendarPortal_monthHeader__mEl8J h3 {
    font-size: 14px;
  }

  .CalendarPortal_day__fQIg6 {
    width: 26px;
    height: 26px;
    line-height: 26px;
    font-size: 12px;
  }

  .CalendarPortal_weekday__CC2wU {
    width: 26px;
    height: 22px;
    font-size: 10px;
  }

  .CalendarPortal_calendarActions__X4Ywv {
    padding: 12px 16px;
  }

  .CalendarPortal_cancelButton__8L4pt,
  .CalendarPortal_applyButton__v81Mu {
    padding: 8px 12px;
    font-size: 13px;
    min-width: 80px;
  }
}

@media (max-width: 480px) {
  .CalendarPortal_calendarContainer__gz_rN {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
  }

  .CalendarPortal_calendarScroll__TKt_B {
    padding: 6px;
  }

  .CalendarPortal_month__C18Aa {
    margin-bottom: 12px;
    padding: 4px;
  }

  .CalendarPortal_monthHeader__mEl8J h3 {
    font-size: 13px;
  }

  .CalendarPortal_weekdays__a9Uxf {
    margin-bottom: 8px;
  }

  .CalendarPortal_day__fQIg6 {
    width: 24px;
    height: 24px;
    line-height: 24px;
    font-size: 11px;
  }

  .CalendarPortal_weekday__CC2wU {
    width: 24px;
    height: 20px;
    font-size: 9px;
    padding: 3px 0;
  }

  .CalendarPortal_daysGrid___nKxu {
    gap: 2px;
  }

  .CalendarPortal_calendarActions__X4Ywv {
    padding: 12px 16px;
  }

  .CalendarPortal_cancelButton__8L4pt,
  .CalendarPortal_applyButton__v81Mu {
    padding: 8px 12px;
    font-size: 12px;
    min-width: 80px;
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/tours/filters/budget/BudgetFilter.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.BudgetFilter_footerRow__AGbwE {
  display: flex;
  gap: 8px;
}

.BudgetFilter_currencySection__J0Q8_ {
  margin-bottom: 12px;
}

.BudgetFilter_currencyLabel__S5so9 {
  font-family: var(--font-open-sans);
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 8px;
}

.BudgetFilter_currencyButtons__eJ_Bc {
  display: flex;
  gap: 8px;
}

.BudgetFilter_currencyButton__Tp03F {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--color-border-primary);
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  font-family: var(--font-open-sans);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.BudgetFilter_currencyButtonActive__EMCN0 {
  border: 2px solid var(--color-accent);
  background: var(--color-accent);
  color: var(--color-bg-primary);
}

.BudgetFilter_inputsRow__sWGoZ {
  display: flex;
  gap: 8px;
  align-items: center;
}

.BudgetFilter_inputWrap__TnAmL { flex: 1; }

.BudgetFilter_input__E97vF {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--color-border-primary);
  border-radius: 6px;
  font-family: var(--font-open-sans);
  font-size: 13px;
  color: var(--color-text-primary);
  background: var(--color-bg-primary);
}

.BudgetFilter_sep__9GoDX {
  font-family: var(--font-open-sans);
  font-size: 12px;
  color: var(--color-text-light);
}

.BudgetFilter_sliderContainer__mGaZg {
  margin-top: 8px;
  width: 100%;
  overflow: hidden;
  display: block;
  /* Внутренние отступы, чтобы ползунки не выходили за край блока */
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
}

/* Подгоняем внутренние элементы слайдера под контейнер фильтра */
.BudgetFilter_sliderContainer__mGaZg .rangeSlider {
  width: 100%;
}

.BudgetFilter_sliderContainer__mGaZg .track {
  width: 100%;
}

.BudgetFilter_footerButton__e_fF0,
.BudgetFilter_applyButton__QWn5c {
  padding: 4px 10px;
  border: 1px solid var(--color-border-primary);
  border-radius: 4px;
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  font-family: var(--font-open-sans);
  font-size: 11px;
  cursor: pointer;
}

.BudgetFilter_applyButton__QWn5c {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: var(--color-bg-primary);
  font-weight: 600;
}



/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/ui/RangeSlider/RangeSlider.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
.RangeSlider_rangeSlider__jAS_9 {
  width: 100%;
  padding: 8px 0;
}

.RangeSlider_track__eXJRt {
  position: relative;
  height: 4px;
  background: var(--color-border-primary);
  border-radius: 2px;
  cursor: pointer;
}

.RangeSlider_activeTrack__Asyyx {
  position: absolute;
  top: 0;
  height: 100%;
  background: var(--color-accent);
  border-radius: 2px;
  transition: all 0.15s ease;
}

.RangeSlider_thumb__gmY8Y {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  background: var(--color-bg-primary);
  border: 2px solid var(--color-accent);
  border-radius: 50%;
  cursor: grab;
  transition: all 0.15s ease;
  box-shadow: 0 2px 4px var(--color-brand-primary-rgba-medium);
}

.RangeSlider_thumb__gmY8Y:hover {
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 4px 8px var(--color-brand-primary-rgba-medium);
}

.RangeSlider_thumbActive__7CSwM {
  transform: translate(-50%, -50%) scale(1.2);
  cursor: grabbing;
  box-shadow: 0 4px 12px var(--color-accent-shadow);
}

/* Mobile styles */
@media (max-width: 768px) {
  .RangeSlider_thumb__gmY8Y {
    width: 20px;
    height: 20px;
  }
  
  .RangeSlider_track__eXJRt {
    height: 6px;
  }
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/tours/filters/tour-type/TourTypeFilter.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Список типов туров */
.TourTypeFilter_typesList___viKs {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.TourTypeFilter_typeItem__JOZ9x {
  padding: 8px 10px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-family: var(--font-open-sans);
  font-size: 13px;
  font-weight: 400;
  color: var(--color-text-primary);
  text-align: left;
  cursor: pointer;
  line-height: 1.4;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  transition: background-color 0.15s ease;
}

.TourTypeFilter_typeItem__JOZ9x input[type="checkbox"] {
  margin: 0;
  margin-top: 2px; /* Выравниваем чекбокс по первой строке текста */
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  align-self: start;
}

.TourTypeFilter_typeItem__JOZ9x:hover {
  background-color: var(--color-brand-primary-rgba-light);
}

.TourTypeFilter_typeItem__JOZ9x.TourTypeFilter_selected__KIzGs {
  background-color: var(--color-accent);
  color: var(--color-bg-primary);
}

.TourTypeFilter_typeItem__JOZ9x.TourTypeFilter_selected__KIzGs:hover {
  background-color: var(--color-accent-hover);
}

.TourTypeFilter_childrenContainer__STi_p {
  margin-left: 20px;
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* Адаптивность */
@media (max-width: 768px) {
  .TourTypeFilter_typeItem__JOZ9x {
    font-size: 12px;
    padding: 6px 8px;
  }

  .TourTypeFilter_typeItem__JOZ9x input[type="checkbox"] {
    width: 12px;
    height: 12px;
    margin-top: 1px;
  }

  .TourTypeFilter_childrenContainer__STi_p {
    margin-left: 16px;
  }
}

@media (max-width: 480px) {
  .TourTypeFilter_typeItem__JOZ9x {
    font-size: 11px;
    padding: 5px 6px;
  }

  .TourTypeFilter_typeItem__JOZ9x input[type="checkbox"] {
    width: 11px;
    height: 11px;
    margin-top: 1px;
  }

  .TourTypeFilter_childrenContainer__STi_p {
    margin-left: 12px;
  }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/tours/list/TourFilters.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
/* Контейнер фильтров */
.TourFilters_filtersContainer__wCIGj {
  width: 100%;
  display: flex;
  flex-direction: column;
  /* Делает блок фильтров независимым скроллом в пределах экрана */
  position: sticky;
  top: 0;
  max-height: 100vh;
  overflow: hidden; /* скролл будет у контента между шапкой и футером */
}

/* Заголовок */
.TourFilters_filtersHeader__PQQNw {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border-primary);
  margin-bottom: 20px;
  position: sticky;
  top: 0;
  background: var(--color-bg-primary);
  z-index: 1;
}

.TourFilters_filtersTitle__NDLH_ {
  font-family: var(--font-pt-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-text-primary);
  margin: 0;
}

/* Выбранные опции (чипсы) */
.TourFilters_selectedChips__W_Oej {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.TourFilters_chip___KJTI {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--color-bg-accent) 0%, var(--color-bg-accent) 100%);
  border: 1px solid var(--color-border-primary);
  box-shadow: 0 2px 8px var(--color-brand-primary-rgba-light), 0 1px 3px var(--color-brand-primary-rgba-light);
  opacity: 0;
  transform: translateY(8px) scale(0.95);
  transition: all var(--anim-duration-enter) var(--anim-ease-premium);
  -webkit-transition: all var(--anim-duration-enter) var(--anim-ease-premium);
  -webkit-transform: translateY(8px) scale(0.95);
  position: relative;
  overflow: hidden;
}

.TourFilters_chip___KJTI::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, var(--color-white-rgba-light) 0%, var(--color-white-rgba-light) 100%);
  border-radius: 20px;
  pointer-events: none;
}

.TourFilters_chip___KJTI.TourFilters_visible__c4lVu {
  opacity: 1;
  transform: translateY(0) scale(1);
  -webkit-transform: translateY(0) scale(1);
}



.TourFilters_chipLabel__f8i5s {
  font-family: var(--font-open-sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-primary);
  line-height: 1.2;
  position: relative;
  z-index: 1;
}

.TourFilters_chipRemove__e2jGm {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: var(--color-bg-light);
  color: var(--color-text-light);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  transition: all 0.2s ease;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(4px);
}

.TourFilters_chipRemove__e2jGm:active {
  background: var(--color-accent-light);
}

/* Контент фильтров */
.TourFilters_filtersContent__bPSNv {
  flex: 1;
  /* Внутренний скролл между шапкой и футером */
  overflow-y: auto;
  min-height: 0;
  padding-right: 8px;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  /* Отступ снизу, чтобы последний фильтр не прятался за футером */
  padding-bottom: 88px;
  /* Скрываем полосу прокрутки, оставляя прокрутку активной */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge legacy */
}

/* Кастомная полоса прокрутки */
.TourFilters_filtersContent__bPSNv::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.TourFilters_filtersContent__bPSNv::-webkit-scrollbar-track { background: transparent; }
.TourFilters_filtersContent__bPSNv::-webkit-scrollbar-thumb { background: transparent; }
.TourFilters_filtersContent__bPSNv::-webkit-scrollbar-thumb:hover { background: transparent; }

/* Кнопки действий */
.TourFilters_filterActions__Vsma_ {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--color-border-primary);
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: sticky;
  bottom: 0;
  background: var(--color-bg-primary);
  z-index: 1;
  /* Высота секции около 80-90px; оставляем тень для читаемости */
  box-shadow: 0 -8px 16px rgba(0,0,0,0.04);
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
}

.TourFilters_applyButton__A4JeP {
  width: 100%;
  padding: 16px 20px;
  background-color: var(--color-accent);
  color: var(--color-bg-primary);
  border: none;
  border-radius: 12px;
  font-family: var(--font-open-sans);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.TourFilters_applyButton__A4JeP:active {
  background-color: var(--color-accent-hover);
}

.TourFilters_resetButton__x3Ezp {
  width: 100%;
  padding: 12px 20px;
  background-color: transparent;
  color: var(--color-text-light);
  border: 1px solid var(--color-border-primary);
  border-radius: 8px;
  font-family: var(--font-open-sans);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}


/* Адаптивность */
@media (max-width: 768px) {
  .TourFilters_filtersTitle__NDLH_ {
    font-size: 18px;
  }
  
  .TourFilters_filterActions__Vsma_ {
    margin-top: 16px;
    padding-top: 12px;
  }
  
  .TourFilters_applyButton__A4JeP {
    padding: 16px 18px;
    font-size: 14px;
  }
  
  .TourFilters_resetButton__x3Ezp {
    padding: 12px 18px;
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .TourFilters_filtersHeader__PQQNw {
    padding-bottom: 12px;
    margin-bottom: 16px;
  }
  
  .TourFilters_filtersTitle__NDLH_ {
    font-size: 16px;
  }
  
  .TourFilters_filterActions__Vsma_ {
    gap: 10px;
    margin-top: 12px;
    padding-top: 10px;
  }
  
  .TourFilters_applyButton__A4JeP {
    padding: 14px 16px;
    font-size: 13px;
    border-radius: 10px;
  }
  
  .TourFilters_resetButton__x3Ezp {
    padding: 10px 16px;
    font-size: 12px;
    border-radius: 6px;
  }
  
  .TourFilters_filtersContent__bPSNv {
    padding-bottom: calc(100px + env(safe-area-inset-bottom));
  }
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./shared/ui/CruiseCardStyles.module.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
.CruiseCardStyles_cardLink__a3T_f {
  text-decoration: none;
  color: inherit;
  display: block;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.CruiseCardStyles_cardLink__a3T_f:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.CruiseCardStyles_card__Jqn7Q {
  width: 335px;
  border-radius: 10px;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* stretch footer to bottom when heights equalized */
  flex: 0 0 335px; /* prevent flex shrink/grow; keep fixed width */
  border: 1px solid #C9C9F3; /* Figma stroke */
  overflow: hidden;
  padding-bottom: 44px; /* Figma inner padding bottom */
}

/* No hover elevation in the Figma spec */

.CruiseCardStyles_photoWrap__QH0fZ { 
  position: relative;
  width: 100%; 
  aspect-ratio: 335 / 188;
  overflow: hidden; 
}

.CruiseCardStyles_photo__POWRj { 
  width: 100%; 
  height: 100%; 
  -o-object-fit: cover; 
     object-fit: cover; 
}

.CruiseCardStyles_photoPlaceholder__pyQUM {
  width: 100%;
  height: 100%;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font: 500 14px/1.25 var(--font-open-sans);
}

.CruiseCardStyles_pageControl__TqxxC {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 18px;
}

.CruiseCardStyles_pageControl__TqxxC span {
  width: 6px;
  height: 6px;
  background: #EEEEEE;
  border-radius: 999px;
}

.CruiseCardStyles_pageControl__TqxxC .CruiseCardStyles_pageActive____9It {
  width: 13px;
  height: 8px;
  background: #FFFFFF;
  border-radius: 12.727272px;
}

.CruiseCardStyles_body__23aXv {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 0 44px 0; /* match Figma horizontal padding */
  margin-top: 24px; /* 24px gap from image to content */
}

.CruiseCardStyles_title__GcKtm { 
  font: 700 16px/1.25 var(--font-open-sans); 
  color: #0D0D0D; 
  text-align: center;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  margin: 0;
}

.CruiseCardStyles_activityIcons__EaSSD {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin: 16px 0;
}

.CruiseCardStyles_activityIcons__EaSSD img {
  width: 32px;
  height: 32px;
  -o-object-fit: contain;
     object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.8;
}

.CruiseCardStyles_dateSection__eF8qp {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.CruiseCardStyles_departRow__xuM6h {
  display: flex;
  align-items: center;
  gap: 8px;
}

.CruiseCardStyles_calendarIcon__yOpjD {
  display: inline-flex;
  width: 12px;
  height: 14px;
  align-items: center;
  justify-content: center;
}

.CruiseCardStyles_departLabel__EwJ_K {
  font: 600 14px/1.25 var(--font-open-sans);
  color: #0D0D0D;
}

.CruiseCardStyles_datePrimary__M_DVN {
  font: 500 16px/1.25 var(--font-open-sans);
  color: #292929;
}

.CruiseCardStyles_dateSecondary__7ribE {
  font: 500 14px/1.25 var(--font-open-sans);
  color: #0D0D0D;
}

.CruiseCardStyles_moreDates__kHdiT {
  background: #E6E6F9;
  border-radius: 2px;
  border: none;
  color: #000000;
  font: 500 14px/1.25 var(--font-open-sans);
  cursor: pointer;
  padding: 8px 16px;
  width: 100%;
  box-sizing: border-box;
}

.CruiseCardStyles_footerRow__QqJTL { 
  display: flex; 
  flex-direction: column;
  align-items: center; 
  gap: 13px;
  padding: 0 44px;
  margin-top: auto; /* push footer to bottom when equal heights */
}

.CruiseCardStyles_price__TtXI8 { 
  font: 600 18px/1.25 var(--font-open-sans);
  color: #0D0D0D;
  display: inline-block;
  text-align: center;
}

.CruiseCardStyles_moreBtn__zjvtc { 
  background: #1D1D7C;
  color: #FFF; 
  width: 247px;
  height: 56px;
  border-radius: 2px;
  font: 400 18px/1.25 var(--font-open-sans);
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0;
}

.CruiseCardStyles_moreBtn__zjvtc:hover {
  background: #122A41;
}

@media (max-width: 768px) {
  .CruiseCardStyles_card__Jqn7Q {
    width: min(335px, 92vw);
    height: auto; /* allow content to define height */
    padding-bottom: 24px;
  }
  .CruiseCardStyles_body__23aXv {
    padding: 0 24px 0;
    margin-top: 16px;
  }
  .CruiseCardStyles_footerRow__QqJTL {
    padding: 0 24px;
  }
  .CruiseCardStyles_moreBtn__zjvtc {
    width: 100%;
    height: 52px;
  }
  .CruiseCardStyles_activityIcons__EaSSD {
    gap: 30px;
  }
  .CruiseCardStyles_activityIcons__EaSSD img {
    width: 28px;
    height: 28px;
  }
}

@media (max-width: 420px) {
  .CruiseCardStyles_card__Jqn7Q {
    width: min(335px, 94vw);
  }
}

/* fixed size on all breakpoints per Figma */

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[5].use[3]!./src/components/tours/list/ToursList.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/* Сетка туров */
.ToursList_toursGrid__AGqFF {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.ToursList_tourCard__OmZr_ {
  width: 100%;
}

/* Состояние "пусто" */
.ToursList_emptyState__SMn5B {
  text-align: center;
  padding: 60px 20px;
  color: var(--color-text-primary);
}

.ToursList_emptyTitle__dvCZK {
  font-family: var(--font-pt-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-text-primary);
  margin: 0 0 16px 0;
}

.ToursList_emptyText__as6JM {
  font-family: var(--font-open-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-text-light);
  margin: 0;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

/* Сортировка */
.ToursList_sortBar__ojXX_ {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.ToursList_sortLabel__xBrRT {
  font-family: var(--font-open-sans);
  font-size: 14px;
  color: var(--color-text-light);
}

.ToursList_sortOption__m47_x {
  padding: 6px 10px;
  border: 1px solid var(--color-border-primary);
  background: var(--color-bg-primary);
  border-radius: 8px;
  font-family: var(--font-open-sans);
  font-size: 13px;
  color: var(--color-text-primary);
  cursor: pointer;
}

.ToursList_sortOption__m47_x:hover {
  border-color: var(--color-accent);
}

.ToursList_sortActive__B2q9P {
  background: var(--color-accent);
  color: var(--color-bg-primary);
  border-color: var(--color-accent);
}

/* Состояния загрузки */
.ToursList_loadingState__0StIJ,
.ToursList_loadingMoreState__wW_TF {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: var(--color-text-light);
}

.ToursList_loadingSpinner__Z4yQN {
  width: 32px;
  height: 32px;
  border: 3px solid var(--color-border-primary);
  border-top: 3px solid var(--color-accent);
  border-radius: 50%;
  animation: ToursList_spin__CPk_e 1s linear infinite;
  margin-bottom: 16px;
}

@keyframes ToursList_spin__CPk_e {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.ToursList_loadingState__0StIJ p,
.ToursList_loadingMoreState__wW_TF p {
  font-family: var(--font-open-sans);
  font-size: 16px;
  font-weight: 400;
  margin: 0;
}

/* Состояние ошибки */
.ToursList_errorState__3jdZ5 {
  text-align: center;
  padding: 60px 20px;
  color: var(--color-text-primary);
}

.ToursList_errorTitle__IE4uk {
  font-family: var(--font-pt-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-accent);
  margin: 0 0 16px 0;
}

.ToursList_errorText__QuNXj {
  font-family: var(--font-open-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-text-light);
  margin: 0 0 24px 0;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.ToursList_retryButton__TfsWB {
  padding: 12px 24px;
  background: var(--color-accent);
  color: var(--color-bg-primary);
  border: none;
  border-radius: 8px;
  font-family: var(--font-open-sans);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.ToursList_retryButton__TfsWB:hover {
  background: var(--color-accent-hover);
}


/* Sentinel элемент для бесконечной прокрутки */
.ToursList_sentinel__6OACy {
  height: 1px;
  width: 100%;
}

/* Кнопка "Загрузить еще" */
.ToursList_loadMoreContainer__Qnhg6 {
  display: flex;
  justify-content: center;
  padding: 32px 20px;
}

.ToursList_loadMoreButton__exyX3 {
  padding: 12px 32px;
  background: var(--color-bg-primary);
  color: var(--color-accent);
  border: 2px solid var(--color-accent);
  border-radius: 8px;
  font-family: var(--font-open-sans);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.ToursList_loadMoreButton__exyX3:hover:not(:disabled) {
  background: var(--color-accent);
  color: var(--color-bg-primary);
}

.ToursList_loadMoreButton__exyX3:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Адаптивность */
@media (max-width: 1024px) {
  .ToursList_toursGrid__AGqFF {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .ToursList_toursGrid__AGqFF {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .ToursList_emptyState__SMn5B {
    padding: 40px 16px;
  }
  
  .ToursList_emptyTitle__dvCZK {
    font-size: 20px;
  }
  
  .ToursList_emptyText__as6JM {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .ToursList_toursGrid__AGqFF {
    gap: 16px;
  }
  
  .ToursList_emptyState__SMn5B {
    padding: 32px 12px;
  }
}

