.swiperPopular .swiper-slide {
    max-width: 472px;
}
.swiperPopular.swiper-initialized .swiper-slide {
    max-width: none;
}
.swiperRev .swiper-slide {
    max-width: 354px;
}
.swiperRev.swiper-initialized .swiper-slide {
    max-width: none;
}
.services-icos svg {
    margin: 3px;
    padding: 2px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #0064a2;
}
.services-icos svg *,
.services-icos svg {
    stroke: #0064a2 !important;
}
.services-icos div {
    margin: 3px;
}
.acolor,
.page-link,
a {
	color: var(--acolor);
}
.mainnav ul > li.active > a {
	color: #ff9157;
}
.dropdown-toggle-dark::after {
	background-image: url(/img/chevr_d_bl.svg);
}
.search-form .teplohod,
.search-form .ship-deck,
.search-form .ship-services {
	border-radius: 0 18px 18px 0;
}
.stars-rating {
	display: block;
}
.info-ship-block {
	padding-bottom: 55px;
}
.item-slider-img {
	width: 100%;
	height: 240px;
	object-fit: cover;
}
.item-object-content .item-slider {
	max-height: 350px;
}
ul.pagination .active .page-link {
	background-color: #1DADED;
	border-color: #1DADED;
}
.services-icos {
    display: flex;
}
.service-ico {
    display: inline-block;
    margin: 8px !important;
    padding: 8px;
    padding-left: 54px;
    width: auto !important;
    height: auto !important;
    background-repeat: no-repeat;
    background-position: left 8px center;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.service-ico::after {
    content: attr(title);
    display: inline-block;
}
.stars-rating.plus-rating {
    padding: 0 3px;
}
.stars-rating.plus-rating::before {
    width: 13px !important;
    background-image: url(/img/plus-ico.svg) !important;
}
.ss-option.stars-rating::before {
	background: none;
}
.ss-option.stars-rating {
    font-size: 0;
    text-align: right;
}
.ss-option.stars-rating::before {
    font-size: initial;
}
.ss-option.stars-rating::after {
	content: '';
	display: block;
	width: 26px;
	height: 26px;
    font-size: initial;
	background: url(/img/stars-ico.svg) center center no-repeat;
	background-size: contain;
	background-repeat: repeat-x;
	background-position: 0;
}
.ss-option.stars-rating .plus-rating {
    position: relative;
    display: inline-block;
    width: 0;
    height: 26px;
}
.ss-option.stars-rating .plus-rating::after {
    content: '';
    position: relative;
    left: calc(26px * 4 + 3px);
    display: inline-block;
    width: 13px;
    height: 100%;
    background: url(/img/plus-ico.svg) center center no-repeat;
}
.ss-option.stars-rating-1::after {
    width: calc(26px * 3);
}
.ss-option.stars-rating-2::after {
    width: calc(26px * 3);
}
.ss-option.stars-rating-2 .plus-rating::after {
    left: calc(26px * 3 + 3px);
}
.ss-option.stars-rating-3::after {
    width: calc(26px * 4);
}
.ss-option.stars-rating-4::after {
    width: calc(26px * 4);
}
.ss-option.stars-rating-4 .plus-rating::after {
    left: calc(26px * 4 + 3px);
}
.ss-option.stars-rating-5::after {
    width: calc(26px * 5);
}
.ss-option.stars-rating-6::after {
    width: calc(26px * 5);
}
.ss-option.stars-rating-6 .plus-rating::after {
    left: calc(26px * 5 + 3px);
}

.scheme {
    position: relative;
}
.scheme .scheme-image {
    width: 100%;
    -webkit-user-select: none; /* Chrome/Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE/Edge */
    user-select: none; /* Стандартный синтаксис */
}
.scheme .scheme-item {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #0f03;
    cursor: pointer;
}
.scheme .scheme-item:hover {
    background: #0f06;
}
.scheme .scheme-item.status-1 {
    background: #ff04 !important;
    cursor: default;
}
.status-cabin.status-cabin-1::before {
    background: #ff0 !important;
}
.scheme .scheme-item.status-2 {
    background: #f002 !important;
    cursor: default;
}
.status-cabin.status-cabin-2::before {
    background: #f00 !important;
}
.scheme .scheme-item.status-4 {
    background: #00f2 !important;
/*
    cursor: default;
*/
}
.status-cabin.status-cabin-4::before {
    background: #00f !important;
}
.scheme .scheme-item.status--1 {
    background: #fff2 !important;
    cursor: default;
}
.status-cabin.status-cabin--1::before {
    background: #fff !important;
}
/*
.scheme .scheme-item.status-4,
*/
.scheme .scheme-item.status-3,
.scheme .scheme-item.status-2,
/*
.scheme .scheme-item.status-1,
*/
.scheme .scheme-item.status--1 {
    background: #fff2 !important;
}
.scheme .scheme-item span {
    position: absolute;
}
.select-cabin .swiper-slide {
    aspect-ratio: 4 / 3;
}
.select-cabin .swiper-slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: inherit;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    filter: blur(4px) grayscale(100%) brightness(0.5);
}
.select-cabin .swiper-slide img {
    position: relative;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}
