.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
}

.page-body {
    flex: 1;
}

.p_container {
    max-width: 1184px;
    margin: 0 auto;
}

@media only screen and (width < 1280px) {
    .p_container {
        max-width: 924px;
    }
}

@media only screen and (width < 1024px) {
    .p_container {
        max-width: calc(100% - 80px);
    }
}

@media only screen and (width < 768px) {
    .p_container {
        max-width: calc(100% - 40px);
    }
}

/* progressbar */

.progressbar {
    margin-top: 157px;
}

.progressbar_items {
    display: flex;
    justify-content: space-between;
}

.progressbar_item {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background: #878C97;
}

.progressbar_item>span {
    position: absolute;
    bottom: calc(100% + 19px);
    width: max-content;
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
    color: #878C97;
}

.progressbar_item.active {
    background: #6C8DD5;
}

.progressbar_item.active>span {
    color: #092E7B;
}

.progressbar_item:not(:first-child):not(:last-child)>span {
    left: 50%;
    transform: translateX(-50%);
}

.progressbar_item:last-child>span {
    right: 0;
}

.progressbar_item:not(:first-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #878C97;
    width: 392px;
    height: .5px;
}

.progressbar_item.active:not(:first-child)::after {
    background: #6C8DD5;
    height: 1.5px;
}

@media only screen and (width < 1280px) {
    .progressbar {
        margin-top: 80px;
    }

    .progressbar_item:not(:first-child)::after {
        width: calc(924px / 3);
    }

    .progressbar_item>span {
        bottom: calc(100% + 8px);
        font-size: 12px;
        line-height: 16px;
    }
}

@media only screen and (width < 1024px) {
    .progressbar_item:not(:first-child)::after {
        width: calc((100vw - 80px) / 3);
    }
}

@media only screen and (width < 768px) {
    .progressbar {
        margin-top: 48px;
    }

    .progressbar_item:not(:first-child)::after {
        width: calc((100vw - 40px) / 3);
    }
}



/* ticket card */

.flight_title {
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
}

.flight_direction {
    margin-top: 14px;
    display: flex;
    align-items: center;
    column-gap: 27px;
}

.flight_direction-item {
    position: relative;
    font-family: Inter;
    font-size: 24px;
    line-height: 29px;
    color: #092E7B;
}

.flight_direction-item:first-child::before {
    content: '';
    position: absolute;
    left: calc(100% + 6px);
    top: 50%;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgOEgxNU0xNSA4TDggMU0xNSA4TDggMTUiIHN0cm9rZT0iIzA5MkU3QiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 14px;
    height: 14px;
}

.flight_date {
    margin-top: 4px;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #878C97;
}

.flight_airline {
    margin-top: 17px;
    max-width: 81px;
    height: auto;
}

.flight_airline>img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.ticket_col-1 {
    display: flex;
    flex-direction: column;
    width: 140px;
}

.ticket_col-2 {
    display: flex;
    flex-direction: column;
    row-gap: 52px;
    max-width: 225px;
}

.flight_time {
    display: flex;
    column-gap: 17px;
}

.flight_time :where(.flight_takeoff, .flight_land) {
    position: relative;
    width: 16px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
}

.flight_takeoff {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuOTk5NjcgMTRWMTIuNjY2N0gxMy45OTk3VjE0SDEuOTk5NjdaTTMuMjMzMDEgMTAuNjY2N0wxLjMzMzAxIDcuNDMzMzNMMi4zNjYzNCA3LjIzMzMzTDMuNTMzMDEgOC4yNjY2N0w2LjczMzAxIDcuNEw0LjAzMzAxIDIuODMzMzNMNS4zMzMwMSAyLjQzMzMzTDkuODk5NjcgNi41MzMzM0wxMy4yMzMgNS42MzMzM0MxMy41ODg2IDUuNTMzMzMgMTMuOTEwOCA1LjYgMTQuMTk5NyA1LjgzMzMzQzE0LjQ4ODYgNi4wNjY2NyAxNC42MzMgNi4zNzc3OCAxNC42MzMgNi43NjY2N0MxNC42MzMgNy4wMTExMSAxNC41NTgxIDcuMjI3NzggMTQuNDA4MyA3LjQxNjY3QzE0LjI1ODYgNy42MDU1NiAxNC4wNjY4IDcuNzMzMzMgMTMuODMzIDcuOEwzLjIzMzAxIDEwLjY2NjdaIiBmaWxsPSIjODc4Qzk3Ii8+Cjwvc3ZnPgo=");
}

.flight_land {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjU2NjcgMTAuNkwyIDcuNjY2NjdWNEwzIDQuMzMzMzNMMy40NjY2NyA1LjczMzMzTDYuNjY2NjcgNi42MzMzM1YxLjMzMzMzTDggMS42NjY2N0w5LjgzMzMzIDcuNUwxMy4xNjY3IDguNDMzMzNDMTMuNDIyMiA4LjUgMTMuNjI1MSA4LjYzNjIyIDEzLjc3NTMgOC44NDJDMTMuOTI1NiA5LjA0Nzc4IDE0LjAwMDQgOS4yNzgyMiAxNCA5LjUzMzMzQzE0IDkuOSAxMy44NSAxMC4xOTQ0IDEzLjU1IDEwLjQxNjdDMTMuMjUgMTAuNjM4OSAxMi45MjIyIDEwLjcgMTIuNTY2NyAxMC42Wk0yIDE0VjEyLjY2NjdIMTRWMTRIMloiIGZpbGw9IiM4NzhDOTciLz4KPC9zdmc+Cg==");
}

.flight_time-box {
    display: flex;
    flex-direction: column;
}

.flight_city {
    font-family: Inter;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
    color: #000;
}

.airport_name {
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #878C97;
}

.flight_takeoff::before {
    content: '';
    position: absolute;
    left: 50%;
    top: calc(50% + 15px);
    transform: translateX(-50%);
    min-height: 53px;
    height: 95%;
    width: 1px;
    background: #878C97;
}

.flight_land::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: calc(50% + 15px);
    transform: translateX(-50%);
    min-height: 53px;
    height: 95%;
    width: 1px;
    background: #878C97;
}

.ticket_col-4 {
    margin-top: 21px;
    padding-top: 12px;
    border-top: .5px solid #DDE6F9;
    display: flex;
    align-items: center;
    column-gap: 139px;
    flex-grow: 2;
}

.flight_class {
    font-family: Inter;
    font-size: 16px;
    line-height: 19px;
    color: #000;
    flex-shrink: 0;
}

.flight_info {
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #878C97;
}

