.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;
}
.rso_price_stack > span,
.rso_price_stack > div{
        display: block;
}
.rso_price_main{
        color: #B10A32;
        font-size: 30px;
        line-height: 34px;
        font-weight: 600;
}
.rso_price_sub{
        color: #142640;
        font-size: 16px;
        line-height: 24px;
        white-space: nowrap;
}
.rso_text{
        border-left: 1px solid #cccccc;
        text-align: center;
        max-width: 250px;
}
th {
        padding: 15px;
        text-align: center;
        background-color: #142640;
        color: white;
        font-weight: 600;
}
.rso_room_type{
        padding-left: 18px;
        padding-right: 9px;
        text-align: left;
}
.rso_discount{
        padding-left: 9px;
        padding-right: 9px;
}
.rso_badge{
        padding-left: 9px;
        padding-right: 9px;
}
.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_discount{
                padding-left: 0px;
                padding-right: 0px;   
        }
        .rso_badge{
                padding-left: 0px;
                padding-right: 0px;   
        }
        .rso_price_main{
                font-size: 22px;
                line-height: 26px;
        }
        .rso_price_sub{
                font-size: 12px;
                line-height: 18px;
                white-space: normal;
        }
        .rso_text{
                max-width: 110px;
                width: 100px;
        }
        .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;
}