.star-add::before {
    background-size: contain;
    background-image: url(/img/fav-ico.svg);
}
.star-add.active::before {
/*
    background-image: url(/img/star-add.svg), url(/img/star-ok.svg);
*/
    background-image: url(/img/fav-active-ico.svg);
}
.fav-add::after {
    content: 'Добавить в избранное';
    width: 210px;
    text-align: left;
}
.fav-add.active::after {
    content: 'Убрать из избранного';
}
.fav-qty:empty {
    display: none;
}
form.side-cabin-cost .btn-submit {
    display: flex;
}
form.side-cabin-cost.added .btn-submit {
    display: none;
}
form.side-cabin-cost .btn-added,
form.side-cabin-cost .btn-more {
    display: none;
}
form.side-cabin-cost.added .btn-added,
form.side-cabin-cost.added .btn-more {
    display: flex;
}
.btn[data-bs-toggle="collapse"]::before {
    content: attr(data-expanded-text);
}
.btn[data-bs-toggle="collapse"].collapsed::before {
    content: attr(data-collapsed-text);
}
.btn[data-bs-toggle="collapse"]::after {
    content: "\F286";
}
.btn[data-bs-toggle="collapse"].collapsed::after {
    content: "\F282";
}
#cruises,
#listing .listing-wrapper {
    position: relative;
    display: block;
    max-height: 640px;
    overflow: hidden;
}
#cruises.show,
#listing .listing-wrapper.show {
    max-height: 100%;
}
#cruises.collapsing,
#listing .listing-wrapper.collapsing {
    max-height: 100%;
    min-height: 640px;
}
#cruises::before,
#listing .listing-wrapper::before {
    content: '';
    box-shadow: 0 -40px 20px #ebf2f9;
    position: absolute;
    bottom: -60px;
    width: calc(100% + 40px);
    height: 60px;
    background-color: #0f0;
    z-index: 1;
    left: -20px;
}
#cruises.show::before,
#listing .listing-wrapper.show::before {
    display: none;
}
#cruises #tables .wrap-table,
#cruises #tables {
    max-height: inherit;
    height: auto;
}
table.price-table {
    width: 100%;
}
.f-button[data-panzoom-action],
.f-button[data-fancybox-toggle-slideshow],
.f-button[data-fancybox-toggle-fullscreen],
.f-button[data-fancybox-toggle-thumbs] {
    display: none;
}
.f-panzoom__wrapper {
    max-width: 100% !important;
    max-height: 100% !important;
}
.legend-item {
    opacity: 0.5;
}
.legend-item:hover {
    opacity: 0.25;
}
.legend-item-0 {
    background-color: #FF4136 !important;
}
.legend-item-3 {
    background-color: #FF851B !important;
}
.legend-item-6 {
    background-color: #FFDC00 !important;
}
.legend-item-9 {
    background-color: #2ECC40 !important;
}
.legend-item-12 {
    background-color: #0074D9 !important;
}
.legend-item-15 {
    background-color: #001F3F !important;
}
.legend-item-18 {
    background-color: #7FDBFF !important;
}
.legend-item-2 {
    background-color: #39CCCC !important;
}
.legend-item-5 {
    background-color: #3D9970 !important;
}
.legend-item-8 {
    background-color: #01FF70 !important;
}
.legend-item-11 {
    background-color: #FF0066 !important;
}
.legend-item-14 {
    background-color: #F012BE !important;
}
.legend-item-17 {
    background-color: #B10DC9 !important;
}
.legend-item-1 {
    background-color: #85144B !important;
}
.legend-item-4 {
    background-color: #AAAAAA !important;
}
.legend-item-7 {
    background-color: #DDDDDD !important;
}
.legend-item-10 {
    background-color: #111111 !important;
}
.legend-item-13 {
    background-color: #FFD700 !important;
}
.legend-item-16 {
    background-color: #00FF00 !important;
}
.legend-item-19 {
    background-color: #FF69B4 !important;
}
/*
.main-photo {
    position: relative;
    display: block;
    text-align: center;
    white-space: nowrap;
    background-size: 0;
}
.main-photo img {
    position: relative;
    z-index: 2;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    vertical-align: middle;
}
.main-photo::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 100%;
    vertical-align: middle;
}
*/
.cabin-discount-list:empty {
    display: none;
}
.cabin-discount-list::before {
    content: 'Действующие скидки:';
    font-weight: bold;
}
/* Код SiteForge: список действующих скидок плашками: название слева, процент оранжевой «таблеткой» справа, в порядке применения */
.cabin-discount-list {
    list-style: none;
    padding: 0;
    margin: 14px 0 16px;
}
.cabin-discount-list::before {
    display: block;
    margin-bottom: 8px;
    font-size: 17px;
}
.cabin-discount-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 12px;
    margin-bottom: 6px;
    background: #EAF3FA;
    border-radius: 12px;
    font-size: 15px;
    line-height: 1.25;
}
.cabin-discount-list li:last-child {
    margin-bottom: 0;
}
.cabin-discount-list .disc-name {
    flex: 1 1 auto;
}
.cabin-discount-list .disc-pct {
    flex: 0 0 auto;
    background: #FC712C;
    color: #fff;
    border-radius: 15px;
    font-weight: 700;
    font-size: 14px;
    padding: 2px 10px;
    white-space: nowrap;
}
.showon-control.hidden {
    display: none;
}

