/* =========================================================
   ГЛАВНАЯ — ПЕРВЫЙ ЭКРАН
========================================================= */

/* Шапка главной страницы — desktop. Остаётся в обычном потоке. */
@media (min-width: 1001px) {
    .home .site-header {
        position: relative;
        top: 10px;
        width: calc(100% - 40px);
        max-width: 1360px;

        z-index: 1000;

        margin-left: auto;
        margin-right: auto;

        overflow: visible;

        background: rgba(255, 255, 255, .68);
        border: 1px solid rgba(255, 255, 255, .42);
        border-radius: 24px;
        box-shadow: none;

        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
    }

    .home .site-header__top,
    .home .site-header__nav {
        width: calc(100% - 64px);
        max-width: none;
    }

    .home .site-header__nav-row {
        border-top-color: rgba(255, 255, 255, .65);
    }

    .home .site-header__tour-button {
        background: rgba(255, 255, 255, .12);
        color: #2e2e2e;
        border: 1px solid rgba(255, 255, 255, .9);
    }

    .home .site-header__tour-button:hover {
        background: rgba(255, 255, 255, .9);
        color: #23963a;
    }
}

.ct-home {
    width: 100%;
    margin-top: -135px;
}
@media (max-width: 820px) {
    .ct-home {
        width: 100%;
        margin-top: -35px;
    }
}

.ct-home-hero {
    position: relative;
    margin-top: 0;
    overflow: hidden;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
}

.ct-home-hero__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(39, 53, 76, .58) 0%,
        rgba(58, 71, 91, .35) 48%,
        rgba(36, 45, 64, .28) 100%
    );
}

.ct-home-hero__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    grid-template-rows: auto auto;
    column-gap: 38px;


    

    align-content: space-between;
    width: min(1360px, calc(100% - 40px));
    min-height: calc(100vh - 250px);
    margin: 0 auto;
    padding: 200px 0 28px;
}

.ct-home-hero__content {
    align-self: center;
    max-width: 1000px;
}

.ct-home-hero__eyebrow {
    margin-bottom: 34px;
    font-size: clamp(18px, 1.45vw, 20px);
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
}

.ct-home-hero__title {
    margin: 0;
    font-size: clamp(48px, 5.1vw, 60px);
    line-height: .9;
    text-transform: uppercase;
    font-weight: 300;
}

.ct-home-hero__title strong,
.ct-home-hero__title span {
    display: block;
}

.ct-home-hero__title strong {
    font-weight: 700;
}

.ct-home-hero__title span {
    margin-top: 4px;
    font-weight: 300;
}

.ct-home-hero__subtitle {
    margin-top: 28px;
    font-size: clamp(24px, 2.25vw, 38px);
    line-height: 1.08;
    font-weight: 400;
}

.ct-home-hero__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 54px;
}

.ct-home-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 52px;
    padding: 10px 34px;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font: inherit;
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

.ct-home-hero__button:hover {
    background: #fff;
    color: #2e2e2e;
}

.ct-home-hero__pin {
    font-size: 20px;
}

.ct-home-featured {
    align-self: start;
    display: grid;
    gap: 20px;
}

