
/* заготовка медиа разрещений */
@media (max-width: 1250px) {

}
@media (max-width: 800px) {

}
@media (max-width: 400px) {

}

/*@font-face {*/
/*    font-family: "Proxima Nova";*/
/*    src:*/
/*            local("Proxima Nova"),*/
/*            url("../fonts/proximanova_black.ttf"),*/
/*            url("../fonts/proximanova_black.otf");*/
/*    font-weight: bold;*/
/*}*/
/*@font-face {*/
/*    font-family: "Proxima Nova";*/
/*    src:*/
/*            local("Proxima Nova"),*/
/*            url("../fonts/proximanova_black.ttf"),*/
/*            url("../fonts/proximanova_black.otf");*/
/*    font-weight: bold;*/
/*}*/
/*@font-face {*/
/*    font-family: "Proxima Nova";*/
/*    src:*/
/*            local("Proxima Nova"),*/
/*            url("../fonts/proximanova_black.ttf"),*/
/*            url("../fonts/proximanova_black.otf");*/
/*    font-weight: bold;*/
/*}*/

/* Settings */

body {
    position: relative;
    padding-top: 99px;
}

body:has(.modal-form__wrapper.active) {
    overflow: hidden;
    height: 100vh;
}

body:has(.modal-review__wrapper.active) {
    overflow: hidden;
    height: 100vh;
}

body:has(.modal-contacts__wrapper.active) {
    overflow: hidden;
    height: 100vh;
}

body:has(.thours-page__controll-filter.opened) {
    overflow: hidden;
    height: 100vh;
}

.container-header {
    background-color: unset!important;
    background-image: unset!important;
}

.site-container {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
}

.card-body {
    padding: 0;
    color: unset;
    flex: none;
}

.main-container main .card {
    border: none;
}

.footer {
    margin-top: 45px;
}

span.blue {
    color: #1B7AFF;
}

.body-contact-button-wrapper {
    display: none;
}

.body-loader {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100000000;
    width: 100vw;
    height: 100vh;
    background-color: #ffffff;
    pointer-events: none;
    opacity: 0;
    transition: all 1s linear;
}

.main-container:has(.tour-page) .contacts {
    display: none;
}

.main-container:has(.tour-page) section.content .contacts {
    display: block;
}

.thours__head-title.tour-page-title {
    display: none;
}

.main-container:has(.tour-page) .thours__head-title.tour-page-title {
    display: block;
}

.main-container:has(.tour-page) .thours__head-title {
    display: none;
}

body:has(.tour-page-navigation) {
    padding-top: 148px;
}

@media (max-width: 1100px) {
    body:has(.tour-page-navigation) .mobile-menu {
        padding-top: 130px;
    }
}

@media (max-width: 500px) {
    body:has(.tour-page-navigation) .mobile-menu {
        padding-top: 120px;
    }
}





@media (max-width: 1100px) {
    body {
        padding-top: 70px;
    }

    body:has(.tour-page-navigation) {
        padding-top: 120px;
    }

}

@media (max-width: 768px) {
    .body-contact-button-wrapper {
        width: 100%;
        display: block;
        position: fixed;
        bottom: 20px;
        z-index: 10;
    }

    .body-contact-button-mobile {
        margin: 0 16px;

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

        padding: 17px;
        border: none;
        background-color: #EC9411;
        border-radius: 16px;

        font-family: Onest;
        font-weight: 500;
        font-size: 17px;
        line-height: 120%;
        color: #FFFFFF;
        outline: none!important;

    }

}

@media (max-width: 500px) {
    body:has(.tour-page-navigation) {
        padding-top: 120px;
    }
}

@media (max-width: 400px) {
    .footer {
        margin-top: 35px;
    }
}

/* Settings */



/* Header */

.site-header {
    border-bottom: 1px solid #CBD5E0;
    max-width: unset;
    margin: 0;
    position: relative;
    z-index: 21;
    background-color: #ffffff;
    position: fixed;
    top: 0;
}

.header-container {
    /*max-width: 1440px;*/
    width: 100%;
    margin: 0 auto;
    padding: 13px 32px;
    display: flex;
    flex-direction: column;
}

.header-top {
    display: flex;
    align-items: center;
}

.header-bottom {

}

.header-menu {
    margin-left: 40px;
}

.header-menu .mod-menu {
    flex-direction: row;
    column-gap: 40px;
}

.header-menu .nav-item {
    padding: 0;
}

.header-menu .nav-item > a {
    font-family: 'Onest';
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937;
    text-decoration: none!important;
    transition: all .4s linear;
}

.header-menu .nav-item > a:hover {
    text-decoration: none;
    color: #1B7AFF;
    transition: all .4s linear;
}

.header-top-left {
    margin-left: auto;
    display: flex;
    align-items: center;
    column-gap: 30px;
}

.header-contacts {

}

.header-contacts__wrapper {
    display: flex;
    flex-direction: column;
    align-items: end;
    row-gap: 8px;
}

.header-contacts__phone a {
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    line-height: 124%;
    color: #061937;
    text-decoration: none;
    transition: all .4s linear;
}

.header-contacts__phone a:hover {
    transition: all .4s linear;
    color: #1B7AFF;
}

.header-contacts__social {
    display: flex;
    column-gap: 22px;
}

.mobile-menu__btn {
    display: none;
}

.mobile-menu {
    display: none;
}

.header-logo-mobile {
    display: none;
}

.header-menu__login {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    border-radius: 16px;
    background-color: rgba(27,122,255, 0.15);
    padding: 16px 24px;
    cursor: pointer;
    transition: all .4s linear;
    text-decoration: none;
}

.header-menu__login:hover {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.25);
}

.header-menu__login-ico {

}

.header-menu__login-text {
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #1B7AFF!important;
    text-decoration: none;
}

.review-stars__item {
    position: relative;
}

.review-stars__item input {
    width: 0;
    height: 0;
    opacity: 0;
    position: absolute;
}

@media (max-width: 1300px) {
    .header-contacts {
        display: none;
    }
}

@media (max-width: 1100px) {

    .header-menu__login {
        display: none;
    }

    .header-menu {
        display: none;
    }

    .header-container {
        padding: 17px 16px;
    }

    .header-logo {
        display: none;
    }

    .header-logo-mobile {
        display: block;
    }

    .header-logo-mobile img {
        height: 36px;
        width: auto;
    }


    .mobile-menu__btn {
        display: block;
        cursor: pointer;
    }

    .mobile-menu__btn .mobile-menu__open {
        display: block;
    }

    .mobile-menu__btn .mobile-menu__close {
        display: none;
    }

    .mobile-menu__btn.opened .mobile-menu__open {
        display: none;
    }

    .mobile-menu__btn.opened .mobile-menu__close {
        display: block;
    }



    .mobile-menu {
        display: block;
        position: fixed;
        z-index: 9;
        top: 0px;
        left: -100%;
        transition: all .4s linear;
        background-color: #ffffff;
        padding-top: 70px;
        width: 360px;
        height: 100vh;
    }

    .mobile-menu.opened {
        left: 0%;
        transition: all .4s linear;
    }

    .mobile-menu__wrapper {
        padding: 24px 16px;
        display: flex;
        flex-direction: column;
        row-gap: 32px;
        background-color: #ffffff;
        z-index: 9;
    }



    .mobile-menu__menu {

    }

    .mobile-menu__menu > .mod-menu.mod-list.nav {
        display: flex;
        flex-direction: column;
        row-gap: 16px;
    }

    .mobile-menu__menu > .mod-menu.mod-list.nav li {
        padding: 0;
    }

    .mobile-menu__menu > .mod-menu.mod-list.nav li a {
        font-family: Onest;
        font-weight: 400;
        font-size: 18px;
        color: #061937;
        text-decoration: none!important;
    }



    .mobile-contacts {

    }

    .mobile-contacts__wrapper {
        display: flex;
        flex-direction: column;
        row-gap: 12px;
    }

    .mobile-contacts__phone {
        border-radius: 16px;
        width: 100%;
        background-color: #0AA447;
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 10px;
        padding: 15px;
        text-decoration: none;
    }

    .mobile-contacts__phone .text {
        font-family: Onest;
        font-weight: 500;
        font-size: 17px;
        color: #FFFFFF;
    }

    .mobile-contacts__bottom {
        display: flex;
        column-gap: 10px;
    }

    .mobile-contacts__tg {
        width: 100%;
        padding: 12px;
        border-radius: 14px;
        background-color: #27A6E6;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .mobile-contacts__wapp {
        width: 100%;
        padding: 12px;
        border-radius: 14px;
        background-color: #25D366;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .mobile-contacts__vk {
        width: 100%;
        padding: 12px;
        border-radius: 14px;
        background-color: #0077FF;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }



    .mobile-menu__login {
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 10px;
        width: 100%;
        border-radius: 16px;
        background-color: rgba(27,122,255, 0.15);
        padding: 15px;
        text-decoration: none;
    }

    .mobile-menu__login-ico {

    }

    .mobile-menu__login-text {
        font-family: Onest;
        font-weight: 500;
        font-size: 17px;
        color: #1B7AFF!important;
        text-decoration: none;
    }

}

@media (max-width: 768px) {
    .mobile-menu {
        width: 100%;
    }
}

/* Header */



/* Footer */

.footer {
    background-color: #F5F9FE!important;
    background-image: none;
}

.footer__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    row-gap: 32px;
    padding: 32px 0;

}

.footer-top {

}

.footer-top__wrapper {
    display: flex;
    align-items: center;
}

.footer-top .mod-menu {
    flex-direction: row;
    column-gap: 40px;
    margin-left: 40px;
}

.footer-top .nav-item {
    padding: 0;
}

.footer-top .nav-item > a {
    font-family: 'Onest';
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937!important;
    text-decoration: none!important;
    transition: all .4s linear;
}

.footer-top .nav-item > a:hover {
    transition: all .4s linear;
    text-decoration: none;
    color: #1B7AFF!important;
}

.footer-contacts {

}

.footer-contacts__wrapper {
    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: 8px;
}

.footer-contacts__phone a {
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    line-height: 124%;
    color: #061937!important;
    text-decoration: none;
    transition: all .4s linear;
}

.footer-contacts__phone a:hover {
    transition: all .4s linear;
    text-decoration: none;
    color: #1B7AFF!important;
}

.footer-contacts__social {
    display: flex;
    column-gap: 22px;
}

.footer-bottom {

}

.footer-bottom__wrapper {

}

.footer-top__right {
    margin-left: auto;
}

.footer-info {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}

.footer-info__top {
    display: flex;
    column-gap: 12px;
}

.footer-info__top p {
    font-family: Onest;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: #718094!important;
    margin: 0;
}

.footer-info__top a {
    font-family: Onest;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: #718094!important;
    text-decoration: none;
    transition: all .4s linear;
}

.footer-info__top a:hover {
    color: #212121!important;
    transition: all .4s linear;
}

.footer-info__bottom {
    display: flex;
    column-gap: 12px;
    justify-content: space-between;
}

.footer-info__bottom .footer-info__item {
    display: flex;
    flex-direction: column;
    margin: 0;
}

.footer-info__bottom .footer-info__item p {
    font-family: Onest;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: #718094;
    margin: 0;
}

.footer-info__bottom .footer-info__item a {
    font-family: Onest;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: #718094;
    margin: 0;
    text-decoration: none;
}

.footer-info__bottom .footer-info__item a:hover {
    text-decoration: none;
    color: #212121!important;
    transition: all .4s linear;
}

.footer-logo-mobile {
    display: none;
}

.footer__mobile-contacts {
    display: none;
}

.mobile-contacts-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 18px;
    color: #061937;
    margin-bottom: 12px;
}

.footer__contacts-mobile-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 18px;
    color: #061937;
}

@media (max-width: 1250px) {
    .footer__wrapper {
        padding: 32px 16px;
    }
}

@media (max-width: 1100px) {

    .footer-info__top {
        flex-direction: column;
        row-gap: 12px;
    }

    .footer-top__wrapper {
        flex-direction: column;
        align-items: start;
        row-gap: 32px;
    }

    .footer-top .mod-menu {
        margin: 0;
        row-gap: 16px;
        flex-direction: column;
    }

    .footer-top__right {
        margin: 0;
    }

    .footer-info__bottom {
        flex-direction: column;
        row-gap: 12px;
    }
}

@media (max-width: 700px) {

    .footer-logo {
        display: none;
    }

    .footer-logo-mobile {
        display: block;
    }

    .footer-top__right {
        display: none;
    }

    .footer__mobile-contacts {
        display: block;
        width: 100%;
    }

    .footer__contacts-mobile-title {
        margin-bottom: 12px;
    }

}

/* Footer */



/* about-us */

.about-us {
    background-color: #F5F9FE;
    padding: 70px 0;
    margin: 45px 0;
}

.about-us__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    column-gap: 60px;
}

.about-us__text {

}

.about-us__text-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    color: #061937;
    margin-bottom: 16px;
}

.about-us__text-content {
    font-family: Onest;
    font-weight: 400;
    font-size: 20px;
    line-height: 140%;
    color: #061937;
    margin-bottom: 24px;
}

.about-us__text-btn {
    transition: all .4s linear;
    background-color: #EC9411;
    border-radius: 16px;
    padding: 17px 32px;
    display: inline-block;
    cursor: pointer;
}

.about-us__text-btn:hover {
    transition: all .4s linear;
    background-color: #D68000;
}

.about-us__text-btn p {
    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    line-height: 120%;
    color: #FFFFFF;
    margin-bottom: 0;
}

.about-us__cards {
    width: 384px;
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    row-gap: 8px;
    column-gap: 16px;
}

.about-us__cards-item {
    background-color: #FFFFFF;
    border-radius: 24px;
    padding: 22px;
    width: 184px;
}

.about-us__cards-item-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    line-height: 132%;
    color: #1B7AFF;
    margin-bottom: 4px;
}

.about-us__cards-item-text {
    margin-bottom: 0;
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937;
}

@media (max-width: 1250px) {
    .about-us__wrapper {
        max-width: 768px;
    }
}

@media (max-width: 800px) {
    .about-us__wrapper {
        margin: 0 16px;
        flex-direction: column;
        row-gap: 24px;
    }

    .about-us__cards {
        width: 100%;
        justify-content: space-between;
        column-gap: 8px;
    }

    .about-us__cards-item {
        width: 48%;
        min-height: 124px;
    }

    .about-us__cards-item-title {
        font-size: 21px;
    }

    .about-us__cards-item-text {
        font-size: 16px;
    }

}

@media (max-width: 400px) {
    .about-us {
        padding: 40px 0;
        margin: 35px 0;
    }

    .about-us__cards-item {
        padding: 16px 16px 16px 20px;
    }

    .about-us__cards-item-title {
        font-size: 18px;
    }

    .about-us__text-btn {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* about-us */



/* seo-text */

.seo-text {
    margin: 45px 0;
    background-color: #ffffff;
}

.seo-text__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.seo-text__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    margin-bottom: 24px;
    color: #061937;
}

.seo-text__content p {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    margin-bottom: 24px;
    color: #061937;
}


@media (max-width: 1250px) {
    .seo-text__wrapper {
        max-width: 768px;
    }
}

@media (max-width: 800px) {
    .seo-text__wrapper {
        margin: 0 16px;
    }

}

@media (max-width: 500px) {

    .seo-text__title {
        font-size: 26px;
    }

    .seo-text {
        margin: 35px 0;
    }

}


/* seo-text */



/* advantages */

.advantages {
    padding: 70px 0;
    background-color: #F5F9FE;
    margin: 45px 0;
}

.advantages__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.advantages__title {
    margin-bottom: 40px;
}

.advantages__title-text {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    vertical-align: middle;
    color: #061937;
}

.advantages__content {
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    column-gap: 30px;
}

.advantages__content-card {
    background-color: #ffffff;
    border-radius: 24px;
    padding: 30px 26px;
    max-width: 594px;
    width: 100%;

}

.advantages__content-card-num {
    font-family: Geologica;
    font-weight: 600;
    font-size: 32px;
    line-height: 124%;
    color: #1B7AFF;
    margin-bottom: 14px;
}

.advantages__content-card:nth-child(1) .advantages__content-card-num:before {
    content: '01';
}

.advantages__content-card:nth-child(2) .advantages__content-card-num:before {
    content: '02';
}

.advantages__content-card:nth-child(3) .advantages__content-card-num:before {
    content: '03';
}

.advantages__content-card:nth-child(4) .advantages__content-card-num:before {
    content: '04';
}

.advantages__content-card:nth-child(5) .advantages__content-card-num:before {
    content: '05';
}

.advantages__content-card:nth-child(6) .advantages__content-card-num:before {
    content: '06';
}

.advantages__content-card:nth-child(7) .advantages__content-card-num:before {
    content: '07';
}

.advantages__content-card:nth-child(8) .advantages__content-card-num:before {
    content: '08';
}

.advantages__content-card-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    line-height: 132%;
    color: #061937;
    margin-bottom: 10px;
}

.advantages__content-card-text {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937;
    height: 100px;
    overflow: hidden;
    transition: all .4s linear;
}

.advantages__content-card-text.open {
    /*height: auto;*/
    transition: all .4s linear;
}

.advantages__content-card-show {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #1B7AFF;
    margin-top: 20px;
    cursor: pointer;
}

.advantages__content-card .advantages__content-card-show-open {
    display: block;
}

.advantages__content-card .advantages__content-card-show-open:hover {
    display: block;
    color: #1162D4;
    transition: all .4s linear;
}

.advantages__content-card .advantages__content-card-show-close {
    display: none;
}

.advantages__content-card:has(.advantages__content-card-text.open) .advantages__content-card-show-open {
    display: none;
}

.advantages__content-card:has(.advantages__content-card-text.open) .advantages__content-card-show-close {
    display: block;
}

.advantages__content-card:has(.advantages__content-card-text.open) .advantages__content-card-show-close:hover {
    display: block;
    color: #1162D4;
    transition: all .4s linear;
}

.advantages__consult {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.advantages__consult-btn {
    transition: all .4s linear;
    padding: 17px 32px;
    border-radius: 16px;
    background-color: #EC9411;

    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    line-height: 120%;
    cursor: pointer;
    color: #FFFFFF;
}

.advantages__consult-btn:hover {
    transition: all .4s linear;
    background-color: #D68000;
}

.advantages__swiper .swiper-wrapper {
    align-items: start;
}

@media (min-width: 800px) {
    .advantages__content-card {
        margin: 0!important;
        height: unset;
    }

    .advantages__swiper .swiper-wrapper {
        width: 100%;
        flex-wrap: wrap;
        row-gap: 30px;
        column-gap: 30px;
        transform: translate(0px, 0px) !important;
    }
}

@media (max-width: 1250px) {
    .advantages__wrapper {
        max-width: 768px;
        margin: 0 auto;
    }

    .advantages__content-card {
        max-width: 369px;
    }
}

@media (max-width: 800px) {

    .advantages {
        width: 100%;
        overflow: hidden;
    }

    .advantages__swiper {
        width: 100%;
        overflow: visible;
    }

    .advantages__wrapper {
        max-width: 768px;
        margin: 0 16px;
    }

    .advantages__content-card {
        padding: 20px;
        max-width: 300px;
        box-sizing: border-box;
        height: auto;
    }

    .advantages__title-text {
        font-size: 26px;
    }

    .advantages__content-card-num {
        font-size: 30px;
    }

    .advantages__content-card-title {
        font-size: 18px;
    }

    .advantages__content-card-text {
        font-size: 16px;
    }

    .advantages__content-card-show {
        font-size: 16px;
    }

    .advantages__content-card-text {
        height: 175px;
    }

}

@media (max-width: 400px) {

    .advantages__consult-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .advantages {
        padding: 40px 0;
        background-color: #F5F9FE;
        margin: 35px 0;
    }

}


/* advantages */



/* phoca-gallery */

.phoca-gallery-item {
    padding: 85px;
    background-color: #F5F9FE;
    margin-bottom: 45px;
    overflow: hidden;
}

.phoca-gallery-item__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.phoca-gallery-item__content {
    display: flex;
    column-gap: 36px;
    align-items: center;
    justify-content: space-between;
}

.phoca-gallery-item__content-text {

}

.phoca-gallery-item__content-text-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 48px;
    line-height: 124%;
    color: #061937;
    margin-bottom: 16px;
}

.phoca-gallery-item__content-text-par {
    font-family: Onest;
    font-weight: 400;
    font-size: 20px;
    line-height: 140%;
    color: #061937;
    margin-bottom: 24px;
}

.phoca-gallery-item__content-images {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 500px;
}

.phoca-gallery-item__content-text-buttons {
    display: flex;
    column-gap: 14px;
}

