/* mobile first */
@media (min-width: 410px) {
	.product__images {
		height: 300px;
	}
	.product__images.no-slider,
	.product-slider-main__item {
		height: 240px;
	}
}

@media (min-width: 576px) {
	.product__images.no-slider,
	.product__images,
	.product-slider-main__item {
		height: 405px;
	}
	.product__images::before {
		background: linear-gradient(
			360deg,
			rgba(0, 0, 0, 1) 0,
			rgba(0, 0, 0, 0) 100px
		);
	}
	.product-slider-nav__arrow {
		top: 50%;
	}
	.product-slider-nav__list .slick-track {
		height: 70px;
	}
	.product-slider-nav__item {
		height: 60px;
	}
	.product-slider-nav__item.slick-current {
		transform: translateY(-8px);
		box-shadow: 0 0 0 2px var(--color-gray-xlight);
	}

	.product-conditions {
		column-gap: 2%;
	}
	.product-condition {
		width: 49%;
	}

	.products {
		padding-top: 20px;
	}

	.mob__product-search-content {
		flex-wrap: wrap;
		gap: 10px;
		flex-direction: unset;
	}
	.mob__product-search-content .tag-container,
	.mob__product-search-content .product-search__block,
	.mob__product-search-content .product-search__catr,
	.mob__product-search-content .choice-number-people {
		width: 48%;
	}
}

