.river_special_offer {
        width: 100%;
        background-color: #f4f4f4;
}

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

.rso_banner img {
        width: 100%;
        height: 100%;
}

.rso_page_nav {
        padding: 22px;
        box-sizing: border-box;
        width: 100%;
        background-color: #142640;
        color: white;
        font-size: 24px;
        line-height: 36px;
        text-align: center;
}

.rso_module_item {
        width: 100%;
        background-color: white;
        padding: 48px 0 24px 0;
        margin-top: 24px;


}

.rso_module_item:first-child {
        margin-top: 0;
}

.rso_module_item_content {
        max-width: 1440px;
        margin: 0 auto;
        padding: 0 96px;
        box-sizing: border-box;
}

.rso_module_item_content.rso_content {
        padding: 0 120px;
}

.rso_title_txt {
        width: 100%;
        font-size: 32px;
        line-height: 37px;
        text-align: center;
        font-family: "HYRunYuan-65J";
        color: #142640;
}

.container {
        width: 100%;
        padding-top: 24px;
}

table {
        width: 100%;
        border-collapse: collapse;
}

tbody {
        border-right: solid 1px #cccccc;
        border-left: solid 1px #cccccc;
}

td {
        padding: 20px 18px;
        color: #142640;
        font-size: 16px;
        line-height: 24px;
        border-bottom: 1px solid #cccccc;
}

.rso_month {
        text-align: center;
        border-right: 1px solid #cccccc;
}

.rso_price {
        border-left: 1px solid #cccccc;
        text-align: center;
}

th {
        padding: 15px;
        text-align: center;
        background-color: #142640;
        color: white;
        font-weight: 600;
}

.rso_room_type {
        padding-left: 102px;
        text-align: left;
}

.highlight {
        color: #B10A32;
}

.rso_note_txt {
        padding-top: 24px;
        color: black;
        font-size: 16px;
        line-height: 28px;
}

.rso_note_txt span {
        color: #B10A32;
}

.rso_btn_box {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        padding-top: 36px;
        width: 100%;
}

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

.rso_btn_list div {
        width: 246px;
        height: 43px;
        line-height: 43px;
        text-align: center;
        font-size: 18px;
        color: white;
        background-color: #142640;
        letter-spacing: 2px;
        margin: 0 28px;
        cursor: pointer;
}

.rso_btn_list div:last-child {
        background-color: #B10A32;
}

.rso_rule_btn {
        cursor: pointer;
        padding-top: 36px;
        font-size: 16px;
        line-height: 28px;
        color: black;
        text-decoration: underline;
}

.rso_note_txts {
        padding-top: 16px;
        padding-bottom: 48px;
        font-size: 20px;
        line-height: 30px;
        color: #142640;
        width: 100%;
        text-align: center;
}

.rso_swiper_img {
        width: 100%;
        cursor: pointer;
}

/* 弹窗 */
.rso_popup {
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
        display: none;
        flex-direction: column;
        justify-content: center;
        align-items: center;
}

.rso_popup_content {
        width: 468px;

}

.rso_close_btn {
        width: 100%;
        display: flex;
        justify-content: flex-end;
        padding-bottom: 24px;
}

.rso_close_btn img {
        cursor: pointer;
}

.rso_popup_box {
        background-color: white;
        padding: 71px 0;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
}

.rso_popup_title {
        font-size: 20px;
        font-weight: 500;
        line-height: 30px;
        color: #142640;
        font-family: 'SourceHanSansCNMedium';
        text-align: center;
}

.rso_popup_code {
        width: 214px;
        height: 214px;
        padding-top: 24px;
}

.rso_popup_code img {
        width: 100%;
        height: 100%;
}

.mobile_box {
        display: none;
}

.rso_swiper .swiper-slide {
        position: relative;
}

.rso_swiper_img_mask {
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45.19%, rgba(0, 0, 0, 0.8) 100%);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        padding-bottom: 36px;
        box-sizing: border-box;
        cursor: pointer;
}

.rso_swiper_img_mask_title {
        font-size: 20px;
        font-weight: 500;
        color: white;
        line-height: 30px;
}

.rso_swiper_img_mask_btn {
        padding-top: 8px;
        position: relative;
        font-size: 14px;
        line-height: 21px;
        color: white;
}