.phoca-gallery-item__content-text-buttons-sel {
    background-color: #EC9411;
    border-radius: 16px;
    padding: 15px 32px;
    font-family: Onest;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #FFFFFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .4s linear;
    text-decoration: none!important;
}

.phoca-gallery-item__content-text-buttons-sel:hover {
    transition: all .4s linear;
    background-color: #D68000;
    color: #FFFFFF;
}

.phoca-gallery-item__content-text-buttons-consult {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.15);
    border-radius: 16px;
    padding: 15px 32px;
    font-family: Onest;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #1B7AFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.phoca-gallery-item__content-text-buttons-consult:hover {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.25);
}

.phoca-gallery-item__content-images-top {
    margin-bottom: 20px;
    width: 500px;
    max-height: 372px;
    overflow: hidden;
    border-radius: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.phoca-gallery-item__content-images-top img {
    max-width: unset;
    max-height: unset;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.phoca-gallery-item__content-images-bottom {
    display: flex;
    align-items: center;
    column-gap: 20px;
}

.phoca-gallery-item__content-images-bottom-img {
    max-width: 153px;
    display: block;
    width: 100%;
    height: 137px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.phoca-gallery-item__content-images-bottom-img img {
    max-width: unset;
    max-height: unset;
    height: 100%;
    object-fit: cover;
}

.phoca-gallery-item__content-images-bottom-img-hide {
    display: none;
}

.phoca-gallery-item__content-images-bottom-img-more {
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgba(0,0,0,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.phoca-gallery-item__content-images-bottom-img-more-content {
    font-family: Geologica;
    font-weight: 500;
    font-size: 20px;
    color: #FFFFFF;
    max-width: 50px;
    text-align: center;
    line-height: 23px;
}

.phoca-gallery-item__content-images-bottom-img-gall {
    width: 100%;
    height: 100%;
}

@media (max-width: 1250px) {
    .phoca-gallery-item__content {
        /*flex-direction: column;*/
    }

    .phoca-gallery-item__content-text-buttons {
        flex-direction: column;
        row-gap: 16px;
    }

}


@media (max-width: 1100px) {
    .phoca-gallery-item__content-images {
        width: 400px;
    }

    .phoca-gallery-item__content-images-bottom-img {
        width: 100%;
    }

    .phoca-gallery-item__content-text-title {
        font-size: 30px;
    }

    .phoca-gallery-item__content-text-par {
        font-size: 18px;
    }

    .phoca-gallery-item__content {
        flex-direction: column;
        row-gap: 32px;
    }

    .phoca-gallery-item__content-images {
        width: 600px;
    }

    .phoca-gallery-item__content-images-bottom-img {
        height: 90px;
    }

    .phoca-gallery-item__content-images-bottom-img img {
        width: 100%;
        height: unset;
    }

}

@media (max-width: 800px) {

    .phoca-gallery-item {
        padding: 24px 16px;
    }
}

@media (max-width: 600px) {

    .phoca-gallery-item__content-images {
        max-width: 328px;
    }

    .phoca-gallery-item__content-images-bottom-img img {
        width: unset;
        height: 100%;
    }

    .phoca-gallery-item__content-images-bottom-img {
        max-width: 100px;
    }

    .phoca-gallery-item__content-images-top {
        margin-bottom: 12px;
    }

    .phoca-gallery-item__content-images-bottom-img-more-content {
        font-size: 16px;
    }

}

@media (max-width: 400px) {

    .phoca-gallery-item__content-images {
        width: 100%;
    }

    .phoca-gallery-item__content-images-top {
        border-radius: 24px;
    }

    .phoca-gallery-item__content-images-top img {
        border-radius: 24px;
    }

    .phoca-gallery-item__content-images-bottom-img {
        border-radius: 14px;
    }

    .phoca-gallery-item__content-images-bottom {
        column-gap: 12px;
    }

    .phoca-gallery-item__content-text-buttons-sel {
        font-size: 17px;
    }

    .phoca-gallery-item__content-text-buttons-consult {
        font-size: 17px;
    }

    .phoca-gallery-item__content {
        row-gap: 24px;
    }

    .phoca-gallery-item__content-text-title {
        margin-bottom: 12px;
    }

    .phoca-gallery-item__content-text-par {
        margin-bottom: 16px;
    }

    .phoca-gallery-item {
        margin-bottom: 35px;
    }
}

/* phoca-gallery */

/* Hero gallery - desktop */
.phoca-hero {
    position: relative;
}

.phoca-hero__swiper {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.phoca-hero__swiper .swiper-slide {
    overflow: hidden;
}

.phoca-hero__swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.phoca-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(6,25,55,0.8) 0%, rgba(6,25,55,0.5) 50%, rgba(6,25,55,0.15) 100%);
    z-index: 1;
}

.phoca-hero__content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.phoca-hero__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s;
}

.phoca-hero__arrow:hover {
    background: rgba(255,255,255,0.3);
}

.phoca-hero__arrow-prev {
    left: 24px;
}

.phoca-hero__arrow-next {
    right: 24px;
}

@media (min-width: 1101px) {
    .phoca-gallery-item.phoca-hero {
        min-height: 780px;
        display: flex;
        align-items: center;
        background: #061937;
        padding: 0;
        margin: 0;
    }

    .phoca-hero .phoca-gallery-item__content {
        flex-direction: row;
        justify-content: flex-start;
    }

    .phoca-hero .phoca-gallery-item__content-images {
        display: none;
    }

    .phoca-hero .phoca-gallery-item__content-text {
        max-width: 600px;
    }

    .phoca-hero .phoca-gallery-item__content-text-buttons-sel {
        color: #fff;
    }

    .phoca-hero .phoca-gallery-item__content-text-buttons-consult {
        background-color: rgba(255,255,255,0.15);
        color: #fff;
    }

    .phoca-hero .phoca-gallery-item__content-text-buttons-consult:hover {
        background-color: rgba(255,255,255,0.25);
    }

    .phoca-hero .phoca-gallery-item__content-text-title {
        color: #fff;
    }

    .phoca-hero .phoca-gallery-item__content-text-par {
        color: rgba(255,255,255,0.85);
    }

    .phoca-hero .thour-page__gallery-content-price-main {
        color: #fff;
    }

    .phoca-hero .thour-page__gallery-content-price-old {
        color: rgba(255,255,255,0.6);
    }

    .phoca-hero .thour-page__gallery-content-price-disk {
        color: #FEC12A;
    }

    .phoca-hero .thour-page__gallery-bonus {
        color: #fff;
    }

    .phoca-hero .thour-page__gallery-bonus-text {
        color: rgba(255,255,255,0.7);
    }
}

@media (max-width: 1100px) {
    .phoca-hero__swiper,
    .phoca-hero__overlay,
    .phoca-hero__arrow {
        display: none;
    }

    .phoca-hero {
        background: #F5F9FE;
    }

    .phoca-hero__content {
        position: static;
    }
}

/* news-block */

.news-block {
    margin: 45px 0;
    overflow: hidden;
    user-select: none;
}

.news-block__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    overflow-x: visible;
}

.news-block__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.news-block__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    color: #061937;
    margin: 0;
}

.news-block__arrows {
    display: flex;
    column-gap: 16px;
}

.news-block__arrow {
    padding: 12px;
    background-color: #F5F9FE;
    border-radius: 14px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-block__arrow:hover {
    background-color: #EAF0F8;
}

.news-block__arrow.arrow-prev {

}

.news-block__arrow.arrow-next {

}

.news-block__content {

}

.news-block__buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 16px;
}

.news-block__buttons-watch {
    transition: all .4s linear;
    padding: 13px 32px;
    background-color: rgba(27,122,255, 0.15);
    border-radius: 14px;
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    line-height: 130%;
    color: #1B7AFF!important;
    cursor: pointer;
    text-decoration: none!important;
}

.news-block__buttons-watch:hover {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.25);
}

.news-block__content {
    margin-bottom: 40px;
}

.news-block__swiper {
    overflow: visible;
}

.news-block__slide {
    width: 386px;
    padding: 16px;
    background-color: #F5F9FE;
    border-radius: 24px;
    height: 100%;
    position: relative;
    top: 0px;
    transition: top .4s linear;
}



.news-block__slide-top {
    position: relative;
    margin-bottom: 16px;
}

.news-block__slide-top-hits {
    display: flex;
    align-items: center;
    position: absolute;
    z-index: 1;
    bottom: 10px;
    left: 10px;
    column-gap: 10px;
}

.news-block__slide-top-hits .hit-item {
    padding: 6px 8px;
    border-radius: 28px;
    background-color: #1B7AFF;
    color: #FFFFFF;
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    line-height: 130%;
    height: 30px;
    display: flex;
    align-items: center;
}

.news-block__slide-top-hits .hit-item * {
    color: #FFFFFF;
    font-family: Onest;
    font-weight: 500!important;
    font-size: 14px;
    margin: 0!important;
    padding: 0!important;
    background-color: transparent!important;
    border: none!important;
    text-decoration: none!important;
    pointer-events: none!important;
}

.news-block__slide-top-img {
    overflow: hidden;
    border-radius: 14px;
    max-height: 195px;
}

.news-block__slide-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 18px;
    line-height: 124%;
    color: #061937;
    margin-bottom: 10px;
}

.news-block__slide-title a {
    font-family: Geologica;
    font-weight: 600;
    font-size: 18px;
    line-height: 124%;
    color: #061937;
    text-decoration: none!important;
}

.news-block__slide-title a:hover {
    text-decoration: none!important;
}

.news-block__slide-date {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #718094;
}

@media (min-width: 800px) {
    .news-block__slide:hover {
        position: relative;
        top: -20px;
        transition: top .4s linear;
    }
}

@media (max-width: 1250px) {
    .news-block__wrapper {
        max-width: 768px;
    }
}

@media (max-width: 800px) {
    .news-block__wrapper {
        margin: 0 16px;
    }
}

@media (max-width: 500px) {
    .news-block {
        margin: 35px 0;
        overflow: hidden;
    }

    .news-block__title {
        font-size: 26px;
    }

    .news-block__arrow {
        padding: 8px;
    }

    .news-block__arrows {
        column-gap: 12px;
    }

    .news-block__head {
        margin-bottom: 24px;
    }

    .news-block__slide {
        width: 328px;
    }

    .news-block__slide-top-img {
        max-height: 162px;
    }

    .news-block__buttons-watch {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .news-block__content {
        margin-bottom: 24px;
    }

}

/* news-block */



/* faq */

.faq-block-cont {
    padding: 45px 0;
}

.faq-block {
    position: relative;
}

.faq__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.faq__wrapper-background {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding-top: 20px;
}

.faq__wrapper-background-img {
    height: 217px;
    background-image: url("/media/templates/site/cassiopeia/images/MountainDesktop.png");
}

.faq__title {
    position: relative;
    z-index: 1;
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    color: #061937;
    margin-bottom: 52px;
}

.faq__content {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    position: relative;
    z-index: 3;
}

.faq__content-item {
    background-color: #F5F9FE;
    padding: 20px;
    border-radius: 24px;
    cursor: pointer;
    user-select: none;
}

.faq__content-item[data-show="yes"] {
    display: block;
}

.faq__content-item[data-show="no"] {
    display: none;
}

.faq__content-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.faq__content-item-head-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    line-height: 124%;
    color: #061937;
}

.faq__content-item-head-arrow {

}

.faq__content-item-content {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937;
    height: 0px;
    overflow: hidden;
    transition: all .4s linear;
}

.faq__content-item.opened .faq__content-item-content {
    margin-top: 10px;
}

.faq__button {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
    margin-top: 16px;
}

.faq__button-show {
    padding: 14px 32px;
    border-radius: 14px;
    background-color: rgba(27,122,255, 0.15);
    cursor: pointer;

    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #1B7AFF;
    transition: all .4s linear;
}

.faq__button-show.btn-hide {
    display: none!important;
}

.faq__button-show:hover {
    background-color: rgba(27,122,255, 0.25);
    transition: all .4s linear;
}

@media (max-width: 1250px) {
    .faq__wrapper {
        max-width: 768px;
    }
}

@media (max-width: 800px) {
    .faq__wrapper {
        margin: 0 16px;
    }
}

@media (max-width: 500px) {
    .faq-block-cont {
        padding: 35px 0;
    }

    .faq__title {
        font-size: 26px;
        margin-bottom: 48px;
    }

    .faq__content-item-head-title {
        font-size: 16px;
    }

    .faq__content-item-content {
        font-size: 16px;
    }

    .faq__wrapper-background {
        padding-top: 0;
    }
}

/* faq */



/* contacts */

.contacts {
    margin: 45px 0;
    background-color: #F5F9FE;
    padding: 70px 0;
}

.contacts__wrapper {
    max-width: 955px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 30px;
}

.contacts__left {

    width: 420px;
}

.contacts__left-text {
    margin-bottom: 24px;
}

.contacts__left-text-title {
    margin: 0 0 12px 0;

    font-family: Geologica;
    font-weight: 600;
    font-size: 32px;
    line-height: 124%;
    color: #061937;
}

.contacts__left-text-content {
    margin: 0;

    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #061937;
}

.contacts__left-buttons {
    display: flex;
    flex-wrap: wrap;
    row-gap: 12px;
    column-gap: 10px;
}

.contacts__phone {
    background-color: #0AA447;
    border-radius: 16px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    padding: 15px;

    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    color: #FFFFFF;
    text-decoration: none;
}

.contacts__phone:hover {
    color: #FFFFFF;
}

.contacts__tg {
    background-color: #27A6E6;
    border-radius: 14px;
    padding: 12px 54px;
}

.contacts__wapp {
    background-color: #25D366;
    border-radius: 14px;
    padding: 12px 54px;
}

.contacts__vk {
    background-color: #0077FF;
    border-radius: 14px;
    padding: 12px 54px;
}

.contacts__right {
    max-width: 475px;
}

.contacts__img {
    overflow: hidden;
    border-radius: 36px;
}

@media (max-width: 1250px) {

    .contacts__wrapper {
        max-width: 768px;
    }

    .contacts__right {
        max-width: 364px;
    }

    .contacts__tg {
        padding: 12px 46px;
    }

    .contacts__wapp {
        padding: 12px 46px;
    }

    .contacts__vk {
        padding: 12px 46px;
    }

}

@media (max-width: 800px) {

    .contacts__wrapper {
        max-width: 500px;
        margin: 0 auto;
        flex-direction: column;
        align-items: start;
        row-gap: 20px;
    }

    .contacts__tg {
        width: 32%;
        padding: 12px 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .contacts__wapp {
        width: 32%;
        padding: 12px 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .contacts__vk {
        width: 32%;
        padding: 12px 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .contacts__left {
        width: 100%;
    }

    .contacts__right {
        max-width: unset;
    }

}

@media (max-width: 500px) {

    .contacts__left-text-title {
        font-size: 24px;
    }

    .contacts__tg {
        width: 31%;
    }

    .contacts__wapp {
        width: 31%;
    }

    .contacts__vk {
        width: 31%;
    }

    .contacts__wrapper {
        margin: 0 16px;
    }

    .contacts {
        margin: 35px 0;
        padding: 40px 0;
    }

}

/* contacts */



/* thours */

.thours {
    padding: 45px 0;
    overflow: hidden;
    user-select: none;
}

.thours__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.thours__head {
    margin-bottom: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.thours__head-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    color: #061937;
}

.thours__head-arrows {

}

.thours__buttons {
    display: flex;
    align-items: center;
    justify-content: center;
}

.thours__buttons-all {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.15);
    padding: 13px 32px;
    border-radius: 14px;
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #1B7AFF;
    text-decoration: none;
}

.thours__buttons-all:hover {
    color: #1B7AFF;
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.25);
}

.thours__arrows {
    display: flex;
    column-gap: 16px;
}

.thours__arrow {
    padding: 12px;
    background-color: #F5F9FE;
    border-radius: 14px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    ransition: all .4s linear;
}

.thours__arrow:hover {
    background-color: #EAF0F8;
    ransition: all .4s linear;
}

.thours__arrow.arrow-prev {

}

.thours__arrow.arrow-next {

}

.thours__swiper {
    overflow: visible;
    margin-bottom: 50px;
    /*width: 100%;*/
}



.thours__slide {
    position: relative;
    top: 0px;
    width: 386px!important;
    box-sizing: border-box;
    padding: 16px 16px 16px 16px;
    background-color: #F5F9FE;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    row-gap: 12px;
    transition: top .4s linear;
    text-decoration: none!important;
}



.thours__slide-img {
    overflow: hidden;
    height: 195px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    position: relative;
}

.thours__slide-hits {
    display: flex;
    align-items: center;
    position: absolute;
    z-index: 1;
    bottom: 10px;
    left: 10px;
    column-gap: 10px;
}

.thours__slide-hits-item {
    padding: 6px 8px;
    border-radius: 28px;
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    line-height: 130%;
    height: 30px;
    display: flex;
    align-items: center;
}

.thours__slide-hits-item.grey {
    background-color: #718094;
    color: #FFFFFF;
}

.thours__slide-hits-item.blue {
    background-color: #1B7AFF;
    color: #FFFFFF;
}

.thours__slide-content-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 18px;
    color: #061937;
    line-height: 1.3;
    height: 2.6em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.thours__slide-content-price {
    margin-top: 4px;
    height: 28px;
}

.thours__slide-content-price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.thours__slide-content-price-main {
    font-family: Geologica;
    font-weight: 700;
    font-size: 22px;
    color: #1B7AFF;
    margin: 0;
}

.thours__slide-content-price-old {
    font-family: Geologica;
    font-weight: 600;
    font-size: 22px;
    text-decoration: line-through;
    color: #C5CDD6;
    margin: 0;
}

.thours__slide-content-price-sale-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}

.thours__slide-img-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    font-family: Onest;
    font-weight: 600;
    font-size: 12px;
    color: #fff;
    background: #EC9411;
    border-radius: 8px;
    padding: 4px 10px;
    pointer-events: none;
}


.thours__slide-img-price {
    position: absolute;
    bottom: 8px;
    left: 8px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(4px);
    border-radius: 8px;
    padding: 5px 10px;
    max-width: calc(100% - 16px);
}

.thours__slide-img-price-main {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

.thours__slide-img-price-main--sale {
    color: #FF6B6B;
}

.thours__slide-img-price-old {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: line-through;
    white-space: nowrap;
}

.thours__slide-img-discount {
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    background: #E53E3E;
    border-radius: 4px;
    padding: 1px 5px;
    white-space: nowrap;
}

.thours__slide-img-disc-until {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.7);
    white-space: nowrap;
}

.thours__slide-content-months {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}

.thours__slide-month {
    font-size: 11px;
    font-weight: 500;
    color: #1B7AFF;
    background: #EBF3FF;
    border-radius: 4px;
    padding: 2px 6px;
}

.thours__slide-tags {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 10px;
    row-gap: 8px;
    min-height: 48px;
}

.thours__slide-tags-item {
    display: flex;
    align-items: center;
    min-width: 0;
}

.thours__slide-tags-item svg {
    flex-shrink: 0;
}

.thours__slide-tags-item span {
    font-family: Onest;
    font-weight: 400;
    font-size: 13px;
    color: #061937;
    margin-left: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.thours__slide-buttons {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
    margin-top: auto;
    padding-top: 4px;
}

.thours__slide-buttons-more {
    transition: all .4s linear;
    width: 100%;
    padding: 13px;
    border-radius: 14px;
    background-color: #EC9411;
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    margin: 0;
}

.thours__slide-buttons-more:hover {
    transition: all .4s linear;
    background-color: #D68000;
}

.thours__slide-buttons-more:hover {
    color: #ffffff;
}

.thours__slide-buttons-review {
    transition: all .4s linear;
    width: 100%;
    padding: 13px;
    border-radius: 14px;
    background-color: rgba(27,122,255, 0.15);
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;

    color: #1B7AFF;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    margin: 0;
}

.thours__slide-buttons-review:hover {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.25);
}

.thours__slide-content-dates {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
    margin: 0;
}

.thours__slide-content-dates span {

}


@media (min-width: 800px) {
    .thours__slide:hover {
        position: relative;
        top: -20px;
        transition: top .4s linear;
    }
}

@media (max-width: 1250px) {
    .thours__wrapper {
        max-width: 768px;
        margin: 0 auto;
    }
}

@media (max-width: 800px) {
    .thours__wrapper {
        max-width: 532px;
        margin: 0 auto;
    }

    .thours__head-title {
        font-size: 26px;
    }

    .thours__arrows {
        column-gap: 12px;
    }

    .thours__arrow {
        padding: 8px;
        border-radius: 14px;
        width: 40px;
        height: 40px;
    }

}