@media only screen and (width < 1280px) {
    .flight_title {
        line-height: 20px;
    }

    .flight_city {
        line-height: 24px;
    }

    .flight_direction {
        margin-top: 16px;
        column-gap: 32px;
    }

    .flight_direction-item:first-child::before {
        left: calc(100% + 9px);
    }

    .flight_date {
        margin-top: 10px;
    }

    .flight_airline {
        margin-top: 13px;
    }

    .ticket_col-2 {
        margin-left: -20px;
        row-gap: 40px;
    }

    .airport_name {
        margin-top: 4px;
        line-height: 16px;
    }

    .ticket_col-4 {
        margin-top: 16px;
        padding-top: 16px;
        column-gap: 120px;
    }

    .flight_class {
        line-height: 24px;
    }
}

@media only screen and (width < 768px) {
    .ticket {
        flex-direction: column;
        row-gap: 12px;
    }

    .ticket_col-2 {
        margin: -5px 0 0;
        max-width: 100%;
    }

    .ticket_col-3 {
        display: flex;
        justify-content: flex-end;
    }

    .ticket_col-4 {
        margin-top: 4px;
        column-gap: 40px;
    }
}

/* bags / seats cards */

.seats {
    align-items: center;
}

.bags_info {
    display: flex;
    flex-direction: column;
    row-gap: 17px;
}

.bags_list {
    display: flex;
    flex-direction: column;
    list-style: none;
}

.bags_list>li {
    position: relative;
    padding-left: 21px;
    display: flex;
    align-items: center;
    font-family: Inter;
    font-size: 14px;
    line-height: 27px;
    color: #485061;
}

.bags_list>li::before {
    content: '';
    position: absolute;
    left: 2px;
    width: 9px;
    height: 6.5px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDExIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xIDVMMy41IDcuNUwxMCAxIiBzdHJva2U9ImJsYWNrIi8+Cjwvc3ZnPgo=");
    background-repeat: no-repeat;
    background-position: center;
}

.bags_additional {
    margin-top: 26px;
    padding-top: 12px;
    flex-grow: 1;
    border-top: .5px solid #DDE6F9;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #878C97;
}

@media only screen and (width < 1280px) {
    .bags_list {
        row-gap: 8px;
    }

    .bags_list>li {
        padding-left: 29px;
        line-height: 20px;
    }

    .bags_list>li::before {
        width: 16px;
        height: 16px;
    }

    .bags_additional {
        margin-top: 16px;
        padding-top: 16px;
    }

    .bags .btn {
        width: 95px;
    }
}

@media only screen and (width < 768px) {
    .bags {
        position: relative;
    }

    .bags .btn {
        position: absolute;
        top: 16px;
        right: 16px;
    }
}

.protection {
    background: #FFF6D6;
}

.protection_info {
    display: flex;
    flex-direction: column;
    row-gap: 19px;
}

.protection_form {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
}

.protection_input-wrapper {
    position: relative;
    padding-left: 27px;
    display: flex;
    align-items: center;
    column-gap: 14px;
}

.protection_form label {
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #485061;
    cursor: pointer;
}

.protection_form input {
    margin: 0;
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
    cursor: pointer;
}

.checkmark {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 13px;
    width: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFF;
    border-radius: 100%;
    border: 0.5px solid #000000;
    transition: .3s;
    cursor: pointer;
}

.protection_input-wrapper:hover .checkmark,
.protection_form input:checked+.checkmark {
    border-color: #092E7B;
}

.protection_form input:not(:checked):focus-visible+.checkmark {
    border-color: #092E7B;
    outline: 3px solid #092E7B33;
}

.checkmark::after {
    content: '';
    position: absolute;
    width: 50%;
    height: 50%;
    background: #092E7B;
    border-radius: 100%;
    display: none;
}

.protection_form input:checked+.checkmark::after {
    display: block;
}

.protection_price {
    display: flex;
    flex-direction: column;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #878C97;
    text-align: right;
}

.protection_price>span {
    font-family: Inter;
    font-size: 24px;
    font-weight: 500;
    line-height: 29px;
    color: #092E7B;
}

@media only screen and (width < 1280px) {
    .protection_info {
        row-gap: 16px;
    }

    .protection_form {
        row-gap: 8px;
    }

    .protection_form label {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: -0.006em;
    }

    .checkmark {
        height: 20px;
        width: 20px;
    }
}

@media only screen and (width < 768px) {
    .protection {
        position: relative;
    }

    .protection_info {
        row-gap: 37px;
    }

    .protection_form {
        row-gap: 12px;
    }

    .protection_form label {
        font-size: 12px;
        line-height: 16px;
        letter-spacing: 0;
    }

    .protection_price {
        position: absolute;
        top: 16px;
        right: 16px;
    }

    .protection_price {
        line-height: 16px;
    }

    .protection_price>span {
        font-size: 18px;
        line-height: 27px;
        letter-spacing: -0.017em;
    }
}

/* checkout cars and stay */

.additional {
    margin-top: 19px;
}

.additional_title {
    font-family: Inter;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
    color: #000;
}

.additional_wrapper {
    margin-top: 17px;
    padding: 25px 23px;
    border: 0.5px solid #878C97;
    border-radius: 14px;
}

.additional+.additional,
.additional+.additional .additional_wrapper {
    margin: 0;
}

.additional_item {
    margin-right: 14px;
    display: flex !important;
    flex-direction: column;
    row-gap: 13px;
    width: 234px;
    height: auto;
}

.additional_item-card {
    padding-bottom: 27px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    row-gap: 20px;
    background: #FFFFFF;
    border-radius: 10px;
    overflow: hidden;
}

.additional_img {
    display: flex;
    width: 100%;
    height: 157px;
}

.additional_img>img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.additional_stay .additional_img {
    height: 140px;
}

.additional_stay .additional_img>img {
    object-fit: cover;
}

