@charset "UTF-8";

.content[data-v-3acdefda] {
	height: auto;
	--grid-cols-desktop: 4;
	--grid-cols-mobile: 2
}

.product-description__truncated[data-v-3acdefda] {
	position: relative
}

.product-description__content--truncated[data-v-3acdefda] {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	position: relative
}

.product-description__content--truncated[data-v-3acdefda] *:last-child {
	margin-bottom: 0
}

.product-description__content--truncated[data-v-3acdefda]:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: var(--gradient-width);
	height: 1.5em;
	background: linear-gradient(to right, #fff0, #fffc 20%, #fff 30%)
}

.product-description__show-more[data-v-3acdefda] {
	background: none;
	border: none;
	color: var(--blue-1000);
	cursor: pointer;
	font-weight: 600;
	padding: 0;
	text-decoration: underline;
	font-size: 16px;
	line-height: 22px;
	font-weight: 400
}

.product-description__show-more[data-v-3acdefda]:hover {
	opacity: .8
}

.product-description__show-more[data-v-3acdefda] {
	position: absolute;
	bottom: 0;
	right: 0
}

.ui-gallery-dots {
	position: absolute;
	bottom: 8px;
	left: 50%;
	transform: translate(-50%);
	justify-content: center;
	gap: 3px;
	display: flex;
	align-items: center;
	list-style-type: none
}

.ui-gallery-dots__item {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #bbb
}

.ui-gallery-dots__item--active {
	width: 9px;
	height: 5px;
	border-radius: 2.5px;
	background-color: #515050
}

.ui-gallery-picture {
	flex-grow: 1
}

.ui-gallery-scroll-btn {
	outline: none;
	position: absolute;
	border: none;
	border-radius: 50%;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	top: 50%;
	cursor: pointer;
	display: none;
	transform: translate(-50%)
}

.ui-gallery-scroll-btn svg {
	width: 24px;
	height: 24px
}

.ui-gallery-scroll-btn:hover {
	opacity: 1
}

.ui-gallery-scroll-btn--left {
	left: 0;
	transform: translate(-42%, -50%)
}

.ui-gallery-scroll-btn--right {
	right: 0;
	transform: translate(42%, -50%)
}

@media (min-width: 768px) {
	.ui-gallery-scroll-btn {
		display: flex
	}
}

.disable-scroll {
	overflow: hidden
}

.ui-gallery-lightbox {
	flex-direction: column;
	align-items: center;
	background-color: #000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	overflow: hidden;
	z-index: 9999
}

.ui-gallery-lightbox__close,
.ui-gallery-lightbox__counter,
.ui-gallery-lightbox__caption {
	position: absolute;
	color: #fff;
	z-index: 85
}

.ui-gallery-lightbox__close {
	top: 16px;
	right: 16px;
	cursor: pointer
}

.ui-gallery-lightbox__counter {
	top: 16px;
	left: 16px
}

.ui-gallery-lightbox__caption {
	bottom: 24px;
	left: 16px
}

.ui-gallery-lightbox__picture-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-height: calc(100% - 110px)
}

.ui-gallery-lightbox__picture {
	width: 100%;
	max-height: calc(100% - 110px)
}

.ui-gallery-lightbox__picture img {
	object-fit: contain;
	margin-top: 0;
	margin-bottom: 0
}

.ui-gallery-lightbox__video-loader-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2
}

.ui-gallery-lightbox__video-spinner {
	display: block;
	width: 40px;
	height: 40px;
	border: 3px solid rgba(255, 255, 255, .2);
	border-top-color: #fffc;
	border-radius: 50%;
	animation: lightbox-spin .8s linear infinite
}

@keyframes lightbox-spin {
	to {
		transform: rotate(360deg)
	}
}

.ui-gallery-lightbox__video {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center
}

.ui-gallery-lightbox__video-player {
	max-width: 100%;
	max-height: calc(100vh - 110px)
}

.ui-gallery-lightbox__video-play-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 1
}

.ui-gallery-lightbox__video-play-btn {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #ffffffd9;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .15s ease
}

.ui-gallery-lightbox__video-play-btn .ui-gallery-lightbox__icon-play {
	border-color: transparent transparent transparent #222
}

.ui-gallery-lightbox__video-play-btn:hover {
	transform: scale(1.1)
}