.ct-home-featured-tour {
    display: block;
    padding: 11px;
    border-radius: 15px;
    background: rgba(255,255,255,.88);
    color: #2e2e2e;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}

.ct-home-featured-tour:hover {
    transform: translateY(-3px);
    background: #fff;
}

.ct-home-featured-tour__image-wrap {
    display: block;
    width: 100%;
    aspect-ratio: 1.55 / 1;
    overflow: hidden;
    border-radius: 8px;
    background: rgba(46,46,46,.08);
}

.ct-home-featured-tour__image,
.ct-home-featured-tour__placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

.ct-home-featured-tour__image {
    object-fit: cover;
    transition: transform .3s ease;
}

.ct-home-featured-tour:hover .ct-home-featured-tour__image {
    transform: scale(1.035);
}

.ct-home-featured-tour__placeholder {
    background: linear-gradient(135deg, #d8ddd9, #f5f5f5);
}

.ct-home-featured-tour__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 8px;
    padding-top: 10px;
}

.ct-home-featured-tour__title {
    font-size: 16px;
    line-height: 1.08;
    font-weight: 700;
}

.ct-home-featured-tour__arrow {
    font-size: 28px;
    line-height: .8;
    font-weight: 300;
}

.ct-home-search {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1.05fr 1.4fr 1.05fr .95fr 1.15fr;
    align-items: stretch;
    padding: 10px 12px 10px 22px;
    margin-top: 40px;
    border-radius: 22px;
    background: rgba(255,255,255,.55);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    box-shadow: 0 8px 28px rgba(25,35,53,.12);
}

.ct-home-search__field {
    min-width: 0;
    padding: 8px 20px 8px 0;
    margin-right: 16px;
    border-right: 1px solid rgba(255,255,255,.52);
}

.ct-home-search__field label {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 27px;
    margin-bottom: 8px;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.ct-home-search__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

.ct-home-search__icon img {
    display: block;
    width: 20px;
    height: 20px;
    max-width: none;
    object-fit: contain;
}

.ct-home-search select,
.ct-home-search input {
    width: 100%;
    height: 38px;
    padding: 0 14px;
    border: 0;
    border-radius: 5px;
    outline: none;
    background: rgba(77,82,88,.42);
    color: #fff;
    font: inherit;
    font-size: 14px;
}

.ct-home-search select {
    appearance: auto;
}

.ct-home-search input::placeholder {
    color: rgba(255,255,255,.85);
}

.ct-home-search__dates,
.ct-home-search__budget {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    min-width: 0;
}

.ct-home-search__dates input,
.ct-home-search__budget input {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* Safari / iPhone: не даём нативному date-input растягивать grid-колонку */
.ct-home-search__dates input[type="date"] {
    -webkit-appearance: none;
    appearance: none;
}

.ct-home-search__submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 88px;
    padding: 0 30px;
    border: 0;
    border-radius: 18px;
    background: #fff;
    color: #2e2e2e;
    font: inherit;
    font-size: 21px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

.ct-home-search__submit span:last-child {
    font-size: 40px;
    line-height: 1;
    font-weight: 300;
}

.ct-home-search__submit:hover {
    transform: translateY(-2px);
    background: #f7f7f7;
}

@media (max-width: 1180px) {
    .ct-home-hero {
        margin-top: 0;
    }

    .ct-home-hero__inner {
        grid-template-columns: minmax(0, 1fr) 220px;
        padding-top: 160px;
    }

    .ct-home-search {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .ct-home-search__field {
        margin: 0;
        padding: 10px;
        border-right: 0;
    }

    .ct-home-search__submit {
        grid-column: 1 / -1;
        min-height: 64px;
    }
}

@media (max-width: 820px) {
    .ct-home-hero {
        margin-top: 0;
        min-height: 0;
    }

    .ct-home-hero__inner {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        width: min(100% - 28px, 720px);
        min-height: 0;
        padding: 140px 0 24px;
    }

    .ct-home-hero__content {
        align-self: auto;
    }

    .ct-home-hero__eyebrow {
        margin-bottom: 22px;
    }

    .ct-home-hero__title {
        font-size: clamp(42px, 11vw, 70px);
    }

    .ct-home-hero__actions {
        flex-direction: column;
        align-items: stretch;
        margin-top: 34px;
    }

    .ct-home-hero__button {
        width: 100%;
    }

    .ct-home-featured {
        grid-template-columns: 1fr 1fr;
        margin-top: 38px;
    }

    .ct-home-search {
        grid-column: 1;
        grid-template-columns: 1fr;
        margin-top: 24px;
    }

    .ct-home-search__submit {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .ct-home-hero__inner {
        width: calc(100% - 20px);
        padding-top: 125px;
    }

    .ct-home-hero__eyebrow {
        font-size: 14px;
    }

    .ct-home-hero__title {
        font-size: 38px;
        line-height: .95;
    }

    .ct-home-hero__subtitle {
        font-size: 23px;
    }

    .ct-home-featured {
        grid-template-columns: 1fr;
    }

    .ct-home-search {
        width: 100%;
        min-width: 0;
        padding: 10px;
        border-radius: 16px;
        box-sizing: border-box;
        background: rgba(255,255,255,.85);
    }

    .ct-home-search__field {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .ct-home-search__dates,
    .ct-home-search__budget {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        min-width: 0;
    }
}

/* Иконки кнопок первого экрана */
.ct-home-hero__button-icon {
    display: block;
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex: 0 0 22px;
}


/* На мобильных используем общую мобильную шапку темы. */
@media (max-width: 1000px) {
    .home .site-header {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        width: 100%;
        max-width: 1280px;
        margin: 0 auto;
        background: rgba(255,255,255,.92);
        border: 0;
        border-radius: 0 0 16px 16px;
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
    }
}

/* =========================================================
   ГЛАВНАЯ — СКОРО ВЫЕЗЖАЕМ
========================================================= */
.ct-home-soon {
    padding: 48px 0 58px;
    background: #f6f6f6;
    color: #303030;
}

.ct-home-soon__inner {
    width: min(1360px, calc(100% - 40px));
    margin: 0 auto;
}

.ct-home-soon__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 22px;
}

.ct-home-soon__title {
    margin: 0;
    font-size: clamp(38px, 3vw, 52px);
    line-height: 1.05;
    font-weight: 400;
}

.ct-home-soon__description-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    max-width: 430px;
}

.ct-home-soon__description {
    font-size: 18px;
    line-height: 1.25;
    text-align: right;
}

.ct-home-soon__description p {
    margin: 0;
}

.ct-home-soon__description a {
    color: #23963a;
    text-decoration: none;
}

.ct-home-soon__calendar {
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    color: #23963a;
    font-size: 28px;
    line-height: 1;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.ct-home-soon__calendar:hover {
    background: #BDDFC4;
    color: #fff;
}

.ct-home-soon__calendar-icon {
    display: block;
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.ct-home-soon__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ct-home-soon-card {
    min-width: 0;
    padding: 10px;
    border-radius: 14px;
    background: #fff;
    box-sizing: border-box;
}

.ct-home-soon-card__image-wrap {
    position: relative;
    display: block;
    aspect-ratio: 1.5 / 1;
    overflow: hidden;
    border-radius: 9px;
    background: #e8e8e8;
}

.ct-home-soon-card__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.ct-home-soon-card:hover .ct-home-soon-card__image:not(.ct-home-soon-card__image--empty) {
    transform: scale(1.025);
}

.ct-home-soon-card__image--empty {
    background: linear-gradient(135deg, #d8ddd9, #f5f5f5);
}

.ct-home-soon-card__date {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    padding: 4px 18px 4px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.95);
    color: #303030;
    font-size: 13px;
    line-height: 1;
}

.ct-home-soon-card__plane {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    font-size: 17px;
}
.ct-home-soon-card__plane img {
    display: block;
    width: 20px;
    height: 20px;
    max-width: none;
    object-fit: contain;
}

.ct-home-soon-card__tags {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    max-width: 58%;
}

.ct-home-soon-card__tags span {
    max-width: 100%;
    padding: 5px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.93);
    color: #64ba78;
    font-size: 10px;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ct-home-soon-card__body {
    padding: 10px 0 0;
}

.ct-home-soon-card__title {
    min-height: 52px;
    margin: 0 0 18px;
    font-size: clamp(20px, 1.7vw, 26px);
    line-height: 1.05;
    font-weight: 400;
}

.ct-home-soon-card__title a {
    color: #303030;
    text-decoration: none;
}

.ct-home-soon-card__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(170px, .9fr);
    align-items: end;
    gap: 16px;
}

.ct-home-soon-card__price {
    color: #555;
    font-size: 21px;
    line-height: 1;
    white-space: nowrap;
}

.ct-home-soon-card__price-note {
    margin-top: 4px;
    color: #858585;
    font-size: 10px;
    line-height: 1.2;
}

.ct-home-soon-card__more {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 7px 12px;
    border-radius: 6px;
    background: #c6e8cf;
    color: #385140;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.ct-home-soon-card__more:hover {
    background: #23963a;
    color: #fff;
}

@media (max-width: 980px) {
    .ct-home-soon__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ct-home-soon-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        max-width: calc(50% - 10px);
    }
}

@media (max-width: 720px) {
    .ct-home-soon {
        padding: 36px 0 42px;
    }

    .ct-home-soon__inner {
        width: calc(100% - 20px);
    }

    .ct-home-soon__head {
        display: block;
        margin-bottom: 18px;
    }

    .ct-home-soon__description-wrap {
        justify-content: space-between;
        max-width: none;
        margin-top: 14px;
    }

    .ct-home-soon__description {
        text-align: left;
        font-size: 15px;
    }

    .ct-home-soon__grid {
        grid-template-columns: 1fr;
    }

    .ct-home-soon-card:last-child:nth-child(odd) {
        grid-column: auto;
        max-width: none;
    }

    .ct-home-soon-card__title {
        min-height: 0;
        font-size: 22px;
    }
}

@media (max-width: 430px) {
    .ct-home-soon-card__footer {
        grid-template-columns: 1fr;
    }

    .ct-home-soon-card__more {
        width: 100%;
        box-sizing: border-box;
    }
}

/* =========================================================
   ГЛАВНАЯ — ПОПУЛЯРНЫЕ НАПРАВЛЕНИЯ
========================================================= */
.ct-home-popular {
    padding: 54px 0 66px;
    background: #f6f6f6;
    color: #303030;
}

.ct-home-popular__inner {
    width: min(1360px, calc(100% - 40px));
    margin: 0 auto;
}

.ct-home-popular__title {
    margin: 0 0 24px;
    font-size: clamp(38px, 3vw, 52px);
    line-height: 1.05;
    font-weight: 400;
}

.ct-home-popular__grid {
    display: grid;
    grid-template-columns:
        minmax(220px, .95fr)
        minmax(280px, 1.18fr)
        minmax(430px, 1.9fr);
    grid-template-rows: 220px 220px;
    gap: 18px;
}

.ct-home-popular-card {
    position: relative;
    display: block;
    min-width: 0;
    overflow: hidden;
    border-radius: 12px;
    background: #dfe4e1;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
}

.ct-home-popular-card--1 {
    grid-column: 1;
    grid-row: 1 / 3;
}

.ct-home-popular-card--2 {
    grid-column: 2;
    grid-row: 1;
}

.ct-home-popular-card--3 {
    grid-column: 2;
    grid-row: 2;
}

.ct-home-popular-card--4 {
    grid-column: 3;
    grid-row: 1 / 3;
}

.ct-home-popular-card--5 {
    grid-column: 3;
    grid-row: 2;
    z-index: 3;

    align-self: end;
    justify-self: end;

    width: 38%;
    height: calc(100% - 18px);

    border: 8px solid #f6f6f6;
    border-right: 0;
    border-bottom: 0;
    border-radius: 12px 0 12px 0;
}

.ct-home-popular-card__image {
    position: absolute;
    inset: 0;
    z-index: -2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.ct-home-popular-card__image--empty {
    background: linear-gradient(135deg, #bac6bf, #e8ece9);
}

.ct-home-popular-card__shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        to top,
        rgba(16, 26, 35, .78) 0%,
        rgba(16, 26, 35, .30) 36%,
        rgba(16, 26, 35, .02) 72%
    );
}

.ct-home-popular-card__content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 18px 20px;
}

.ct-home-popular-card__heading {
    display: block;
    min-width: 0;
    font-size: clamp(22px, 2vw, 31px);
    line-height: 1.05;
    font-weight: 400;
    text-transform: uppercase;
}

.ct-home-popular-card--2 .ct-home-popular-card__heading,
.ct-home-popular-card--3 .ct-home-popular-card__heading,
.ct-home-popular-card--5 .ct-home-popular-card__heading {
    font-size: clamp(20px, 1.65vw, 27px);
}

.ct-home-popular-card__bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin-top: 7px;
}

.ct-home-popular-card__subtitle {
    max-width: 82%;
    font-size: 12px;
    line-height: 1.25;
}

.ct-home-popular-card__arrow {
    flex: 0 0 auto;
    font-size: 34px;
    line-height: .8;
    font-weight: 300;
}

.ct-home-popular-card.no-subtitle .ct-home-popular-card__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 14px;
}

.ct-home-popular-card.no-subtitle .ct-home-popular-card__heading {
    grid-column: 1;
    grid-row: 1;
}

.ct-home-popular-card.no-subtitle .ct-home-popular-card__bottom {
    grid-column: 2;
    grid-row: 1;
    display: block;
    margin-top: 0;
}

@media (hover: hover) and (pointer: fine) {
    a.ct-home-popular-card:hover .ct-home-popular-card__image {
        transform: scale(1.035);
    }
}

@media (max-width: 1050px) {
    .ct-home-popular__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 310px 220px 220px;
    }

    .ct-home-popular-card--1 {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    .ct-home-popular-card--2 {
        grid-column: 2;
        grid-row: 1;
    }

    .ct-home-popular-card--3 {
        grid-column: 2;
        grid-row: 2;
    }

    .ct-home-popular-card--4 {
        grid-column: 1;
        grid-row: 3;
    }

    .ct-home-popular-card--5 {
        grid-column: 2;
        grid-row: 3;

        width: 100%;
        height: auto;

        border: 0;
        border-radius: 12px;
    }
}

@media (max-width: 650px) {
    .ct-home-popular {
        padding: 38px 0 44px;
    }

    .ct-home-popular__inner {
        width: calc(100% - 20px);
    }

    .ct-home-popular__title {
        margin-bottom: 18px;
        font-size: 34px;
    }

    .ct-home-popular__grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 12px;
    }

    .ct-home-popular-card--1,
    .ct-home-popular-card--2,
    .ct-home-popular-card--3,
    .ct-home-popular-card--4,
    .ct-home-popular-card--5 {
        grid-column: auto;
        grid-row: auto;

        width: 100%;
        height: 240px;
        min-height: 240px;

        border: 0;
        border-radius: 12px;
    }
}