@media (max-width: 500px) {

    .thours {
        padding: 35px 0;
    }

    .thours__wrapper {
        max-width: 100%;
        margin: 0 16px;
    }

    .thours__slide {
        max-width: 100%;
    }

    .thours__slide-content-price {
        flex-wrap: wrap;
        row-gap: 6px;
    }

    .thours__slide-content-price-disk {
        margin: 0;
    }

    .thours__head {
        margin-bottom: 24px;
    }

    .thours__swiper {
        margin-bottom: 24px;
    }
}

/* thours */



/* guides */

.guides-block {
    user-select: none;
    position: relative;
    margin: 45px 0;
    overflow: hidden;
}

.guides__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.guides__wrapper-background {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding-top: 20px;
}

.guides__wrapper-background-img {
    height: 217px;
    background-image: url("/media/templates/site/cassiopeia/images/MountainDesktop.png");
}

.guides__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    color: #061937;

}

.guides__content {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    position: relative;
    z-index: 3;
}

.guides__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 52px;
    position: relative;
    z-index: 4;
}

.guides__arrows {
    display: flex;
    column-gap: 16px;
}

.guides__arrow {
    padding: 12px;
    background-color: #F5F9FE;
    border-radius: 14px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .4s linear;
}

.guides__arrow:hover {
    transition: all .4s linear;
    background-color: #EAF0F8;
}

.guides__arrow.arrow-prev {

}

.guides__arrow.arrow-next {

}

.guides__swiper {
    overflow: visible;
    width: 100%;
}

.guides__item {
    border-radius: 24px;
    padding: 30px 26px;
    background-color: #F5F9FE;
    width: 386px;
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    height: 500px;
    position: relative;
    top: 0px;
    transition: top .4s linear;
}


.guides__item-human {
    display: flex;
    column-gap: 16px;
}

.guides__item-human-content {
    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: 8px;
}

.guides__item-human-img {
    width: 96px;
    height: 96px;
    overflow: hidden;
    border-radius: 20px;
    background-size: cover;
}

.guides__item-human-img img {
    width: 100%;
}

.guides__item-human-name {
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    line-height: 124%;
    color: #061937;
}

.guides__item-human-thours {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #718094;
}

.guides__item-human-review {
    display: flex;
    align-items: center;
}

.guides__item-human-review-rate {
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #051A3D;
    margin-left: 3px;
}

.guides__item-human-review-count {
    font-family: Onest;
    font-weight: 400;
    font-size: 14px;
    color: #6A7B92;
    margin-left: 6px;
}

.guides__item-human-exp {
    padding: 6px 10px;
    background-color: #1B7AFF;
    border-radius: 24px;
    font-family: Onest;
    font-weight: 600;
    font-size: 14px;
    line-height: 130%;
    color: #FFFFFF;

}

.guides__item-deskr {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937;
}

.guides__item-video {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px;
    background-color: #1B7AFF;
    border-radius: 14px;
    cursor: pointer;
    text-decoration: none!important;
}

.guides__item-video p {
    margin: 0;
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #FFFFFF;
    text-decoration: none!important;
}

@media (max-width: 1250px) {
    .guides__wrapper {
        max-width: 768px;
        margin: 0 auto;
    }
}

@media (min-width: 800px) {
    .guides__item:hover {
        position: relative;
        top: -20px;
        transition: top .4s linear;
    }

}

@media (max-width: 800px) {
    .guides__title {
        font-size: 26px;
    }

    .guides__wrapper {
        max-width: 768px;
        margin: 0 16px;
    }

    .guides__arrows {
        display: none;
    }

    .guides__item {
        padding: 16px;
        width: 300px;
        height: 350px;
    }

    .guides__item-human-name {
        font-size: 20px;
    }

    .guides__item-human-thours {
        font-size: 16px;
    }

    .guides__item-deskr {
        font-size: 18px;
    }

}

@media (max-width: 400px) {
    .guides-block {
        margin: 35px 0;
    }

    .about-us__text-title {
        font-size: 26px;
    }

    .about-us__text-content {
        font-size: 16px;
    }
}

/* guides page */

.guides-page {
    padding: 40px 0 80px;
}

.guides-page__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    padding: 0 16px;
}

.page-breadcrumbs {
    font-family: Onest;
    font-size: 14px;
    color: #718094;
    margin-bottom: 24px;
}

.page-breadcrumbs a {
    color: #1B7AFF;
    text-decoration: none;
}

.page-breadcrumbs a:hover {
    text-decoration: underline;
}

.page-breadcrumbs__sep {
    margin: 0 8px;
    color: #B0BFCF;
}

.guides-page__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    color: #061937;
    margin-bottom: 16px;
}

.guides-page__subtitle {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 160%;
    color: #718094;
    margin-bottom: 48px;
}

.guides-page__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.guides-page__grid .guides__item {
    width: auto;
    height: auto;
    min-height: 420px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.guides-page__grid .guides__item:hover {
    top: 0;
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(6, 25, 55, 0.08);
}

@media (max-width: 1024px) {
    .guides-page__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .guides-page__title {
        font-size: 28px;
    }

    .guides-page__subtitle {
        font-size: 16px;
        margin-bottom: 32px;
    }

    .guides-page__grid {
        grid-template-columns: 1fr;
    }

    .guides-page__grid .guides__item {
        min-height: auto;
    }
}

/* guide video button */

.guides__video-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px;
    margin-top: auto;
    background: #1B7AFF;
    border: none;
    border-radius: 14px;
    color: #fff;
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s ease;
    text-decoration: none;
}

.guides__video-btn:hover {
    background: #0d5fd9;
}

/* guide video modal */

.guide-video-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    align-items: center;
    justify-content: center;
}

.guide-video-modal.active {
    display: flex;
}

.guide-video-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
}

.guide-video-modal__content {
    position: relative;
    z-index: 1;
    width: 90%;
    max-width: 800px;
}

.guide-video-modal__close {
    position: absolute;
    top: -40px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    transition: opacity 0.2s;
}

.guide-video-modal__close:hover {
    opacity: 0.7;
}

.guide-video-modal__player {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #000;
}

.guide-video-modal__player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* reviews */

.reviews-block {
    margin: 45px 0;
    overflow: hidden;
}

.reviews__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    overflow: visible;
}


.reviews__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    color: #061937;

}

.reviews__content {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    position: relative;
    z-index: 3;
}

.reviews__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 52px;
    position: relative;
    z-index: 4;
}

.reviews__arrows {
    display: flex;
    column-gap: 16px;
}

.reviews__arrow {
    padding: 12px;
    background-color: #F5F9FE;
    border-radius: 14px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .4s linear;
}

.reviews__arrow:hover {
    transition: all .4s linear;
    background-color: #EAF0F8;
}

.reviews__arrow.arrow-prev {

}

.reviews__arrow.arrow-next {

}


.reviews__swiper {
    overflow: visible;
    width: 100%;
}

.reviews__slide {
    background-color: #F5F9FE;
    border-radius: 20px;
    padding: 30px 26px;
    width: 386px;
    position: relative;
    top: 0px;
    transition: top .4s linear;
    box-sizing: border-box;
}

.reviews__slide:hover {
    position: relative;
    top: -20px;
    transition: top .4s linear;
}

.reviews__slide-head {
    display: flex;
    column-gap: 16px;
    align-items: start;
    margin-bottom: 16px;
}

.reviews__slide-head-img {
    width: 96px;
    height: 96px;
    overflow: hidden;
    border-radius: 20px;
    background-size: cover;
    background-position: center center;
}

.reviews__slide-head-content {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
}

.reviews__slide-head-rating {
    display: flex;
    align-items: center;
}

.reviews__slide-head-rating-rate {
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #051A3D;
    margin-left: 3px;
}

.reviews__slide-head-rating-count {
    font-family: Onest;
    font-weight: 400;
    font-size: 14px;
    color: #6A7B92;
    margin-left: 6px;
}

.reviews__slide-head-name {
    margin: 0;
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    color: #061937;
}

.reviews__slide-head-link {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    text-decoration: none!important;
    color: #1B7AFF;
    word-wrap: break-word;
}

.reviews__slide-content-text {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #061937;
    height: 300px;
    overflow: hidden;
    transition: all .4s linear;
}

.reviews__slide-content-text.open {
    transition: all .4s linear;
}

.reviews__slide-content-show {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #1B7AFF;
    cursor: pointer;
    margin-top: 20px;
}

.reviews__slide-content .reviews__slide-text-open {
    display: block;
}

.reviews__slide-content .reviews__slide-text-open:hover {
    display: block;
    color: #1162D4;
    transition: all .4s linear;
}

.reviews__slide-content .reviews__slide-text-close {
    display: none;
}

.reviews__slide-content:has(.reviews__slide-content-text.open) .reviews__slide-text-open {
    display: none;
}

.reviews__slide-content:has(.reviews__slide-content-text.open) .reviews__slide-text-close {
    display: block;
}

.reviews__slide-content:has(.reviews__slide-content-text.open) .reviews__slide-text-close:hover {
    display: block;
    color: #1162D4;
    transition: all .4s linear;
}

@media (max-width: 1250px) {
    .reviews__wrapper {
        max-width: 768px;
    }

}

@media (max-width: 800px) {
    .reviews__wrapper {
        margin: 0 16px;
    }

    .reviews__head {
        margin-bottom: 24px;
    }

    .reviews__title {
        font-size: 26px;
    }

    .reviews__slide {
        max-width: 310px;
        padding: 16px;
    }

    .reviews__slide-content-text {
        font-size: 16px;
    }

    .reviews__slide-head-name {
        font-size: 18px;
    }

    .reviews__slide-head-img {
        flex-shrink: 0;
    }

    .reviews__slide-head-link {
        max-width: 124px;
    }

    .reviews__arrows {
        display: none;
    }

}

@media (max-width: 400px) {
    .reviews-block {
        margin: 35px 0;
        overflow: hidden;
    }

}

/* reviews */



/* videos */

.videos {
    user-select: none;
    background-color: #F5F9FE;
    margin: 45px 0;
    padding: 70px 0;
    overflow: hidden;
}

.videos__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    overflow: visible;
}

.videos__head {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    color: #061937;
    margin-bottom: 40px;
}

.videos__swiper {
    overflow: visible;
    width: 100%;
}

.videos__swiper .swiper-wrapper {
    width: 10000px;
}

.videos__swiper-slide {
    width: 386px;
    height: 215px;
    overflow: hidden;
    border-radius: 20px;
}

.videos__swiper-slide iframe {
    width: 100%;
    height: 100%;
}

@media (max-width: 1250px) {
    .videos__wrapper {
        max-width: 768px;
    }
}

@media (max-width: 800px) {
    .videos__wrapper {
        margin: 0 16px;
    }

    .videos__head {
        font-size: 26px;
        margin-bottom: 20px;
    }

    .videos__swiper-slide {
        width: 300px;
        height: 167px;
    }
}

@media (max-width: 400px) {
    .videos {
        margin: 35px 0;
        padding: 40px 0;
        overflow: hidden;
    }

}

/* videos */



/* modals */

.modal-contacts__wrapper {
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.3);
    width: 100vw;
    height: 100vh;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.modal-contacts__wrapper.active {
    display: flex;
}

.modal-contacts {
    position: relative;
    background-color: #ffffff;
    border-radius: 24px;
    padding: 30px;
    width: 100%;
    max-width: 470px;
    margin: 0 16px;
    cursor: auto;
}

.modal-contacts__close {
    position: absolute;
    right: 12px;
    top: 12px;

    background-image: url("/media/templates/site/cassiopeia/images/modal-close.svg");
    background-position: center;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    display: block;
    cursor: pointer;
}

.modal-contacts__text-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 26px;
    color: #061937;
    margin: 0 0 15px 0;
}

.modal-contacts__text {
    margin-bottom: 24px;
}

.modal-contacts__text-text {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #061937;
    margin: 0;
}

.modal-contacts-buttons {
    margin-bottom: 12px;
}

.modal-contact__wrapper {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
}

.modal-contacts__phone {
    border-radius: 16px;
    width: 100%;
    background-color: #0AA447;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    padding: 15px;
    text-decoration: none;
}

.modal-contacts__phone .text {
    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    color: #FFFFFF;
}

.modal-contacts__bottom {
    display: flex;
    column-gap: 10px;
}

.modal-contacts__tg {
    width: 100%;
    padding: 12px;
    border-radius: 14px;
    background-color: #27A6E6;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.modal-contacts__wapp {
    width: 100%;
    padding: 12px;
    border-radius: 14px;
    background-color: #25D366;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.modal-contacts__vk {
    width: 100%;
    padding: 12px;
    border-radius: 14px;
    background-color: #0077FF;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.modal-contacts-callback {
    background-color: rgba(27,122,255, 0.15);
    border-radius: 16px;
    width: 100%;
    padding: 17px;
    display: flex;
    align-items: center;
    justify-content: center;

    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    line-height: 19px;
    color: #1B7AFF;
    cursor: pointer;
}

@media (max-width: 500px) {
    .modal-contacts {
        width: unset;
        max-width: unset;
        padding: 20px;
    }

    .modal-contacts__text-title {
        font-size: 24px;
    }

    .modal-contacts__text-text {
        font-size: 16px;
    }
}


.modal-form__wrapper {
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.3);
    width: 100vw;
    height: 100vh;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.modal-form__wrapper.active {
    display: flex;
}

.modal-form {
    position: relative;
    background-color: #ffffff;
    border-radius: 24px;
    padding: 30px;
    width: 100%;
    max-width: 470px;
    margin: 0 16px;
    cursor: auto;
}

.modal-form__close {
    position: absolute;
    right: 12px;
    top: 12px;

    background-image: url("/media/templates/site/cassiopeia/images/modal-close.svg");
    background-position: center;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    display: block;
    cursor: pointer;
}

.modal-form__head {

}

.modal-form__content {
    margin-bottom: 12px;
}

.modal-form__content form {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
}

.modal-form__content [name="username"] {
    border-radius: 16px;
    font-family: Onest;
    font-weight: 400;
    font-size: 17px;
    line-height: 120%;
    color: #718094;
    border: 1px solid #CBD5E0;
    padding: 18px 16px 18px 12px;
    background-color: #F7F8FA;
}

.modal-form__content [name="username"]:focus-visible {
    border: 1px solid #1B7AFF;
    outline: none;
}

.modal-form__content [name="name"]::placeholder {
    border-radius: 16px;
    font-family: Onest;
    font-weight: 400;
    font-size: 17px;
    line-height: 120%;
    color: #718094;
}

.modal-form__content [name="phone"] {
    border-radius: 16px;
    font-family: Onest;
    font-weight: 400;
    font-size: 17px;
    line-height: 120%;
    color: #718094;
    border: 1px solid #CBD5E0;
    padding: 18px 16px 18px 12px;
    background-color: #F7F8FA;
}

.modal-form__content [name="phone"]:focus-visible {
    border: 1px solid #1B7AFF;
    outline: none;
}

.modal-form__content [name="phone"]::placeholder {
    border-radius: 16px;
    font-family: Onest;
    font-weight: 400;
    font-size: 17px;
    line-height: 120%;
    color: #718094;
}

.modal-form__content [type="submit"]{
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 17px;
    border: none;
    background-color: #EC9411;
    border-radius: 16px;

    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    line-height: 120%;
    color: #FFFFFF;
    outline: none!important;
}

.modal-form__head-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 26px;
    line-height: 124%;
    color: #061937;
    margin: 0 0 10px 0;
}

.modal-form__head-subtitle {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937;
    margin: 0 0 20px 0;
}

.modal-form__bottom {
    font-family: Onest;
    font-weight: 400;
    font-size: 10px;
    color: #6A7B92;
}

@media (max-width: 500px) {
    .modal-form {
        padding: 20px;
        width: unset;
        max-width: 100%;
    }

    .modal-form__content [name="username"] {
        font-size: 16px;
        padding: 13px 12px;
    }

    .modal-form__content [name="phone"] {
        font-size: 16px;
        padding: 13px 12px;
    }

    .modal-form__head-title {
        font-size: 24px;
    }

    .modal-form__head-subtitle {
        font-size: 16px;
    }

}

/* modals */



/* blog */

.blog {
    padding-top: 50px;
    overflow: hidden;
}

.blog__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.blog__items {
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    column-gap: 30px;
}

.blog__head {
    margin-bottom: 40px;
}

.blog__head-breads {
    display: flex;
    align-items: center;
    column-gap: 12px;
    margin-bottom: 6px;
}

.blog__head-breads a {
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    color: #718094;
    text-decoration: none;
    transition: all .4s linear;
}

.blog__head-breads a:hover {
    transition: all .4s linear;
    text-decoration: none;
    color: #1B7AFF;
}

.blog__head-breads p {
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    color: #718094;
    margin: 0;
}

.blog__head-header h1 {
    font-family: Geologica;
    font-weight: 600;
    font-size: 48px;
    color: #061937;
}

.blog__categories {
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    column-gap: 8px;
}

.blog__categories-item {
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    color: #1B7AFF;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 8px;
    cursor: pointer;
    background-color: rgba(27,122,255, 0.15);
    border-radius: 28px;
    background-color: rgba(27,122,255, 0.15);
    transition: all .4s linear;
}

.blog__categories-item:hover {
    background-color: rgba(27,122,255, 0.25);
    transition: all .4s linear;
}

.blog__categories-item.item-current {
    color: #FFFFFF;
    background-color: #1B7AFF;
    cursor: auto;
}

.blog__show-more {
    margin-top: 40px;
    margin-bottom: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blog__show-more-btn {
    padding: 17px 32px;
    border-radius: 16px;
    cursor: pointer;
    background-color: rgba(27,122,255, 0.15);
    transition: all .4s linear;

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

    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    line-height: 120%;
    color: #1B7AFF;
}

.blog__show-more-btn:hover {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.25);
}

.blog__item-title h2 {
    font-family: Geologica !important;
    font-weight: 600!important;
    font-size: 18px!important;
    line-height: 124%;
    color: #061937;
    margin-bottom: 10px;
    text-decoration: none;
}

.blog__item-title h2 a {
    font-family: Geologica !important;
    font-weight: 600!important;
    font-size: 18px!important;
    line-height: 124%;
    color: #061937;
    margin-bottom: 10px;
    text-decoration: none;
}

@media (max-width: 1250px) {
    .blog__wrapper {
        max-width: 800px;
        overflow: visible;
    }

    .blog .news-block__slide {
        width: 385px;
    }

}

@media (max-width: 832px) {
    .blog__wrapper {
        max-width: 600px;
        overflow: visible;
    }

    .blog .news-block__slide {
        width: 285px;
    }
}

@media (max-width: 632px) {

    .blog {
        padding-top: 30px;
        overflow: hidden;
    }

    .blog__wrapper {
        max-width: 100%;
        overflow: visible;
        margin: 0 16px;
    }

    .blog__items {
        row-gap: 16px;
        column-gap: 16px;
    }

    .blog .news-block__slide {
        width: 100%;
    }

    .blog__head-header h1 {
        font-size: 30px;
    }

    .blog__head {
        margin-bottom: 24px;
    }

    .blog__categories {
        margin-bottom: 24px;
        width: 100%;
        overflow: scroll;
    }

    .blog__categories::-webkit-scrollbar {
        width: 0px;
        height: 0px;
    }

    .blog__show-more {
        margin-top: 24px;
        margin-bottom: 35px;
    }

    .blog__show-more-btn {
        width: 100%;
    }

}

@media (max-width: 400px) {

}

/* blog */



/* page-banner */

.page-banner {
    background-color: #F5F9FE;
    padding: 50px 0;
}

.page-banner__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 36px;
}

.page-banner__left {

}

.page-banner__left-breads {
    display: flex;
    column-gap: 12px;
    margin-bottom: 16px;
}

.page-banner__left-breads a {
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    color: #718094;
    text-decoration: none;
    transition: all .4s linear;
}

.page-banner__left-breads a:hover {
    transition: all .4s linear;
    color: #1B7AFF;
}

.page-banner__left-breads p {
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    color: #718094;
    margin: 0;
}


.page-banner__title {
    max-width: 682px;
}

.page-banner__title h1 {
    font-family: Geologica;
    font-weight: 600;
    font-size: 48px;
    color: #061937;
}

.page-banner__right {

}

.page-banner__right-img {
    max-width: 418px;
    background-size: cover;
    border-radius: 36px;
    overflow: hidden;
}

@media (max-width: 1250px) {
    .page-banner__wrapper {
        max-width: 800px;
    }

}

@media (max-width: 832px) {
    .page-banner__wrapper {
        max-width: 600px;
        flex-direction: column;
        row-gap: 24px;
    }

    .page-banner__right-img {
        width: 100%;
        max-width: unset;
    }

    .page-banner__right-img img {
        width: 100%;
    }
}