.additional_info {
    padding: 0 23px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.additional_name {
    font-family: Inter;
    font-size: 12px;
    font-weight: 500;
    line-height: 23px;
    color: #000;
}

.additional_descr {
    margin-bottom: 27px;
    font-family: Inter;
    font-size: 12px;
    line-height: 18px;
    color: #485061;
}

.additional_stay .additional_descr {
    margin-bottom: 0;
}

.additional_price {
    margin-top: auto;
    display: flex;
    align-items: center;
    column-gap: 7px;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #878C97;
}

.additional_price>span {
    font-family: Inter;
    font-size: 16px;
    font-weight: 700;
    line-height: 19px;
    color: #092E7B;
}

.additional_link {
    margin-bottom: 20px;
    font-family: Inter;
    font-size: 12px;
    line-height: 18px;
    color: #6C8DD5;
    text-underline-offset: 3px;
    transition: .3s;
}

.additional_link:hover {
    text-decoration-color: transparent;
}

.additional_item .btn {
    padding: 0 5px;
    width: 76px;
    height: 23px;
    font-size: 12px;
    line-height: 15px;
}

.card_subinfo {
    margin-top: 37px;
    padding-top: 12px;
    border-top: .5px solid #DDE6F9;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #878C97;
}

.card_subinfo>span {
    display: inline-block;
    max-width: 550px;
}

@media only screen and (width < 1280px) {
    .additional {
        margin-top: 7px;
    }

    .additional_title {
        font-size: 20px;
        line-height: 30px;
        letter-spacing: -0.022em;
    }

    .additional_wrapper {
        margin-top: 24px;
        padding: 24px;
    }

    .additional_item {
        margin-right: 15px;
        width: 205px;
    }

    .additional_item-card {
        padding-bottom: 24px;
        row-gap: 24px;
        border-radius: 6px;
    }

    .additional_name {
        font-size: 14px;
        line-height: 20px;
    }

    .additional_descr {
        margin: 4px 0 16px;
        line-height: 16px;
    }

    .additional_price {
        line-height: 16px;
    }

    .additional_price>span {
        line-height: 24px;
    }

    .additional_item .btn {
        width: 87px;
        height: 32px;
        font-size: 14px;
    }

    .card_subinfo {
        margin-top: 36px;
        padding-top: 36px;
        line-height: 16px;
    }

    .additional_stay .additional_img {
        height: 135px;
    }

    .additional_link {
        margin: 4px 0 16px;
    }
}

@media only screen and (width < 1024px) {
    .additional_item {
        margin-right: 12px;
    }
}

@media only screen and (width < 768px) {
    .additional {
        margin-top: 0;
    }

    .additional_title {
        font-size: 18px;
        line-height: 27px;
        letter-spacing: -0.017em;
    }

    .additional_wrapper {
        margin-top: 16px;
        padding: 16px;
    }

    .card_subinfo {
        margin-top: 24px;
        padding-top: 24px;
    }
}

/* custom select */

.custom_select {
    position: relative;
    border-radius: 5px;
}

.select_selected {
    background: #FFF;
    border: .25px solid #878C97;
    padding: 10px 12px;
    height: 35px;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #878C97;
    border-radius: 5px;
    display: flex;
    align-items: center;
    column-gap: 8px;
    cursor: pointer;
}

.custom_select:focus-visible,
.select_selected:focus-visible {
    border-color: #092E7B;
    outline: 3px solid rgba(9, 46, 123, 0.2);
}

.select_selected-rounded {
    border: 0.5px solid #878C97;
    border-radius: 70px;
    color: #485061;
    height: 32px;
}

#sort .select_items {
    right: 0;
    width: max-content;
    min-width: 100%;
}

#sort {
    min-width: 117px;
    width: fit-content;
}

.select_selected:after {
    content: '';
    margin-left: auto;
    width: 12px;
    height: 7px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEyIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxsaW5lIHgxPSI1LjQyMzc5IiB5MT0iNi40MjQ3NyIgeDI9IjExLjIwMiIgeTI9IjAuNjQ2NTg3IiBzdHJva2U9IiM4NzhDOTciLz4KPGxpbmUgeDE9IjAuMzUzNTUzIiB5MT0iMC42NDY0NDciIHgyPSI2LjEzMTczIiB5Mj0iNi40MjQ2MyIgc3Ryb2tlPSIjODc4Qzk3Ii8+Cjwvc3ZnPgo=");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: .3s;
}

.select_selected-rounded:after {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEyIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxsaW5lIHgxPSI1LjQyMzc5IiB5MT0iNi40MjQ3NyIgeDI9IjExLjIwMiIgeTI9IjAuNjQ2NTg3IiBzdHJva2U9ImJsYWNrIi8+CjxsaW5lIHgxPSIwLjM1MzU1MyIgeTE9IjAuNjQ2NDQ3IiB4Mj0iNi4xMzE3MyIgeTI9IjYuNDI0NjMiIHN0cm9rZT0iYmxhY2siLz4KPC9zdmc+Cg==");
}

.select_selected.select-arrow-active::after {
    transform: scale(-1);
}