/* =========================================================
   ГЛАВНАЯ — ПОЧЕМУ МЫ
========================================================= */

.ct-home-why {
    padding: 72px 0 82px;
    background: #fff;
    color: #303030;
}

.ct-home-why__inner {
    width: min(1360px, calc(100% - 40px));
    margin: 0 auto;
    text-align: center;
}

.ct-home-why__eyebrow {
    margin-bottom: 26px;

    font-size: 18px;
    line-height: 1.2;
    font-weight: 600;

    text-transform: uppercase;
}

.ct-home-why__heading {
    margin-bottom: 66px;
}

.ct-home-why__title {
    margin: 0;

    font-size: clamp(46px, 5.1vw, 76px);
    line-height: .98;
    font-weight: 300;

    text-transform: uppercase;
}

.ct-home-why__title strong {
    font-weight: 700;
}

.ct-home-why__subtitle {
    margin-top: 14px;

    font-size: clamp(31px, 3.2vw, 49px);
    line-height: 1.05;
    font-weight: 300;

    text-transform: uppercase;
}

.ct-home-why__subtitle p {
    margin: 0;
}

.ct-home-why__subtitle strong {
    font-weight: 700;
}

.ct-home-why__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    width: 100%;
}

.ct-home-why-card {
    position: relative;

    min-width: 0;

    padding: 0 52px 16px;

    text-align: center;
}