.ui-gallery-lightbox__video-controls {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 40px 16px 16px;
	background: linear-gradient(transparent, #000000b3)
}

.ui-gallery-lightbox__video-mute {
	position: absolute;
	bottom: 50px;
	right: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
	line-height: 0;
	color: #fff
}

.ui-gallery-lightbox__video-mute:hover {
	opacity: .7
}

.ui-gallery-lightbox__video-btn {
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	padding: 4px;
	display: flex;
	align-items: center;
	font-size: 18px
}

.ui-gallery-lightbox__video-btn:hover {
	opacity: .8
}

.ui-gallery-lightbox__video-time {
	color: #fff;
	font-size: 13px;
	min-width: 36px;
	-webkit-user-select: none;
	user-select: none
}

.ui-gallery-lightbox__video-progress {
	flex: 1;
	height: 4px;
	background: #ffffff4d;
	border-radius: 2px;
	cursor: pointer;
	position: relative
}

.ui-gallery-lightbox__video-progress:hover {
	height: 6px
}

.ui-gallery-lightbox__video-progress-bar {
	height: 100%;
	background: #fff;
	border-radius: 2px;
	transition: width .1s linear
}

.ui-gallery-lightbox__icon-play {
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 0 14px 24px;
	border-color: transparent transparent transparent white;
	margin-left: 4px
}

.ui-gallery-lightbox__icon-play.--small {
	border-width: 7px 0 7px 12px;
	margin-left: 2px
}

.ui-gallery-lightbox__icon-pause {
	display: flex;
	gap: 4px
}

.ui-gallery-lightbox__icon-pause:before,
.ui-gallery-lightbox__icon-pause:after {
	content: "";
	display: block;
	width: 4px;
	height: 14px;
	background: #fff;
	border-radius: 1px
}

@media (min-width: 768px) {
	.ui-gallery-lightbox__scroll-left {
		left: 10%
	}

	.ui-gallery-lightbox__scroll-right {
		right: 10%
	}

	.ui-gallery-lightbox__picture-wrapper {
		width: 80%
	}

	.ui-gallery-lightbox__picture {
		overflow: hidden;
		border-radius: 20px;
		width: 100%
	}

	.ui-gallery-lightbox__picture picture {
		min-width: 4px;
		min-height: 3px;
		width: auto;
		height: auto
	}

	.ui-gallery-lightbox__video {
		max-width: 80%;
		border-radius: 20px;
		overflow: hidden
	}

	.ui-gallery-lightbox__video-controls {
		padding: 40px 24px 20px
	}

	.ui-gallery-lightbox__video-mute {
		bottom: 50px;
		right: 34px
	}
}

.ui-gallery {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%
}

.ui-gallery__video-layout {
	display: none
}

.ui-gallery__items {
	width: 100%;
	gap: 12px;
	overflow-x: scroll;
	display: flex;
	align-items: flex-start;
	scroll-snap-type: x mandatory
}

.ui-gallery__items::-webkit-scrollbar {
	display: none
}

.ui-gallery__item {
	cursor: pointer;
	display: flex;
	flex-shrink: 0;
	width: 100%;
	scroll-snap-align: start
}

.ui-gallery__item--video {
	aspect-ratio: 4/3;
	position: relative;
	background: #e8e8e8
}

.ui-gallery__item video {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.ui-gallery__video-loader {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	display: block;
	width: 32px;
	height: 32px;
	border: 3px solid rgba(0, 0, 0, .1);
	border-top-color: #0006;
	border-radius: 50%;
	animation: ui-gallery-spin .8s linear infinite
}

@keyframes ui-gallery-spin {
	to {
		transform: rotate(360deg)
	}
}

.ui-gallery__fullscreen-btn {
	background-color: #fff9;
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 7;
	height: 32px;
	display: flex;
	flex-direction: row;
	gap: 6px;
	align-items: center;
	padding: 0 10px;
	border-radius: 4px;
	cursor: pointer
}

.ui-gallery--desktop-plates .ui-gallery__fullscreen-btn {
	display: none
}

@media (min-width: 768px) {
	.ui-gallery--desktop-plates {
		aspect-ratio: 1224/520;
		width: 100%
	}

	.ui-gallery--desktop-plates .ui-gallery__dots {
		display: none
	}

	.ui-gallery--desktop-plates .ui-gallery__fullscreen-btn {
		display: flex;
		top: 16px;
		right: calc(30% + 16px)
	}

	.ui-gallery--desktop-plates .ui-gallery__items {
		overflow: hidden;
		gap: 16px
	}

	.ui-gallery--desktop-plates .ui-gallery__items .ui-gallery__item {
		display: none
	}

	.ui-gallery--desktop-plates .ui-gallery__items .ui-gallery__item:nth-of-type(1) {
		display: flex;
		width: 70%;
		aspect-ratio: 836/520
	}

	.ui-gallery--desktop-plates .ui-gallery__items .ui-gallery__item:nth-of-type(2) {
		display: flex;
		width: 30%;
		aspect-ratio: 356/258
	}

	.ui-gallery--desktop-plates .ui-gallery__items .ui-gallery__item:nth-of-type(3) {
		display: flex;
		width: 30%;
		aspect-ratio: 356/258;
		transform: translate(calc(-100% - 16px), calc(100% + 16px))
	}
}

@media (min-width: 768px) {
	.ui-gallery--desktop-plates.ui-gallery--has-video {
		aspect-ratio: auto
	}

	.ui-gallery--desktop-plates.ui-gallery--has-video .ui-gallery__video-layout {
		display: grid;
		grid-template-columns: 356px 1fr;
		gap: 16px;
		width: 100%;
		max-height: 520px;
		overflow: hidden
	}

	.ui-gallery--desktop-plates.ui-gallery--has-video .ui-gallery__video {
		position: relative;
		border-radius: 12px 0 0 12px;
		overflow: hidden;
		cursor: pointer;
		background: #e8e8e8
	}

	.ui-gallery--desktop-plates.ui-gallery--has-video .ui-gallery__video video {
		position: relative;
		z-index: 1;
		width: 100%;
		height: 100%;
		object-fit: cover
	}

	.ui-gallery--desktop-plates.ui-gallery--has-video .ui-gallery__photo-preview {
		border-radius: 0 12px 12px 0;
		overflow: hidden;
		cursor: pointer
	}

	.ui-gallery--desktop-plates.ui-gallery--has-video .ui-gallery__photo-preview .ui-perfect-picture {
		width: 100%;
		height: 100%
	}

	.ui-gallery--desktop-plates.ui-gallery--has-video .ui-gallery__photo-preview img {
		width: 100%;
		height: 100%;
		object-fit: cover
	}

	.ui-gallery--desktop-plates.ui-gallery--has-video .ui-gallery__items {
		display: none
	}

	.ui-gallery--desktop-plates.ui-gallery--has-video .ui-gallery__fullscreen-btn {
		display: flex;
		top: 16px;
		right: 16px;
		bottom: auto
	}
}

.ticket-discounts {
	font-size: 12px;
	line-height: 10px;
	font-weight: 600;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	gap: 6px
}

.ticket-discounts__label {
	border-radius: 4px;
	text-align: center;
	padding: 4px 8px;
	text-wrap: nowrap
}

.ticket-discounts__label:nth-of-type(n+1) {
	color: var(--green-1000);
	background-color: var(--green-100)
}

.ticket-discounts__label:nth-of-type(n+2) {
	color: var(--orange-1000);
	background-color: var(--orange-50)
}

.ticket-discounts__label:nth-of-type(n+3) {
	color: var(--blue-1000);
	background-color: var(--blue-50)
}

.ticket-schedule-route {
	font-size: 14px;
	line-height: 18px;
	font-weight: 400;
	display: flex;
	position: relative;
	gap: 4px;
	align-items: flex-end
}

.ticket-schedule-route__time {
	font-size: 18px;
	line-height: 20px;
	font-weight: 400;
	color: var(--blue-1000)
}

.ticket-schedule-route__port-title {
	white-space: nowrap
}

@media screen and (min-width: 1281px) {
	.ticket-schedule-route {
		gap: 4px
	}

	.ticket-schedule-route__time {
		margin-right: 2px
	}
}

.ticket-schedule {
	display: flex;
	flex-direction: column;
	gap: 8px
}

.ticket-item {
	cursor: pointer;
	background-color: var(--blue-100);
	border-radius: 20px;
	padding: 24px 32px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start
}

.ticket-item--active {
	border: 2px solid var(--blue-800);
	padding: 22px 30px
}

.ticket-item__top {
	display: flex;
	flex-direction: column;
	gap: 4px
}

.ticket-item__top--title {
	font-size: 18px;
	line-height: 24px;
	font-weight: 700;
	margin-bottom: 8px
}

.ticket-item__left {
	display: flex;
	flex-direction: column;
	gap: 12px
}

.ticket-item__left--tags {
	font-size: 14px;
	line-height: 16px;
	font-weight: 700;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 6px
}

.ticket-item__left--schedule {
	padding-top: 12px
}

.ticket-item__main {
	display: flex;
	flex-direction: column;
	width: 100%
}

.ticket-item__center {
	padding-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	justify-content: flex-start;
	align-items: flex-start
}

.ticket-item__center--rating {
	display: flex;
	flex-direction: row;
	justify-content: flex-start
}

.ticket-item__right {
	padding-top: 16px;
	display: flex;
	flex-direction: column;
	gap: 16px
}

.ticket-item__right--price {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	font-weight: 700;
	display: flex
}

.ticket-item__right--crossed-price {
	padding-left: 8px;
	font-size: 14px;
	line-height: 18px;
	font-weight: 400
}

.ticket-item__right--book-btn {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	width: 100%
}

@media screen and (min-width: 1025px) {
	.ticket-item {
		display: contents
	}

	.ticket-item--details-btn {
		font-size: 14px;
		line-height: 16px;
		font-weight: 400
	}

	.ticket-item__top {
		background-color: green;
		grid-column: 1/-1;
		padding: 24px 24px 16px;
		border-radius: 12px 12px 0 0
	}

	.ticket-item__main {
		display: contents
	}

	.ticket-item__main .ticket-item__left,
	.ticket-item__main .ticket-item__center,
	.ticket-item__main .ticket-item__right {
		background-color: var(--blue-100)
	}

	.ticket-item__main>*:first-child {
		padding-left: 24px
	}

	.ticket-item__main>*:last-child {
		padding-right: 24px
	}

	.ticket-item__bottom {
		grid-column: 1/-1;
		height: 24px;
		margin-bottom: 16px;
		border-radius: 0 0 12px 12px
	}

	.ticket-item>div {
		background-color: var(--blue-100)
	}

	.ticket-item--part-active.ticket-item__top {
		padding-inline: 22px;
		padding-top: 22px;
		border-top: 2px solid var(--blue-800);
		border-inline: 2px solid var(--blue-800)
	}

	.ticket-item--part-active.ticket-item__bottom {
		padding-inline: 22px;
		padding-bottom: 22px;
		border-bottom: 2px solid var(--blue-800);
		border-inline: 2px solid var(--blue-800)
	}

	.ticket-item--part-active.ticket-item__main>*:first-child {
		padding-left: 22px;
		border-left: 2px solid var(--blue-800)
	}

	.ticket-item--part-active.ticket-item__main>*:last-child {
		padding-right: 22px;
		border-right: 2px solid var(--blue-800)
	}
}

@media screen and (min-width: 1025px) {
	.ticket-item {
		padding: 24px;
		row-gap: 16px
	}

	.ticket-item--active {
		padding: 23px
	}

	.ticket-item__top {
		flex-direction: row-reverse
	}

	.ticket-item__top--title {
		font-size: 16px;
		line-height: 20px;
		font-weight: 600;
		font-weight: 700;
		flex: 1 1 400px;
		margin-bottom: 0
	}

	.ticket-item__discounts {
		max-width: 230px;
		justify-content: flex-end
	}

	.ticket-item__main {
		justify-content: space-between;
		flex-direction: row;
		gap: 12px
	}

	.ticket-item__left--tags {
		padding-top: 0;
		max-width: 250px
	}

	.ticket-item__left--schedule {
		padding-top: 0
	}

	.ticket-item__center {
		padding-top: 0;
		flex-direction: column;
		justify-content: center;
		gap: 8px
	}

	.ticket-item__center--rating {
		padding-top: 0;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start
	}

	.ticket-item__right {
		padding-top: 0;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 16px
	}

	.ticket-item__right--price {
		font-size: 16px;
		line-height: 20px;
		font-weight: 800;
		font-weight: 700;
		flex-direction: column;
		align-items: flex-end
	}

	.ticket-item__right--crossed-price {
		font-size: 12px;
		line-height: 18px;
		font-weight: 400
	}

	.ticket-item__right--book-btn {
		width: 120px;
		padding-inline: 20px;
		white-space: nowrap;
		margin-left: auto
	}

	.ticket-item__right--book-btn.ui-button--outline.ui-button--hover {
		border-color: var(--blue-800);
		background-color: transparent
	}

	.ticket-item__right--book-btn.ui-button--outline.ui-button--hover .ui-button__inner {
		color: var(--blue-800)
	}
}

.tickets-list {
	position: relative;
	margin-bottom: 46px
}

.tickets-list__list-items {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 16px
}

.tickets-list__show-more {
	font-size: 16px;
	line-height: 22px;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4px;
	color: var(--blue-1000)
}

.tickets-list__show-more .pseudo-link {
	border-bottom: 2px dotted
}

.tickets-list__cover {
	display: flex;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	background-color: #ffffffb3;
	cursor: wait
}

.tickets-list__cover-loader {
	margin-left: auto;
	margin-right: auto;
	margin-top: 100px
}

@media screen and (min-width: 1025px) {
	.tickets-list {
		margin-bottom: 64px
	}

	.tickets-list__show-more {
		gap: 4px;
		font-size: 16px;
		line-height: 18px
	}

	.tickets-list__show-more .pseudo-link {
		border-bottom: 2px dotted
	}

	.tickets-list__list-items {
		display: grid;
		-webkit-tap-highlight-color: transparent;
		grid-row-gap: 0;
		grid-column-gap: 0;
		grid-template-columns: auto auto auto;
		max-width: 808px;
		margin-bottom: 0
	}
}

.ticket-filters-schedule-input {
	gap: 10px;
	border: 1px solid var(--blue-300)
}

.ticket-filters-schedule-input:has(input:focus) {
	border: 1px solid var(--blue-800)
}

.ticket-filters-schedule-input .ui-input__input {
	width: 100%
}

.ticket-filters-schedule-direction-popup__trigger {
	display: flex;
	align-items: center;
	gap: 6px
}

.ticket-filters-schedule-direction-popup__trigger:after {
	content: "";
	width: 0;
	height: 0;
	border-left: 3px solid transparent;
	border-right: 3px solid transparent;
	border-top: 4px solid #000;
	margin-left: 2px;
	margin-top: 2px
}

.ticket-filters-schedule-direction-popup__content {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	gap: 20px;
	margin-top: 20px
}

.ticket-filters-schedule-direction-popup__content div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer
}

.ticket-filters-schedule-direction-popup__content div.--selected {
	font-size: 16px;
	line-height: 22px;
	font-weight: 700;
	color: var(--blue-1000)
}

.ticket-filters-schedule-direction-popup__content div.--disabled {
	color: var(--gray-800);
	cursor: not-allowed
}

@media screen and (min-width: 1025px) {
	.ticket-filters-schedule-direction-popup__content {
		margin-top: 0
	}
}

.schedule-sub-filter {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start
}

.schedule-sub-filter__content {
	flex-grow: 1;
	padding: 24px 0 0;
	width: 100%
}

@media screen and (min-width: 1025px) {
	.schedule-sub-filter {
		max-width: 365px;
		height: auto;
		max-height: 460px
	}

	.schedule-sub-filter__content {
		padding: 24px 24px 0
	}
}

.schedule-port-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	margin-bottom: 8px
}