@media (max-width: 632px) {

    .page-banner__left-breads {
        margin-bottom: 12px;
    }

    .page-banner {
        padding: 30px 0;
    }


    .page-banner__wrapper {
        max-width: 100%;
        margin: 0 16px;
    }

    .page-banner__title h1 {
        font-family: Geologica;
        font-weight: 600;
        font-size: 30px;
        color: #061937;
    }
}

@media (max-width: 400px) {

}

/* page-banner */



/* text-block */

.text-block {
    padding: 40px 0 45px 0;
}

.text-block__wrapper * {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #061937;
    margin: 0;
}

.text-block__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}


@media (max-width: 1250px) {
    .text-block__wrapper {
        max-width: 800px;
    }

}

@media (max-width: 832px) {
    .text-block__wrapper {
        max-width: 600px;
    }
}

@media (max-width: 632px) {

    .page-banner {
        padding: 30px 0;
    }


    .text-block__wrapper {
        max-width: 100%;
        margin: 0 16px;
    }

    .text-block__wrapper * {
        font-family: Onest;
        font-weight: 400;
        font-size: 18px;
        color: #061937;
    }

}

@media (max-width: 400px) {

}

/* text-block */



/* advantages */

.discount {
    padding: 40px 0 45px 0;
    background-color: #FFFFFF;
}

.discount__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.discount__title {
    margin-bottom: 40px;
}

.discount__title-text {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    vertical-align: middle;
    color: #061937;
}

.discount__content {
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    column-gap: 30px;
}

.discount__content-card {
    background-color: #F5F9FE;
    border-radius: 24px;
    padding: 30px 26px;
    max-width: 594px;
    width: 100%;

}

.discount__content-card-num {
    font-family: Geologica;
    font-weight: 600;
    font-size: 32px;
    line-height: 124%;
    color: #1B7AFF;
    margin-bottom: 14px;
}

.discount__content-card-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    line-height: 132%;
    color: #061937;
    margin-bottom: 10px;
}

.discount__content-card-text {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937;
    overflow: hidden;
    transition: all .4s linear;
}

.discount__cards {
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    column-gap: 30px;
}

.discount__content-card-show {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #1B7AFF;
    margin-top: 20px;
    cursor: pointer;
}

.discount__content-card .discount__content-card-show-open {
    display: block;
}

.discount__content-card .discount__content-card-show-open:hover {
    display: block;
    color: #1162D4;
    transition: all .4s linear;
}

.discount__content-card .discount__content-card-show-close {
    display: none;
}

.discount__consult {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.discount__consult-btn {
    transition: all .4s linear;
    padding: 17px 32px;
    border-radius: 16px;
    background-color: #EC9411;

    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    line-height: 120%;
    cursor: pointer;
    color: #FFFFFF;
}

.discount__consult-btn:hover {
    transition: all .4s linear;
    background-color: #D68000;
}

.discount__swiper .swiper-wrapper {
    align-items: start;
}

@media (min-width: 800px) {
    .discount__content-card {
        margin: 0!important;
        height: unset;
    }

    .discount__swiper .swiper-wrapper {
        width: 100%;
        flex-wrap: wrap;
        row-gap: 30px;
        column-gap: 30px;
        transform: translate(0px, 0px) !important;
    }
}

@media (max-width: 1250px) {
    .discount__wrapper {
        max-width: 768px;
        margin: 0 auto;
    }

    .discount__content-card {
        max-width: 369px;
    }
}

@media (max-width: 800px) {

    .discount {
        width: 100%;
        overflow: hidden;
    }

    .discount__swiper {
        width: 100%;
        overflow: visible;
    }

    .discount__wrapper {
        max-width: 768px;
        margin: 0 16px;
    }

    .discount__content-card {
        padding: 20px;
        max-width: 47%;
        box-sizing: border-box;
        height: auto;
    }

    .discount__title-text {
        font-size: 26px;
    }

    .discount__content-card-num {
        font-size: 30px;
    }

    .discount__content-card-title {
        font-size: 18px;
    }

    .discount__content-card-text {
        font-size: 16px;
    }

    .discount__content-card-show {
        font-size: 16px;
    }

}

@media (max-width: 600px) {

    .discount__consult-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .discount {
        padding: 30px 0 35px 0;
    }

    .discount__content-card {
        max-width: 100%;
    }

}

/* advantages */



/* article__introtext */

.article__introtext {
    padding: 40px 0 45px 0;
}

.article__introtext-wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.article__introtext-wrapper * {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #061937;
}

.page-banner__info {
    display: flex;
    align-items: center;
    column-gap: 12px;
    margin-top: 16px;
}

.page-banner__tags {
    display: flex;
}

.page-banner__tags-item {
    padding: 6px 8px;
    border-radius: 28px;
    background-color: #1B7AFF;
    color: #FFFFFF;
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    line-height: 130%;
    height: 30px;
    display: flex;
    align-items: center;
}

.page-banner__time .mod-articles-category-date {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
}

.article__introtext-wrapper ol {
    padding-left: 20px;
}

.article__introtext-wrapper ul {
    padding-left: 20px;
}


@media (max-width: 1250px) {
    .article__introtext-wrapper {
        max-width: 768px;
        margin: 0 auto;
    }

}

@media (max-width: 800px) {
    .article__introtext-wrapper {
        max-width: 768px;
        margin: 0 16px;
    }

}

@media (max-width: 600px) {



}

/* article__introtext */



/* tours-page */

.thours-page {
    padding: 50px 0 45px 0;
}

.thours-page__wrapper {
    max-width: 1218px;
    width: 100%;
    margin: 0 auto;

}

.thours-page__head {

}

.thours-page__head-breads {
    display: flex;
    column-gap: 12px;
    margin-bottom: 6px;
}

.thours-page__head-breads a {
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    color: #718094;
    text-decoration: none;
    transition: all .4s linear;
}

.thours-page__head-breads a:hover {
    color: #1B7AFF;
    transition: all .4s linear;
}

.thours-page__head-breads span {
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    color: #718094;
    text-decoration: none;
}

.thours-page__head-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 48px;
    color: #061937;
    margin-bottom: 24px;
}

.thours-page__controll {
    margin-bottom: 24px;
    display: flex;
    column-gap: 24px;
}

.thours-page__controll-search {
    width: 100%;
    position: relative;
}

.thours-page__controll-search-input {
    width: 100%;
    border: 1px solid #CBD5E0;
    background-color: #F7F8FA;
    padding: 14px 16px 14px 44px;
    border-radius: 14px;
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
    outline: none!important;
}

.thours-page__controll-search-input:not(:placeholder-shown) {
    border: 1px solid #1B7AFF;
}

.thours-page__controll-search-input:focus {
    border: 2px solid #1B7AFF;
}


.thours-page__controll-search-input-wrapper {

}

.thours-page__controll-search-input-btn {
    position: absolute;
    left: 12px;
    top: 13px;
    background-color: transparent;
    outline: none;
    border: none;
    padding: 0;
}

.thours-page__controll-filter-btn {
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    column-gap: 10px;
    padding: 12px 32px;
    background-color: rgba(27,122,255, 0.15);
    transition: all .4s linear;
    border-radius: 14px;

    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #1B7AFF;
}

.thours-page__controll-filter-btn:hover {
    background-color: rgba(27,122,255, 0.25);
    transition: all .4s linear;
}

.thours-page__list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    column-gap: 30px;
}



.thours-page__buttons {
    margin-top: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.thours-page__btn-show {
    cursor: pointer;
    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    color: #1B7AFF;

    border-radius: 16px;
    padding: 17px 32px;
    background-color: rgba(27,122,255, 0.15);
    transition: all .4s linear;
}

.thours-page__btn-show.btn-hide {
    display: none!important;
}

.thours-page__btn-show:hover {
    background-color: rgba(27,122,255, 0.25);
    transition: all .4s linear;
}

.thours-page__controll-filter {
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.3);
    position: fixed;
    z-index: 100000;
    left: 0;
    top: 0;
    display: none;
    overflow: scroll;
}

.thours-page__controll-filter.opened {
    display: flex;
    align-items: start;
    justify-content: center;
}

.thours-page__controll-filter-wrapper {
    position: relative;
    margin-top: 40px;
    margin-bottom: 40px;
    background-color: #ffffff;
    border-radius: 24px;
    max-width: 520px;
    width: 100%;
    padding: 30px;
}


.filter__subm {
    margin-top: 30px;
    border: none;
    width: 100%;
    padding: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #1B7AFF;
    border-radius: 16px;
    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    color: #FFFFFF;
}

.filter__close {
    position: absolute;
    cursor: pointer;
    top: 12px;
    right: 12px;
}

.filter__body-input {

}

.filter__body-input-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    color: #061937;
    margin-bottom: 12px;
}

.filter__head {
    display: flex;
    align-items: center;
    column-gap: 16px;
    margin-bottom: 30px;
}

.filter__head-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #051A3D;
    margin: 0;
}

.filter__head-drop {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #1B7AFF;
    text-decoration: none;
    border: none;
    background-color: transparent;
}

.filter__selects {
    display: flex;
    flex-direction: column;
    row-gap: 32px;
}

.filter__body-input-price {
    margin-bottom: 32px;
}

.filter__body-input-price-wrapper {
    display: flex;
    column-gap: 8px;
}

.filter__body-input-price-item {
    width: 100%;
    padding: 13px 12px;
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
    background-color: #F7F8FA;
    border-radius: 14px;
    border: 1px solid #CBD5E0;
    outline: none!important;
}

.filter__body-input-price-item::placeholder {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
}

.filter__body-input-price-item:not(:placeholder-shown) {
    border: 1px solid #1B7AFF;
}

.filter__body-input-price-item:focus {
    border: 2px solid #1B7AFF;
}

.filter__body-input-items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 8px;
}

.filter__body-input-item {
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 28px;
    background-color: #F5F9FE;
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.15);
}

.filter__body-input-item:has(input[checked]) {
    transition: all .4s linear;
    background-color: #1B7AFF;

}

.filter__body-input-item:has(input[checked]) span {
    transition: all .4s linear;
    color: #FFFFFF;
}

.filter__body-input-item:hover {
    background-color: rgba(27,122,255, 0.25);
}

.filter__body-input-item input {
    display: none;
}

.filter__body-input-item span {
    transition: all .4s linear;
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #1B7AFF;
}

@media (max-width: 1250px) {

    .thours-page__wrapper {
        max-width: 800px;
    }

    .thours-page .thours__slide {
        max-width: 385px;

    }

}

@media (max-width: 832px) {
    .thours-page__wrapper {
        max-width: 600px;
    }

    .thours-page .thours__slide {
        max-width: 100%;
        width: 100% !important;
    }

}

@media (max-width: 632px) {

    .thours-page__controll {
        display: flex;
        flex-direction: column;
        row-gap: 24px;
    }

    .thours-page__controll-filter-btn {
        justify-content: center;
    }

    .thours-page__wrapper {
        width: 100%;
        padding: 0 16px;
        margin: 0 auto;
    }

    .thours-page {
        padding: 40px 0 35px 0;
    }

    .thours-page__btn-show {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }



}

@media (max-width: 520px) {
    .filter__close {
        display: none;
    }

    .filter__head {
        justify-content: space-between;
    }

    .thours-page__controll-filter-wrapper {
        width: 100%;
        margin: 0;
        border-radius: 0;
        padding: 94px 16px 16px 16px;
    }
    .thours-page__controll-filter {
        z-index: 20;
    }

    .thours-page__list {
        row-gap: 16px;
        column-gap: 16px;
    }
}

/* tours-page */

/* === Календарь выездов === */

.tour-calendar {
    background-color: #F5F9FE;
    border-radius: 24px;
    padding: 20px;
    box-sizing: border-box;
    font-family: Onest, sans-serif;
    display: flex;
    flex-direction: column;
}

.tour-calendar--desktop {
    width: 386px !important;
    flex-shrink: 0;
}

.tour-calendar--mobile {
    display: none;
}

/* Шапка: стрелка — месяц — стрелка */
.tour-calendar__header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 16px;
}

.tour-calendar__title {
    font-weight: 600;
    font-size: 17px;
    color: #061937;
    min-width: 140px;
    text-align: center;
}

.tour-calendar__nav-btn {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 8px;
    background-color: rgba(27, 122, 255, 0.15);
    color: #1B7AFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s;
    padding: 0;
    flex-shrink: 0;
}

.tour-calendar__nav-btn:hover {
    background-color: rgba(27, 122, 255, 0.25);
}

/* Список выездов */
.tour-calendar__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.tour-calendar__list {
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

.tour-calendar:hover .tour-calendar__list {
    scrollbar-color: rgba(0,0,0,0.04) transparent;
}

.tour-calendar__list::-webkit-scrollbar {
    width: 2px;
}

.tour-calendar__list::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 4px;
    transition: background 0.3s;
}

.tour-calendar:hover .tour-calendar__list::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.04);
}

.tour-calendar__item {
    display: flex;
    gap: 10px;
    padding: 10px;
    background-color: #FFFFFF;
    border-radius: 14px;
    cursor: pointer;
    transition: box-shadow 0.3s;
    text-decoration: none;
    color: inherit;
}

a.tour-calendar__item {
    position: relative;
}

a.tour-calendar__item::after {
    content: 'Забронировать место →';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(27, 122, 255, 0.92);
    color: #fff;
    font-family: Geologica, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    border-radius: 14px;
    opacity: 0;
    transition: opacity 0.25s;
    pointer-events: none;
}

a.tour-calendar__item:hover::after {
    opacity: 1;
}

.tour-calendar__item:hover {
    box-shadow: 0 2px 10px rgba(27, 122, 255, 0.12);
    text-decoration: none;
    color: inherit;
}

.tour-calendar__item-img {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
}

.tour-calendar__item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tour-calendar__item-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tour-calendar__item-title {
    font-weight: 500;
    font-size: 13px;
    color: #061937;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tour-calendar__item-dates {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #718094;
}

.tour-calendar__item-status-label {
    margin-left: auto;
    font-size: 11px;
    font-weight: 600;
    color: #34C759;
    white-space: nowrap;
}

.tour-calendar__item-status-label--past {
    color: #718094;
}

.tour-calendar__item-meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
}

.tour-calendar__item-price {
    font-weight: 600;
    font-size: 13px;
    color: #1B7AFF;
}

.tour-calendar__item-price--sale {
    color: #EC9411;
}

.tour-calendar__item-price-old {
    font-size: 11px;
    color: #A0AEC0;
    text-decoration: line-through;
    margin-right: 4px;
}

.tour-calendar__item-discount {
    position: absolute;
    top: 4px;
    left: 4px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    background: #EC9411;
    border-radius: 6px;
    padding: 3px 7px;
    line-height: 1.3;
    pointer-events: none;
}

.tour-calendar__item-disc-until {
    font-size: 11px;
    color: #EC9411;
    font-weight: 500;
}

.tour-calendar__item-seats {
    font-size: 11px;
    color: #718094;
    margin-left: auto;
}

.tour-calendar__item-seats--none {
    color: #EC9411;
}

/* Прошедший выезд — серый, задизейбленный */
.tour-calendar__item--past {
    opacity: 0.8;
    cursor: default;
    pointer-events: none;
}

/* Идущий выезд — некликабельный, но заметный */
.tour-calendar__item--active {
    cursor: default;
    border: 2px solid #34C759;
    background-color: #F0FFF4;
}

/* Иконка статуса вместо превью */
.tour-calendar__item-status-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #34C759;
}

.tour-calendar__item-status-icon--past {
    color: #718094;
}


/* Пусто */
.tour-calendar__empty {
    text-align: center;
    color: #A0AEC0;
    font-size: 13px;
    padding: 20px 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.tour-calendar__empty svg {
    opacity: 0.35;
}

.tour-calendar__empty span {
    line-height: 1.4;
}

/* Ссылка на полное расписание */
.tour-calendar__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: auto;
    padding: 10px;
    border-radius: 10px;
    background-color: rgba(27, 122, 255, 0.08);
    color: #1B7AFF;
    font-family: Onest, sans-serif;
    font-weight: 500;
    font-size: 13px;
    text-decoration: none;
    transition: background-color 0.3s;
}

.tour-calendar__link:hover {
    background-color: rgba(27, 122, 255, 0.18);
    text-decoration: none;
    color: #1B7AFF;
}

/* Адаптивность календаря */
@media (max-width: 1250px) {
    .tour-calendar--desktop {
        max-width: 385px;
    }
}

@media (max-width: 832px) {
    .tour-calendar--desktop {
        display: none !important;
    }
    .tour-calendar--mobile {
        display: block;
        margin-bottom: 24px;
    }
}

@media (max-width: 520px) {
    .tour-calendar {
        padding: 16px;
    }
}

/* === /Календарь выездов === */

/* === Страница расписания === */

.schedule-page {
    max-width: 1218px;
    margin: 0 auto;
    padding: 0 16px;
}

.schedule-page__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.schedule-page__header-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.schedule-page__year {
    font-family: Geologica, sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: #061937;
    min-width: 80px;
    text-align: center;
}

.schedule-page__filters-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.schedule-page__filters {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.schedule-page__filters--directions .schedule-filter--dir {
    font-size: 13px;
    padding: 4px 12px;
}

.schedule-page__filters--directions .schedule-filter--dir.schedule-filter--active {
    background: #059669;
    border-color: #059669;
    color: #fff;
}

.schedule-page__filters--directions .schedule-filter--dir:hover:not(.schedule-filter--active) {
    border-color: #059669;
    color: #059669;
}

.schedule-filter {
    padding: 6px 16px;
    border: 1px solid #D1D5DB;
    border-radius: 20px;
    background: #fff;
    font-family: Geologica, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #4B5563;
    cursor: pointer;
    transition: all 0.2s;
}

.schedule-filter:hover {
    border-color: #3B82F6;
    color: #3B82F6;
}

.schedule-filter--active {
    background: #3B82F6;
    border-color: #3B82F6;
    color: #fff;
}

.schedule-filter--active:hover {
    background: #2563EB;
    border-color: #2563EB;
    color: #fff;
}

.schedule-page__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.schedule-month {
    background-color: #F5F9FE;
    border-radius: 24px;
    padding: 20px;
    box-sizing: border-box;
    font-family: Onest, sans-serif;
    display: flex;
    flex-direction: column;
    height: 430px;
}

.schedule-month__title {
    font-family: Geologica, sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #061937;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.schedule-month__count {
    font-family: Onest, sans-serif;
    font-weight: 500;
    font-size: 12px;
    color: #FFFFFF;
    background-color: #1B7AFF;
    border-radius: 10px;
    padding: 2px 8px;
}

.schedule-month__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 1;
    color: #A0AEC0;
    font-size: 13px;
    padding: 20px 0;
}

.schedule-month__empty svg {
    opacity: 0.35;
}

.schedule-month__empty span {
    max-width: 160px;
    line-height: 1.4;
    text-align: center;
}

.schedule-month__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 400px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

.schedule-month:hover .schedule-month__list {
    scrollbar-color: rgba(0,0,0,0.04) transparent;
}

.schedule-month__list::-webkit-scrollbar {
    width: 2px;
}

.schedule-month__list::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 4px;
}

.schedule-month:hover .schedule-month__list::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.04);
}

@media (max-width: 1100px) {
    .schedule-page__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .schedule-page__header {
        justify-content: center;
    }
    .schedule-page__filters {
        justify-content: center;
    }
    .schedule-page__grid {
        grid-template-columns: 1fr;
    }
    .schedule-page__year {
        font-size: 22px;
    }
    .schedule-filter {
        font-size: 13px;
        padding: 5px 12px;
    }
}

/* === /Страница расписания === */

/* tour-page */



/* thour-page__gallery-content-price */


.thour-page__gallery-content-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 24px;
}

.thour-page__gallery-content-price-main {
    font-family: Geologica;
    font-weight: 600;
    font-size: 32px;
    color: #1B7AFF;
    margin: 0;
}

.thour-page__gallery-content-price-old {
    font-family: Onest;
    font-weight: 500;
    font-size: 20px;
    text-decoration: line-through;
    color: #718094;
    margin: 0 0 0 8px;
}

.thour-page__gallery-content-price-disk {
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #FFFFFF;
    padding: 6px 8px;
    border-radius: 28px;
    background-color: #EC9411;
    margin: 0 0 0 8px;
}

.thour-page__gallery-bonus {
    margin-top: 24px;
    display: flex;
    align-items: center;
}

.thour-page__gallery-bonus-count {
    margin-left: 10px;
    margin-bottom: 0;

    font-family: Geologica;
    font-weight: 600;
    font-size: 18px;
    color: #061937;
}