.ct-home-why-card + .ct-home-why-card::before {
    content: "";

    position: absolute;
    top: 4px;
    bottom: 0;
    left: 0;

    width: 1px;

    background: #a7a7a7;
}

.ct-home-why-card__number {
    margin-bottom: 5px;

    font-size: clamp(76px, 7vw, 110px);
    line-height: .9;
    font-weight: 700;

    letter-spacing: -3px;

    font-variant-numeric: tabular-nums;
}

.ct-home-why-card__label {
    min-height: 34px;

    font-size: 19px;
    line-height: 1.15;
    font-weight: 700;

    text-transform: uppercase;
}

.ct-home-why-card__description {
    max-width: 330px;

    margin: 25px auto 0;

    font-size: 18px;
    line-height: 1.22;
    font-weight: 300;
}

@media (max-width: 900px) {
    .ct-home-why {
        padding: 56px 0 64px;
    }

    .ct-home-why__heading {
        margin-bottom: 48px;
    }

    .ct-home-why__cards {
        gap: 0;
    }

    .ct-home-why-card {
        padding-left: 24px;
        padding-right: 24px;
    }

    .ct-home-why-card__description {
        font-size: 16px;
    }
}

@media (max-width: 650px) {
    .ct-home-why {
        padding: 42px 0 50px;
    }

    .ct-home-why__inner {
        width: calc(100% - 24px);
    }

    .ct-home-why__eyebrow {
        margin-bottom: 18px;

        font-size: 13px;
    }

    .ct-home-why__title {
        font-size: 40px;
        line-height: 1;
    }

    .ct-home-why__subtitle {
        margin-top: 10px;

        font-size: 27px;
    }

    .ct-home-why__heading {
        margin-bottom: 38px;
    }

    .ct-home-why__cards {
        grid-template-columns: 1fr;
    }

    .ct-home-why-card {
        padding: 28px 12px;
    }

    .ct-home-why-card:first-child {
        padding-top: 0;
    }

    .ct-home-why-card + .ct-home-why-card::before {
        top: 0;
        right: 18%;
        bottom: auto;
        left: 18%;

        width: auto;
        height: 1px;
    }

    .ct-home-why-card__number {
        font-size: 76px;
    }

    .ct-home-why-card__label {
        min-height: 0;

        font-size: 17px;
    }

    .ct-home-why-card__description {
        margin-top: 14px;

        font-size: 16px;
    }
}



/* =========================================
   RECOMMENDED TOURS
   ========================================= */