.schedule-port-title.--selected {
	color: var(--blue-1000)
}

.schedule-port-title.--disabled {
	color: var(--gray-800);
	cursor: not-allowed
}

.schedule-port-title.--disabled:hover {
	opacity: 1
}

.schedule-port-title:hover {
	opacity: .75
}

.schedule-sub-filter-origins {
	width: 100%
}

.ticket-filters-schedule {
	display: flex;
	flex-direction: column;
	gap: 24px
}

.ticket-filters-schedule__direction-trigger {
	display: flex;
	align-items: center;
	gap: 6px
}

.ticket-filters-schedule__direction-trigger:after {
	content: "";
	width: 0;
	height: 0;
	border-left: 3px solid transparent;
	border-right: 3px solid transparent;
	border-top: 4px solid #000;
	margin-left: 2px;
	margin-top: 2px
}

.ticket-filters-schedule__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 4px
}

.ticket-filters-schedule__reset-button {
	font-size: 16px;
	line-height: 16px;
	font-weight: 400;
	color: var(--blue-1000);
	background: none;
	border: none;
	cursor: pointer;
	padding: 0 8px;
	white-space: nowrap;
	text-decoration: underline;
	transition: opacity .2s
}

.ticket-filters-schedule__reset-button:hover {
	opacity: .7
}

