/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/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: #0E0E3E;
  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: #C11910;
  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: #FFFFFF;
  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: rgba(14, 14, 62, 0.05);
  border-radius: 2px;
}

.NearestDatesFilter_datesList__fj9CV::-webkit-scrollbar-thumb {
  background: #C11910;
  border-radius: 2px;
}

.NearestDatesFilter_datesList__fj9CV::-webkit-scrollbar-thumb:hover {
  background: #A01409;
}

.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: #0E0E3E;
  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: rgba(14, 14, 62, 0.05);
}

.NearestDatesFilter_dateItem___954Z.NearestDatesFilter_selected__rBmYC {
  background-color: #C11910;
  color: #FFFFFF;
}

.NearestDatesFilter_dateItem___954Z.NearestDatesFilter_selected__rBmYC:hover {
  background-color: #A01409;
}

/* Адаптивность */
@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 #E6E6F9;
  border-radius: 8px;
  font-family: var(--font-open-sans);
  font-size: 14px;
  color: #0E0E3E;
  background: #FFFFFF;
  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: #C11910;
  box-shadow: 0 2px 8px rgba(193, 25, 16, 0.1);
}

.DateFilter_dateText__zM_6_ {
  flex: 1;
  color: #0E0E3E;
}

.DateFilter_dateInput__DVsy5 .DateFilter_dateText__zM_6_:empty::before {
  content: 'Выберите даты';
  color: #999999;
}

.DateFilter_dateIcon__kzLpU {
  color: #666666;
  transition: color 0.15s ease;
}

.DateFilter_dateInput__DVsy5:hover .DateFilter_dateIcon__kzLpU {
  color: #C11910;
}

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

.DateFilter_offsetControls___aN2v {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #E6E6F9;
  border-radius: 6px;
  background: #FFFFFF;
  min-width: 110px;
  flex: 1;
}

.DateFilter_offsetButton__Awh3n {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  color: #0E0E3E;
  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: rgba(193, 25, 16, 0.1);
}

.DateFilter_offsetButton__Awh3n:active {
  background-color: rgba(193, 25, 16, 0.2);
}

.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: #0E0E3E;
  line-height: 1;
}

.DateFilter_offsetLabel__5FTpP {
  font-family: var(--font-open-sans);
  font-size: 10px;
  font-weight: 400;
  color: #666666;
  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: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

/* Контейнер календаря */
.CalendarPortal_calendarContainer__gz_rN {
  position: absolute;
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(14, 14, 62, 0.2);
  overflow: hidden;
  width: 360px;
  max-width: 95vw;
  height: 600px;
}



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

/* Вертикальный скролл всех месяцев */
.CalendarPortal_calendarScroll__TKt_B {
  flex: 1;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #E6E6F9 #F8F9FF;
  padding: 12px;
}

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

.CalendarPortal_calendarScroll__TKt_B::-webkit-scrollbar-track {
  background: #F8F9FF;
  border-radius: 4px;
}

.CalendarPortal_calendarScroll__TKt_B::-webkit-scrollbar-thumb {
  background: #E6E6F9;
  border-radius: 4px;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}

.CalendarPortal_calendarScroll__TKt_B::-webkit-scrollbar-thumb:hover {
  background: #C11910;
}

/* Месяц в вертикальном скролле */
.CalendarPortal_month__C18Aa {
  margin-bottom: 20px;
  padding: 8px;
  background: transparent;
  border-radius: 12px;
}


/* Заголовок месяца */
.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: 16px;
  font-weight: 600;
  color: #0E0E3E;
  margin: 0;
}

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

.CalendarPortal_weekday__CC2wU {
  font-family: var(--font-open-sans);
  font-size: 12px;
  font-weight: 600;
  color: #666666;
  text-align: center;
  padding: 4px 0;
  background: transparent;
  width: 32px;
  height: 28px;
  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: 14px;
  color: #0E0E3E;
  width: 32px;
  height: 32px;
  line-height: 32px;
  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: rgba(193, 25, 16, 0.1);
  color: #0E0E3E;
}

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