.ct-home-recommended{
    padding:70px 0;
    background:#f4f5f4
}
.ct-home-recommended__inner{
    width:min(1640px,calc(100% - 80px));
    margin:0 auto
}
.ct-home-recommended__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-bottom:28px
}
.ct-home-recommended__title{
    margin:0;
    font-size: clamp(38px, 3vw, 52px);
    line-height:1;
    font-weight:400
}
.ct-home-recommended__subtitle-wrap{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:22px;
    max-width:620px
}
.ct-home-recommended__subtitle{
    font-size:18px;
    line-height:1.15;
    text-align:right
}
.ct-home-recommended__subtitle-icon{
    display:grid;
    place-items:center;
    flex:0 0 56px;
    width:56px;
    height:56px;
    border-radius:50%;
    background:#fff
}
.ct-home-recommended__subtitle-icon img{
    display:block;
    width:32px;
    height:32px;
    object-fit:contain
}
.ct-home-recommended__list{
    display:grid;
    gap:22px
}
.ct-home-recommended-card{
    display:grid;
    grid-template-columns:minmax(320px,32%) minmax(0,1fr) 360px;
    gap:24px;
    padding:14px;
    background:#fff;
    border-radius:20px;
    overflow:hidden
}
.ct-home-recommended-card__media{
    position:relative;
    display:block;
    min-height:310px;
    border-radius:12px;
    overflow:hidden;
    background:#e9e9e9
}
.ct-home-recommended-card__image{display:block;width:100%;height:260px;object-fit:cover}
.ct-home-recommended-card__image--empty{
    position:absolute;
    inset:
    0}