.ticket-filters-schedule__inputs-block {
	display: flex;
	flex-direction: column;
	padding: 16px;
	background-color: var(--blue-100);
	border-radius: 12px;
	gap: 8px
}

.ticket-filters-schedule__intervals-block {
	display: flex;
	flex-wrap: wrap;
	gap: 8px
}

.ticket-filters-schedule__dates {
	display: flex;
	gap: 8px
}

.ticket-filters-schedule__dates>div {
	flex: 1 1 0;
	min-width: 0;
	width: 100%
}

.ticket-filters-schedule__points {
	position: relative;
	display: flex;
	gap: 8px
}

.ticket-filters-schedule__points>div {
	flex: 1 1 auto
}

.ticket-filters-schedule__revert {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 26px;
	height: 26px;
	color: var(--blue-300);
	border-radius: 50%;
	border: 1px solid var(--blue-300);
	background-color: #fff;
	left: 0;
	right: 0;
	top: 16px;
	bottom: 0;
	margin: 0 auto;
	z-index: 9;
	cursor: pointer
}

@media (hover: hover) {
	.ticket-filters-schedule__revert:hover {
		color: var(--blue-800);
		border-color: var(--blue-800)
	}
}

.ticket-filters-schedule__revert:active {
	color: var(--blue-1000);
	border-color: var(--blue-1000)
}