/* Отключенные даты */
.CalendarPortal_day__fQIg6.CalendarPortal_disabled__V9WeI {
  color: #CCCCCC;
  cursor: not-allowed;
  background-color: transparent;
}

/* Выходные дни */
.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1 {
  color: #C11910;
  font-weight: 600;
}

.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1:hover:not(.CalendarPortal_empty__On4y_):not(.CalendarPortal_disabled__V9WeI) {
  background-color: rgba(193, 25, 16, 0.1);
  color: #C11910;
}

/* Выходные дни в диапазоне */
.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1.CalendarPortal_inRange__BeXka {
  background-color: rgba(193, 25, 16, 0.15);
  color: #C11910;
}

/* Выходные дни - начало диапазона */
.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1.CalendarPortal_rangeStart__ZgvlY {
  background-color: #C11910;
  color: #FFFFFF;
  font-weight: 600;
}

/* Выходные дни - конец диапазона */
.CalendarPortal_day__fQIg6.CalendarPortal_holiday__IBvc1.CalendarPortal_rangeEnd__h32fk {
  background-color: #C11910;
  color: #FFFFFF;
  font-weight: 600;
}

.CalendarPortal_day__fQIg6.CalendarPortal_disabled__V9WeI:hover {
  background-color: transparent;
  color: #CCCCCC;
}

/* Начало диапазона */
.CalendarPortal_day__fQIg6.CalendarPortal_rangeStart__ZgvlY {
  background-color: #C11910;
  color: #FFFFFF;
  font-weight: 600;
}

/* Конец диапазона */
.CalendarPortal_day__fQIg6.CalendarPortal_rangeEnd__h32fk {
  background-color: #C11910;
  color: #FFFFFF;
  font-weight: 600;
}

/* Даты в диапазоне */
.CalendarPortal_day__fQIg6.CalendarPortal_inRange__BeXka {
  background-color: rgba(193, 25, 16, 0.05);
  color: #0E0E3E;
}

/* Кнопки действий календаря */
.CalendarPortal_calendarActions__X4Ywv {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 20px;
  background: #F8F9FF;
  border-top: 1px solid #E6E6F9;
}

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

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

.CalendarPortal_cancelButton__8L4pt:hover {
  background: #F5F5F5;
  border-color: #CCCCCC;
}

.CalendarPortal_applyButton__v81Mu:hover:not(:disabled) {
  background: #C11910;
  border-color: #C11910;
  color: #FFFFFF;
}