.select_items {
    position: absolute;
    background: #FFF;
    border: .25px solid #878C97;
    width: 100%;
    border-radius: 5px;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
    margin-top: 5px;
    display: none;
    max-height: 176px;
    z-index: 99;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.select_items::-webkit-scrollbar {
    display: none;
}

.select_items div {
    padding: 5px 12px;
    display: flex;
    align-items: center;
    column-gap: 8px;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #404040;
    cursor: pointer;
}

.select_items div:hover {
    background-color: #F5F5F5;
}

.select_items div:focus-visible {
    background: #F5F5F5;
    outline: rgba(9, 46, 123, 0.2) auto 3px;
}

.same-as-selected {
    background: #E0E0E0;
    font-weight: 500;
}

.custom_select-wrapper {
    display: flex;
    gap: 9px;
}

.custom_select-wrapper>.custom_select {
    flex-grow: 1;
    width: 96px;
}

@media only screen and (width < 1280px) {
    .select_selected {
        padding: 8px 15px;
        height: 36px;
        font-size: 14px;
        line-height: 20px;
        border-radius: 6px;
        column-gap: 6px;
    }

    .select_selected:after {
        width: 8px;
        height: 5px;
        background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI2IiB2aWV3Qm94PSIwIDAgOCA2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAuMjM0MzE1IDAuODM0NDEyQzAuNTQ2NzM0IDAuNTIxOTkzIDEuMDUzMjcgMC41MjE5OTMgMS4zNjU2OSAwLjgzNDQxMkw0IDMuNDY4NzNMNi42MzQzMiAwLjgzNDQxMkM2Ljk0NjczIDAuNTIxOTkzIDcuNDUzMjcgMC41MjE5OTMgNy43NjU2OSAwLjgzNDQxMkM4LjA3ODEgMS4xNDY4MyA4LjA3ODEgMS42NTMzNiA3Ljc2NTY5IDEuOTY1NzhMNC41NjU2OSA1LjE2NTc4QzQuMjUzMjcgNS40NzgyIDMuNzQ2NzMgNS40NzgyIDMuNDM0MzEgNS4xNjU3OEwwLjIzNDMxNSAxLjk2NTc4Qy0wLjA3ODEwNDkgMS42NTMzNiAtMC4wNzgxMDQ5IDEuMTQ2ODMgMC4yMzQzMTUgMC44MzQ0MTJaIiBmaWxsPSIjNzU3NTc1Ii8+Cjwvc3ZnPgo=");
        background-size: auto;
    }

    .custom_select-wrapper {
        gap: 8px;
    }
}

/* flight_direction */

.flight_path {
    margin-bottom: 22px;
    padding-bottom: 7px;
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
    border-bottom: .5px solid #DDE6F9;
}

.flight_path-wrap {
    display: flex;
    flex-direction: column;
    row-gap: 6px;
}

.flight_path-box {
    display: flex;
    align-items: center;
    column-gap: 9px;
}

.flight_path-title {
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
    color: #000;
}

.flight_path .flight_date {
    margin: 0;
}

.flight_path-info {
    display: flex;
    align-items: center;
    column-gap: 21px;
}

.flight_path-item {
    position: relative;
    font-family: Inter;
    font-size: 16px;
    line-height: 19px;
    color: #092E7B;
}

.flight_path-item:first-child::before {
    content: '';
    position: absolute;
    left: calc(100% + 6px);
    top: 50%;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEwIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik05LjM1MzU1IDQuMzUzNTVDOS41NDg4MiA0LjE1ODI5IDkuNTQ4ODIgMy44NDE3MSA5LjM1MzU1IDMuNjQ2NDVMNi4xNzE1NyAwLjQ2NDQ2N0M1Ljk3NjMxIDAuMjY5MjA0IDUuNjU5NzMgMC4yNjkyMDQgNS40NjQ0NyAwLjQ2NDQ2N0M1LjI2OTIgMC42NTk3MjkgNS4yNjkyIDAuOTc2MzExIDUuNDY0NDcgMS4xNzE1N0w4LjI5Mjg5IDRMNS40NjQ0NyA2LjgyODQzQzUuMjY5MiA3LjAyMzY5IDUuMjY5MiA3LjM0MDI3IDUuNDY0NDcgNy41MzU1M0M1LjY1OTczIDcuNzMwOCA1Ljk3NjMxIDcuNzMwOCA2LjE3MTU3IDcuNTM1NTNMOS4zNTM1NSA0LjM1MzU1Wk0tNC4zNzExNGUtMDggNC41TDkgNC41TDkgMy41TDQuMzcxMTRlLTA4IDMuNUwtNC4zNzExNGUtMDggNC41WiIgZmlsbD0iIzA5MkU3QiIvPgo8L3N2Zz4K");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 10px;
    height: 16px;
}

.flight_path-edit {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    cursor: pointer;
}

.flight_path-edit::before {
    content: '';
    position: absolute;
    width: 44px;
    height: 44px;
}

.flight_path-edit svg {
    width: 100%;
    height: 100%;
}

.flight_path-edit:hover svg path {
    fill: #092E7B;
}

.flight_path .flight_airline {
    margin-top: 10px;
}

@media only screen and (width < 1280px) {
    .flight_path {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .flight_path-wrap {
        row-gap: 8px;
    }

    .flight_path-title {
        line-height: 20px;
    }

    .flight_path-item {
        line-height: 24px;
    }

    .flight_path-info {
        column-gap: 26px;
    }

    .flight_path-item:first-child::before {
        left: calc(100% + 8px);
        background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEgOEgxNU0xNSA4TDggMU0xNSA4TDggMTUiIHN0cm9rZT0iIzA5MkU3QiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==");
        width: 11px;
        height: 11px;
    }

    .flight_path-edit {
        width: 20px;
        height: 20px;
    }

    .flight_path .flight_airline {
        margin-top: 8px;
    }
}

/* carddetails */

.carddetails_title,
.billing_info-title {
    margin-bottom: 32px;
    font-family: Inter;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
    color: #000;
}

.card_icons {
    margin-left: 71px;
    padding-top: 17px;
    display: flex;
    align-items: center;
    column-gap: 23px;
}

.card_icon {
    display: flex;
    max-width: 70px;
    max-height: 24px;
}

.card_icon>img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.carddetails_form,
.billing_form {
    display: flex;
    flex-wrap: wrap;
    gap: 28px 9px;
}

#input_wrapper-cardname,
#input_wrapper-city {
    width: 386px;
}

#input_wrapper-cardnumber,
#input_wrapper-billing_address2 {
    width: 306px;
}

#input_wrapper-cardssc {
    width: 171px;
}

/* Billing Information */

.billing_info {
    padding-top: 24px;
    border-top: 0.5px solid #DDE6F9;
}

#input_wrapper-country {
    width: 94px;
}

#input_wrapper-billing_address {
    width: 280px;
}

#input_wrapper-state {
    width: 174px;
}

#input_wrapper-zipcode {
    width: 123px;
}

.billing_form .form_accept {
    margin: 0;
}

@media only screen and (width < 1280px) {
    .billing_info {
        padding-top: 36px;
    }

    .carddetails_title,
    .billing_info-title {
        margin-bottom: 25px;
        line-height: 24px;
    }

    .carddetails_form {
        gap: 12px 14px;
    }

    .billing_form {
        gap: 20px 12px;
    }

    #input_wrapper-cardname,
    #input_wrapper-cardnumber {
        width: calc((100% - 14px) / 2);
    }

    #input_wrapper-cardssc {
        width: 160px;
    }

    #input_wrapper-country {
        width: 100px;
    }

    #input_wrapper-billing_address,
    #input_wrapper-billing_address2 {
        width: 258px;
    }

    #input_wrapper-city {
        width: 324px;
    }

    #input_wrapper-state {
        width: 172px;
    }

    #input_wrapper-zipcode {
        width: 120px;
    }

    .carddetails_form .custom_select-wrapper>.custom_select {
        width: 105px;
    }

    .card_icons {
        margin-left: 0;
        padding-top: 22px;
        column-gap: 22px;
    }

    .billing_form .form_accept {
        margin-top: 12px;
    }
}

@media only screen and (width < 768px) {
    .billing_info {
        padding-top: 24px;
    }

    .billing_form {
        gap: 12px 8px;
    }

    #input_wrapper-cardname,
    #input_wrapper-cardnumber {
        width: 100%;
    }

    #input_wrapper-cardssc {
        width: 110px;
    }

    #input_wrapper-country {
        width: 100%;
    }

    #input_wrapper-billing_address,
    #input_wrapper-billing_address2,
    #input_wrapper-state,
    #input_wrapper-zipcode {
        width: calc((100% - 8px) / 2);
    }

    .carddetails_form .custom_select-wrapper>.custom_select {
        width: calc(50vw - 20px - 24px - 4px);
    }

    .card_icons {
        column-gap: 7px;
    }

    .billing_form .form_accept {
        margin-top: 8px;
    }
}

/* stays 5 */

.stays {
    padding: 53px 0 131px;
}