.ct-home-recommended-card__date-badge{
    position:absolute;
    top:14px;
    left:14px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:999px;
    background:#fff;
    color:#2e2e2e
}
.ct-home-recommended-card__type-icon{
    display:grid;
    place-items:center;
    width:22px;
    height:22px
}
.ct-home-recommended-card__type-icon img{
    width:20px;
    height:20px;
    object-fit:contain
}
.ct-home-recommended-card__tags{
    position:absolute;
    top:14px;
    right:14px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:6px
}
.ct-home-recommended-card__tags span{
    padding:4px 13px;
    border-radius:999px;
    background:#fff;
    color:#4bb66a;
    font-size:13px
}
.ct-home-recommended-card__content{
    min-width:0;
    padding:8px 0 4px
}
.ct-home-recommended-card__title{
    margin:0 0 8px;
    font-size:26px;
    line-height:1.12
}
.ct-home-recommended-card__title a{
    color:inherit;
    text-decoration:none
}
.ct-home-recommended-card__inline-tags{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    margin-bottom:14px;
    color:#58b96f;
    font-size:13px
}
.ct-home-recommended-card__facts{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:18px;font-size:14px}.ct-home-recommended-card__text{margin:0 0 16px;font-size:14px;line-height:1.35}.ct-home-recommended-card__dates{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.ct-home-recommended-card__date{border:0;border-radius:8px;background:#eee;padding:13px 18px;font:inherit;font-weight:600;cursor:pointer}.ct-home-recommended-card__date.is-active{background:#ccefd5}
.ct-home-recommended-card__aside{display:flex;flex-wrap:wrap;align-content:flex-start;gap:0;border-left:1px solid #aaa;padding-left:18px}.ct-home-recommended-card__city{flex:1 1 50%;min-height:44px;border:1px solid #ddd;background:#fff;font:inherit;cursor:pointer}.ct-home-recommended-card__city.is-active{border-color:#27a844;color:#27a844}.ct-home-recommended-card__price{flex:0 0 100%;padding:28px 0 20px;color:#25a343}.ct-home-recommended-card__price strong,
.ct-home-recommended-card__price>span{font-size:42px;line-height:1;font-weight:400}.ct-home-recommended-card__price small{display:block;margin-top:4px;color:#777;font-size:12px}.ct-home-recommended-card__actions{display:grid;gap:10px;width:100%;margin-top:auto}.ct-home-recommended-card__more,.ct-home-recommended-card__book{display:flex;align-items:center;justify-content:center;min-height:52px;border:1px solid #25a343;border-radius:6px;text-transform:uppercase;text-decoration:none;font-weight:700}
.ct-home-recommended-card__more{background:#fff;color:#25a343}.ct-home-recommended-card__book{background:#25a343;color:#fff}@media(max-width:1200px){.ct-home-recommended-card{grid-template-columns:320px minmax(0,1fr)}.ct-home-recommended-card__aside{grid-column:1/-1;border-left:0;border-top:1px solid #ddd;padding:16px 0 0}.ct-home-recommended-card__price{flex:1 1 250px;padding:10px 20px}.ct-home-recommended-card__actions{width:auto;flex:1 1 340px}}
@media(max-width:800px){
    .ct-home-recommended{
        padding:45px 0
    }
    .ct-home-recommended__inner{
        width:min(100% - 30px,1640px)
    }
    .ct-home-recommended__head{
        align-items:flex-start
    }
    .ct-home-recommended__title{
        font-size:38px
    }
    .ct-home-recommended__subtitle{
        font-size:15px
    }
    .ct-home-recommended__subtitle-icon{flex-basis:46px;width:46px;height:46px}.ct-home-recommended-card{grid-template-columns:1fr}
.ct-home-recommended-card__media{
    min-height:260px
}
.ct-home-recommended-card__image{min-height:260px}.ct-home-recommended-card__aside{grid-column:auto}.ct-home-recommended-card__price strong,.ct-home-recommended-card__price>span{font-size:34px}}@media(max-width:520px){.ct-home-recommended__head{display:block}.ct-home-recommended__subtitle-wrap{justify-content:flex-start;margin-top:15px}.ct-home-recommended__subtitle{text-align:left}.ct-home-recommended-card__city{flex-basis:100%}.ct-home-recommended-card__actions{width:100%}}

/* =========================================================
   РЕКОМЕНДУЕМ — DESKTOP: ПРОПОРЦИИ КАК В МАКЕТЕ
   ========================================================= */
@media (min-width: 1201px) {
    .ct-home-recommended-card {
        grid-template-columns: minmax(360px, 34%) minmax(0, 1fr) 360px;
        gap: 18px;
        height: 300px;
        min-height: 300px;
        max-height: 300px;
        padding: 10px;
        box-sizing: border-box;
        align-items: stretch;
    }

    .ct-home-recommended-card__media {
        height: 100%;
        min-height: 0;
        max-height: none;
        border-radius: 10px;
        overflow: hidden;
    }

    .ct-home-recommended-card__image,
    .ct-home-recommended-card__image--empty {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        min-height: 0;
        object-fit: cover;
    }

    .ct-home-recommended-card__content {
        display: flex;
        flex-direction: column;
        height: 100%;
        min-height: 0;
        padding: 7px 0 5px;
        box-sizing: border-box;
        overflow: hidden;
    }

    .ct-home-recommended-card__title {
        margin: 0 0 5px;
        font-size: 24px;
        line-height: 1.08;
    }

    .ct-home-recommended-card__inline-tags {
        gap: 16px;
        margin-bottom: 8px;
        font-size: 12px;
        line-height: 1.15;
    }

    .ct-home-recommended-card__facts {
        gap: 14px;
        margin-bottom: 10px;
        font-size: 13px;
        line-height: 1.15;
    }

    .ct-home-recommended-card__text {
        margin: 0 0 8px;
        font-size: 13px;
        line-height: 1.25;
    }

    .ct-home-recommended-card__dates {
        gap: 8px;
        margin-top: auto;
        padding-top: 4px;
    }

    .ct-home-recommended-card__date {
        min-height: 36px;
        padding: 8px 15px;
        border-radius: 7px;
        font-size: 13px;
    }

    .ct-home-recommended-card__aside {
        display: flex;
        flex-wrap: wrap;
        align-content: flex-start;
        height: 100%;
        min-height: 0;
        padding: 0 0 0 18px;
        box-sizing: border-box;
        border-left: 1px solid #aaa;
        overflow: hidden;
    }

    .ct-home-recommended-card__city {
        flex: 1 1 50%;
        min-height: 40px;
        height: 40px;
        margin: 0;
        padding: 5px 8px;
        box-sizing: border-box;
        border-radius: 0;
        font-size: 14px;
    }

    .ct-home-recommended-card__price {
        flex: 0 0 100%;
        margin: 0;
        padding: 17px 0 10px;
    }

    .ct-home-recommended-card__price strong,
    .ct-home-recommended-card__price > span {
        font-size: 38px;
        line-height: 1;
    }

    .ct-home-recommended-card__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        width: 100%;
        margin-top: auto;
    }

    .ct-home-recommended-card__more,
    .ct-home-recommended-card__book {
        min-height: 43px;
        height: 43px;
        padding: 7px 12px;
        box-sizing: border-box;
        border-radius: 5px;
    }
}

/* Booking popup from Recommended cards */
.ct-home-recommended-card__book {
    font: inherit;
    cursor: pointer;
}
.ct-home-recommended-booking__participants {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.ct-home-recommended-booking__status {
    min-height: 20px;
    font-size: 13px;
    line-height: 1.35;
}
.ct-home-recommended-booking__status.is-error { color: #d64545; }
.ct-home-recommended-booking__status.is-success { color: #23963a; }
/* =========================================================
   РЕКОМЕНДУЕМ — ЗАГОЛОВОК НА МОБИЛЬНЫХ
   как в блоке "Скоро выезжаем"
   ========================================================= */

@media (max-width: 799px) {

    .ct-home-recommended__head {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "title title"
            "subtitle icon";
        align-items: center;
        column-gap: 18px;
        row-gap: 24px;
        margin-bottom: 28px;
    }

    .ct-home-recommended__title {
        grid-area: title;
        margin: 0;
        width: 100%;
    }

    .ct-home-recommended__subtitle {
        grid-area: subtitle;
        margin: 0;
        max-width: none;
        text-align: left;
    }

    .ct-home-recommended__icon {
        grid-area: icon;
        flex: 0 0 auto;
        margin: 0;

        width: 64px;
        height: 64px;
        border-radius: 50%;

        display: flex;
        align-items: center;
        justify-content: center;

        background: #fff;
    }

    .ct-home-recommended__icon img {
        display: block;
        width: 34px;
        height: 34px;
        object-fit: contain;
    }
}

/* =========================================================
   ГЛАВНАЯ — КАК ЗАБРОНИРОВАТЬ ТУР
========================================================= */
.ct-home-how-book {
    padding: 72px 0 82px;
    background: #fff;
    color: #303030;
}
.ct-home-how-book__inner {
    width: min(1540px, calc(100% - 40px));
    margin: 0 auto;
    text-align: center;
}
.ct-home-how-book__eyebrow {
    margin-bottom: 24px;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
}
.ct-home-how-book__heading { margin-bottom: 64px; }
.ct-home-how-book__title {
    margin: 0;
    font-size: clamp(46px, 5.1vw, 76px);
    line-height: .98;
    font-weight: 300;
    text-transform: uppercase;
}
.ct-home-how-book__title p { margin: 0; }
.ct-home-how-book__title strong { font-weight: 700; }
.ct-home-how-book__subtitle {
    margin-top: 14px;
    font-size: clamp(24px, 2.2vw, 36px);
    line-height: 1.1;
    font-weight: 300;
}
.ct-home-how-book__steps {
    display: grid;
    grid-template-columns: repeat(var(--ct-how-book-count, 5), minmax(0, 1fr));
    width: 100%;
}
.ct-home-how-book-step {
    min-width: 0;
    padding: 0 18px 16px;
    text-align: center;
}
.ct-home-how-book-step__top {
    display: flex;
    align-items: center;
    width: calc(100% + 36px);
    margin-left: 50%;
    transform: translateX(-30px);
    margin-bottom: 20px;
}
.ct-home-how-book-step__number {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border: 1.5px solid #23963a;
    border-radius: 50%;
    background: #fff;
    color: #23963a;
    font-size: 42px;
    line-height: 1;
    font-weight: 700;
}
.ct-home-how-book-step__line {
    position: relative;
    flex: 1 1 auto;
    height: 1px;
    margin-left: 12px;
    margin-right: 12px;
    background: #23963a;
}
.ct-home-how-book-step__line::before,
.ct-home-how-book-step__line::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-radius: 50%;
    background: #23963a;
}
.ct-home-how-book-step__line::before { left: 0; }
.ct-home-how-book-step__line::after { right: 0; }
.ct-home-how-book-step.is-last .ct-home-how-book-step__number {
    border-color: #23963a;
    background: #23963a;
    color: #fff;
}
.ct-home-how-book-step__title {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
}
.ct-home-how-book-step.is-last .ct-home-how-book-step__title { color: #23963a; }
.ct-home-how-book-step__description {
    max-width: 260px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 300;
}
@media (max-width: 1000px) {
    .ct-home-how-book { padding: 56px 0 64px; }
    .ct-home-how-book__heading { margin-bottom: 48px; }
    .ct-home-how-book__steps { gap: 28px 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ct-home-how-book-step__top { width: 100%; margin-left: 0; transform: none; justify-content: center; }
    .ct-home-how-book-step__line { display: none; }
}
@media (max-width: 650px) {
    .ct-home-how-book { padding: 42px 0 50px; }
    .ct-home-how-book__inner { width: calc(100% - 24px); }
    .ct-home-how-book__eyebrow { margin-bottom: 18px; font-size: 13px; }
    .ct-home-how-book__title { font-size: 40px; line-height: 1; }
    .ct-home-how-book__subtitle { margin-top: 10px; font-size: 24px; }
    .ct-home-how-book__heading { margin-bottom: 38px; }
    .ct-home-how-book__steps { grid-template-columns: 1fr; gap: 0; }
    .ct-home-how-book-step { padding: 22px 12px; }
    .ct-home-how-book-step:first-child { padding-top: 0; }
    .ct-home-how-book-step__top { margin-bottom: 14px; }
    .ct-home-how-book-step__number { width: 54px; height: 54px; flex-basis: 54px; font-size: 36px; }
    .ct-home-how-book-step__title { font-size: 19px; }
    .ct-home-how-book-step__description { font-size: 16px; }
}

/* =========================================================
   ОТЗЫВЫ
   ========================================================= */
.ct-home-reviews{
    padding:72px 0 86px;
    background:#fff;
    overflow:hidden
}
.ct-home-reviews__inner{max-width:1640px;margin:0 auto;padding:0 32px}
.ct-home-reviews__head{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:34px}
.ct-home-reviews__title{
    margin:0;
    font-size: clamp(38px, 3vw, 52px);
    line-height:1.05;
    font-weight:400
}
.ct-home-reviews__head-right{display:flex;align-items:center;justify-content:flex-end;gap:22px;max-width:520px}.ct-home-reviews__subtitle{font-size:18px;line-height:1.15;text-align:right}.ct-home-reviews__subtitle p{margin:0}.ct-home-reviews__icon{width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:#f2f2f2;display:flex;align-items:center;justify-content:center}.ct-home-reviews__icon img{width:34px;height:34px;object-fit:contain}.ct-home-reviews-gallery-wrap{position:relative}.ct-home-reviews-gallery{display:flex;gap:38px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 18px}.ct-home-reviews-gallery::-webkit-scrollbar{display:none}.ct-home-reviews-gallery__item{border:0;padding:0;background:none;flex:0 0 360px;height:265px;overflow:hidden;cursor:pointer;scroll-snap-align:start}.ct-home-reviews-gallery__item img{width:100%;height:100%;display:block;object-fit:cover}.ct-home-reviews__arrow{position:absolute;z-index:2;top:112px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:34px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.12)}.ct-home-reviews__arrow--prev{left:10px}.ct-home-reviews__arrow--next{right:10px}.ct-home-reviews__dots{display:flex;justify-content:center;gap:10px;min-height:12px;margin:2px 0 58px}.ct-home-reviews__dot{width:11px;height:11px;border:0;border-radius:50%;padding:0;background:#d9d9d9;cursor:pointer}.ct-home-reviews__dot.is-active{background:#23a63f}
.ct-home-reviews__yandex{
    max-width:560px;
    margin:0 auto 70px
}
.ct-home-reviews__yandex iframe{display:block;max-width:100%;margin:auto}.ct-home-reviews-videos{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.ct-home-reviews-videos::-webkit-scrollbar{display:none}.ct-home-reviews-video{flex:0 0 min(680px,80vw);aspect-ratio:16/9;scroll-snap-align:start;background:#111;overflow:hidden}.ct-home-reviews-video iframe,.ct-home-reviews-video video{width:100%!important;height:100%!important;display:block;border:0}.ct-home-reviews-lightbox{position:fixed;z-index:99999;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:40px}.ct-home-reviews-lightbox[hidden]{display:none}.ct-home-reviews-lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.ct-home-reviews-lightbox__close{position:absolute;right:24px;top:18px;border:0;background:none;color:#fff;font-size:52px;cursor:pointer}
@media(max-width:1199px){.ct-home-reviews__title{font-size:46px}.ct-home-reviews-gallery__item{flex-basis:320px;height:235px}}
@media(max-width:799px){.ct-home-reviews{padding:48px 0 58px}.ct-home-reviews__inner{padding:0 20px}.ct-home-reviews__head{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title title" "subtitle icon";gap:22px 16px;margin-bottom:26px}.ct-home-reviews__title{grid-area:title;font-size:42px}.ct-home-reviews__head-right{display:contents}.ct-home-reviews__subtitle{grid-area:subtitle;text-align:left;font-size:20px;max-width:none}.ct-home-reviews__icon{grid-area:icon;width:64px;height:64px;flex-basis:64px}.ct-home-reviews-gallery{gap:14px}.ct-home-reviews-gallery__item{flex-basis:82vw;height:58vw;max-height:340px}.ct-home-reviews__arrow{display:none}.ct-home-reviews__dots{margin-bottom:42px;gap:8px}.ct-home-reviews__dot{width:9px;height:9px}.ct-home-reviews__yandex{margin-bottom:48px;overflow:hidden}.ct-home-reviews-video{flex-basis:88vw}.ct-home-reviews-lightbox{padding:20px}}
@media(max-width:520px){.ct-home-reviews__title{font-size:36px}.ct-home-reviews__subtitle{font-size:15px}.ct-home-reviews-gallery__item{flex-basis:86vw;height:62vw}}

/* =========================================================
   ОТЗЫВЫ — ВЕРТИКАЛЬНАЯ ВИДЕОГАЛЕРЕЯ
   ========================================================= */
.ct-home-reviews-videos-wrap{position:relative;margin-top:10px;padding-bottom:34px}
.ct-home-reviews-videos{display:flex;gap:28px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:0 2px 8px}
.ct-home-reviews-videos::-webkit-scrollbar{display:none}
.ct-home-reviews-video{position:relative;flex:0 0 405px;width:405px;aspect-ratio:9/16;scroll-snap-align:start;scroll-snap-stop:always;background:#000;overflow:hidden;border-radius:18px}
.ct-home-reviews-video iframe,.ct-home-reviews-video video{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:block;border:0;margin:0!important}
.ct-home-reviews-video__arrow{position:absolute;z-index:5;top:calc(50% - 36px);width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 2px 12px rgba(0,0,0,.14);font-size:36px;line-height:1;cursor:pointer}
.ct-home-reviews-video__arrow--prev{left:12px}
.ct-home-reviews-video__arrow--next{right:12px}
.ct-home-reviews-video__dots{display:flex;justify-content:center;gap:9px;min-height:10px;margin-top:16px}
.ct-home-reviews-video__dot{width:10px;height:10px;border:0;border-radius:50%;padding:0;background:#d9d9d9;cursor:pointer}
.ct-home-reviews-video__dot.is-active{background:#23a63f}
@media(max-width:799px){.ct-home-reviews-video{flex-basis:min(78vw,405px);width:min(78vw,405px)}.ct-home-reviews-video__arrow{display:none}.ct-home-reviews-videos{gap:16px}.ct-home-reviews-videos-wrap{padding-bottom:20px}}
@media(max-width:520px){.ct-home-reviews-video{flex-basis:82vw;width:82vw;border-radius:14px}}
/* =========================================================
   ЯНДЕКС ОТЗЫВЫ — МОБИЛЬНАЯ АДАПТАЦИЯ
   ========================================================= */
@media (max-width:799px){
    .ct-home-reviews__yandex{
        width:100%;
        max-width:100%;
        margin:32px auto 48px;
        overflow:visible;
        height:auto;
    }

    /* Код Яндекса приходит с inline width:560px. На мобильном
       не масштабируем iframe через transform, а реально меняем
       ширину его внешнего контейнера. Тогда сам виджет Яндекса
       перестраивает внутреннюю верстку под доступную ширину. */
    .ct-home-reviews__yandex > div{
        position:relative !important;
        width:100% !important;
        max-width:100% !important;
        height:800px !important;
        overflow:hidden !important;
        transform:none !important;
        left:auto !important;
        top:auto !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    .ct-home-reviews__yandex iframe{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        height:100% !important;
        margin:0 !important;
        border:0;
        box-sizing:border-box !important;
        transform:none !important;
    }
}

@media (max-width:520px){
    .ct-home-reviews__yandex{
        margin-top:24px;
        margin-bottom:40px;
    }

    .ct-home-reviews__yandex > div{
        height:720px !important;
    }
}

/* =========================================================
   ОТЗЫВЫ — LIGHTBOX-ГАЛЕРЕЯ ФОТОГРАФИЙ
   ========================================================= */
.ct-home-reviews-lightbox{
    display:grid;
    grid-template-columns:64px minmax(0,1fr) 64px;
    align-items:center;
    gap:18px;
}
.ct-home-reviews-lightbox[hidden]{display:none}
.ct-home-reviews-lightbox__stage{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
}
.ct-home-reviews-lightbox__stage img{
    display:block;
    max-width:100%;
    max-height:calc(100vh - 110px);
    width:auto;
    height:auto;
    object-fit:contain;
}
.ct-home-reviews-lightbox__prev,
.ct-home-reviews-lightbox__next{
    width:56px;
    height:56px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:46px;
    line-height:50px;
    cursor:pointer;
    transition:background .2s ease;
}
.ct-home-reviews-lightbox__prev:hover,
.ct-home-reviews-lightbox__next:hover{background:rgba(255,255,255,.26)}
.ct-home-reviews-lightbox__count{
    min-height:20px;
    color:#fff;
    font-size:15px;
    line-height:1.2;
    text-align:center;
}
@media(max-width:799px){
    .ct-home-reviews-lightbox{
        grid-template-columns:42px minmax(0,1fr) 42px;
        gap:6px;
        padding:58px 8px 24px;
    }
    .ct-home-reviews-lightbox__prev,
    .ct-home-reviews-lightbox__next{
        width:40px;
        height:40px;
        font-size:34px;
        line-height:36px;
        background:rgba(255,255,255,.12);
    }
    .ct-home-reviews-lightbox__stage img{max-height:calc(100vh - 130px)}
    .ct-home-reviews-lightbox__close{right:14px;top:8px;font-size:46px}
}