@media screen and (max-width:575px) {
  .range-date-selector-modal {
    --modal-padding-bottom: 0
  }
}

.range-date-selector-modal__subtitle {
  color: var(--color-text);
  font-size: 18px;
  font-weight: 600;
  line-height: 120%;
  margin-bottom: 24px
}

.range-date-selector-modal__calendar {
  --calendar-button-size: 42px;
  --calendar-max-width: 420px
}

@media screen and (min-width:576px) {
  .range-date-selector-modal__calendar {
    max-width: var(--calendar-max-width);
    width: 100%
  }
}

.range-date-selector-modal__calendar .as-calendar__day-button {
  flex-direction: column;
  gap: 5%
}

.range-date-selector-modal__calendar .as-calendar__day {
  height: auto;
  padding-top: 14.2857142857%;
  width: 14.2857142857%
}

.range-date-selector-modal__actions {
  margin-left: calc(var(--modal-padding-left-sm)*-1);
  margin-right: calc(var(--modal-padding-left-sm)*-1);
  margin-top: 24px
}

@media screen and (min-width:576px) {
  .range-date-selector-modal__actions {
    margin-left: -8px !important;
    margin-right: -8px !important
  }

  .range-date-selector-modal__actions>.as-col {
    padding: 0 8px
  }
}

@media screen and (max-width:575px) {
  .range-date-selector-modal__button {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
  }
}

body {
  --date-select-item-font-size: var(--base-font-size);
  --date-select-item-font-weight: 600
}

.tour-date-select {
  --input-v1-shifted-label-transform: none;
  --input-v1-content-padding-top: 16px
}

.tour-date-select__item {
  align-items: center;
  display: flex
}

.tour-date-select__item-body {
  display: flex;
  flex-grow: 1;
  flex-wrap: wrap
}

.tour-date-select__item-date {
  font-size: var(--date-select-item-font-size);
  font-weight: var(--date-select-item-font-weight)
}

.tour-date-select__item-date--individual {
  color: var(--color-accent-500)
}

.tour-date-select__item-price {
  font-weight: 400
}

.tour-date-select__item-price.is-highlighted {
  color: var(--color-accent-500)
}

.tour-date-select__item-version {
  color: var(--color-gray-350);
  flex-basis: 100%;
  font-size: 12px;
  font-weight: 400;
  margin-top: 2px
}

.tour-date-select__item-badges {
  align-self: end;
  display: flex;
  gap: 4px
}

.tour-dates-variant {
  background-color: var(--color-bg);
  border: 0;
  color: var(--color-text);
  cursor: pointer;
  display: block;
  font-family: var(--base-font-family);
  font-size: 16px;
  outline: none;
  padding: 0;
  position: relative;
  text-align: left;
  width: 100%
}

@media screen and (min-width:992px) {
  .tour-dates-variant {
    padding: 16px 0
  }

  .tour-dates-variant:before {
    border-radius: 12px;
    box-shadow: 0 0 32px -4px #0a041414;
    content: "";
    height: 100%;
    left: -16px;
    opacity: 0;
    position: absolute;
    right: -16px;
    top: 0;
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1);
    z-index: 2
  }
}

.tour-dates-variant:hover:before {
  opacity: 1
}

.tour-dates-variant.is-disabled {
  pointer-events: none
}

.tour-dates-variant__body {
  position: relative;
  z-index: 3
}

@media screen and (min-width:576px) {
  .tour-dates-variant__body {
    display: flex;
    justify-content: space-between
  }
}

.tour-dates-variant__info {
  flex-grow: 1
}

.tour-dates-variant__heading {
  align-items: center;
  display: flex
}

.tour-dates-variant__heading .badge {
  margin-left: 12px;
  padding-left: 8px;
  padding-right: 8px
}

.tour-dates-variant__price {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  row-gap: 4px
}

.tour-dates-variant__price-value {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  margin-right: 4px
}

.tour-dates-variant__price-prefix {
  margin-right: 4px
}