@media screen and (min-width: 1025px) {
	.ticket-filters-schedule {
		gap: 32px
	}

	.ticket-filters-schedule__header {
		margin-bottom: 0
	}

	.ticket-filters-schedule__inputs-block {
		padding: 24px 32px;
		gap: 10px
	}

	.ticket-filters-schedule__revert {
		width: 34px;
		height: 34px;
		top: 12px
	}

	.ticket-filters-schedule__points {
		flex-direction: row;
		gap: 16px
	}

	.ticket-filters-schedule__points>div {
		flex: 1 1 auto;
		min-width: 0
	}

	.ticket-filters-schedule__dates {
		gap: 16px
	}
}

.ticket-filters-availability__cards {
	display: flex;
	flex-wrap: wrap;
	gap: 8px
}

.ticket-filters-availability__all-dates>.card-icon {
	color: var(--blue-1000)
}

.ticket-filters-availability__price {
	font-size: 12px;
	line-height: 18px;
	font-weight: 400;
	color: var(--blue-1000)
}

.ticket-filters-availability__day {
	font-size: 14px;
	line-height: 16px;
	font-weight: 400
}

.ticket-filters-availability__footer {
	position: fixed;
	left: 0;
	bottom: 0;
	padding: 16px;
	border-top: 1px solid rgb(235, 237, 238);
	box-shadow: 0 -2px 10px #0000000f;
	background-color: var(--white)
}

@media screen and (min-width: 1025px) {
	.ticket-filters-availability__footer {
		position: static;
		border-top: 1px solid rgb(235, 237, 238);
		box-shadow: 0 -2px 10px #0000000f
	}
}

.ticket-filters-drop-down__trigger-triangle {
	display: flex;
	justify-content: center;
	align-items: center
}

.ticket-filters-drop-down__trigger-triangle:after {
	content: "";
	width: 0;
	height: 0;
	border-left: 3px solid transparent;
	border-right: 3px solid transparent;
	border-top: 4px solid #000;
	margin-left: 2px;
	margin-top: 2px
}

.ticket-filters-drop-down__trigger-triangle.--disabled:after {
	border-top: 4px solid var(--gray-800)
}

.ticket-filters-drop-down__popup-title {
	display: none
}

.ticket-filters-drop-down__list {
	padding: 24px 0
}

@media screen and (min-width: 1025px) {
	.ticket-filters-drop-down__popup-title {
		font-size: 18px;
		line-height: 24px;
		font-weight: 700;
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-bottom: 1px solid var(--gray-500);
		padding: 24px 16px;
		min-width: 270px
	}

	.ticket-filters-drop-down__list {
		padding: 24px 16px
	}
}