@media (min-width: 768px) {
	.program-params {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
}

@media (min-width: 992px) {
	.fw-w.products {
		flex-wrap: nowrap;
	}
	.product__images.no-slider,
	.product__images,
	.product-slider-main__item {
		height: 540px;
	}

	.product-conditions {
		column-gap: 2%;
	}
	.product-condition {
		width: 32%;
	}
	.product-filter {
		display: block;
		position: static;
	}
	.product-search,
	.product-filter {
		max-width: 300px;
		min-width: 300px;
	}
	.product-search__catr .product-filter__attribute-values,
	.product-search__catr .product-filter__attribute-values-bsh {
		position: static;
	}
	.product-search__catr .product-filter__attribute-values-bsh {
		box-shadow: none;
	}
	.mob__product-search-content .tag-container,
	.mob__product-search-content .product-search__block,
	.mob__product-search-content .product-search__catr,
	.mob__product-search-content .choice-number-people {
		width: 100%;
	}
	.mob__product-search-content .choice-number-people .product-search__block {
		width: 100%;
	}
	.product-filter-title__ico::before {
		content: none;
	}
	.hidden-mob-filter {
		display: none;
	}
	.product-filter-title {
		display: none;
	}
	.show-mob-filter {
		z-index: 20;
	}
}

@media (min-width: 1200px) {
	.product__grid {
		grid-template-areas: 'a b' 'c b';
		grid-template-columns: auto 300px;
	}
	.product-aside {
		position: sticky;
		top: 0;
		height: fit-content;
	}
	.product-m {
		padding-bottom: 0;
		width: 100%;
		max-height: 280px;
	}
	.product-m__img {
		border-radius: 6px 0 0 6px;
	}
	.product-m__summary {
		flex-direction: column-reverse !important;
	}
	.product-m__aside {
		max-width: 40%;
	}
	.product-m__description {
		box-sizing: border-box;
		border-right: 1px solid #dee8e8;
		flex-direction: column !important;
		width: 60%;
	}
	.product-m__tour-detailed {
		display: flex;
	}
	.product-m .product__price {
		margin-bottom: 4px;
	}
	.product-m__user-activity {
		padding: 8px;
		position: static;
	}
	.product-m__go-to-full {
		padding: 0 8px 8px;
	}
	.show-more-date {
		height: 30px;
		margin-top: 12px;
		padding: 6px 8px;
		border-radius: 6px;
		border: 1px solid #dee8e8;
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	}
	.product-m__summary {
		margin-top: 5px;
		padding: 0 8px 8px;
	}
	.date-with-time__date {
		width: 100%;
	}
}

@media (min-width: 1400px) {}

/* desktop first */
@media (max-width: 1399px) {
	.product-block-date .tab-header,
	.tab-content_time {
		width: 23.8%;
	}
	.product-block-date .tab-content .button {
		width: 23.8%;
		font-size: 13px;
		white-space: nowrap;
	}
	.product-block-date .tab-header,
	.tab-content_time_value,
	.tab-content_time_text {
		font-size: 12px;
	}
	.product-block-date .tab-content_time_end,
	.product-block-date .tab-content_time_start {
		padding: 10px;
		justify-content: center;
	}
	.show-more-date {
		font-size: 0.75rem;
	}
}

@media (max-width: 1199px) {
	.product-m__img {
		border-radius: 6px 6px 0 0;
	}
	.product-nav-sticky {
		margin-bottom: 20px;
	}
	.product-m__bottom-line {
		display: none;
	}
	.product-m__tags.active .product-m__tags-holder {
		background-color: var(--color-gray-light);
	}
	.product-m__tags-holder {
		padding-bottom: 5px;
	}
	.product-m__title {
		height: 85px;
		padding: 0 3px 10px 3px;
	}
	.product-m__info .product-m__separator_v {
		margin-left: -10px;
		margin-right: -10px;
	}
	.product-m__mob-flex {
		display: flex;
		align-items: flex-end;
		min-height: 18px;
	}
	.show-more-date {
		margin-left: 5px;
		font-weight: 600;
		color: var(--color-blue);
	}
	.difficulty-mob {
		order: 5;
		width: 100%;
	}
	.difficulty-mob__text {
		color: #888888;
		margin-right: 5px;
		letter-spacing: 0.03em;
	}
	.duration-mob {
		order: 6;
		width: 100%;
		font-size: 0.875rem;
	}
	.duration-mob .ico-holder > .ico_bg {
		display: none;
	}
	.duration-mob .ico-holder > .ico_fg {
		width: 20px;
		height: 20px;
		fill: var(--color-yellow);
	}
	.duration-mob .svg-ico-bordered {
		margin: 5px 10px 0 0;
	}
	.property-mob {
		width: fit-content;
	}
	.property-mob .svg-ico-bordered__img {
		position: static;
		transform: unset;
	}
	.property-mob:not(.property-mob_ico) .svg-ico-bordered__img {
		width: 20px;
		height: 20px;
	}
	.property-mob .product-m__gap {
		gap: 5px;
	}
	.product-m__properties {
		row-gap: 8px;
		align-items: center;
	}
	.property-mob {
		margin-right: 5px;
	}
	.product-excursion .property-mob {
		margin-right: 4px;
	}
	.product-excursion .property-mob .svg-ico-bordered {
		display: flex;
		align-items: center;
	}
	.product-m__info {
		padding-bottom: 0;
	}
	.search-sort {
		margin: 0.5em 0;
	}

	.product-m__tariff-name {
		display: none;
	}
	.product-m__tariff-container {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.product-m__tariff-item {
		width: fit-content;
	}
	.product-accommodation .product-m__summary {
		margin-top: 5px;
	}

	.accommodation-summary__order {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.accommodation-summary__product {
		width: 48%;
	}
}

@media (max-width: 991px) {
	.container .shadow-block {
		box-shadow: none;
	}
	.product-nav-fixed .shadow-block {
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
	}
	.container .aside-filter,
	.products .products__title {
		padding-left: 8px;
		padding-right: 8px;
	}
	.container .aside-filter,
	.products .products__title {
		background-color: #fff;
		margin: 0;
		padding-top: 0.5rem;
	}
	.products .products__title {
		font-weight: 600;
		font-size: 1.125rem;
		margin-bottom: 1.875rem;
	}
	.products__map {
		margin-top: 1.875rem;
	}
	.product-map {
		height: 380px;
	}
	.map__content {
		height: 380px;
	}
	.content-column > .breadcrumb {
		display: none;
	}
	.main-content > .swap-product-type {
		border-bottom: 1px solid #dee8e8;
		box-shadow: none;
	}
	.save-customer-preset_filter {
		display: none;
	}
	.show-offers_filter {
		border-radius: 0;
		display: inline-block;
	}
	.container > .products {
		padding-top: 0;
	}
	.container > .products .product-filter-title {
		padding-top: 0;
		padding-bottom: 0;
	}
	.content-column .search-result {
		border-bottom: 1px solid #dee8e8;
	}
	.view-mode-info {
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}
	.view-mode-info__button {
		width: auto;
	}

	.product-block-date .tab-headers .tab-header {
		width: 32%;
	}
	.product-block-date .tab-content .button,
	.tab-content_time {
		width: 32% !important;
	}

	.product-search__title {
		color: var(--color-blue);
	}
	.product-filter {
		padding-top: 10px;
		box-sizing: border-box;
		background: var(--color-white);
	}

	.accommodation-options.shadow-block {
		padding: 0;
		background: transparent;
	}
	.accommodation-table__row {
		display: flex;
		flex-direction: column;
		row-gap: 10px;
		border: none;
		background: var(--color-white);
	}
	.accommodation-table__info {
		flex-direction: column;
		row-gap: 10px;
	}
	.accommodation-table__header {
		padding: 10px 16px 0;
		border-right: none;
	}
	.accommodation-table__body {
		padding: 0 16px;
		row-gap: 10px;
	}
	.accommodation-table__short-descr {
		margin-bottom: 10px;
	}
	.accommodation-table__info .link {
		display: block;
		border-radius: 6px;
		padding: 5px 10px;
		background: var(--color-gray-light);
	}
	.accommodation-table__tariff {
		border-radius: 6px;
		border: 1px solid var(--color-gray-light);
	}
	.accommodation-table__tariff.best-tariff {
		border: none;
	}
	.accommodation-table__description {
		padding: 0 16px;
		border-top: none;
	}
	.accommodation-table__hide-description {
		margin: 0 16px 10px;
		border-radius: 6px;
	}
	.variant-grid {
		grid-template-columns: 40% 60%;
	}
	.attr-array > * {
		flex-basis: 48%;
	}
}

@media (max-width: 767px) {
	.product-block-date .tab-headers .tab-header {
		width: 47%;
	}
	.product-block-date .tab-content .button,
	.tab-content_time {
		width: 47% !important;
	}
	.search-result__toolbar {
		flex-direction: row-reverse;
		align-items: center;
	}
	.search-result__toolbar .button {
		height: 30px;
		padding: 0 1.5em;
	}
	.sort-label {
		width: 30px;
		overflow: hidden;
		min-width: 30px;
		height: 30px;
	}

	.product-details__item {
		width: 100%;
	}
	.product-time__item {
		width: 100%;
	}
	.product-details__list .product-details__name {
		width: 49%;
	}

	.accommodation-summary {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		z-index: 10;
		margin-bottom: 0;
		border-radius: 0;
		transition: 0.5s;
	}
	.accommodation-summary.shadow-block {
		box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.35);
	}
	.accommodation-summary__wrapper {
		display: none;
	}
	.accommodation-summary-mob {
		display: flex;
	}
	.accommodation-summary-mob__btns {
		width: 100%;
		column-gap: 10px;
	}
	.accommodation-summary-mob__btns .button {
		flex-grow: 1;
	}
	.accommodation-summary.active {
		left: auto;
		top: 0;
		overflow-y: auto;
		width: 300px;
		z-index: 1010;
	}
	.accommodation-summary.active .accommodation-summary__wrapper {
		display: block;
	}
	.accommodation-summary.active .accommodation-summary-mob {
		display: none;
	}
	.accommodation-summary__title {
		color: var(--color-blue);
	}
	.accommodation-summary__order {
		flex-direction: column;
	}
	.accommodation-summary__product {
		width: 100%;
	}
	.accommodation-summary__product-info {
		width: 100%;
	}

	.accommodation-settings {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 10px;
		background: var(--color-white);
	}
	.accommodation-settings__title {
		display: block;
	}
	.accommodation-dates {
		border: 1px solid #c4c4c4;
		width: 100%;
	}
	.accommodation-guests {
		width: 100%;
	}
	.accommodation-guest-counter {
		border: 1px solid #c4c4c4;
	}
	.accommodation-settings .button {
		width: 100%;
	}
	.accommodation-table__main-image {
		width: 40px;
		height: 40px;
	}
	.accommodation-table__title {
		max-height: 40px;
		-webkit-line-clamp: 2;
	}

	.product-block__title {
		font-size: 1.25rem;
	}
	.product-dates,
	.product-guests {
		width: 100%;
	}
	.variant-grid {
		grid-template-columns: unset;
		padding: 20px 20px 20px 15px;
	}
	.variant-info {
		margin: 0 0 10px;
	}
	.variant-offers {
		border-left: unset;
		order: 2;
	}
	.variant-offer {
		grid-template-columns: 1fr 1fr;
		border: 1px solid var(--color-gray-light);
		border-radius: 6px;
	}
	.variant-offer + .variant-offer {
		margin-top: 10px;
	}
	.offer-info {
		grid-column: 1/3;
		border-bottom: 1px solid var(--color-gray-light);
	}
	.variant-description {
		grid-column: unset;
		margin-bottom: 10px;
		border-inline: 1px solid var(--color-gray-light);
		border-bottom: 1px solid var(--color-gray-light);
		border-radius: 6px;
	}
	.variant-offer__grid-item + .variant-offer__grid-item {
		border-left: unset;
	}
	.open-description-button {
		display: flex;
		padding: 3px 10px;
		background: var(--color-gray-light);
		color: var(--color-blue);
		border-radius: 6px;
	}
	.variant-offer__price {
		display: grid;
		align-items: center;
		width: max-content;
		column-gap: 10px;
	}
	.variant-offer__result-price {
		grid-column: 1/3;
	}
	.variant-offer__base-price {
		order: 3;
	}
}

@media (max-width: 575px) {
	.hide-max-w-575 {
		display: none;
	}
	.product-block-date .tab-content .button {
		width: 100% !important;
	}
	.tab-content_time_text {
		margin-right: 4px;
	}
	.product-block-date .tab-headers_tour .tab-header {
		width: 100%;
	}
	.products {
		padding-top: 5px;
	}
	.swap-product-type__items {
		overflow-x: auto;
		scrollbar-width: thin;
		scrollbar-color: var(--color-blue) var(--color-gray-xlight);
	}
	.found-offers {
		color: var(--color-gray-3);
		margin-right: 0;
		gap: 0.3em;
	}
	.product-details__list .product-details__name {
		width: 100%;
	}

	.accommodation-table__cell {
		border-right: none;
	}
	.accommodation-table__tariff {
		flex-wrap: wrap;
		border: none;
		border-top: 1px solid #c9dedf;
	}
	.accommodation-table__tariff:not(.best-tariff) {
		border-radius: 0;
	}
	.accommodation-table__tariff:not(:last-child) {
		border-bottom: none;
	}
	.accommodation-table__in-tariff {
		flex-basis: 100%;
		border-right: none;
		border-bottom: 1px solid var(--color-gray-light);
	}
	.accommodation-table__price-change {
		flex-direction: row-reverse;
		column-gap: 10px;
	}
	.accommodation-table__price-wrapper {
		justify-content: center;
		flex-basis: 43%;
	}
	.accommodation-table__btn-wrapper {
		flex-grow: 1;
	}
}

@media (max-width: 399px) {
	.product-block-date .tab-content_time_end,
	.product-block-date .tab-content_time_start {
		padding: 10px;
	}
	.applied-filter__text {
		max-width: 70vw;
		overflow: hidden;
	}
	.search-result__toolbar {
		gap: 0.5em;
	}
	.accommodation-summary-mob__btns {
		flex-direction: column;
		row-gap: 5px;
	}
	.accommodation-summary-mob__btns .button {
		width: 100%;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.accommodation-table__price-wrapper {
		flex-basis: 50%;
	}
}

@media (max-width: 359px) {
	.product-block-date .tab-header,
	.tab-content_time_value,
	.tab-content_time_text {
		font-size: 11px;
	}
	.product-block-date .tab-content_time_end,
	.product-block-date .tab-content_time_start {
		padding: 10px 6px;
	}
	.search-result__toolbar .button {
		padding: 0 0.5em;
	}
}