.tour-dates-variant__price-chip {
  margin-right: 4px;
  pointer-events: all;
  --icon-medium-size: 1rem
}

.tour-dates-variant__old-price {
  color: var(--color-gray-350);
  font-size: 14px;
  font-weight: 400;
  margin-right: 8px;
  text-decoration: line-through
}

.tour-dates-variant__discount {
  margin-top: 4px
}

.tour-dates-variant__subtitle {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  gap: 8px;
  margin-top: 8px
}

.tour-dates-variant__dates,
.tour-dates-variant__duration-item {
  align-items: center;
  display: inline-flex;
  gap: 4px
}

.tour-dates-variant__duration {
  align-items: center;
  display: flex;
  gap: 8px
}

.tour-dates-variant__duration-icon {
  color: var(--color-default-500)
}

.tour-dates-variant__version {
  color: var(--color-text-secondary);
  font-size: 14px;
  margin-top: 8px
}

.tour-dates-variant__version-link {
  text-decoration: underline;
  text-decoration-color: var(--color-bg);
  text-underline-offset: 6px;
  transition: text-decoration-color .2s
}

.tour-dates-variant__version-link:hover {
  text-decoration-color: var(--color-accent-200)
}

.tour-dates-variant__button {
  min-width: -moz-max-content;
  min-width: max-content
}

@media screen and (max-width:575px) {
  .tour-dates-variant__button {
    display: block;
    margin-top: 8px;
    width: 100%
  }
}

.tour-dates-variant__button-append {
  font-size: 12px;
  font-weight: 400;
  margin-top: 4px
}

.tour-dates-list {
  list-style: none;
  margin: 0;
  padding: 0
}

.tour-dates-list__item {
  align-items: center;
  background: var(--color-bg);
  border-radius: 12px;
  color: var(--color-text);
  cursor: pointer;
  display: flex;
  margin: 0 -16px;
  padding: 12px 16px;
  transition: box-shadow .25s
}

.tour-dates-list__item:last-child {
  margin-bottom: 0
}

.tour-dates-list__item:focus,
.tour-dates-list__item:hover {
  box-shadow: 0 4px 24px #59668426;
  position: relative
}

.tour-dates-list__item--disabled {
  opacity: .6;
  pointer-events: none
}

.tour-dates-list__item-caption {
  color: var(--color-text-secondary);
  font-size: 14px
}

.tour-dates-list__item-caption--warn {
  color: var(--color-warning-500)
}

.tour-dates-list__item-price {
  font-weight: 700;
  margin-left: auto;
  margin-right: 12px;
  white-space: nowrap
}

.tour-dates-list__item-button {
  min-width: 92px
}

.tour-transport__title {
  align-items: center;
  color: var(--color-text);
  display: flex;
  font-weight: 600;
  gap: 10px;
  margin-bottom: 16px
}

@media screen and (min-width:992px) {
  .tour-transport__title {
    margin-bottom: 8px
  }
}

.tour-transport__list {
  list-style: none;
  margin: 0;
  padding: 0
}

.tour-transport__item {
  margin-bottom: 12px
}

.tour-transport__item:last-child {
  margin-bottom: 0
}

.tour-transport__text {
  color: var(--color-text-secondary);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.tour-transport__subtext {
  color: var(--color-success-500);
  font-size: 12px
}

.tour-guarantee {
  align-items: center;
  color: var(--color-gray-500);
  cursor: pointer;
  display: flex;
  font-size: 16px;
  gap: 8px;
  justify-content: center
}

.tour-guarantee svg {
  fill: var(--color-success-500);
  height: 20px;
  width: 20px
}

.tour-guarantee__text {
  color: var(--color-text-secondary);
  position: relative
}

.tour-guarantee__text:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='1'%3E%3Crect width='100%25' height='100%25' fill='none' stroke='%23c8c8cf' stroke-dasharray='1, 11' stroke-dashoffset='9' stroke-linecap='square' stroke-width='2' rx='10' ry='7'/%3E%3C/svg%3E");
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%
}