.thour-page__gallery-bonus-text {
    margin-left: 6px;
    margin-bottom: 0;

    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #061937;
}

@media (max-width: 1250px) {
    .thour-page__gallery-content-price-main {
        font-family: Geologica;
        font-weight: 600;
        font-size: 24px;
        color: #1B7AFF;
        margin: 0;
    }

    .thour-page__gallery-content-price-old {
        font-family: Onest;
        font-weight: 500;
        font-size: 16px;
        text-decoration: line-through;
        color: #718094;
        margin: 0 0 0 8px;
    }
}

@media (max-width: 832px) {

}

@media (max-width: 632px) {
    .thour-page__gallery-bonus {
        margin-top: 16px;
    }

    .thour-page__gallery-content-price {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    .thour-page__gallery-bonus-count {
        font-size: 16px;
    }

    .thour-page__gallery-bonus-text {
        font-size: 16px;
    }
}

/* thour-page__gallery-content-price */



/* specifications */

.specifications {
    padding: 45px 0;
}

.specifications__wrapper {
    max-width: 1218px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: normal;
    justify-content: center;
    row-gap: 16px;
    column-gap: 16px;
}

.specifications__item {
    background-color: #F5F9FE;
    border-radius: 24px;
    padding: 22px;
    width: 190px;
    position: relative;
}

.specifications__item-title {
    margin-top: 22px;
    margin-bottom: 0;

    font-family: Geologica;
    font-weight: 600;
    font-size: 23px;
    color: #061937;
}

.specifications__item-text {
    margin-bottom: 0;
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #718094;
}

.specifications__item-cloud {
    display: none;
}

.specifications__item-text > svg {
    width: 16px!important;
    height: 16px!important;
}

.specifications__item:has([data-open-cloud]:hover) .specifications__item-cloud {
    position: absolute;
    left: 40px;
    display: block;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid #CBD5E0;
    background-color: #ffffff;
    width: 274px;
    z-index: 2;

    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #061937;
}

@media (max-width: 1250px) {
    .specifications__wrapper {
        max-width: 768px;
    }

    .specifications__wrapper {
        flex-wrap: wrap;
    }

}

@media (max-width: 800px) {

    .specifications__wrapper {
        max-width: 568px;
    }

    .specifications {
        padding: 35px 0;
    }

}

@media (max-width: 600px) {

    .specifications__wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 16px;
        row-gap: 8px;
        column-gap: 8px;
    }

    .specifications__item {
        width: 160px;
        padding: 16px 20px;
        border-radius: 20px;
    }

    .specifications__item-title {
        margin-top: 14px;
        font-size: 18px;
    }

    .specifications__item-text {
        font-size: 16px;
    }

    .specifications__item svg {
        width: 32px;
        height: 32px;
    }

    .specifications__item:has([data-open-cloud]:hover) .specifications__item-cloud {
        right: 0;
        left: unset;
    }
}

/* specifications */


/* tour-description */

.tour-description {
    padding: 45px 0;

}

.tour-description__container {
    padding: 70px 0;
    background-color: #F5F9FE;
}

.tour-description__wrapper {
    max-width: 1218px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tour-description__content {

}

.tour-description__image {
    max-width: 475px;
}

.tour-description__image img {
    width: 100%;
    border-radius: 36px;
}

.tour-description__content {
    max-width: 683px;
}

.tour-description__content-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    color: #061937;
    margin-bottom: 16px;
}

.tour-description__content-text {
    font-family: Onest;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.6;
    color: #061937;
    margin-bottom: 24px;
}

.tour-description__content-text p {
    margin-bottom: 16px;
}

.tour-description__content-btns {
    display: flex;
    align-items: center;
    justify-content: start;
}

.tour-description__content-btn {
    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    color: #FFFFFF;
    padding: 17px 32px;
    background-color: #EC9411;
    border-radius: 16px;
    transition: all .4s linear;
    cursor: pointer;
}

.tour-description__content-btn:hover {
    transition: all .4s linear;
    background-color: #D68000;
}

@media (max-width: 1250px) {

    .tour-description__wrapper {
        max-width: 768px;
        flex-direction: column;
        row-gap: 24px;
    }

    .tour-description__image {
        max-width: 100%;
    }

    .tour-description__content {
        max-width: 100%;
    }

}

@media (max-width: 800px) {

    .tour-description {
        padding: 35px 0;
    }

    .tour-description__wrapper {
        max-width: 568px;
    }

    .tour-description__container {
        padding: 40px 0;
    }

}

@media (max-width: 600px) {

    .tour-description__wrapper {
        max-width: 100%;
        margin: 0;
        padding: 0 16px;
    }

    .tour-description__content-title {
        font-size: 26px;
    }

    .tour-description__content-text {
        font-size: 16px;
    }

    .tour-description__content-btn {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

}

/* tour-description */


/* tour-program */

.tour-program {
    padding: 45px 0;
}

.tour-program__wrapper {
    max-width: 1218px;
    width: 100%;
    margin: 0 auto;
}

.tour-program__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.tour-program__head-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    color: #061937;
}

.tour-program__head-btn {
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #FFFFFF;
    padding: 13px 32px;
    background-color: #1B7AFF;
    border-radius: 14px;
    transition: all .4s linear;
    cursor: pointer;
    text-decoration: none!important;
}

.tour-program__head-btn:hover {
    transition: all .4s linear;
    background-color: #1162D4;
    color: #FFFFFF!important;
    text-decoration: none!important;
}

.tour-program__content {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.tour-program__content-item {
    display: flex;
    justify-content: space-between;
    column-gap: 32px;
    background-color: #F5F9FE;
    padding: 30px;
    border-radius: 24px;
}

.tour-program__content-item[data-program-show="yes"]{
    display: flex;
}

.tour-program__content-item[data-program-show="no"]{
    display: none;
}

.tour-program__content-item-left {

}

.tour-program__content-item-right {
    max-width: 420px;
    overflow: hidden;
    flex-shrink: 0;
}

.tour-program__content-item-right img {
    max-width: 100%;
    border-radius: 20px;
}

.tour-program__content-item-left-day {
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    color: #1162D4;
}

.tour-program__content-item-left-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #061937;
    margin-bottom: 16px;
}

.tour-program__content-item-left-points {
    display: flex;
    align-items: center;
    column-gap: 10px;
    margin-bottom: 16px;
}

.tour-program__content-item-left-points-item {
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.tour-program__content-item-left-points-item p {
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #061937;
    margin: 0;
}

.tour-program__content-item-left-text {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.6;
    color: #061937;
}

.tour-program__btns {
    display: flex;
    align-items: center;
    justify-content: center;
}



.tour-program__btn {
    margin-top: 30px;
    padding: 13px 32px;
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.15);
    border-radius: 14px;

    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #1B7AFF;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.tour-program__btn:hover {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.25);
}

.tour-program__btn.btn-hide {
    display: none;
}

.tour-program__btn:hover {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.25);
}

.tour-program__content-item-left-arrow {
    display: none;
}

.tour-program__content-item-left-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 16px 0;
}

.tour-program__map {
    display: none;
}

@media (max-width: 1250px) {

    .tour-program__wrapper {
        max-width: 768px;
    }

    .tour-program__content-item[data-program-show="yes"] {
        display: block;
    }

    .tour-program__content-item-right {
        max-width: 100%;
        width: 100%;
    }

}

@media (max-width: 800px) {

    .tour-program__head-btn {
        display: none;
    }

    .tour-program__swiper-slide {
        max-width: 420px;
    }

    .tour-program__head-title {
        font-size: 26px;
    }

    .tour-program__wrapper {
        max-width: 568px;
    }

    .tour-program__map {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 24px;
        border-radius: 20px;
        border: 1px solid #CBD5E0;
        overflow: hidden;
        max-height: 400px;
    }

    .tour-program__map img {
        width: 100%;
    }
}

@media (max-width: 600px) {

    .tour-program__wrapper {
        padding: 0 16px;
    }

    .tour-program__content-item-left-points {
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .tour-program__content-item-left-head {
        margin: 0 0 13px 0;
    }

    .tour-program__content-item-left-day {
        font-size: 18px;
    }

    .tour-program__content-item-left-title {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .tour-program__content-item-left-text {
        font-size: 16px;
    }

    .tour-program__content-item-left-points {
        margin-bottom: 12px;
    }

    .tour-program__content-item {
        padding: 20px;
    }

    .tour-program__head {
        margin-bottom: 24px;
    }

    .tour-program {
        padding: 35px 0;
    }

    .tour-program__content-item-left-points {
        display: none;
    }

    .tour-program__content-item.active .tour-program__content-item-left-points {
        display: flex;
    }

    .tour-program__content-item-left-arrow {
        display: block;
        transform: rotate(180deg);
    }

    .tour-program__content-item.active .tour-program__content-item-left-arrow {
        transform: rotate(0deg);
    }

}

@media (max-width: 400px) {
    .tour-program__swiper-slide {
        max-width: 135px;
    }

    .tour-program__swiper {
        overflow: visible;
    }

    .tour-program__content-item-right {
        overflow: visible;
    }

    .tour-program__content-item {
        overflow: hidden;
    }

    .tour-program__btn {
        width: 100%;
        margin-top: 16px;
    }

    .tour-program__map {
        max-height: 270px;
    }

}

/* tour-program */


/* tour-date */

.tour-date-block {
    user-select: none;
    position: relative;
    padding: 70px 0;
    margin: 45px 0;
    overflow: hidden;
    background-color: #F5F9FE;
}

.tour-date__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.tour-date__wrapper-background {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding-top: 90px;
}

.tour-date__wrapper-background-img {
    height: 217px;
    background-image: url("/media/templates/site/cassiopeia/images/MountainDate.png");
}

.tour-date__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    color: #061937;

}

.tour-date__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 52px;
    position: relative;
    z-index: 4;
}

.tour-date__head .tour-calendar__link {
    margin-top: 0;
}

/* Табы дат */
.tour-date__tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 24px;
    position: relative;
    z-index: 4;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-top: 10px;
    padding-bottom: 4px;
    margin-top: -10px;
}

.tour-date__tabs::-webkit-scrollbar {
    display: none;
}

.tour-date__tab-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #EC9411;
    color: #fff;
    font-family: Geologica;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    padding: 1px 5px;
    white-space: nowrap;
}

.tour-date__tab--active .tour-date__tab-badge {
    background: #fff;
    color: #EC9411;
}

.tour-date__tab {
    position: relative;
    flex-shrink: 0;
    padding: 10px 20px;
    border: 2px solid #D0DFEF;
    border-radius: 14px;
    background: #FFFFFF;
    font-family: Onest;
    font-weight: 500;
    font-size: 15px;
    color: #4A6A8A;
    cursor: pointer;
    transition: all .25s ease;
    white-space: nowrap;
}

.tour-date__tab:hover {
    border-color: #1B7AFF;
    color: #1B7AFF;
}

.tour-date__tab--active {
    background: #1B7AFF;
    border-color: #1B7AFF;
    color: #FFFFFF;
}

.tour-date__tab--active:hover {
    background: #1565D8;
    border-color: #1565D8;
    color: #FFFFFF;
}

/* Панель даты */
.tour-date__panel {
    display: none;
    background: #FFFFFF;
    border-radius: 20px;
    padding: 28px 32px;
    position: relative;
    z-index: 3;
}

.tour-date__panel--active {
    display: block;
}

.tour-date__panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.tour-date__panel-datestr {
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    color: #061937;
}

.tour-date__year {
    font-weight: 400;
    font-size: 14px;
    color: #A0B1C5;
}

.tour-date__panel-count {
    font-family: Onest;
    font-weight: 600;
    font-size: 15px;
    color: #1B7AFF;
}

/* Кружочки мест */
.tour-date__seats {
    margin-bottom: 24px;
}

.tour-date__seats-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.tour-date__seat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 72px;
}

.tour-date__seat svg {
    width: 60px;
    height: 60px;
    padding: 14px;
    border-radius: 50%;
    background: #EEF3F9;
    fill: #B8C9DC;
}

.tour-date__seat--booked svg {
    background: rgba(27, 122, 255, 0.15);
    fill: #1B7AFF;
}

.tour-date__seat-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #D8E3EF;
}

.tour-date__seat-letter {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #1B7AFF;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    border: 2px solid #D8E3EF;
}

.tour-date__seat-name {
    font-family: Onest;
    font-size: 12px;
    font-weight: 500;
    color: #CBD5E0;
    text-align: center;
    line-height: 1.2;
    max-width: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tour-date__seat--booked .tour-date__seat-name {
    color: #6B8299;
}

.tour-date__seats-text {
    font-family: Onest;
    font-size: 14px;
    font-weight: 500;
    color: #6B8299;
}

/* Проводники */
.tour-date__guides {
    margin-bottom: 24px;
}

.tour-date__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.tour-date__section-head .tour-date__guides-title {
    margin-bottom: 0;
}

.tour-date__section-head .tour-date__tariff-hint {
    margin-top: 0;
}

.tour-date__section-head--dops {
    margin-top: 20px;
}

.tour-date__guides-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 16px;
    color: #061937;
    margin-bottom: 14px;
}

/* Внутренние табы: Участники / Инструкторы */
.tour-date__inner-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
    border-bottom: 2px solid #EEF3F9;
    padding-bottom: 0;
}

.tour-date__inner-tab {
    font-family: Geologica;
    font-size: 15px;
    font-weight: 500;
    color: #6B7280;
    background: none;
    border: none;
    padding: 8px 16px;
    cursor: pointer;
    position: relative;
    bottom: -2px;
    border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}

.tour-date__inner-tab:hover {
    color: #061937;
}

.tour-date__inner-tab--active {
    color: #061937;
    font-weight: 600;
    border-bottom-color: #061937;
}

.tour-date__inner-pane {
    display: none;
}

.tour-date__inner-pane--active {
    display: block;
}

.tour-date__guides-list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.tour-date__guide {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

.tour-date__guide-photo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #D8E3EF;
}

.tour-date__guide-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tour-date__guide-name {
    font-family: Onest;
    font-weight: 600;
    font-size: 14px;
    color: #061937;
}

.tour-date__guide-exp {
    font-family: Onest;
    font-size: 12px;
    font-weight: 500;
    color: #6B8299;
}

/* Карточка гида при наведении */
.tour-date__guide-card {
    display: none;
    position: absolute;
    bottom: calc(100% + 10px);
    left: 0;
    z-index: 20;
    width: 360px;
    background: #FFFFFF;
    border-radius: 14px;
    box-shadow: 0 6px 24px rgba(6, 25, 55, 0.12);
    overflow: hidden;
}

.tour-date__guide:hover .tour-date__guide-card {
    display: flex;
    align-items: stretch;
}

.tour-date__guide-card-photo {
    width: 120px;
    min-height: 100%;
    object-fit: cover;
    flex-shrink: 0;
}

.tour-date__guide-card-body {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.tour-date__guide-card-name {
    font-family: Geologica;
    font-weight: 600;
    font-size: 15px;
    color: #061937;
}

.tour-date__guide-card-exp {
    font-family: Onest;
    font-size: 12px;
    font-weight: 500;
    color: #1B7AFF;
}

.tour-date__guide-card-stat {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: Onest;
    font-size: 12px;
    font-weight: 500;
    color: #6B8299;
}

.tour-date__guide-card-stat svg {
    fill: #A0B1C5;
    flex-shrink: 0;
}

.tour-date__guide-card-stars {
    display: inline-flex;
    gap: 1px;
}

.tour-date__guide-card-stars svg {
    fill: #F5A623;
}

.tour-date__guide-card-star--empty {
    fill: #D8E3EF !important;
}

.tour-date__guide-card-desc {
    font-family: Onest;
    font-size: 12px;
    color: #4A6A8A;
    line-height: 1.4;
    margin: 2px 0 0;
}

.tour-date__guides-pending {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #F0F6FF;
    border-radius: 12px;
    font-family: Onest;
    font-size: 14px;
    font-weight: 500;
    color: #4A6A8A;
}

.tour-date__guides-pending-icon {
    flex-shrink: 0;
    fill: #1B7AFF;
}

/* Подвал панели: тарифы + кнопка */
.tour-date__tabs-wrapper {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
    margin-top: 20px;
}

.tour-date__tabs-left {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.tour-date__tabs-right {
    width: 260px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: sticky;
    top: 20px;
}

.tour-date__panel-footer {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
    padding-top: 20px;
    border-top: 1px solid #EEF3F9;
}

.tour-date__footer-left {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tour-date__footer-right {
    width: 260px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.tour-date__tabs-right .tour-date__panel-btn,
.tour-date__footer-right .tour-date__panel-btn {
    width: 100%;
    text-align: center;
}

/* Карточки тарифов */
.tour-date__tariff-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    flex: 1;
}

.tour-date__tariff-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 0 1 calc(50% - 5px);
    min-width: 160px;
    padding: 14px 16px;
    border: 2px solid #E5E7EB;
    border-radius: 14px;
    cursor: pointer;
    background: #F9FAFB;
    transition: border-color 0.15s, background 0.15s;
}

.tour-date__tariff-card input[type="radio"] {
    display: none;
}

.tour-date__tariff-card:hover {
    border-color: #93C5FD;
    background: #F0F7FF;
}

.tour-date__tariff-card--active {
    border-color: #2563EB;
    background: #EFF6FF;
}

.tour-date__tariff-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.tour-date__tariff-card-prices {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

/* Бейдж + старая цена — в одну строку */
.tour-date__tariff-card-prices .tour-date__tariff-card-badge,
.tour-date__tariff-card-prices .tour-date__tariff-card-old {
    display: inline;
}

.tour-date__tariff-card-sale-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.tour-date__tariff-card-badge {
    font-family: Geologica;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #EC9411;
    border-radius: 4px;
    padding: 1px 5px;
    white-space: nowrap;
}

.tour-date__tariff-card-old {
    font-family: Geologica;
    font-size: 13px;
    color: #9CA3AF;
    text-decoration: line-through;
    white-space: nowrap;
}

.tour-date__tariff-card-price--sale {
    color: #EC9411 !important;
    font-weight: 600;
    white-space: nowrap;
}

.tour-date__disc-until {
    font-family: Geologica;
    font-size: 11px;
    color: #EC9411;
    font-weight: 500;
    white-space: nowrap;
}

.tour-date__disc-block {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    font-family: Geologica;
    font-size: 13px;
    color: #EC9411;
}

.tour-date__dop-card-prices {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.tour-date__dop-card-price--sale {
    color: #EC9411 !important;
    font-weight: 600;
    white-space: nowrap;
}

.tour-date__tariff-card-name {
    font-family: Geologica;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.tour-date__tariff-card--active .tour-date__tariff-card-name {
    color: #1D4ED8;
}

.tour-date__tariff-card-price {
    font-family: Geologica;
    font-size: 18px;
    font-weight: 700;
    color: #061937;
    white-space: nowrap;
}

.tour-date__tariff-card--active .tour-date__tariff-card-price {
    color: #1D4ED8;
}


.tour-date__tariff-hint {
    font-family: Geologica;
    font-size: 13px;
    color: #6B7280;
    text-decoration: underline;
    text-decoration-style: dashed;
    text-underline-offset: 3px;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 5px;
    align-self: flex-start;
    transition: color 0.15s;
}

.tour-date__tariff-hint::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.tour-date__tariff-hint:hover {
    color: #374151;
}

.tour-date__dop-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    flex: 1;
}

.tour-date__dop-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 0 1 calc(50% - 5px);
    min-width: 160px;
    padding: 14px 16px;
    border: 2px solid #E5E7EB;
    border-radius: 14px;
    cursor: pointer;
    background: #F9FAFB;
    transition: border-color 0.15s, background 0.15s;
}

.tour-date__dop-card input[type="radio"] {
    display: none;
}

.tour-date__dop-card:hover {
    border-color: #6EE7B7;
    background: #F0FDF4;
}

.tour-date__dop-card--active {
    border-color: #059669;
    background: #ECFDF5;
}

.tour-date__dop-card-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.tour-date__dop-card-name {
    font-family: Geologica;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.tour-date__dop-card--active .tour-date__dop-card-name {
    color: #065F46;
}

.tour-date__dop-card-price {
    font-family: Geologica;
    font-size: 18px;
    font-weight: 700;
    color: #061937;
    white-space: nowrap;
}

.tour-date__dop-card--active .tour-date__dop-card-price {
    color: #059669;
}

.tour-date__tariff-hint:hover {
    color: #2563EB;
}

@media (max-width: 600px) {
    .tour-date__panel {
        padding: 16px 14px;
    }
    .tour-date__panel-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .tour-date__panel-datestr {
        font-size: 17px;
    }
    .tour-date__panel-count {
        font-size: 13px;
    }
    .tour-date__section-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .tour-date__tariff-card,
    .tour-date__dop-card {
        flex: 1 1 100%;
    }
    .tour-date__tariff-card-top {
        flex-wrap: wrap;
    }
    .tour-date__tariff-card-sale-row {
        flex-wrap: wrap;
        gap: 4px;
    }
    .tour-date__disc-until {
        font-size: 11px;
    }
}

/* Сводка бронирования */
.tour-date__summary {
    background: #F8FAFF;
    border: 1px solid #E0E9FF;
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tour-date__summary-title {
    font-family: Geologica;
    font-size: 15px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 2px;
}

.tour-date__summary-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: Geologica;
    font-size: 13px;
}

.tour-date__summary-row::before {
    display: none;
}

.tour-date__summary-label {
    display: flex;
    align-items: center;
    gap: 5px;
}

.tour-date__summary-label::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.55;
}

.tour-date__summary-row--date .tour-date__summary-label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
}

.tour-date__summary-row--tour .tour-date__summary-label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='3 17 9 3 15 14 18 9 21 17'/%3E%3C/svg%3E");
}

.tour-date__summary-row--tariff .tour-date__summary-label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
}