.stays_wrapper {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.stays_loadmore {
    margin: 75px auto 0;
}

.stays_filter-box {
    display: flex;
    flex-flow: column;
    row-gap: 21px;
    width: 349px;
}

.stays_col-title {
    font-family: Inter;
    font-size: 24px;
    line-height: 29px;
    color: #000;
}

.stays_filter {
    padding: 25px 33px 28px 30px;
    background: #FFF;
    border-radius: 14px;
}

/* price filter */

.stays_filter-name {
    font-family: Inter;
    font-size: 18px;
    font-weight: 500;
    line-height: 22px;
    color: #000;
}

.filter_price {
    margin-top: 22px;
    width: 100%;
}

.price_range-values {
    margin-bottom: -13px;
    display: flex;
    justify-content: space-between;
}

.price_range-values>span {
    font-family: Inter;
    font-size: 14px;
    line-height: 30px;
    color: #878C97;
}

#priceRange {
    margin: 0;
    width: 100%;
    /* all grey by default; JS sets the blue fill on load */
    background: #BCC3D0;
    height: 4px;
    border-radius: 2px;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

#priceRange::-webkit-slider-thumb {
    width: 16px;
    height: 16px;
    background: #fff;
    border: 2px solid #092E7B;
    border-radius: 50%;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(9,46,123,0.18);
    transition: box-shadow 0.2s;
}

#priceRange::-webkit-slider-thumb:hover {
    box-shadow: 0 0 0 4px rgba(9,46,123,0.12);
}

#priceRange::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: #fff;
    border: 2px solid #092E7B;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(9,46,123,0.18);
}

#priceRange::-moz-range-progress {
    background: #092E7B;
    height: 4px;
    border-radius: 2px;
}

.price_selected-label {
    margin-top: 12px;
    margin-bottom: 0;
    font-family: Inter;
    font-size: 13px;
    color: #878C97;
}

#priceLabel {
    position: static !important;
    display: inline !important;
    top: auto !important;
    font-family: Inter;
    font-size: 13px;
    font-weight: 600;
    line-height: inherit;
    color: #092E7B;
    white-space: normal;
}

.stays_filter-item:not(:first-child) {
    padding-top: 19px;
    border-top: 1px solid #DDE6F9;
}

#filter_close_by {
    margin-top: 47px;
}

#stay_options {
    margin-top: 38px;
    padding-top: 25px;
}

#amenities {
    margin-top: 27px;
    padding-top: 25px;
}

.show_more_wrapper:not(.active) .checkbox_filter label:nth-child(n+18) {
    display: none;
}

.checkbox_filter {
    margin: 11px 0 0 2px;
    display: flex;
    flex-direction: column;
}

.checkbox_filter label {
    display: flex;
    align-items: center;
    column-gap: 10px;
    cursor: pointer;
}

.checkbox_filter label input {
    margin: 0;
    opacity: 0;
    width: 0;
    height: 0;
    z-index: -1;
    position: absolute;
}

.checkbox_filter label span {
    font-family: Inter;
    font-size: 14px;
    line-height: 30px;
    color: #0F0A02;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.checkbox_filter label i {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid #485061;
    border-radius: 2px;
    width: 10px;
    height: 10px;
    background: transparent;
    transition: .3s;
    cursor: pointer;
}

.checkbox_filter label:hover i {
    border-color: #092E7B;
}

.checkbox_filter label input:not(:checked):focus-visible+i {
    border-color: #092E7B;
    outline: 3px solid #092E7B33;
}

.checkbox_filter label input:checked+i {
    background: #092E7B;
    border-color: #092E7B;
}

/* stay stars filter */

#filter_star {
    margin-top: 25px;
    padding-top: 29px;
}