.tour-indicator {
  display: flex;
  flex-direction: column;
  padding-bottom: 22px;
  position: relative
}

.tour-indicator__text {
  color: var(--color-gray-500);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5
}

.tour-indicator__dots {
  bottom: 0;
  left: 0;
  position: absolute
}

.tour-impression-card {
  margin-left: auto;
  margin-right: auto;
  max-width: 200px
}

.tour-impression-card__photo {
  border-radius: 50%;
  cursor: pointer;
  position: relative
}

.tour-impression-card__photo:after {
  background-color: #0003;
  border-radius: inherit;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity .2s;
  width: 100%
}

.tour-impression-card__photo:hover:after {
  opacity: 1
}

.tour-impression-card__image {
  border-radius: 50%;
  height: 100%;
  vertical-align: top;
  width: 100%
}

.tour-impression-card__body {
  margin-top: 16px;
  word-wrap: break-word;
  text-wrap: balance
}

@supports (hyphens:auto) {
  .tour-impression-card__body {
    -webkit-hyphens: auto;
    hyphens: auto
  }
}

.tour-impression-card__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 8px
}

.tour-impression-card__text {
  color: var(--color-text-secondary)
}

.tour-advantages-card {
  background-color: var(--color-warning-100);
  border-radius: 24px;
  padding: 24px
}

.tour-advantages-card__title {
  font-family: var(--headings-font-family);
  font-size: 20px;
  font-weight: var(--headings-font-weight);
  line-height: 1.3;
  margin-bottom: 20px
}

.tour-skeleton__title {
  margin-top: 32px
}

.tour-skeleton__subtitle {
  margin-top: 16px
}

.tour-skeleton__gallery {
  margin-top: 32px
}

@media screen and (max-width:575px) {
  .excursion-date-selector-modal {
    --modal-padding-bottom: 0
  }
}

.excursion-date-selector-modal__actions {
  margin-left: calc(var(--modal-padding-left-sm)*-1);
  margin-right: calc(var(--modal-padding-left-sm)*-1);
  margin-top: 24px
}

@media screen and (min-width:576px) {
  .excursion-date-selector-modal__actions {
    margin-left: -8px !important;
    margin-right: -8px !important
  }

  .excursion-date-selector-modal__actions>.as-col {
    padding: 0 8px
  }
}

@media screen and (max-width:575px) {
  .excursion-date-selector-modal__button {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
  }
}

.excursion-date-selector-modal__error {
  color: var(--color-danger-500);
  font-size: 14px;
  margin-top: 8px
}

.excursion-date-select {
  --input-v1-shifted-label-transform: none;
  --input-v1-content-padding-top: 16px
}

.tour-all-difficulties {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(1fr)
}

@media screen and (min-width:576px) {
  .tour-all-difficulties {
    grid-template-columns: repeat(2, 1fr)
  }
}

.tour-all-difficulties__item-title {
  align-items: center;
  display: flex;
  font-family: var(--headings-font-family);
  font-weight: var(--headings-font-weight);
  margin-bottom: 8px
}

.tour-all-difficulties__item-indicator {
  margin-left: 8px
}

.tour-all-difficulties__item-description {
  color: var(--color-text-secondary)
}

@media screen and (min-width:576px) {
  .tour-all-comforts {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, 1fr)
  }
}

.tour-all-comforts__item:not(:last-of-type) {
  margin-bottom: 16px
}

@media screen and (min-width:576px) {
  .tour-all-comforts__item:not(:last-of-type) {
    margin-bottom: 0
  }
}

.tour-all-comforts__item-title {
  align-items: center;
  display: flex;
  font-family: var(--headings-font-family);
  font-weight: var(--headings-font-weight);
  margin-bottom: 8px
}

.tour-all-comforts__item-indicator {
  margin-left: 8px
}

.tour-all-comforts__item-description {
  color: var(--color-text-secondary)
}

.tour-all-comforts-hint {
  margin-bottom: 24px
}