.ticket-filters-cf-wrapper {
	position: relative;
	display: flex;
	align-items: center
}

.ticket-filters-cf::-webkit-scrollbar {
	width: 0;
	height: 0
}

.ticket-filters-cf {
	-ms-overflow-style: none;
	scrollbar-width: none;
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	flex: 1;
	padding: 1px
}

.ticket-filters-cf__title {
	font-size: 14px;
	line-height: 18px;
	font-weight: 600;
	margin-bottom: 8px
}

.ticket-filters-cf>* {
	flex-shrink: 0
}

.ticket-filters-cf__arrow {
	position: absolute;
	top: -1px;
	bottom: -1px;
	z-index: 2;
	background: linear-gradient(to right, #ffffffe6, #ffffff4d);
	width: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity .2s ease
}

.ticket-filters-cf__arrow:hover {
	opacity: .9
}

.ticket-filters-cf__arrow--left {
	left: -30px;
	box-shadow: 5px 0 11px 3px #fff;
	background-color: var(--white);
	padding: 0 5px
}

.ticket-filters-cf__arrow--right {
	right: -30px;
	box-shadow: -5px 0 11px 3px #fff;
	background-color: var(--white);
	padding: 0 5px
}

@media screen and (min-width: 1025px) {
	.ticket-filters-cf {
		gap: 8px
	}

	.ticket-filters-cf::-webkit-scrollbar-track {
		background: #f1f1f1;
		border-radius: 4px
	}

	.ticket-filters-cf::-webkit-scrollbar-thumb {
		background: #888;
		border-radius: 4px
	}

	.ticket-filters-cf::-webkit-scrollbar-thumb:hover {
		background: #555
	}

	.ticket-filters-cf__title {
		font-size: 16px;
		line-height: 20px;
		font-weight: 600;
		margin-bottom: 16px
	}
}

.ticket-filters-list__blocks {
	display: flex;
	flex-direction: column;
	gap: 24px
}

@media screen and (min-width: 1025px) {
	.ticket-filters-list__blocks {
		gap: 32px
	}
}

.tickets-sort {
	display: flex;
	justify-content: space-between;
	align-items: center
}

.tickets-sort__count {
	font-size: 14px;
	line-height: 18px;
	font-weight: 400
}

.tickets-sort__popover-trigger {
	font-size: 14px;
	line-height: 18px;
	font-weight: 400;
	display: flex;
	align-items: center
}

.tickets-sort__popover-trigger:hover,
.tickets-sort__popover-trigger.--disabled {
	color: var(--gray-1000)
}

.tickets-sort__popover-trigger--icon {
	background-color: var(--blue-100);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 24px
}

.tickets-sort__popover-trigger--selected {
	display: none
}

.tickets-sort__popover-content {
	flex-direction: column;
	gap: 22px;
	padding-bottom: 24px
}

.tickets-sort__sort-type {
	font-size: 16px;
	line-height: 20px;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center
}

.tickets-sort__sort-type:hover {
	color: var(--blue-800)
}

.tickets-sort__sort-type.--selected {
	color: var(--blue-1000)
}

@media screen and (min-width: 1025px) {
	.tickets-sort__count {
		font-size: 18px;
		line-height: 22px;
		font-weight: 700
	}

	.tickets-sort__popover-trigger {
		display: flex;
		gap: 6px;
		font-size: 16px;
		line-height: 22px;
		font-weight: 400
	}

	.tickets-sort__popover-trigger--selected {
		display: inline
	}

	.tickets-sort__popover-content {
		display: flex;
		flex-direction: column;
		gap: 22px;
		padding-bottom: unset
	}
}

.ui-modal__content .tickets-sort__popover-content {
	padding-top: 32px;
	display: flex;
	flex-direction: column;
	gap: 20px
}

.ui-modal__content .tickets-sort__popover-content .tickets-sort__sort-type {
	line-height: 24px;
	font-weight: 400
}

.booking-modal-pax-counter {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 4px 0
}

.booking-modal-pax-counter__title {
	color: var(--gray-1000)
}

.booking-modal-pax-counter__counter {
	display: flex;
	justify-content: space-between;
	align-items: center
}

.booking-modal-pax-counter__value {
	margin: 0 12px
}

.booking-modal-pax-counter__value.--disabled {
	color: var(--gray-800)
}

.booking-modal-pax-counter__btn.ui-button--small {
	border: 1px solid var(--gray-500);
	color: var(--black-1000)
}

.booking-modal-pax-counter__btn.ui-button--small:hover {
	border: 1px solid var(--gray-1000);
	background-color: var(--gray-50)
}

.booking-modal-pax-counter__btn.ui-button--disable,
.booking-modal-pax-counter__btn.ui-button--disable:hover {
	border: 1px solid var(--gray-500);
	background-color: var(--white)
}

.booking-modal-promo-code__success {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 54px;
	padding: 16px;
	gap: 10px;
	border-radius: 12px;
	border: 1px solid var(--green-1000);
	background-color: var(--green-100)
}

.booking-modal-promo-code__input {
	font-size: 12px;
	line-height: 18px;
	font-weight: 400;
	padding-right: 40%
}

.booking-modal-promo-code__btn {
	position: absolute;
	top: 4px;
	right: 2px
}

.booking-modal-promo-code__discount-text {
	font-size: 12px;
	line-height: 18px;
	font-weight: 400;
	color: var(--green-1000);
	margin-top: 4px
}

.booking-modal-promo-code__info-text {
	font-size: 12px;
	line-height: 18px;
	font-weight: 400
}

.booking-modal-from__inputs {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 24px 0
}

.booking-modal-from__schedule-dates {
	display: flex;
	gap: 8px
}

.booking-modal-from__schedule-dates>div {
	flex: 1 1 0;
	min-width: 0;
	width: 100%
}

.booking-modal-from__schedule-dates .ui-input__input {
	width: 100%
}

.booking-modal-from__phone-wrapper {
	position: relative
}

.booking-modal-from__phone-wrapper .ui-phone-input {
	padding-right: 40px
}

.booking-modal-from__phone-icon {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	pointer-events: none
}

.booking-modal-from__social-icon {
	width: 24px;
	height: 24px
}

@media screen and (min-width: 1025px) {
	.booking-modal-from__inputs {
		margin: 26px 0
	}
}

.booking-modal__body {
	max-height: 100%;
	margin: 16px 0 32px
}

.booking-modal__ticket_about {
	display: flex;
	align-items: center;
	background-color: var(--blue-100);
	border-radius: 12px;
	margin-bottom: 8px;
	padding: 8px;
	gap: 16px
}

.booking-modal__ticket-title {
	font-size: 16px;
	line-height: 22px;
	font-weight: 700
}

.booking-modal__ticket-route {
	font-size: 12px;
	line-height: 18px;
	font-weight: 400
}

.booking-modal__ticket-route-arrow {
	font-size: 16px;
	line-height: 22px;
	font-weight: 400;
	display: inline-block;
	transform: translateY(-2px)
}

.booking-modal__ticket_image {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	overflow: hidden
}

.booking-modal__pax-counts {
	display: flex;
	flex-direction: column;
	gap: 8px
}

.booking-modal__per-person-price {
	font-size: 18px;
	line-height: 22px;
	font-weight: 700;
	margin-top: 4px;
	color: var(--black-1000)
}

.booking-modal__discounts {
	margin-top: 14px;
	overflow-x: scroll;
	flex-wrap: nowrap;
	font-size: 14px;
	line-height: 14px;
	font-weight: 400
}

.booking-modal__price span {
	font-size: 18px;
	line-height: 24px;
	font-weight: 700
}

.booking-modal__crossed-price span {
	font-size: 14px;
	line-height: 16px;
	font-weight: 400
}

.booking-modal__form-error {
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: 8px;
	background-color: var(--red-100, #fdecec);
	color: var(--red-1000, #c62828);
	font-size: 14px;
	line-height: 18px;
	font-weight: 400;
	white-space: pre-line;
	cursor: pointer
}

.booking-modal__footer {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center
}

.booking-modal__footer-btns {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 4px
}

.booking-modal__footer-btns .ui-button {
	padding-inline: 16px
}

.booking-modal__footer-btns .ui-button .ui-button__inner {
	font-size: 16px
}

@media screen and (min-width: 401px) {
	.booking-modal__footer-btns .ui-button {
		padding-inline: 40px
	}
}

@media screen and (min-width: 769px) {
	.booking-modal__discounts {
		gap: 24px;
		overflow-x: auto;
		flex-wrap: nowrap;
		font-size: 12px;
		line-height: 10px;
		font-weight: 600
	}

	.booking-modal__price span {
		font-size: 28px;
		line-height: 34px;
		font-weight: 800
	}

	.booking-modal__crossed-price span {
		font-size: 16px;
		line-height: 22px;
		font-weight: 400
	}

	.booking-modal__footer-btns {
		gap: 8px
	}

	.booking-modal__footer-btns .ui-button--medium {
		height: 54px
	}

	.booking-modal__footer-btns .ui-button--medium .ui-button__inner {
		font-size: 18px
	}

	.booking-modal__footer-btns .ui-social-links .ui-social-links__button {
		width: 54px !important;
		height: 54px !important
	}

	.booking-modal__footer-btns .ui-social-links .ui-social-links__button svg,
	.booking-modal__footer-btns .ui-social-links .ui-social-links__button .ui-icon {
		width: 32px !important;
		height: 32px !important
	}

	.booking-modal__footer-btns .ui-social-links .ui-social-links__items {
		width: 54px
	}

	.booking-modal__footer-btns .ui-social-links .ui-social-links__items a {
		width: 54px !important;
		height: 54px !important
	}

	.booking-modal__footer-btns .ui-social-links .ui-social-links__items a .ui-icon {
		width: 54px;
		height: 54px
	}
}

.content {
	height: auto;
	--grid-cols-desktop: 4;
	--grid-cols-mobile: 2
}

.product-page {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 45px
}

.product-page .product {
	display: grid;
	margin: 0 auto
}

.product-page .product__gallery-container {
	max-width: 1224px;
	margin: 0 auto 24px;
	border-radius: 0 0 20px 20px;
	overflow: hidden
}

.product-page .product__gallery-container .ui-perfect-picture {
	aspect-ratio: 4/3
}

.product-page .product__title-container {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 8px
}

.product-page .product__title {
	font-size: 24px;
	line-height: 30px;
	font-weight: 800
}

.product-page .product__intro {
	padding-bottom: 48px
}

.product-page .product__intro--main-side {
	max-width: 100vw;
	padding-inline: 16px
}

.product-page .product__intro--main-side--group {
	padding-top: 32px
}

.product-page .product__intro--main-side--title {
	padding-bottom: 16px;
	font-size: 20px;
	line-height: 28px;
	font-weight: 800
}

.product-page .product__intro--content {
	padding-top: 8px
}

.product-page .product__tickets-sort {
	padding-top: 35px;
	margin-bottom: 8px
}

.product-page .product__ticket-info {
	position: relative;
	display: grid;
	padding: 0 16px;
	grid-template-columns: 1fr;
	max-width: 1224px
}

.product-page .product__ticket-info--content {
	order: 1
}

.product-page .product__ticket-info--right {
	order: 2
}

.product-page .product__ticket-info--right--info-card {
	margin-bottom: 48px;
	padding-inline: 0
}

.product-page .product__ticket-info--right--whats-included {
	margin-bottom: 48px
}

.product-page .product__ticket-info--right .book-sticky {
	display: none
}

.product-page .product__ticket-info--faq {
	margin-top: 48px
}

.product-page .product__block {
	width: 100%;
	max-width: 1224px;
	margin: 0 auto
}

.product-page .product__also-like {
	width: 100%
}

.product-page .product__additional-info {
	padding: 0 16px;
	display: grid;
	width: 100%
}

.product-page__schedule .product__intro {
	padding-top: 24px
}

.product-page__schedule .product__gallery-container,
.product-page__schedule .product__intro--main-side--title {
	display: none
}

.product-page .product__intro {
	padding-bottom: 44px
}

@media screen and (min-width: 1025px) {
	.product-page {
		padding-bottom: 192px
	}

	.product-page .product__gallery-container {
		display: block;
		margin-top: 32px;
		border-radius: 20px;
		margin-bottom: 40px
	}

	.product-page .product__title-container {
		margin-bottom: 8px
	}

	.product-page .product__title {
		font-size: 28px;
		line-height: 32px;
		font-weight: 800
	}

	.product-page .product__tags {
		margin-bottom: 4px
	}

	.product-page .product__tags>div {
		padding: 4px 8px
	}

	.product-page .product__tags>div>span {
		font-size: 14px;
		line-height: 14px;
		font-weight: 400
	}

	.product-page .product__intro {
		display: flex;
		align-items: flex-start;
		column-gap: 55px;
		padding-bottom: 4px
	}

	.product-page .product__intro--main-side {
		max-width: 808px;
		padding-inline: 0;
		padding-bottom: 44px
	}

	.product-page .product__intro--main-side--group {
		padding-top: 64px
	}

	.product-page .product__intro--main-side--title {
		display: block;
		padding-bottom: 24px;
		font-size: 24px;
		line-height: 30px;
		font-weight: 700
	}

	.product-page .product__intro--content {
		padding-top: 8px
	}

	.product-page .product__tickets-sort {
		padding-inline: 0;
		padding-top: 50px;
		margin-bottom: 16px
	}

	.product-page .product__options--title {
		padding-bottom: 24px;
		font-size: 24px;
		line-height: 30px;
		font-weight: 700
	}

	.product-page .product__ticket-info {
		padding: 0;
		align-items: start;
		column-gap: 46px;
		grid-template-columns: minmax(100px, auto) 354px
	}

	.product-page .product__ticket-info--content {
		max-width: 808px;
		order: 1
	}

	.product-page .product__ticket-info--right {
		order: 2
	}

	.product-page .product__ticket-info--right .book-sticky {
		display: block
	}

	.product-page .product__ticket-info--faq {
		margin-top: 64px
	}

	.product-page .product__ticket-info--right {
		padding-top: 46px;
		height: 100%
	}

	.product-page .product__ticket-info--right--info-card {
		margin-bottom: 48px;
		padding-inline: 0
	}

	.product-page .product__also-like {
		padding-right: 16px;
		max-width: 1256px;
		display: grid;
		grid-template-columns: minmax(100px, auto) 354px;
		column-gap: 48px
	}

	.product-page .product__also-like>div:first-child {
		padding-inline: 16px
	}

	.product-page .product__additional-info {
		padding-top: 96px;
		max-width: 1256px;
		grid-template-columns: minmax(100px, auto) 354px;
		column-gap: 48px
	}

	.product-page .book-sticky {
		position: sticky;
		top: 162px;
		z-index: 1
	}

	.product-page .ticket__book-sticky {
		position: sticky;
		top: 162px;
		z-index: 2;
		background: green
	}

	.product-page__schedule .product__intro {
		padding-top: 0
	}
}