.star_rating-items {
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.star_rating-item {
    border-radius: 8px;
    border: 1px solid #E6EEFF;
    flex: 1;
    min-width: 0;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    user-select: none;
}

.star_rating-item:hover {
    border-color: #092E7B;
    background: #F5F8FF;
}

.star_rating-item.active {
    border-color: #092E7B;
    background: #EEF3FF;
}

.star_rating-item.active > span {
    color: #092E7B;
    font-weight: 600;
}

.star_rating-item > span {
    font-family: Inter;
    font-size: 13px;
    line-height: 1;
    color: #485061;
}

.star_rating-item i,
.stay_card-stars i {
    width: 15px;
    height: 15px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNSAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNSAwTDkuMTgzODYgNS4xODIzN0gxNC42MzI5TDEwLjIyNDUgOC4zODUyNUwxMS45MDg0IDEzLjU2NzZMNy41IDEwLjM2NDdMMy4wOTE2MSAxMy41Njc2TDQuNzc1NDcgOC4zODUyNUwwLjM2NzA3NiA1LjE4MjM3SDUuODE2MTRMNy41IDBaIiBmaWxsPSIjRkZDOTc4Ii8+Cjwvc3ZnPgo=");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* show_more btn */

.show_more {
    margin: 9px 0 0 2px;
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
    color: #6C8DD5;
    text-decoration-line: underline;
    text-decoration-color: transparent;
    text-underline-offset: 2px;
    transition: .3s;
    cursor: pointer;
}

.show_more:hover {
    text-decoration-color: #6C8DD5;
}

.show_more_wrapper.active .show_more span:first-child {
    display: none;
}

.show_more_wrapper:not(.active) .show_more span:last-child {
    display: none;
}

/* stays card */

.stays_list {
    display: flex;
    flex-direction: column;
    row-gap: 21px;
    flex-grow: 1;
}

.stays_list-filter {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.stays_cards {
    display: flex;
    flex-direction: column;
    row-gap: 9px;
}

.stay_card {
    padding: 11px 17px 12px 13px;
    display: flex;
    align-items: center;
    column-gap: 20px;
    background: #FFF;
    border-radius: 14px;
    border: 0.25px solid #878C97;
}

.stay_card-info {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.stay_card-name {
    font-family: Inter;
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
    color: #000;
    text-decoration-color: transparent;
    transition: .3s;
}

.stay_card-location {
    margin-top: 12px;
    font-family: Inter;
    font-size: 14px;
    line-height: 17px;
    color: #878C97;
    text-decoration: none;
}

.stay_card-options {
    margin-top: 27px;
    display: flex;
    align-items: center;
    column-gap: 16px;
}

.stay_card-options>span {
    position: relative;
    padding-left: 19px;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #485061;
}

.stay_card-options>span::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    border-radius: 100%;
    background: #D9D9D9;
}

.stay_card-stars {
    margin-top: 46px;
    display: flex;
    column-gap: 10px;
}

.stay_card-rating {
    margin-top: 17px;
    display: flex;
    align-items: center;
    column-gap: 5px;
}

.stay_card-rating span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 17px;
    border-radius: 5px;
    background: #12B76A;
    font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 15px;
    color: #FFF;
}

.stay_card-rating span:last-child {
    font-family: Inter;
    font-size: 14px;
    line-height: 17px;
    color: #485061;
}

.stay_card-reviews {
    margin-top: 7px;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #878C97;
    text-decoration: none;
}

:where(.stay_card-name, .stay_card-location, .stay_card-reviews):hover {
    color: #6C8DD5;
}

.stay_card-price {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.stay_card-sum {
    font-family: Inter;
    font-size: 22px;
    font-weight: 500;
    line-height: 27px;
    text-align: right;
    color: #092E7B;
}

.stay_card-unit {
    margin-top: 1px;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #485061;
}

.stay_card-total {
    margin-top: 4px;
    font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    line-height: 14.52px;
    color: #878C97;
}

/* stay card layout */

.stay_card-info {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

.stay_card-info-main {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.stay_card-stars {
    margin-top: 10px;
    display: flex;
    column-gap: 4px;
}

.stay_card-star {
    width: 14px;
    height: 14px;
}

.stay_card-review {
    margin-top: 10px;
    display: flex;
    align-items: center;
    column-gap: 6px;
    flex-wrap: wrap;
    row-gap: 2px;
}

.stay_card-review-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 7px;
    border-radius: 5px;
    background: #12B76A;
    font-family: Inter;
    font-size: 12px;
    font-weight: 600;
    color: #FFF;
}

.stay_card-review-label {
    font-family: Inter;
    font-size: 13px;
    font-weight: 500;
    color: #485061;
}

.stay_card-review-count {
    font-family: Inter;
    font-size: 12px;
    color: #878C97;
}

.stay_card-price-block {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.stay_card-price-per-night {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.stay_card-price-total {
    margin-top: 3px;
    font-family: Inter;
    font-size: 12px;
    color: #878C97;
}

.stay_card-no-image {
    background: #eee;
    height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* stay card slider */

.stay_card-slider-wrapper {
    position: relative;
    flex-shrink: 0;
    width: 271px;
    border-radius: 4px;
    overflow: hidden;
}

.stay_card-slider-item {
    margin-right: 20px;
    width: 271px;
    height: 230px;
}

.stay_card-slider-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slick-track {
    display: flex !important;
}

.slider-nav {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: space-between;
    width: calc(100% - 34px);
}

.slider-arrow {
    position: relative;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(1px);
    border-radius: 100%;
    transition: .3s;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.slider-arrow::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 100px;
}

.slider-arrow:hover {
    background: #D9D9D9;
    backdrop-filter: none;
}

.stay_card-slider .slick-dots {
    bottom: 18px;
}

.slider .slick-dots {
    position: absolute;
}

.slick-dotted.slick-slider {
    margin: 0;
}

.stay_card-slider .slick-dots li {
    margin: 0 2.5px;
}

.slider .slick-dots li,
.slider .slick-dots li button {
    padding: 0;
    border-radius: 100%;
    background: rgba(255, 255, 255, 0.4);
    width: 5px;
    height: 5px;
}

.slider .slick-dots li button:before {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: transparent;
}

.slider .slick-dots li button:before {
    width: 10px;
    height: 10px;
}

.slider .slick-dots li.slick-active button {
    background: #FFF;
}

/* hotel single page */

.hotel {
    padding-bottom: 135px;
}

.page_nav-line {
    margin: 32px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.single_fee {
    position: relative;
    margin-right: 19px;
    display: flex;
    align-items: center;
    column-gap: 5px;
    text-decoration: none;
    font-family: Inter;
    font-size: 14px;
    line-height: 19px;
}

.single_fee::before {
    content: '';
    position: absolute;
    top: 100%;
    width: 100%;
    height: 1px;
    background: #092E7B;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}

.book_fee {
    font-size: 12px;
    line-height: 15px;
}

.single_fee:hover::before {
    opacity: 1;
    visibility: visible;
}

.page_nav-back {
    position: relative;
}

.page_nav-back::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 20px);
    height: calc(100% + 20px);
}

.page_nav-back:hover svg path {
    fill: #092E7B;
}

/* hotel_info */

.hotel_info {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    column-gap: 70px;
}

.hotel_info-box {
    display: flex;
    flex-direction: column;
}

.hotel_name {
    font-family: Inter;
    font-size: 32px;
    font-weight: 500;
    line-height: 39px;
    color: #000;
}

.hotel_info .stay_card-stars {
    margin-top: 20px;
}

.hotel_info .stay_card-options {
    margin-top: 35px;
}

.view_all {
    margin-top: 14px;
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #6C8DD5;
    text-decoration-line: underline;
    text-decoration-color: transparent;
    text-underline-offset: 2px;
    transition: .3s;
    cursor: pointer;
}

.view_all:hover {
    text-decoration-color: inherit;
}

.hotel_map {
    margin-top: 7px;
    width: 288px;
    height: 207px;
    border: 0.25px solid #878C97;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    overflow: hidden;
}

.hotel_map iframe {
    height: 148px;
}

.hotel_map-address {
    padding: 13px 15px;
    background: #FFFFFF;
    display: flex;
    flex-direction: column;
    row-gap: 5px;
}

.hotel_map-address>span {
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #485061;
}

.hotel_map-address>a {
    font-family: Inter;
    font-size: 12px;
    line-height: 15px;
    color: #6C8DD5;
    text-decoration-line: underline;
    text-decoration-color: transparent;
    text-underline-offset: 3px;
    transition: .3s;
}

.hotel_map-address>a:hover {
    text-decoration-color: inherit;
}

/* available rooms */

.available_rooms {
    margin-top: 37px;
    padding-top: 33px;
    border-top: 0.5px solid #6C8DD5;
}

.rooms_filter {
    display: flex;
    align-items: center;
    column-gap: 23px;
}

.rooms_filter-title {
    font-family: Inter;
    font-size: 18px;
    line-height: 22px;
    color: #000;
}

.rooms_filter-items {
    display: flex;
    align-items: center;
    column-gap: 16px;
}

.rooms_filter-items>span {
    font-family: Inter;
    font-size: 14px;
    line-height: 17px;
    color: #878C97;
    transition: .3s;
    cursor: pointer;
}

.rooms_filter-items>span.active {
    font-family: Inter;
    font-size: 14px;
    line-height: 17px;
    color: #092E7B;
    text-decoration: underline;
    text-underline-offset: 3px;
    pointer-events: none;
}

.rooms_filter-items>span:hover {
    color: #092E7B;
}

/* rooms cards */

.rooms_cards {
    margin-top: 27px;
    display: flex;
    gap: 8px;
}

.rooms_card {
    padding: 7px 7px 7px;
    display: flex;
    flex-direction: column;
    width: 290px;
    background: #FFF;
    border-radius: 10px;
    border: 0.25px solid #878C97;
}

.rooms_card-title {
    padding: 0 8px 0 5px;
    margin-top: 14px;
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
}

.rooms_card-title>span {
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    line-height: 19px;
    color: #000;
    width: 110px;
    flex-shrink: 0;
}

.rooms_card .stay_card-price {
    position: static;
}

.rooms_card-slider-wrapper {
    position: relative;
    flex-shrink: 0;
    width: 100%;
    border-radius: 5px;
    overflow: hidden;
}

.rooms_card-slider-item {
    margin-right: 20px;
    width: 275px;
    height: 147px;
}

.rooms_card-slider-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rooms_card-slider-wrapper .slider-nav {
    width: calc(100% - 30px);
}

.slider-arrow {
    background: rgba(9, 46, 123, 0.5);
    backdrop-filter: blur(1px);
}

.slider-arrow:hover {
    background: rgba(9, 46, 123, 1);
    backdrop-filter: none;
}

.rooms_card-slider .slick-dots {
    bottom: 8px;
}

.rooms_card-slider .slick-dots li {
    margin: 0 2.5px;
}

.rooms_card-amenities {
    margin-top: 18px;
    padding: 0 8px;
    display: flex;
    flex-direction: column;
}

.rooms_card-amenities>span {
    position: relative;
    padding-left: 18px;
    font-family: Inter;
    font-size: 12px;
    line-height: 25px;
    color: #878C97;
}

.rooms_card-amenities>span::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 9px;
    height: 9px;
    border-radius: 100%;
    background: #D9D9D9;
}

.rooms_card .view_all {
    margin-top: 7px;
    padding: 0 8px;
}

.card_bottom {
    margin-top: 42px;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 20px;
}

.card_bottom .btn {
    width: 88px;
}

.card_bottom .stay_card-total {
    margin: 0;
}

/* check in / out time */

.check_time {
    margin-top: 41px;
    padding: 21px 20px 20px 26px;
    background: #E6EEFF;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.check_time-items {
    display: flex;
    align-items: center;
    column-gap: 24px;
}

.check_time-item {
    display: flex;
    align-items: center;
    column-gap: 14px;
}

.check_time-icon {
    display: flex;
    flex-shrink: 0;
    height: 21px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDE2IDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xNS4zNTM2IDQuMzUzNTVDMTUuNTQ4OCA0LjE1ODI5IDE1LjU0ODggMy44NDE3MSAxNS4zNTM2IDMuNjQ2NDVMMTIuMTcxNiAwLjQ2NDQ2NkMxMS45NzYzIDAuMjY5MjA0IDExLjY1OTcgMC4yNjkyMDQgMTEuNDY0NSAwLjQ2NDQ2NkMxMS4yNjkyIDAuNjU5NzI4IDExLjI2OTIgMC45NzYzMSAxMS40NjQ1IDEuMTcxNTdMMTQuMjkyOSA0TDExLjQ2NDUgNi44Mjg0M0MxMS4yNjkyIDcuMDIzNjkgMTEuMjY5MiA3LjM0MDI3IDExLjQ2NDUgNy41MzU1M0MxMS42NTk3IDcuNzMwOCAxMS45NzYzIDcuNzMwOCAxMi4xNzE2IDcuNTM1NTNMMTUuMzUzNiA0LjM1MzU1Wk0xNSAzLjVMLTkuMDk5NjNlLTA3IDMuNUwtOS45NzM4NmUtMDcgNC41TDE1IDQuNUwxNSAzLjVaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K");
    background-repeat: no-repeat;
}

#check_in {
    width: 23px;
    justify-content: flex-end;
    background-position: 0 8px;
}

#check_out {
    width: 26px;
    justify-content: flex-start;
    background-position: 100% 8px;
}

.check_time-item>span {
    font-family: Inter;
    font-size: 14px;
    line-height: 17px;
    cursor: #000;
}

.refund_policy-link {
    display: flex;
    align-items: center;
    column-gap: 5px;
    font-family: Inter;
    font-size: 14px;
    line-height: 17px;
    color: #092E7B;
    text-decoration-line: underline;
    text-decoration-color: transparent;
    text-underline-offset: 3px;
    transition: .3s;
}

.refund_policy-link:hover {
    text-decoration-color: inherit;
}
/* ============================================================
   Gimmonix hotel search & results fixes
   ============================================================ */

/* --- Search form: constrain width, don't overflow the page --- */
.gimmonix-search-form {
    min-width: unset;
    width: 100%;
    max-width: 100%;
    padding: 16px 40px;
    box-sizing: border-box;
}

.gimmonix-search-form .search-form {
    width: 100%;
}

.gimmonix-search-form .search_form_field_row {
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap;
    gap: 0;
    /* Cancel Bootstrap .row negative margins */
    margin-left: 0;
    margin-right: 0;
}

.gimmonix-search-form .place-input-wrapper {
    flex: 1 1 240px;
    min-width: 0;
}

.gimmonix-search-form .place-input-wrapper input.place-input {
    width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
    padding-left: 16px;
}

.gimmonix-search-form .form-group {
    flex: 1 1 140px;
    min-width: 0;
}

.gimmonix-search-form .search-form-button-wrapper {
    flex: 0 0 auto;
}

.gimmonix-search-form .dates-popup {
    display: none !important;
}

.gimmonix-search-form .flatpickr-wrapper {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    background: transparent;
    border-radius: 8px;
    padding: 10px;
}

/* --- Results layout: prevent filter sidebar border bleeding behind cards --- */
.stays_wrapper {
    align-items: flex-start;
    position: relative;
}

.stays_filter-box {
    flex-shrink: 0;
    width: 280px;
    position: sticky;
    top: 20px;
    align-self: flex-start;
    overflow: hidden;
}


/* --- Package cards: wrap on smaller screens, cap width --- */
.rooms_cards {
    flex-wrap: wrap;
}

.rooms_card {
    flex: 1 1 260px;
    min-width: 220px;
    max-width: 340px;
    width: auto;
    box-sizing: border-box;
}

/* Package card price + title layout tweak */
.rooms_card-title {
    flex-wrap: wrap;
    gap: 6px;
}

.rooms_card-amenities {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;
}

/* ============================================================
   Responsive breakpoints
   ============================================================ */

/* Tablet: 768px – 1024px */
@media only screen and (max-width: 1024px) {
    .stays_filter-box {
        width: 240px;
        position: static;
    }

    .rooms_card {
        flex: 1 1 220px;
        max-width: 50%;
    }
}

/* Mobile: < 768px */
@media only screen and (max-width: 768px) {
    /* Search form stacks vertically */
    .gimmonix-search-form .search_form_field_row {
        flex-direction: column !important;
        border-radius: 14px;
    }

    .gimmonix-search-form .place-input-wrapper,
    .gimmonix-search-form .form-group {
        width: 100%;
        flex: unset;
        border-bottom: 1px solid #E2E8F0;
    }

    .gimmonix-search-form .place-input-wrapper.v-line-after::after,
    .gimmonix-search-form .dates-input.v-line-after::after {
        display: none;
    }

    .gimmonix-search-form .search-form-button-wrapper {
        width: 100%;
        padding: 12px 16px;
    }

    .gimmonix-search-form .search-form-button-wrapper .btn {
        width: 100%;
        height: auto !important;
    }

    /* Results: stack filter above cards */
    .stays_wrapper {
        flex-direction: column;
        gap: 20px;
    }

    .stays_filter-box {
        width: 100%;
        position: static;
    }

    .stays {
        padding: 24px 0 60px;
    }

    /* Package cards: single column on mobile */
    .rooms_cards {
        flex-direction: column;
    }

    .rooms_card {
        width: 100%;
        max-width: 100%;
        flex: unset;
    }

    /* Hotel info: stack on mobile */
    .hotel_info {
        flex-direction: column;
        gap: 24px;
    }

    .hotel_map {
        width: 100%;
    }

    /* Hotel photos: horizontal scroll on mobile */
    .hotel_photos {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 8px;
    }

    .hotel_photos img {
        flex-shrink: 0;
        width: 240px !important;
    }

    /* Hotel cards: stack image above info on mobile */
    .stay_card {
        flex-direction: column;
        align-items: stretch;
        padding: 0 0 12px;
        overflow: hidden;
    }

    .stay_card-slider-wrapper {
        width: 100%;
        border-radius: 14px 14px 0 0;
    }

    .stay_card-slider-item {
        width: 100%;
        height: 200px;
    }

    .stay_card-info {
        padding: 12px 14px 0;
    }

    .stay_card-stars {
        margin-top: 12px;
    }

    .stay_card-price {
        position: static;
        flex-direction: row;
        align-items: baseline;
        gap: 6px;
        margin-top: 10px;
    }
}

/* Override search_flight.css min-width for the hotel search form specifically */
.search-form-wrapper.gimmonix-search-form {
    min-width: unset !important;
    width: 100%;
    max-width: 100%;
}

/* ============================================================
   Gimmonix search form – selected field state (floating label)
   ============================================================ */

/* When a date or travelers field is selected, keep the placeholder
   visible as a small label at the top */
.gimmonix-search-form .dates-input.selected .dates-placeholder,
.gimmonix-search-form .travelers-input.selected .travelers-placeholder {
    display: block !important;
    font-size: 10px;
    font-weight: 600;
    color: #092E7B;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
    line-height: 1.2;
}

/* Style the selected value text */
.gimmonix-search-form .dates-input.selected .dates-summary,
.gimmonix-search-form .travelers-input.selected .travelers-summary {
    display: block !important;
    font-size: 14px;
    font-weight: 600;
    color: #1a202c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.3;
}

/* Hide the inline edit pencil icon — the whole field is already clickable */
.gimmonix-search-form .dates-input.selected .edit-icon,
.gimmonix-search-form .travelers-input.selected .edit-icon {
    display: none !important;
}

/* Keep the dates-input layout as a flex column so label stacks above value */
.gimmonix-search-form .dates-input,
.gimmonix-search-form .travelers-input {
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
}

/* Give the hotel-id input a matching floating-label look when filled */
.gimmonix-search-form .place-input-wrapper input.place-input {
    font-size: 14px;
    font-weight: 500;
    color: #1a202c;
    border: none;
    outline: none;
    background: transparent;
    height: 100%;
}

.gimmonix-search-form .place-input-wrapper input.place-input::placeholder {
    font-size: 13px;
    color: #9ca3af;
    font-weight: 400;
}

/* Hotel photo gallery */
.hotel_photo-img {
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

@media only screen and (max-width: 768px) {
    .hotel_photo-img {
        width: 240px;
        height: 160px;
    }
}

/* ============================================================
   Package cards – redesigned
   ============================================================ */

.pkg-cards-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
}

.pkg-card {
    background: #fff;
    border-radius: 14px;
    border: 0.5px solid #DDE6F9;
    padding: 20px 24px 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.pkg-card:hover {
    border-color: #6C8DD5;
    box-shadow: 0 4px 20px rgba(9, 46, 123, 0.08);
}

/* Header: room name left, price right */
.pkg-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.pkg-card__title-group {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.pkg-card__room-name {
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    color: #0F0A02;
    white-space: normal;
}

.pkg-card__room-class {
    font-family: Inter;
    font-size: 12px;
    font-weight: 400;
    color: #878C97;
    line-height: 16px;
}

.pkg-card__price-group {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
}

.pkg-card__price {
    font-family: Inter;
    font-size: 22px;
    font-weight: 600;
    color: #092E7B;
    line-height: 27px;
    white-space: nowrap;
}

.pkg-card__price-label {
    font-family: Inter;
    font-size: 11px;
    color: #878C97;
    line-height: 14px;
    text-align: right;
}

/* Thin divider */
.pkg-card__divider {
    height: 1px;
    background: #F0F4FF;
    margin: 0 -4px;
}

/* Attribute pills row */
.pkg-card__attrs {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.pkg-card__attr {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: Inter;
    font-size: 13px;
    color: #485061;
    line-height: 16px;
    white-space: nowrap;
}

.pkg-card__attr-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Badges row */
.pkg-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.pkg-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px 3px 8px;
    border-radius: 20px;
    font-family: Inter;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
}

.pkg-card__badge svg {
    width: 10px;
    height: 10px;
    flex-shrink: 0;
}

.pkg-card__badge--green {
    background: #ECFDF3;
    color: #027A48;
}

.pkg-card__badge--red {
    background: #FEF3F2;
    color: #B42318;
}

.pkg-card__badge--gold {
    background: #FFFAEB;
    color: #B54708;
}

.pkg-card__badge--grey {
    background: #F2F4F7;
    color: #344054;
}

.pkg-card__badge-sub {
    font-weight: 400;
    opacity: 0.8;
}

/* Taxes row */
.pkg-card__taxes {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-family: Inter;
    font-size: 11px;
    color: #878C97;
    line-height: 16px;
}

/* Footer: CTA button */
.pkg-card__footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 4px;
}

.pkg-card__form {
    margin: 0;
}

.pkg-card__reserve-btn {
    min-width: 110px;
    padding: 9px 24px;
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    border-radius: 10px;
}

/* Mobile */
@media only screen and (max-width: 768px) {
    .pkg-card {
        padding: 16px;
        gap: 12px;
    }

    .pkg-card__header {
        flex-direction: column;
        gap: 8px;
    }

    .pkg-card__price-group {
        align-items: flex-start;
        flex-direction: row;
        align-items: baseline;
        gap: 6px;
    }

    .pkg-card__price {
        font-size: 20px;
    }

    .pkg-card__footer {
        justify-content: stretch;
    }

    .pkg-card__reserve-btn {
        width: 100%;
    }
}