.tour-date__summary-row--dop .tour-date__summary-label::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='16'/%3E%3Cline x1='8' y1='12' x2='16' y2='12'/%3E%3C/svg%3E");
}

.tour-date__summary-row--saving .tour-date__summary-label::before,
.tour-date__summary-row--total .tour-date__summary-label::before {
    display: none;
}

.tour-date__summary-label {
    color: #9CA3AF;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.tour-date__summary-val {
    color: #1F2937;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.4;
}

.tour-date__summary-row--dop .tour-date__summary-val {
    color: #065F46;
}

.tour-date__summary-row--saving {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.tour-date__summary-label--saving {
    color: #EC9411;
    font-weight: 600;
}

.tour-date__summary-saving {
    color: #EC9411;
    font-weight: 600;
}

.tour-date__summary-row--total {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #E5E7EB;
    margin-top: 6px;
    padding-top: 10px;
}

.tour-date__summary-label--total {
    color: #374151;
    font-weight: 600;
}

.tour-date__summary-total {
    font-size: 20px;
    font-weight: 700;
    color: #1B7AFF !important;
}

.tour-date__tariff-none {
    font-family: Geologica;
    font-size: 15px;
    color: #9CA3AF;
}

.tour-date__panel-price {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #061937;
}

.tour-date__panel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    background: #1B7AFF;
    border-radius: 14px;
    font-family: Onest;
    font-weight: 600;
    font-size: 16px;
    color: #FFFFFF;
    text-decoration: none;
    cursor: pointer;
    transition: background .25s ease;
}

.tour-date__panel-btn:hover {
    background: #1565D8;
    color: #FFFFFF;
    text-decoration: none;
}

.tour-date__panel-btn--disabled {
    background: #D8E3EF;
    color: #8FA4B8;
    cursor: default;
    pointer-events: none;
}

.tour-date__panel-btn--outline {
    background: transparent;
    border: 2px solid #1B7AFF;
    color: #1B7AFF;
    font-size: 14px;
    padding: 10px 24px;
}

.tour-date__panel-btn--outline:hover {
    background: #EFF6FF;
    color: #1B7AFF;
}

.tour-date__save-btn {
    border: none;
    width: 100%;
    margin-bottom: 8px;
}

.tour-date__save-btn:disabled {
    background: #94A3B8;
    cursor: not-allowed;
}

.tour-date__save-status {
    font-size: 13px;
    text-align: center;
    min-height: 18px;
    margin-top: 4px;
}

.tour-date__included-link {
    display: block;
    text-align: center;
    margin-top: 10px;
    font-family: Geologica;
    font-size: 13px;
    color: #6B7280;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.tour-date__included-link:hover {
    color: #1B7AFF;
}

/* Адаптив */
@media (max-width: 1250px) {
    .tour-date__wrapper {
        max-width: 768px;
    }
}

@media (max-width: 800px) {
    .tour-date__wrapper {
        max-width: 568px;
    }

    .tour-date__panel {
        padding: 24px 20px;
    }
}

@media (max-width: 600px) {
    .tour-date__wrapper {
        padding: 0 16px;
    }

    .tour-date-block {
        padding: 40px 0;
        margin: 35px 0;
    }

    .tour-date__title {
        font-size: 26px;
    }

    .tour-date__wrapper-background {
        padding-top: 50px;
    }

    .tour-date__head {
        margin-bottom: 28px;
    }

    .tour-date__tabs {
        gap: 8px;
        margin-bottom: 16px;
    }

    .tour-date__tab {
        padding: 8px 14px;
        font-size: 13px;
    }

    .tour-date__panel {
        padding: 20px 16px;
        border-radius: 16px;
    }

    .tour-date__panel-price {
        font-size: 20px;
    }

    .tour-date__panel-btn {
        padding: 12px 20px;
        font-size: 14px;
    }

    .tour-date__tabs-wrapper {
        flex-direction: column;
        gap: 20px;
    }

    .tour-date__tabs-right {
        width: 100%;
        position: static;
    }

    .tour-date__panel-footer {
        flex-direction: column;
        gap: 20px;
    }

    .tour-date__footer-right {
        width: 100%;
    }

    .tour-date__panel-btn {
        width: 100%;
    }

    .tour-date__seat {
        width: 48px;
    }

    .tour-date__seat svg {
        width: 38px;
        height: 38px;
        padding: 8px;
    }

    .tour-date__seat-avatar,
    .tour-date__seat-letter {
        width: 38px;
        height: 38px;
    }

    .tour-date__seat-letter {
        font-size: 15px;
    }

    .tour-date__seat-name {
        font-size: 10px;
        max-width: 48px;
    }
}

@media (max-width: 400px) {
    .tour-program__btn {
        width: 100%;
        margin-top: 16px;
    }
}

/* tour-date */


/* tour-tarifs */

.tour-tarifs {
    padding: 45px 0;
    overflow: hidden;
    user-select: none;
}

.tour-tarifs__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.tour-price-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 32px;
}

.tour-price-tab {
    padding: 9px 24px;
    border: 2px solid #E5E7EB;
    border-radius: 10px;
    background: #F9FAFB;
    font-family: Geologica;
    font-size: 15px;
    font-weight: 500;
    color: #6B7280;
    cursor: pointer;
    transition: all .2s;
}

.tour-price-tab:hover {
    border-color: #1B7AFF;
    color: #1B7AFF;
}

.tour-price-tab--active {
    background: #1B7AFF;
    border-color: #1B7AFF;
    color: #fff;
}

.tour-price-pane {
    display: none;
}

.tour-price-pane--active {
    display: block;
}

.tour-tarifs__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.tour-tarifs__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    color: #061937;
}

.tour-tarifs__slide {
    padding: 40px 36px;
    background-color: #F5F9FE;
    border-radius: 24px;
    width: 386px;
    height: auto;
    display: flex;
    flex-direction: column;
}

.tour-tarifs__swiper {
    overflow: visible;
}

.tour-tarifs__swiper .swiper-wrapper,
.tour-dops__swiper .swiper-wrapper {
    align-items: stretch;
}

.tour-tarifs__slide-head {
    /*margin-bottom: 16px;*/
}

.tour-tarifs__slide-head-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #061937;
    margin-bottom: 12px;
}

.tour-tarifs__slide-head .thour-page__gallery-content-price {
    row-gap: 8px;
    margin-bottom: 16px;
}

.tour-tarifs__slide-head .thour-page__gallery-content-price-main {
    font-size: 24px;
}

.tour-tarifs__slide-head .thour-page__gallery-content-price-old {
    font-size: 18px;
}

.tour-tarifs__slide-head .thour-page__gallery-content-price-disk {
    padding: 8px 16px;
    margin: 0;
}

.tour-tarifs__slide-content {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    color: #061937;
    margin-bottom: 20px;
}

.tour-tarifs__slide-content ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
    display: flex;
    flex-direction: column;
    row-gap: 16px;
}

.tour-tarifs__slide-content ul li {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
    display: flex;
    align-items: start;
    column-gap: 8px;
}

.tour-tarifs__slide-content ul li:before {
    content: '';
    width: 6px;
    height: 6px;
    background-image: url("/media/templates/site/cassiopeia/images/Icon_close_tarif.svg");
    display: block;
    margin-top: 8px;
    margin-left: 4px;
    margin-right: 4px;
    flex-shrink: 0;
}

.tour-tarifs__slide-content ul li.active {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #061937;
}

.tour-tarifs__slide-content ul li.active:before {
    content: '';
    width: 6px;
    height: 5px;
    background-image: url("/media/templates/site/cassiopeia/images/krug-active.svg");
    display: block;
    margin-top: 9px;
    margin-left: 4px;
    margin-right: 4px;
    flex-shrink: 0;
}

.tour-tarifs__slide-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 17px;
    cursor: pointer;
    background-color: #EC9411;
    border-radius: 16px;

    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    color: #FFFFFF;
    transition: all .4s linear;
}

.tour-tarifs__slide-btn:hover {
    transition: all .4s linear;
    background-color: #D68000;
}

@media (max-width: 1250px) {
    .tour-tarifs__wrapper {
        max-width: 768px;
    }
}

@media (max-width: 800px) {

    .tour-tarifs__wrapper {
        max-width: 532px;
    }

    .tour-tarifs__slide {
        width: 300px;
        padding: 28px 22px;
    }

    .tour-tarifs__slide-head-title {
        font-size: 18px;
        margin-bottom: 6px;
    }

    .tour-tarifs__slide-head .thour-page__gallery-content-price-main {
        font-size: 18px;
    }

    .tour-tarifs__slide-head .thour-page__gallery-content-price-old {
        font-size: 14px;
    }

    .tour-tarifs__slide-head .thour-page__gallery-content-price-disk {
        font-size: 14px;
    }

    .tour-tarifs__slide-head .thour-page__gallery-content-price {
        row-gap: 6px;
        margin-bottom: 10px;
    }

    .tour-tarifs__slide-content ul {
        row-gap: 10px;
    }

    .tour-tarifs__slide-btn {
        padding: 14px;
        font-size: 16px;
    }

}

@media (max-width: 600px) {

    .tour-tarifs__title {
        font-size: 26px;
    }

    .tour-tarifs__wrapper {
        padding: 0 16px;
    }

    .tour-tarifs {
        padding: 35px 0;
    }

    .tour-tarifs__head {
        margin-bottom: 24px;
    }

}


/* tour-tarifs */


/* tour-dops */

.tour-dops {
    padding: 45px 0;
    overflow: hidden;
}

.tour-dops__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.tour-dops__head {
    margin-bottom: 40px;
}

.tour-dops__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    color: #061937;
    margin-bottom: 16px;
}

.tour-dops__text {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #061937;
}

.tour-dops__content {

}

.tour-dops__swiper {
    overflow: visible;
}

.tour-dops__item {
    padding: 30px 26px;
    background-color: #F5F9FE;
    border-radius: 24px;
    width: 386px;
    height: auto;
    display: flex;
    flex-direction: column;
}

.tour-dops__item-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #061937;
}

.tour-dops__item-price {

}

.tour-dops__item-price .thour-page__gallery-content-price {
    margin-bottom: 16px;
    margin-top: 12px;
}

.tour-dops__item-price .thour-page__gallery-content-price-main {
    font-size: 24px;
}

.tour-dops__item-price .thour-page__gallery-content-price-old {
    font-size: 18px;
}

.tour-dops__item-price .thour-page__gallery-content-price-disk {
    font-size: 16px;
}

.tour-dops__item-content {

}

.tour-dops__item-content ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    row-gap: 16px;
}

.tour-dops__item-content ul li {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #061937;
    display: flex;
    align-items: start;
    column-gap: 8px;
}

.tour-dops__item-content ul li:before {
    content: '';
    width: 6px;
    height: 5px;
    background-image: url("/media/templates/site/cassiopeia/images/krug-active.svg");
    display: block;
    margin-top: 9px;
    margin-left: 4px;
    margin-right: 4px;
    flex-shrink: 0;
}

/* Что входит / не входит */
.tour-includes__item {
    padding: 30px 26px;
    background-color: #F5F9FE;
    border-radius: 24px;
    width: 386px;
    height: auto;
    display: flex;
    flex-direction: column;
}

.tour-includes__item-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #061937;
    margin-bottom: 16px;
}

.tour-includes__item-content {
    font-family: Onest;
    font-size: 16px;
    line-height: 140%;
    color: #061937;
}

.tour-includes__item-content ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    row-gap: 16px;
}

.tour-includes__item-content ul li {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #061937;
    display: flex;
    align-items: start;
    column-gap: 8px;
}

.tour-includes__item-content ul li:before {
    content: '';
    width: 6px;
    height: 5px;
    background-image: url("/media/templates/site/cassiopeia/images/krug-active.svg");
    display: block;
    margin-top: 9px;
    margin-left: 4px;
    margin-right: 4px;
    flex-shrink: 0;
}

@media (max-width: 1250px) {

    .tour-dops__wrapper {
        max-width: 768px;
    }

    .tour-dops__item,
    .tour-includes__item {
        width: 369px;
    }

}

@media (max-width: 800px) {

    .tour-dops__wrapper {
        max-width: 568px;
    }

    .tour-dops__item,
    .tour-includes__item {
        padding: 20px 16px;
    }

    .tour-dops__item-title,
    .tour-includes__item-title {
        font-size: 18px;
    }

    .tour-dops__item-price .thour-page__gallery-content-price {
        margin-bottom: 10px;
        margin-top: 6px;
    }

    .tour-dops__item-price .thour-page__gallery-content-price-main {
        font-size: 18px;
    }

    .tour-dops__item-price .thour-page__gallery-content-price-old {
        font-size: 14px;
    }

    .tour-dops__item-price .thour-page__gallery-content-price-disk {
        font-size: 14px;
    }

    .tour-dops__item-content ul,
    .tour-includes__item-content ul {
        row-gap: 10px;
    }

}

@media (max-width: 600px) {

    .tour-dops__item,
    .tour-includes__item {
        width: 300px;
    }

    .tour-dops__head {
        margin-bottom: 24px;
    }

    .tour-dops__wrapper {
        padding: 0 16px;
    }

    .tour-dops {
        padding: 35px 0;
    }

    .tour-dops__title {
        font-size: 26px;
    }

    .tour-dops__text {
        font-size: 16px;
    }

}


/* tour-dops */


/* tour-live */

.tour-live {
    padding: 45px 0;
    overflow: hidden;
}

.tour-live__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.tour-live__left {
    max-width: 683px;
}

.tour-live__right {
    max-width: 475px;
}

.tour-live__swiper {
    height: 376px;
}

.tour-live__slide {
    overflow: hidden;
    border-radius: 36px;
}

.tour-live__slide img {
    height: 100%;
    width: auto;
    max-width: unset;
}

.tour-live__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    color: #061937;
    margin-bottom: 16px;
}

.tour-live__text p {
    font-family: Onest;
    font-weight: 400;
    font-size: 20px;
    color: #061937;
    margin-bottom: 16px;
}

@media (max-width: 1250px) {

    .tour-live__wrapper {
        max-width: 768px;
        flex-direction: column;
    }

    .tour-live__right {
        max-width: 100%;
    }

    .tour-live__slide {
        max-width: 475px;
    }

    .tour-live__swiper {
        overflow: visible;
    }

}

@media (max-width: 800px) {

    .tour-live__wrapper {
        max-width: 568px;
    }

    .tour-live__title {
        font-size: 26px;
    }

    .tour-live__text p {
        font-size: 16px;
    }


}

@media (max-width: 600px) {

    .tour-live__slide {
        max-width: 312px;
    }

    .tour-live__swiper {
        height: 200px;
    }

    .tour-live {
        padding: 35px 0;
    }

    .tour-live__wrapper {
        padding: 0 16px;
    }

}


/* tour-live */


/* tour-faq */

.tour-faq {
    padding: 45px 0;
}

.tour-faq__wrapper {
    max-width: 1218px;
    margin: 0 auto;
}

.tour-faq__title {

    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    line-height: 132%;
    color: #061937;

}

.tour-faq__content {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
}

.tour-faq__content-item {
    background-color: #F5F9FE;
    padding: 20px;
    border-radius: 24px;
    cursor: pointer;
    user-select: none;
}

.tour-faq__content-item[data-tour-show="yes"] {
    display: block;
}

.tour-faq__content-item[data-tour-show="no"] {
    display: none;
}

.tour-faq__content-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tour-faq__content-item-head-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    line-height: 124%;
    color: #061937;
}

.tour-faq__content-item-head-arrow {

}

.tour-faq__content-item-content {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937;
    height: 0px;
    overflow: hidden;
    transition: all .4s linear;
}

.tour-faq__content-item.opened .tour-faq__content-item-content {
    margin-top: 10px;
}

.tour-faq__button {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
    margin-top: 16px;
}

.tour-faq__button-show {
    padding: 14px 32px;
    border-radius: 14px;
    background-color: rgba(27,122,255, 0.15);
    cursor: pointer;

    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #1B7AFF;
    transition: all .4s linear;
}

.tour-faq__button-show.btn-hide {
    display: none!important;
}

.tour-faq__button-show:hover {
    background-color: rgba(27,122,255, 0.25);
    transition: all .4s linear;
}

.tour-take__item-grey {
    margin-bottom: 16px;
}

.tour-take__item-grey p {
    margin: 0;
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
}

.tour-take__item {
    margin-bottom: 16px;
}

.tour-take__item:last-child {
    margin: 0;
}

.tour-take__item-title {
    font-family: Onest;
    font-weight: 500;
    font-size: 18px;
    color: #061937;
    margin-bottom: 0;
}

.tour-take__item-price {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #1B7AFF;
    margin-bottom: 0;
}

.tour-faq__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.tour-faq__btn {
    padding: 13px 32px;
    background-color: #1B7AFF;
    border-radius: 14px;
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #FFFFFF;
    cursor: pointer;
    transition: all .4s linear;
    text-decoration: none;
}

.tour-faq__btn:hover {
    transition: all .4s linear;
    background-color: #1162D4;
    color: #FFFFFF;
}

.tour-faq__sub-text {
    margin-bottom: 16px;

    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #061937;
}

@media (max-width: 1250px) {
    .tour-faq__wrapper {
        max-width: 768px;
    }

    .tour-faq__head {
        flex-direction: column;
        align-items: start;
        row-gap: 24px;
    }
}

@media (max-width: 800px) {
    .tour-faq__wrapper {
        max-width: 568px;
    }
}