.item-carts.available .unavailable,
.item-carts.unavailable .available {
    display: none;
}
.item-carts.nofree .icon-sett-cart .btn-url {
    display: none;
}

.item-carts.nofree .icon-sett-cart::after {
    content: 'К сожалению, в круизе не осталось свободных кают.';
    margin-left: .5rem;
    padding: 0.375rem 0.75rem;
    font-weight: bold;
}
.additional-place select {
    background-color: #ff03;
}
.additional-place select + label::after {
    background-color: transparent !important;
}
.additional-place .form-floating::before {
    content: 'Дополнительное место';
    position: absolute;
    top: 0px;
    right: 6px;
    font-size: 10px;
    font-weight: bold;
    opacity: 0.75;
}
/* Код SiteForge: обязательные поля заявки. Было: пустое поле целиком красное (#fdd, border #f44).
   Стало: спокойная голубая рамка и тонкая звёздочка в углу; когда поле заполнено, звёздочка и подсветка исчезают.
//~ .form-booking select:invalid,
//~ .form-booking input:invalid { border-color: #f44; background-color: #fdd; }
//~ .form-booking .form-floating select:invalid + label::after,
//~ .form-booking .form-floating input:invalid + label::after { background-color: #fdd; } */
.form-floating:has(> :required) {
    --req-border: #b8cfe3;
    --req-bg: #f6f9fd;
}
/* Пустое обязательное поле: спокойная голубая рамка. После отправки (.was-validated) работает стандартная проверка Bootstrap */
form:not(.was-validated) .form-floating > :required:invalid:not(:focus) {
    border-color: var(--req-border, #b8cfe3);
    background-color: var(--req-bg, #f6f9fd);
}
form:not(.was-validated) .form-floating > :required:invalid:not(:focus) ~ label::after {
    background-color: transparent !important;
}
/* Признак обязательности: тонкая звёздочка в углу поля (вместо звёздочки внутри подписи) */
.form-floating:has(> :required)::after {
    content: '*';
    position: absolute;
    top: 6px;
    right: 12px;
    font-size: 18px;
    line-height: 1;
    font-weight: 600;
    color: #e08a4c;
    opacity: .85;
    pointer-events: none;
}
.form-floating:has(> :required:valid)::after {
    content: none;
}
.form-floating:has(> :required) > label .star {
    display: none;
}
/* Обязательные флажки (согласие с политикой) и прочие подписи: та же приглушённая звёздочка */
.form-check .star,
label .star {
    color: #e08a4c;
}

/* Шапка с выпадающими меню выше блока поиска круизов (у него z-index: 10, чтобы его списки перекрывали контент ниже) */
header {
    z-index: 20;
}

/* Код SiteForge: пометка рейсов в листинге, показанных по запросу «откуда-куда» не напрямую (обратное направление / круговой рейс) */
.dir-mark {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 4px 12px;
    border-radius: 10px;
    background: #e0effa;
    color: #0064A2;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}
.dir-mark-ico {
    margin-right: 8px;
    font-size: 16px;
    line-height: 1;
}
.dir-mark.dir-loop {
    background: #fff1e9;
    color: #c8531a;
}

/* Код SiteForge: скидка в подписи места туриста (форма каюты и корзина): старая цена зачёркнута, новая и процент */
.place-select .form-floating > label .place-old {
    color: #7a8b9c;
}
.place-select .form-floating > label .place-pct {
    color: #FC712C;
    font-weight: 700;
}