.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/list/TourFilters.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
/* Контейнер фильтров */
.TourFilters_filtersContainer__wCIGj {
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Заголовок */
.TourFilters_filtersHeader__PQQNw {
  padding-bottom: 16px;
  border-bottom: 1px solid #E6E6F9;
  margin-bottom: 20px;
}

.TourFilters_filtersTitle__NDLH_ {
  font-family: var(--font-pt-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #0E0E3E;
  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, #F8F9FF 0%, #F0F2FF 100%);
  border: 1px solid #E1E5FF;
  box-shadow: 0 2px 8px rgba(14, 14, 62, 0.08), 0 1px 3px rgba(14, 14, 62, 0.04);
  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, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 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: #2A2A5E;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}

.TourFilters_chipRemove__e2jGm {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: rgba(237, 237, 251, 0.8);
  color: #666;
  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: rgba(193, 25, 16, 0.1);
}

/* Контент фильтров */
.TourFilters_filtersContent__bPSNv {
  flex: 1;
  overflow-y: auto;
  padding-right: 4px;
}

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

.TourFilters_filtersContent__bPSNv::-webkit-scrollbar-track {
  background: #F0F0FD;
  border-radius: 2px;
}

.TourFilters_filtersContent__bPSNv::-webkit-scrollbar-thumb {
  background: #C11910;
  border-radius: 2px;
}

.TourFilters_filtersContent__bPSNv::-webkit-scrollbar-thumb:hover {
  background: #A01409;
}

/* Кнопки действий */
.TourFilters_filterActions__Vsma_ {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #E6E6F9;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.TourFilters_applyButton__A4JeP {
  width: 100%;
  padding: 16px 20px;
  background-color: #C11910;
  color: #FFFFFF;
  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: #A01409;
}

.TourFilters_resetButton__x3Ezp {
  width: 100%;
  padding: 12px 20px;
  background-color: transparent;
  color: #666666;
  border: 1px solid #E6E6F9;
  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: 20px;
    padding-top: 16px;
  }
  
  .TourFilters_applyButton__A4JeP {
    padding: 14px 18px;
    font-size: 13px;
  }
  
  .TourFilters_resetButton__x3Ezp {
    padding: 10px 18px;
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .TourFilters_filtersHeader__PQQNw {
    padding-bottom: 12px;
    margin-bottom: 16px;
  }
  
  .TourFilters_filtersTitle__NDLH_ {
    font-size: 16px;
  }
  
  .TourFilters_filterActions__Vsma_ {
    gap: 8px;
    margin-top: 16px;
    padding-top: 12px;
  }
  
  .TourFilters_applyButton__A4JeP {
    padding: 12px 16px;
    font-size: 12px;
    border-radius: 10px;
  }
  
  .TourFilters_resetButton__x3Ezp {
    padding: 8px 16px;
    font-size: 11px;
    border-radius: 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]!./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: #0E0E3E;
}

.ToursList_emptyTitle__dvCZK {
  font-family: var(--font-pt-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: #0E0E3E;
  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: #666666;
  margin: 0;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

/* Адаптивность */
@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;
  }
}
/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/styles/ToursPage.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
/* Основная страница туров */
.ToursPage_main__BtKAM {
  min-height: 100vh;
  background-color: #F0F0FD;
  padding: 0;
}

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

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

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

.ToursPage_pageSubtitle__OeDRZ {
  font-family: var(--font-open-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  color: #555555;
  margin: 0;
}

/* Двухколоночная структура */
.ToursPage_contentWrapper__1k5UU {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 48px;
  align-items: start;
}

/* Левая колонка с фильтрами */
.ToursPage_filtersColumn__KTvjt {
  position: sticky;
  top: 24px;
  background: #FFFFFF;
  border-radius: 20px;
  padding: 32px 24px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* Правая колонка со списком туров */
.ToursPage_toursColumn__g7bsr {
  background: #FFFFFF;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* Адаптивность */
@media (max-width: 1200px) {
  .ToursPage_contentWrapper__1k5UU {
    grid-template-columns: 280px 1fr;
    gap: 32px;
  }
  
  .ToursPage_container__yNlag {
    padding: 32px 16px;
  }
}

@media (max-width: 768px) {
  .ToursPage_contentWrapper__1k5UU {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .ToursPage_filtersColumn__KTvjt {
    position: static;
    order: 2;
    margin-top: 24px;
  }
  
  .ToursPage_toursColumn__g7bsr {
    order: 1;
  }
  
  .ToursPage_pageTitle__XBvks {
    font-size: 32px;
  }
  
  .ToursPage_pageSubtitle__OeDRZ {
    font-size: 16px;
  }
  
  .ToursPage_container__yNlag {
    padding: 24px 16px;
  }
  
  .ToursPage_pageHeader__BtXd7 {
    margin-bottom: 32px;
  }
}

@media (max-width: 480px) {
  .ToursPage_filtersColumn__KTvjt,
  .ToursPage_toursColumn__g7bsr {
    padding: 24px 16px;
    border-radius: 16px;
  }
  
  .ToursPage_pageTitle__XBvks {
    font-size: 28px;
  }
  
  .ToursPage_container__yNlag {
    padding: 16px 12px;
  }
}