@media (max-width: 600px) {

    .tour-faq {
        padding: 35px 0;
    }

    .tour-faq__content-item-head-title {
        font-size: 16px;
    }

    .tour-faq__wrapper {
        padding: 0 16px;
    }

    .tour-faq__title {
        font-size: 26px;
    }

    .tour-faq__btn {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .tour-faq__head {
        margin-bottom: 12px;
    }

    .tour-faq__sub-text {
        margin-bottom: 12px;
    }

    .tour-take__item-title {
        font-size: 16px;
    }

    .tour-take__item-price {
        font-size: 16px;
    }

}

/* tour-faq */



/* tour-page-navigation */

.tour-page-navigation::-webkit-scrollbar-track {
    width: 0px;
    height: 0px;
    display: none;
    padding: 0;
    margin: 0;
    background-color: transparent;
}

.tour-page-navigation::-webkit-scrollbar {
    width: 0px;
    height: 0px;
    display: none;
    padding: 0;
    margin: 0;
    background-color: transparent;
}

.tour-page-navigation {
    width: 100%;
    background-color: #ffffff;
    position: fixed;
    top: 90px;
    z-index: 19;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.tour-page-navigation__wrapper {
    margin: 0 auto;
    padding: 0px 12px 0px 12px;
    display: flex;
    align-items: center;
    justify-content: start;
    border-bottom: 1px solid #CBD5E0;
}

.tour-page-navigation__item {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #718094;
    text-decoration: none;
    padding: 16px 20px;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
}

.tour-page-navigation__item.active {
    border-bottom: 2px solid #307AE2;
    color: #061937;
}

.tour-page-navigation__item:hover {
    border-bottom: 2px solid #307AE2;
    color: #061937;
}

@media (max-width: 1100px) {
    .tour-page-navigation {
        top: 70px;
    }
}

@media (max-width: 500px) {

    .tour-page-navigation {
        margin-right: 16px;
    }

    .tour-page-navigation__wrapper {
        padding: 0;
        margin: 0px;
    }

    .tour-page-navigation__item {
        padding: 12px 13px;
        font-size: 16px;
    }

}

/* tour-page-navigation */



/* tour-page */


/* com-users-profile */

.com-users-profile__edit {
    padding: 60px 0 45px 0;
}

.com-users-profile__wrapper {
    max-width: 1218px;
    margin: 0 auto;

}

.com-users-profile__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    color: #061937;
}

.com-users-profile__menu {
    display: flex;
    align-items: center;
    column-gap: 12px;
    overflow: scroll;
    max-width: 1218px;
    margin: 32px auto 0 auto;
    scrollbar-width: none;
}

.com-users-profile__menu::-webkit-scrollbar {
    width: 0;
    height: 0;
    opacity: 0;
}


.com-users-profile__menu-item {

}

.com-users-profile__menu-item svg {
    flex-shrink: 0;
}

.com-users-profile__menu-item a {
    display: flex;
    align-items: center;
    column-gap: 12px;
    padding: 18px 22px;
    text-decoration: none;
    border-radius: 16px;
    background-color: #ffffff;
}

.com-users-profile__menu-item.active a {
    background-color: #F5F9FE;
}

.com-users-profile__menu-item a span {
    font-family: Geologica;
    font-weight: 400;
    font-size: 20px;
    line-height: 124%;
    color: #061937;
    white-space: nowrap;
}

.com-users-profile__settings {
    margin-top: 32px;
}

.com-users-profile__settings .control-group {
    margin: 0;
}

.com-users-profile__settings .star {
    display: none;
}

.com-users-profile__settings .control-label label {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #718094;
    margin-bottom: 4px;
}

.com-users-profile__settings input {
    max-width: 260px;
    border-radius: 16px;
    background-color: #F7F8FA;
    border: 1px solid #CBD5E0;

    font-family: Onest;
    font-weight: 400;
    font-size: 17px;
    color: #061937;
    padding: 18px 12px;
}

.com-users-profile__settings-deskr {
    margin-top: 32px;
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
}



.com-users-profile__bonus {
    display: flex;
    column-gap: 30px;
    margin-top: 32px;
}

.com-users-profile__bonus-item {
    border-radius: 24px;
    background-color: #F5F9FE;
    padding: 24px;
    width: 100%;
}

.com-users-profile__bonus-item.imaged {
    background-repeat: no-repeat;
    background-position: right 20px bottom;
}

.com-users-profile__bonus-item-text {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.com-users-profile__bonus-item-text-count {
    margin: 0;
    font-family: Geologica;
    font-weight: 600;
    font-size: 26px;
    line-height: 124%;
    color: #061937;
}

.com-users-profile__bonus-item-text-lable {
    margin: 0;
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #718094;
}

.com-users-profile__bonus-item-deskr {
    margin-top: 16px;
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #061937;
}

.com-users-profile__bonus-history {
    margin-top: 32px;
}

.com-users-profile__bonus-history-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #061937;
    margin-bottom: 24px;
}

.com-users-profile__bonus-history-list {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}

.com-users-profile__bonus-history-list-item {
    display: flex;
    column-gap: 10px;
    align-items: start;
}

.com-users-profile__bonus-history-list-item-ico {
    padding: 14px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    background-color: #F5F9FE;
}

.com-users-profile__bonus-history-list-item-content-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 18px;
    color: #061937;
}

.com-users-profile__bonus-history-list-item-content-info {
    display: flex;
    column-gap: 10px;
    align-items: center;
}

.com-users-profile__bonus-history-list-item-content-info-amount {
    font-family: Geologica;
    font-weight: 600;
    font-size: 18px;
    line-height: 130%;
}

.com-users-profile__bonus-history-list-item-content-info-amount.plus {
    color: #0AA447;
}

.com-users-profile__bonus-history-list-item-content-info-amount.minus {
    color: #EF3D47;
}

.com-users-profile__bonus-history-list-item-content-info-date {
    font-family: Geologica;
    font-weight: 400;
    font-size: 16px;
    color: #6A7B92;
}

.com-users-profile__user-current-tours {
    margin-top: 32px;
}

.user-current-tours__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #061937;
}

.user-current-tours__wrapper {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    column-gap: 30px;
}

.com-users-profile__user-old-tours {
    margin-top: 32px;
}

.user-old-tours__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #061937;
}

.user-old-tours__wrapper {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    column-gap: 30px;
}

.user-old-tours__bonuse {
    margin-top: 30px;
    height: 140px;
    width: 100%;
    max-width: 594px;
}

.com-users-profile__menu-wrapper {
    max-width: 100%;
    overflow: hidden;
}

.user-old-tours__show-btn {
    transition: all .4s linear;
    padding: 17px 32px;
    border-radius: 14px;
    background-color: rgba(27,122,255, 0.15);
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;

    color: #1B7AFF;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    margin: 0;
    cursor: pointer;
}

.user-old-tours__show-btn:hover {
    transition: all .4s linear;
    background-color: rgba(27,122,255, 0.25);
}

.user-old-tours__show {
    margin-top: 30px;
    display: none;
    align-items: center;
    justify-content: center;
}

body:has([data-user-old-tours-show="hide"]) .user-old-tours__show {
    display: flex;
}

[data-user-old-tours-show="hide"] {
    display: none;
}

.thour-page__gallery-content-dates {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 12px;
    margin-top: 0px;
    margin-bottom: 24px;
}

@media (max-width: 1250px) {
    .com-users-profile__wrapper {
        max-width: 768px;
    }

    .user-old-tours__wrapper .thours__slide {
        width: 369px !important;
    }

    .user-current-tours__wrapper .thours__slide {
        width: 369px !important;
    }

    .com-users-profile__menu {
        max-width: 768px;
    }
}

@media (max-width: 800px) {
    .com-users-profile__wrapper {
        max-width: 568px;
    }

    .com-users-profile__menu {
        max-width: 568px;
    }
}

@media (max-width: 600px) {

    .user-old-tours__show-btn {
        width: 100%;
    }

    .user-old-tours__show {
        margin-top: 16px;
    }

    .com-users-profile__title {
        font-family: Geologica;
        font-weight: 600;
        font-size: 30px;
        color: #061937;
    }

    .com-users-profile__wrapper {
        padding: 0 16px;
    }

    .com-users-profile__menu {
        max-width: 100%;
        margin: 24px 0px 0 0px;
        column-gap: 0px;
        padding: 0 16px;
    }

    .com-users-profile__menu-wrapper {

    }

    .com-users-profile__edit {
        padding: 30px 0 35px 0;
    }

    .com-users-profile__menu-item a {
        padding: 16px;
    }

    .com-users-profile__user-current-tours {
        margin-top: 24px;
    }

    .user-current-tours__wrapper {
        margin-top: 16px;
        row-gap: 16px;
    }

    .user-old-tours__wrapper {
        margin-top: 16px;
        row-gap: 16px;
    }

    .com-users-profile__user-old-tours {
        margin-top: 24px;
    }

    .user-old-tours__bonuse {
        margin-top: 16px;
        height: 106px;
        background-size: 109px;
        padding: 18px;
    }

    .com-users-profile__menu-item a span {
        font-size: 18px;
    }

    .com-users-profile__bonus-item-text-lable {
        margin: 0;
        font-size: 16px;
    }

    .com-users-profile__bonus-item-text-count {
        margin: 0;
        font-size: 24px;
    }

    .com-users-profile__bonus {
        flex-direction: column;
        row-gap: 16px;
    }

    .com-users-profile__bonus-item-text {
        row-gap: 18px;
    }

    .com-users-profile__bonus-item.imaged {
        background-size: 130px;
    }

    .com-users-profile__settings input {
        max-width: 100%;
        padding: 13px 12px;
    }

    .com-users-profile__settings-deskr {
        margin-top: 24px;
    }

    .com-users-profile__settings {
        margin-top: 24px;
    }

    .com-users-profile__bonus-history {
        margin-top: 24px;
    }

    .com-users-profile__bonus-history-title {
        margin-bottom: 20px;
    }

    .com-users-profile__bonus-history-list-item-content-title {
        font-size: 16px;
    }

    .com-users-profile__bonus-history-list-item-content-info-amount {
        font-size: 16px;
    }

    .com-users-profile__bonus-history-list-item-content-info-date {
        font-size: 14px;
    }

}

/* com-users-profile */



/* modal-review-form */

.modal-review__wrapper {
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.3);
    width: 100vw;
    height: 100vh;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 56px 0 37px 0;
}

.modal-review__wrapper.active {
    display: flex;
}

.modal-review {
    position: relative;
    background-color: #ffffff;
    border-radius: 24px;
    padding: 30px;
    width: 100%;
    max-width: 510px;
    margin: 0 16px;
    cursor: auto;
    max-height: 100%;
    overflow: scroll;
    scrollbar-width: none;
}

.modal-review::-webkit-scrollbar {
    width: 0px;
    height: 0px;
    overflow: hidden;
    background-color: transparent;
}

.modal-review-form__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;
    color: #061937;
    margin-bottom: 30px;
}

.modal-review-form__sub-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 20px;
    color: #061937;
    margin-bottom: 20px;
}

.modal-review-form__mini-title {
    font-family: Geologica;
    font-weight: 400;
    font-size: 18px;
    color: #061937;
    margin-bottom: 6px;
}

.modal-review-form__stars {

}

.modal-review-form__comment textarea {
    padding: 13px;
    border: 1px solid #CBD5E0;
    background-color: #F7F8FA;
    border-radius: 14px;
    width: 100%;
    height: 91px;
    margin-bottom: 32px;

    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
    resize: none;

}

.modal-review-form__comment textarea::placeholder {
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #718094;
}

.modal-review-form__comment textarea:focus {
    outline: none;
}

.modal-review-form__submit {
    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    color: #FFFFFF;
    background-color: #EC9411;
    border: none;
    border-radius: 16px;
    width: 100%;
    padding: 17px;
}

.modal-review-form__stars {
    margin-bottom: 24px;
}

.modal-review__close {
    position: absolute;
    right: 12px;
    top: 12px;

    background-image: url("/media/templates/site/cassiopeia/images/modal-close.svg");
    background-position: center;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    display: block;
    cursor: pointer;
}

.modal-review__close-mobile {
    display: none;
}

@media (max-width: 600px) {

    .modal-review__close-mobile {
        display: flex;
        align-items: center;
        column-gap: 8px;
        font-family: Onest;
        font-weight: 500;
        font-size: 14px;
        color: #718094;
        margin-bottom: 6px;
    }

    .modal-review__close {
        display: none;
    }

    .modal-review__wrapper {
        padding: 71px 0 0 0;
        z-index: 20;
    }

    .modal-review {
        padding: 30px 16px;
        margin: 0;
        width: 100%;
        max-width: unset;
        border-radius: 0;
    }
}

/* modal-review-form */



/*  */



.review-tour__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    padding: 45px 0;
}

.review-tour {
    background-color: #F5F9FE;
    padding: 50px 120px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 40px;
}

.review-tour__left {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
}

.review-tour__right {

}

.review-tour__title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 32px;
    color: #061937;
    margin: 0;
}

.review-tour__text {
    font-family: Onest;
    font-weight: 400;
    font-size: 18px;
    color: #061937;
    margin: 0;
}

.review-stars {
    display: flex;
}

.review-stars__item {

}

.review-stars__item-no {
    display: block;
}

.review-stars__item-yes {
    display: none;
}

.review-stars__item.acvive .review-stars__item-no {
    display: none;
}

.review-stars__item.acvive .review-stars__item-yes {
    display: block;
}

@media (max-width: 1250px) {
    .review-tour__wrapper {
        max-width: 768px;
    }

    .review-tour {
        padding: 50px;
    }
}

@media (max-width: 800px) {
    .review-tour__wrapper {
        max-width: 568px;
    }

    .review-tour {
        padding: 40px;
    }

    .review-tour__title {
        font-size: 22px;
    }
}

@media (max-width: 600px) {

    .review-tour {
        flex-direction: column;
        align-items: start;
        row-gap: 20px;
        padding: 20px;
        border-radius: 20px;
    }

    .review-tour__wrapper {
        padding: 35px 16px;
    }

    .review-tour__left {
        row-gap: 8px;
    }

    .review-tour__title {
        font-size: 18px;
    }

    .review-tour__text {
        font-size: 16px;
    }

}



.review-guid__wrapper {
    max-width: 1218px;
    margin: 0 auto;
    padding: 45px 0;
}

.review-guid {
    display: flex;
    justify-content: space-between;
    column-gap: 60px;
}

.review-guid__left {
    padding: 40px 0;
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}

.review-guid__right {
    border-radius: 36px;
    overflow: hidden;
    width: 475px;
    height: 376px;
    flex-shrink: 0;
}

.review-guid__right img {
    border-radius: 36px;
    min-width: 100%;
    min-height: 100%;
}

.review-guid__text {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
}

.review-guid__text-title {
    margin-bottom: 0;
    font-family: Geologica;
    font-weight: 600;
    font-size: 42px;
    color: #061937;
}

.review-guid__text-sub-title {
    margin-bottom: 0;
    font-family: Onest;
    font-weight: 400;
    font-size: 20px;
    color: #061937;
}

.review-guid__item {
    display: flex;
    flex-direction: column;
    row-gap: 6px;
}

.review-guid__item-title {
    font-family: Geologica;
    font-weight: 400;
    font-size: 16px;
    color: #061937;
    margin: 0;
}

@media (max-width: 1250px) {
    .review-guid__wrapper {
        max-width: 768px;
    }

    .review-guid {
        flex-direction: column;
        row-gap: 24px;

    }
    .review-guid__left {
        padding: 0;
    }
}

@media (max-width: 800px) {
    .review-guid__wrapper {
        max-width: 568px;
    }
}

@media (max-width: 600px) {

    .review-guid__wrapper {
        padding: 35px 16px;
    }

    .review-guid__right {
        width: 100%;
        height: auto;
    }

    .review-guid__text-title {
        font-family: Geologica;
        font-weight: 600;
        font-size: 26px;
        color: #061937;
    }

    .review-guid__text-sub-title {
        font-family: Onest;
        font-weight: 400;
        font-size: 16px;
        color: #718094;
    }

    .review-guid__item-title {
        font-family: Geologica;
        font-weight: 400;
        font-size: 16px;
        color: #061937;
    }

    .review-guid__right {
        border-radius: 20px;
    }

    .review-guid__right {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .review-guid__right img {
        min-width: 110%;
        min-height: 110%;
    }

}



.modal-login__wrapper {
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.3);
    width: 100vw;
    height: 100vh;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 56px 0 37px 0;
}

.modal-login__wrapper.active {
    display: flex;
}

.modal-login {
    position: relative;
    background-color: #ffffff;
    border-radius: 24px;
    padding: 30px;
    width: 100%;
    max-width: 520px;
    margin: 0 16px;
    cursor: auto;
    max-height: 100%;
    overflow: scroll;
    scrollbar-width: none;
}

.modal-login__close {
    position: absolute;
    right: 12px;
    top: 12px;

    background-image: url("/media/templates/site/cassiopeia/images/modal-close.svg");
    background-position: center;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    display: block;
    cursor: pointer;
}

.modal-login::-webkit-scrollbar {
    width: 0px;
    height: 0px;
    overflow: hidden;
    background-color: transparent;
}

.login-form {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.login-form-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 24px;

    display: flex;
    align-items: center;
    justify-content: start;
    column-gap: 8px;
    color: #051A3D;
}

.login-form input {
    border: 1px solid #CBD5E0;
    outline: none;
    background-color: #F7F8FA;
    padding: 18px 12px;
    border-radius: 16px;
    width: 100%;
}

.login-form__input {

}

.error-message {
    display: flex;
    align-items: center;
    column-gap: 4px;
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    color: #EF3D47;
}

.error-message svg {
    flex-shrink: 0;
}

[data-phone-form-msg]:not(:empty),
[data-code-form-msg]:not(:empty) {
    margin-top: 12px;
    width: 100%;
}

.login-alert {
    display: flex;
    align-items: flex-start;
    column-gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    background-color: #FEF2F2;
    border: 1px solid #E8CCCC;
    border-radius: 12px;
    font-family: Onest;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
    color: #7A3B3B;
}

.login-alert svg path {
    fill: #C0616A;
}

.login-alert svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.login-form__phone-locked {
    background-color: #EDF0F4 !important;
    color: #8896A8;
}

.login-form__change-phone {
    display: inline-block;
    margin-top: 12px;
    font-family: Onest;
    font-weight: 500;
    font-size: 14px;
    color: #1B7AFF;
    text-decoration: none;
    cursor: pointer;
}

.login-form__change-phone:hover {
    text-decoration: underline;
}

.login-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2.5px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: login-spin 0.6s linear infinite;
}

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

.login-form button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.login-form button {
    width: 100%;
    padding: 17px;
    background-color: #1B7AFF;
    border-radius: 16px;
    border: none;

    font-family: Onest;
    font-weight: 500;
    font-size: 17px;
    color: #FFFFFF;
}

[data-login-back] {
    cursor: pointer;
}

#reg-fields {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    margin-bottom: -14px;
}

.login-form__time {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 13px;
    user-select: none;
    cursor: pointer;
}

.login-form__time p {
    margin: 0;
    font-family: Onest;
    font-weight: 500;
    font-size: 16px;
    color: #1B7AFF;
}

.login-form__buttons {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
}

[data-code-time="0"] .login-form__time-text {
    display: none;
}

@media (max-width: 600px) {
    .login-form {
        row-gap: 20px;
    }
}