.rso_swiper_img_mask_btn::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: white;
        cursor: pointer;
}

.rso_popup_avatar {
        display: flex;
        flex-direction: column;
        align-items: center;
}

.rso_popup_avatar img {
        width: 54px;
        height: 54px;
}

.rso_popup_avatar_title {
        font-size: 20px;
        color: #142640;
        font-family: 'SourceHanSansCNMedium';
        line-height: 30px;
        padding-top: 8px;
}

.rso_popup_avatar_desc {
        color: #595959;
        font-size: 16px;
        line-height: 24px;
        padding-top: 24px;
        text-align: center;
}

@media (max-width: 1024px) {
        .rso_popup_avatar_title {
                font-size: 18px;
                line-height: 27px;
        }

        .rso_popup_avatar_desc {
                padding-top: 16px;
        }

        .rso_module_item_content {
                padding: 0 16px;
        }

        .rso_module_item_content.rso_content {
                padding: 0 16px;
        }

        .pc_box {
                display: none;
        }

        .mobile_box {
                display: block;
        }

        .rso_page_nav {
                padding: 16px;
                font-size: 16px;
                line-height: 24px;
        }

        .rso_module_item {
                padding: 24px 0 16px 0;

        }

        .rso_title_txt {
                font-size: 18px;
                line-height: 21px;
        }

        .container {
                padding-top: 16px;
        }

        th {
                padding: 8px;
                font-size: 12px;
                line-height: 18px;
        }

        td {
                padding: 8px;
                font-size: 12px;
                line-height: 18px;
        }

        .rso_room_type {
                padding-left: 8px;
        }

        .rso_note_txt {
                padding-top: 16px;
                font-size: 12px;
                line-height: 18px;

        }

        .rso_btn_list {
                flex-direction: column;
                align-items: flex-start;
                gap: 16px;
        }

        .rso_btn_list div {
                margin: 0;

        }

        .rso_btn_box {
                align-items: flex-start;
                padding-top: 24px;
        }

        .rso_rule_btn {
                padding-top: 16px;

        }

        .rso_popup_content {
                width: 100%;

        }

        .rso_popup {
                padding: 0 16px;
                box-sizing: border-box;
        }

        .rso_popup_code {
                width: 164px;
                height: 164px;
        }

        .rso_popup_title {
                font-size: 18px;
                line-height: 27px;
        }

        .rso_note_txts {
                padding-top: 8px;
                padding-bottom: 24px;
                font-size: 14px;
                line-height: 21px;
        }

        .rso_swiper_pagination {
                padding-top: 16px;
                width: 100%;
                display: flex;
                justify-content: space-between;
                align-items: center;
        }

        .rso_swiper_pagination_prev {
                width: 32px;
                height: 32px;
                transform: rotate(180deg);
        }

        .rso_swiper_pagination_prev img {
                width: 100%;
                height: 100%;
        }

        .rso_swiper_pagination_next {
                width: 32px;
                height: 32px;
        }

        .rso_swiper_pagination_next img {
                width: 100%;
                height: 100%;
        }

        .rso_swiper_img_mask {
                padding-bottom: 24px;
        }
}

/* 清除a标签所有默认样式 */
.click_btn_a {
        /* 清除文字颜色（继承父元素） */
        color: inherit;
        /* 清除下划线 */
        text-decoration: none;
        /* 清除点击后的高亮（移动端） */
        -webkit-tap-highlight-color: transparent;
        /* 清除聚焦轮廓线（可选，需自定义:focus样式） */
        outline: none;
        /* 清除默认的鼠标样式（可选） */
        cursor: pointer;
        /* 清除内边距/外边距（可选，根据布局调整） */
        padding: 0;
        margin: 0;
        /* 清除块级/行内差异（可选，根据布局需求） */
        display: inline-block;
        /* 或 block/inline */
        /* 清除边框（部分浏览器默认） */
        border: none;
        background: none;
}

/* 清除:active/:hover默认样式（可选） */
.click_btn_a:hover,
.click_btn_a:active,
.click_btn_a:focus {
        color: inherit;
        text-decoration: none;
        outline: none;
}

/* 清除移动端点击态（兼容） */
.click_btn_a::after {
        content: none;
}