.open_tultip {
    position: relative;
    margin-left: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.open_tultip-item {
    position: absolute;
    left: 0;
    bottom: -55px;
    padding: 16px;
    border-radius: 16px;
    background-color: #ffffff;
    border: 1px solid #CBD5E0;
    white-space: nowrap;
    font-family: Onest;
    font-weight: 400;
    font-size: 16px;
    color: #061937;
    text-decoration: none;


    display: none;
}

.open_tultip:hover .open_tultip-item {
    display: block;
}



.modal-noreview__wrapper {
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.3);
    width: 100vw;
    height: 100vh;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.modal-noreview__wrapper.active {
    display: flex;
}

.modal-noreview {
    position: relative;
    background-color: #ffffff;
    border-radius: 24px;
    padding: 30px;
    width: 100%;
    max-width: 470px;
    margin: 0 16px;
    cursor: auto;
}

.modal-noreview__close {
    position: absolute;
    right: 12px;
    top: 12px;

    background-image: url("/media/templates/site/cassiopeia/images/modal-close.svg");
    background-position: center;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    display: block;
    cursor: pointer;
}

.modal-noreview__text-title {
    font-family: Geologica;
    font-weight: 600;
    font-size: 26px;
    color: #061937;
    margin: 0 0 15px 0;
}

.modal-noreview__text {
    margin-bottom: 24px;
}

@media (max-width: 500px) {
    .modal-noreview {
        width: unset;
        max-width: unset;
        padding: 20px;
    }

    .modal-noreview__text-title {
        font-size: 24px;
    }

    .modal-noreview__text-text {
        font-size: 16px;
    }
}

.not-found {
    font-family: Onest;
    font-weight: 400;
    font-size: 20px;
    color: #061937;
}
.seo.card {
    max-width: 1218px;
    margin: 0 auto;
    overflow: visible;
}

/* Бронирования в кабинете */
.user-bookings__title {
    font-family: Geologica, sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #061937;
    margin-bottom: 16px;
}

.user-bookings__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.user-booking__card {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 20px 24px;
}

.user-booking__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.user-booking__tour-name {
    font-size: 17px;
    font-weight: 600;
    color: #061937;
}

.user-booking__status {
    font-size: 13px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
}

.user-booking__status--draft {
    background: #FEF3C7;
    color: #92400E;
}

.user-booking__status--pending {
    background: #DBEAFE;
    color: #1E40AF;
}

.user-booking__status--confirmed {
    background: #D1FAE5;
    color: #065F46;
}

.user-booking__details {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.user-booking__row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #475569;
}

.user-booking__row--total {
    border-top: 1px solid #E2E8F0;
    margin-top: 6px;
    padding-top: 10px;
    font-size: 16px;
    font-weight: 700;
    color: #061937;
}

.user-booking__btn {
    display: inline-block;
    margin-top: 14px;
    padding: 10px 24px;
    background: #1B7AFF;
    color: #fff;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s;
}

.user-booking__btn:hover {
    background: #1565D8;
    color: #fff;
}

.user-booking__btn--outline {
    background: #fff;
    color: #1B7AFF;
    border: 1.5px solid #1B7AFF;
}

.user-booking__btn--outline:hover {
    background: #EFF6FF;
    color: #1B7AFF;
}

.user-booking__actions {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.user-booking__status--active {
    background: #FEF3C7;
    color: #92400E;
    animation: pulse-status 2s infinite;
}

@keyframes pulse-status {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.user-booking__status--completed {
    background: #F1F5F9;
    color: #475569;
}

.user-booking__guides {
    margin-top: 10px;
    font-size: 14px;
    color: #475569;
}

.user-booking__guide-name {
    font-weight: 600;
    color: #061937;
}

.user-booking__card--review {
    border-left: 4px solid #F59E0B;
}

.user-booking__card--past {
    background: #FAFAFA;
}

.user-booking__review-text {
    margin-top: 10px;
    font-size: 14px;
    color: #64748B;
    font-style: italic;
    line-height: 1.5;
}

.user-booking__stars {
    display: flex;
    gap: 2px;
}

.user-booking__star {
    color: #CBD5E0;
    font-size: 16px;
}

.user-booking__star--filled {
    color: #F59E0B;
}

/* ===== КАБИНЕТ: Сайдбар + Контент ===== */
.cabinet {
    display: flex;
    gap: 32px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 20px 80px;
    min-height: 60vh;
}

/* Сайдбар */
.cabinet-sidebar {
    width: 240px;
    flex-shrink: 0;
}

.cabinet-sidebar__user {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E2E8F0;
}

.cabinet-sidebar__user-left {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.cabinet-sidebar__burger {
    display: none;
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    color: #64748B;
    border-radius: 8px;
    flex-shrink: 0;
}

.cabinet-sidebar__burger:hover {
    background: #F1F5F9;
    color: #061937;
}

.cabinet-sidebar__burger--open {
    background: #EFF6FF;
    color: #2563EB;
}

.cabinet-sidebar__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #1B7AFF;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    overflow: hidden;
    flex-shrink: 0;
}

.cabinet-sidebar__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cabinet-sidebar__info {
    min-width: 0;
}

.cabinet-sidebar__name {
    font-size: 15px;
    font-weight: 600;
    color: #061937;
}

.cabinet-sidebar__phone {
    font-size: 13px;
    color: #64748B;
    margin-top: 2px;
}

.cabinet-sidebar__nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cabinet-sidebar__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #475569;
    text-decoration: none;
    transition: all 0.15s;
}

.cabinet-sidebar__link:hover {
    background: #F1F5F9;
    color: #061937;
}

.cabinet-sidebar__link--active {
    background: #EFF6FF;
    color: #1B7AFF;
    font-weight: 600;
}

.cabinet-sidebar__link--active svg {
    stroke: #1B7AFF;
}

/* Бонусы */
.bonus-balance {
    background: linear-gradient(135deg, #1B7AFF, #6366F1);
    border-radius: 16px;
    padding: 28px 32px;
    color: #fff;
    margin-bottom: 24px;
}

.bonus-balance__amount {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 12px;
}

.bonus-balance__num {
    font-size: 42px;
    font-weight: 800;
    line-height: 1;
}

.bonus-balance__label {
    font-size: 18px;
    font-weight: 500;
    opacity: 0.8;
}

.bonus-balance__info {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    opacity: 0.75;
    line-height: 1.5;
}

.bonus-balance__info svg {
    flex-shrink: 0;
    margin-top: 1px;
    stroke: rgba(255,255,255,0.6);
}

.bonus-history {
    margin-top: 8px;
}

.bonus-history__list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.bonus-history__row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #F1F5F9;
}

.bonus-history__row:last-child {
    border-bottom: none;
}

.bonus-history__icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    flex-shrink: 0;
}

.bonus-history__icon--plus {
    background: #D1FAE5;
    color: #059669;
}

.bonus-history__icon--minus {
    background: #FEE2E2;
    color: #EF4444;
}

.bonus-history__body {
    flex: 1;
    min-width: 0;
}

.bonus-history__reason {
    font-size: 14px;
    font-weight: 500;
    color: #061937;
}

.bonus-history__date {
    font-size: 12px;
    color: #94A3B8;
    margin-top: 2px;
}

.bonus-history__amount {
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.bonus-history__amount--plus {
    color: #059669;
}

.bonus-history__amount--minus {
    color: #EF4444;
}

.cabinet-sidebar__count {
    margin-left: auto;
    font-size: 12px;
    font-weight: 500;
    color: #94A3B8;
}

.cabinet-sidebar__link--logout {
    margin-top: 16px;
    border-top: 1px solid #E2E8F0;
    padding-top: 16px;
    color: #94A3B8;
}

.cabinet-sidebar__link--logout:hover {
    color: #EF4444;
}

/* Контент */
.cabinet-content {
    flex: 1;
    min-width: 0;
}

.cabinet-content__title {
    font-family: Geologica, sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #061937;
    margin-bottom: 24px;
}

/* Карточки */
.cabinet-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cabinet-card {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 20px 24px;
}

.cabinet-card--needs-review {
    border-left: 4px solid #F59E0B;
}

.cabinet-card--active-tour {
    border-left: 4px solid #1B7AFF;
}

.cabinet-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.cabinet-card__name {
    font-size: 17px;
    font-weight: 600;
    color: #061937;
}

.cabinet-card__badge {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    white-space: nowrap;
}

.cabinet-card__badge--draft {
    background: #FEF3C7;
    color: #92400E;
}

.cabinet-card__badge--pending {
    background: #DBEAFE;
    color: #1E40AF;
}

.cabinet-card__badge--confirmed {
    background: #D1FAE5;
    color: #065F46;
}

.cabinet-card__badge--active {
    background: #FEF3C7;
    color: #92400E;
}

.cabinet-card__badge--completed {
    background: #F1F5F9;
    color: #475569;
}

.cabinet-card__info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cabinet-card__row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #475569;
}

.cabinet-card__row--total {
    border-top: 1px solid #E2E8F0;
    margin-top: 6px;
    padding-top: 10px;
    font-size: 16px;
    font-weight: 700;
    color: #061937;
}

.cabinet-card__guides {
    margin-top: 10px;
    font-size: 14px;
    color: #475569;
}

.cabinet-card__review {
    margin-top: 10px;
    font-size: 14px;
    color: #64748B;
    font-style: italic;
}

.cabinet-card__stars {
    display: flex;
    gap: 2px;
}

.cabinet-card__star {
    color: #CBD5E0;
    font-size: 16px;
}

.cabinet-card__star--on {
    color: #F59E0B;
}

.cabinet-card__actions {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.cabinet-card__progress {
    margin-top: 12px;
    height: 6px;
    background: #E2E8F0;
    border-radius: 3px;
    overflow: hidden;
}

.cabinet-card__progress-bar {
    height: 100%;
    background: #1B7AFF;
    border-radius: 3px;
    transition: width 0.3s;
}

/* Кнопки кабинета */
.cabinet-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: #1B7AFF;
    color: #fff;
    text-decoration: none;
    transition: all 0.15s;
}

.cabinet-btn:hover {
    background: #1565D8;
    color: #fff;
}

.cabinet-btn--outline {
    background: #fff;
    color: #1B7AFF;
    border: 1.5px solid #1B7AFF;
}

.cabinet-btn--outline:hover {
    background: #EFF6FF;
    color: #1B7AFF;
}

.cabinet-btn--ghost {
    background: transparent;
    color: #94A3B8;
    border: none;
    padding: 10px 16px;
}

.cabinet-btn--ghost:hover {
    color: #EF4444;
    background: #FEF2F2;
}

.cabinet-card__number {
    font-size: 12px;
    color: #94A3B8;
    margin-left: 8px;
}

.cabinet-card__name {
    text-decoration: none;
    color: #061937;
}

.cabinet-card__name:hover {
    color: #1B7AFF;
}

/* Пустое состояние */
.cabinet-empty {
    text-align: center;
    padding: 48px 0;
    color: #94A3B8;
}

.cabinet-empty__btn {
    display: inline-block;
    margin-top: 16px;
    padding: 12px 28px;
    background: #1B7AFF;
    color: #fff;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
}

/* Модалка отмены */
.modal-cancel {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

.modal-cancel--open {
    display: flex;
}

.modal-cancel__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);
}

.modal-cancel__box {
    position: relative;
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    max-width: 400px;
    width: 90%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15);
}

.modal-cancel__icon {
    margin-bottom: 16px;
}

.modal-cancel__title {
    font-size: 20px;
    font-weight: 700;
    color: #061937;
    margin-bottom: 8px;
}

.modal-cancel__text {
    font-size: 14px;
    color: #64748B;
    margin-bottom: 24px;
    line-height: 1.5;
}

.modal-cancel__actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.modal-cancel__btn {
    padding: 10px 24px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    border: none;
    transition: all 0.15s;
}

.modal-cancel__btn--no {
    background: #F1F5F9;
    color: #475569;
}

.modal-cancel__btn--no:hover {
    background: #E2E8F0;
}

.modal-cancel__btn--yes {
    background: #EF4444;
    color: #fff;
}

.modal-cancel__btn--yes:hover {
    background: #DC2626;
}

.modal-cancel__btn--yes:disabled {
    background: #94A3B8;
    cursor: not-allowed;
}

/* Компактная карточка бронирования */
.bcard {
    position: relative;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.15s, border-color 0.15s;
}

.bcard:hover {
    border-color: #CBD5E0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.bcard__link {
    display: flex;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
}

.bcard__img {
    width: 140px;
    min-height: 100px;
    flex-shrink: 0;
    background-size: cover;
    background-position: center;
}

.bcard__body {
    flex: 1;
    padding: 14px 40px 14px 16px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.bcard__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 2px;
}

.bcard__id {
    font-size: 12px;
    color: #94A3B8;
    font-weight: 500;
}

.bcard__booking-id {
    font-size: 11px;
    color: #B0B8C4;
    font-weight: 400;
    margin-left: auto;
}

.bcard__name-line {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}

.bcard__title {
    font-size: 16px;
    font-weight: 700;
    color: #061937;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bcard__date {
    font-size: 15px;
    font-weight: 600;
    color: #334155;
    margin-top: 2px;
}

.bcard__prices {
    margin-top: 4px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bcard__price-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 13px;
    color: #64748B;
}

.bcard__price-row--total {
    font-size: 16px;
    font-weight: 700;
    color: #061937;
    margin-top: 2px;
    padding-top: 4px;
    border-top: 1px solid #F1F5F9;
}

.bcard__badge {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 20px;
    white-space: nowrap;
}

.bcard__badge--draft { background: #FEF3C7; color: #92400E; }
.bcard__badge--pending { background: #F1F5F9; color: #64748B; }
.bcard__badge--confirmed { background: #D1FAE5; color: #065F46; }
.bcard__badge--active { background: #FEF3C7; color: #92400E; }

.bcard__todos {
    display: flex;
    gap: 12px;
}

.bcard__todo {
    font-size: 12px;
    color: #D97706;
    font-weight: 500;
}

.bcard__cancel {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #CBD5E0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
    z-index: 1;
}

.bcard__cancel:hover {
    background: #FEF2F2;
    color: #EF4444;
}

@media (max-width: 600px) {
    .bcard__link {
        flex-direction: column;
    }
    .bcard__img {
        width: 100%;
        height: 140px;
    }
    .bcard__top {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Карточка с превью */
.cabinet-card--booking {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.cabinet-card__preview {
    width: 160px;
    height: 120px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
}

.cabinet-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cabinet-card__body {
    flex: 1;
    min-width: 0;
}

/* Секция с alert */
.cabinet-section {
    margin-bottom: 24px;
}

.cabinet-section--alert {
    background: #FFF7ED;
    border: 1px solid #FED7AA;
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 24px;
}

.cabinet-section--alert .cabinet-card {
    border: none;
    background: transparent;
    padding: 12px 0;
    border-bottom: 1px solid #FED7AA;
}

.cabinet-section--alert .cabinet-card:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.cabinet-section__header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.cabinet-section__icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #F59E0B;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
}

.cabinet-section__title {
    font-size: 16px;
    font-weight: 600;
    color: #92400E;
}

/* Todo-пункты в карточке */
.cabinet-card__todos {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cabinet-card__todo {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #92400E;
}

.cabinet-card__todo-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #FEF3C7;
    color: #F59E0B;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}

/* Форма профиля */
.profile-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #FFF7ED;
    border: 1px solid #FED7AA;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 14px;
    color: #92400E;
    margin-bottom: 24px;
}

.profile-alert__icon {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #F59E0B;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.profile-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 20px;
    border-bottom: 2px solid #E2E8F0;
    padding-bottom: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.profile-tabs__btn {
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 500;
    font-family: inherit;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    color: #64748B;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
    white-space: nowrap;
}

.profile-tabs__btn:hover {
    color: #061937;
}

.profile-tabs__btn--active {
    color: #2563EB;
    border-bottom-color: #2563EB;
}

.profile-tab-panel {
    display: none;
}

.profile-tab-panel--active {
    display: block;
}

.profile-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #EF4444;
    border-radius: 50%;
    margin-left: 6px;
    vertical-align: middle;
    flex-shrink: 0;
}

.profile-chips {
    display: flex;
    gap: 8px;
}

.profile-chips--wrap {
    flex-wrap: wrap;
}

.profile-chip {
    padding: 7px 16px;
    border: 1.5px solid #E2E8F0;
    border-radius: 20px;
    background: #fff;
    font-size: 14px;
    font-family: inherit;
    color: #334155;
    cursor: pointer;
    transition: all 0.15s;
}

.profile-chip:hover {
    border-color: #94A3B8;
}

.profile-chip--active {
    background: #2563EB;
    border-color: #2563EB;
    color: #fff;
}

.profile-field textarea {
    resize: vertical;
    min-height: 60px;
}

.profile-photo {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #F1F5F9;
}

.profile-photo__preview {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    background: #E2E8F0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.profile-photo__preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-photo__placeholder {
    font-size: 32px;
    font-weight: 600;
    color: #94A3B8;
}

.profile-photo__label {
    font-size: 15px;
    font-weight: 600;
    color: #061937;
}

.profile-photo__hint {
    font-size: 13px;
    color: #64748B;
    margin-bottom: 8px;
}

.cabinet-btn--sm {
    font-size: 13px;
    padding: 6px 14px;
    cursor: pointer;
}

.booking-confirm {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
}

.booking-confirm__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
}

.booking-confirm__box {
    position: relative;
    background: #fff;
    border-radius: 14px;
    width: 90%;
    max-width: 420px;
    overflow: hidden;
}

.booking-confirm__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 600;
    border-bottom: 1px solid #E2E8F0;
}

.booking-confirm__close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #64748B;
    line-height: 1;
}

.booking-confirm__body {
    padding: 20px;
}

.booking-confirm__tour {
    font-size: 18px;
    font-weight: 700;
    color: #061937;
    margin-bottom: 6px;
}

.booking-confirm__date {
    font-size: 15px;
    color: #1B7AFF;
    font-weight: 600;
    margin-bottom: 12px;
}

.booking-confirm__details {
    margin-bottom: 12px;
}

.booking-confirm__line {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #334155;
    padding: 4px 0;
}

.booking-confirm__total {
    font-size: 18px;
    font-weight: 700;
    color: #061937;
    margin-top: 8px;
}

.booking-confirm__footer {
    padding: 14px 20px;
    border-top: 1px solid #E2E8F0;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.booking-confirm__cancel {
    padding: 10px 20px;
    border: 1.5px solid #E2E8F0;
    border-radius: 10px;
    background: #fff;
    font-size: 14px;
    font-family: inherit;
    color: #64748B;
    cursor: pointer;
}

.booking-confirm__ok {
    padding: 10px 24px;
    border: none;
    border-radius: 10px;
    background: #1B7AFF;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s;
}

.booking-confirm__ok:hover {
    background: #1565D8;
}

.booking-confirm__ok:disabled {
    opacity: 0.6;
    cursor: default;
}

/* Страница путешественника */
.traveler-settings {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.traveler-link-block {
    background: #F8FAFC;
    border-radius: 12px;
    padding: 18px 20px;
}

.traveler-link-label {
    font-size: 13px;
    color: #64748B;
    margin-bottom: 8px;
}

.traveler-link-row {
    display: flex;
    gap: 8px;
}

a.traveler-link-input,
.traveler-link-input {
    flex: 1;
    padding: 9px 12px;
    border: 1.5px solid #E2E8F0;
    border-radius: 8px;
    font-size: 13px;
    font-family: inherit;
    color: #2563EB;
    background: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

a.traveler-link-input:hover {
    color: #1D4ED8;
    border-color: #93C5FD;
}

.traveler-link-hint {
    font-size: 12px;
    color: #059669;
    margin-top: 4px;
    min-height: 18px;
}

.traveler-toggle-block {
    padding: 16px 20px;
    background: #F8FAFC;
    border-radius: 12px;
}

.traveler-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}

.traveler-toggle input {
    display: none;
}

.traveler-toggle__slider {
    width: 44px;
    height: 24px;
    background: #CBD5E1;
    border-radius: 12px;
    position: relative;
    transition: background 0.2s;
    flex-shrink: 0;
}

.traveler-toggle__slider::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
}

.traveler-toggle input:checked + .traveler-toggle__slider {
    background: #2563EB;
}

.traveler-toggle input:checked + .traveler-toggle__slider::after {
    transform: translateX(20px);
}

.traveler-toggle__label {
    font-size: 14px;
    font-weight: 500;
    color: #061937;
}

.traveler-toggle-hint {
    font-size: 12px;
    color: #94A3B8;
    margin-top: 6px;
}

.traveler-trips__title {
    font-size: 16px;
    font-weight: 600;
    color: #061937;
    margin: 0 0 12px;
}

.traveler-trips__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.traveler-trip-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.15s;
}

.traveler-trip-card:has(input:checked) {
    border-color: #2563EB;
    background: #F8FAFF;
}

.traveler-trip-card input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #2563EB;
    flex-shrink: 0;
}

.traveler-trip-card__img {
    width: 56px;
    height: 40px;
    border-radius: 6px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}

.traveler-trip-card__name {
    font-size: 14px;
    font-weight: 500;
    color: #061937;
}

.traveler-trip-card__date {
    font-size: 12px;
    color: #64748B;
}

.crop-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.crop-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
}

.crop-modal__box {
    position: relative;
    background: #fff;
    border-radius: 14px;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.crop-modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 600;
    border-bottom: 1px solid #E2E8F0;
}

.crop-modal__close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #64748B;
    line-height: 1;
}

.crop-modal__body {
    padding: 16px;
    overflow: hidden;
    max-height: 60vh;
}

.crop-modal__footer {
    padding: 12px 20px;
    border-top: 1px solid #E2E8F0;
    display: flex;
    justify-content: flex-end;
}

.profile-section {
    margin-bottom: 28px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 20px 24px;
}

.profile-section__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #F1F5F9;
}

.profile-section__title {
    font-size: 16px;
    font-weight: 600;
    color: #061937;
}

.profile-section__status {
    font-size: 13px;
    font-weight: 500;
}

.profile-section__status--ok {
    color: #059669;
}

.profile-section__status--err {
    color: #EF4444;
}

.profile-section__footer {
    margin-top: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.profile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 20px;
}

.profile-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.profile-field--short {
    max-width: 200px;
}

.profile-field--wide {
    grid-column: 1 / -1;
}

.profile-field label {
    font-size: 12px;
    color: #64748B;
}

.profile-field textarea,
.profile-field input,
.profile-field select {
    padding: 9px 12px;
    border: 1.5px solid #E2E8F0;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.profile-field textarea:focus,
.profile-field input:focus,
.profile-field select:focus {
    border-color: #1B7AFF;
}

.profile-field input:disabled {
    background: #F8FAFC;
    color: #94A3B8;
}

.profile-field__hint {
    font-size: 11px;
    color: #94A3B8;
}

.profile-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
}

.profile-save-msg {
    font-size: 14px;
    font-weight: 500;
}

/* Мобильная адаптация кабинета */
@media (max-width: 768px) {
    .cabinet {
        flex-direction: column;
        gap: 0;
        padding: 16px;
    }

    .cabinet-sidebar {
        width: 100%;
        margin-bottom: 24px;
    }

    .cabinet-sidebar__burger {
        display: block;
    }

    .cabinet-sidebar__nav {
        display: none;
        flex-direction: column;
        gap: 4px;
        padding-bottom: 0;
    }

    .cabinet-sidebar__nav--open {
        display: flex;
    }

    .cabinet-sidebar__link {
        white-space: nowrap;
        padding: 10px 12px;
        font-size: 14px;
    }

    .cabinet-sidebar__link--logout {
        margin-top: 0;
        border-top: none;
        padding-top: 8px;
    }

    .cabinet-sidebar__user {
        margin-bottom: 16px;
        padding-bottom: 12px;
    }

    .cabinet-card--booking {
        flex-direction: column;
    }

    .profile-grid {
        grid-template-columns: 1fr;
    }

    .profile-field--short {
        max-width: 100%;
    }

    .cabinet-card__preview {
        width: 100%;
        height: 160px;
    }
}