﻿.zone-content {
    width: 100%;
    height: 100%;
    background-color: #F5F5F5;
}

.zone-nav {
    width: 9rem;
    height: 1rem;
    /*background-color: #fff;*/
    margin: 0 auto;
    position: relative;
    /*bottom: .5rem;
    box-shadow: 0px 0px 8px 0px rgba(116, 116, 116, 0.24);*/
}

/*patient*/

.hzkp1 {
    width: 89%;
    height: 100%;
    display: flex;
    padding: 0 1rem;
    margin-bottom: .5rem;
    margin-top: .7rem;
}

.onvideo {
    position: relative;
    width: 10rem;
    bottom: .4rem;
    height: 5.63rem;
}

.right-p {
    color: #666666;
    font-size: .5rem;
    float: right;
    margin-right: 2.5rem;
    margin-top: .5rem;
}

.right-span {
    color: #868585;
    font-size: .4rem;
    float: right;
    margin-right: 1rem;
}

.right-span-en {
    color: #868585;
    font-size: .35rem;
    float: right;
    margin-right: 1rem;
}

.onvideo source {
    width: 100%;
    height: 100%;
}

.one {
    height: 2rem;
    width: 4.5rem;
    position: relative;
    border-top: 1px solid rgba(250,177,61,1);
}

.one-span {
    width: .5rem;
    display: block;
    margin-left: 3rem;
    margin-top: 1.5rem;
    border-bottom: 2px solid #47A159;
}

.zone-hzkpl {
    width: 50%;
    height: 5rem;
    box-shadow: 1px 1px 6px #ccc;
}

.zone-hzkpl1 {
    width: 50%;
    height: 5rem;
    box-shadow: 1px 1px 6px #ccc;
}

.zone-hzkpl2 {
    width: 50%;
    height: 5rem;
    box-shadow: 1px 1px 6px #ccc;
}


.zone-right {
    width: 44%;
    height: 4rem;
    box-shadow: 1px 1px 6px #ccc;
    background-color: #fff;
    padding: .5rem;
}

.zone-right1 {
    width: 44%;
    height: 4rem;
    box-shadow: 1px 1px 6px #ccc;
    background-color: #fff;
    padding: .5rem;
}

.zone-right2 {
    width: 44%;
    height: 3.98rem;
    box-shadow: 1px 1px 6px #ccc;
    background-color: #fff;
    padding: .5rem;
}

.zone-h3 {
    font-size: .25rem;
    color: rgba(51, 152, 69, 1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zone-p {
    font-size: .15rem;
    color: #444;
    height: 1rem;
    line-height: 1rem;
}

.zone-p1 {
    font-size: .22rem;
    color: rgba(119, 123, 126, 1);
    line-height: .4rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.see-more02 {
    font-size: 0.14rem;
    padding: 0.1rem 0.2rem;
    border-radius: 4px;
    color: #47A157;
    border: 1px solid rgba(71,161,87,1);
}

    .see-more02:hover {
        font-size: 0.14rem;
        padding: 0.1rem 0.2rem;
        border-radius: 4px;
        color: #ffffff;
        background-color: #47A157
    }


/* 导航切换按钮 */
.tabs {
    position: absolute;
    left: 50%;
    top: -0.6rem;
    margin-left: -3.44rem;
    width: 6.88rem;
    height: 1.2rem;
    background: #fff;
    box-shadow: 0px 0px 0.23rem 1px rgba(135, 139, 132, 0.24);
    border-radius: 0.06rem;
}

.item {
    cursor: pointer;
    position: relative;
    float: left;
    width: 33%;
    line-height: 1.2rem;
    text-align: center;
    color: #999999;
    font-size: 0.24rem;
    font-weight: bold;
}

    .item:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        width: 1px;
        height: 0.7rem;
        background: #EEEEEE;
    }

    .item.active {
        color: #47A159;
    }

        .item.active::before {
            content: '';
            position: absolute;
            left: 50%;
            bottom: 0;
            transform: translateX(-50%);
            width: 1rem;
            height: 0.02rem;
            background: #47A159;
        }

.tab-content {
    display: none;
}

/* 导航切换内容 */
.tab-content-a {
    position: relative;
}

.tab-content-b {
    position: relative;
}

.tab-content-c {
    position: relative;
}


/* faq */

.faq-ul {
    width: 95%;
    height: 100%;
    padding: 0 .3rem;
}

.faq-ul li {
    width: 43.5%;
    margin-left: .7rem;
    margin-top: .4rem;
    background: rgba(255, 255, 255, 1);
    border: 1px solid rgba(238, 238, 238, 1);
    border-radius: 4px;
    float: left;
}

.faq-li {
    width: 43.5%;
    height: 1rem;
    float: left;
    border: 1px solid red;
    margin-left: .7rem;
    margin-top: .4rem;
    padding: .2rem;
    background: rgba(255, 255, 255, 1);
    border: 1px solid rgba(238, 238, 238, 1);
    border-radius: 4px;
    margin-bottom: 2rem;
}

.faq-ul li h2 {
    font-size: .22rem;
    color: #4E4E4E;
    padding-left: .2rem;
}

.introduce-p {
    font-size: .2rem;
    color: #3C3C3C;
    margin-top: .1rem;
    margin-left: .3rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 75%;
    padding-left: .2rem;
    padding-bottom: .2rem;
}

.details-p {
    font-size: .2rem;
    color: #3C3C3C;
    margin-top: .1rem;
    margin-left: .3rem;
}

.img-open {
    width: .8rem;
    height: 1rem;
    line-height: 1rem;
    float: right;
    margin-top: -1rem;
    border-left: 1px solid rgba(238,238,238,1);
    color: rgb(191, 191, 191);
    padding-left: .3rem;
    padding-right: .3rem;
    text-align: center;
}

.img-open .icon.iconfont {
    font-size: .3rem !important;
}

#div-close {
    width: 18%;
    height: 100%;
    background-color: #47A159;
    margin: auto;
    border-radius: 0px 4px 4px 0px;
    vertical-align: middle;
    margin-top: -1px;
    text-align: center;
    line-height: 370px;
    color: #ffffff;
}

.details {
    height: 3.7rem;
    width: 100%;
    background: rgba(255,255,255,1);
    position: relative;
    margin-top: -.2rem;
    box-shadow: 0px 0px 13px 1px rgba(161,161,161,0.2);
    border-radius: 4px;
}

.details h1 {
    font-size: .22rem;
    height: .7rem;
    color: #4E4E4E;
    line-height: .8rem;
    margin-left: .3rem;
}

.faq-ul .faq-Close img {
    width: .5rem;
    height: .5rem;
    float: right;
    border-left: 1px solid rgba(238,238,238,1);
    padding-left: .55rem;
    padding-right: .44rem;
    margin-top: 1.5rem;
}

.faq-Close {
    height: 100%;
    width: 16%;
    overflow: hidden;
    float: right;
    background-color: #47A159;
    margin-top: -3.07rem;
    border-radius: 4px;
}

.details p {
    font-size: .2rem;
    color: #3C3C3C;
    margin: .3rem .3rem;
    line-height: .26rem;
}

.detection li {
    list-style: none;
}

.testing1 {
    padding: .4rem 2rem;
    position: relative;
    overflow: hidden;
}

    .testing1 > img {
        width: 7.19rem;
        height: 9.31rem;
        position: absolute;
        left: 2rem;
        top: .4rem;
        z-index: 3;
    }

.agree-checkbox-label {
    vertical-align: middle;
    box-sizing: border-box;
}

.agree-checkbox-text {
    vertical-align: middle;
    user-select: none;
}

input[type=checkbox].agreeProtocol {
   visibility: hidden;
   width:0;
}

.sp-checkbox {
    box-sizing: border-box;
    display: inline-block;
    margin-top: .01rem;
    margin-right:.05rem;
    width: .28rem;
    height: .28rem;
    width: .28rem;
    border: 2px solid #0E0E0E;
    border-radius: 2px;
    vertical-align: middle;
}

.sp-checkbox.checked{
    background: url(../../img/patient/check.png) no-repeat;
    background-position:center center;
    background-size: 90% auto;
}

.detection {
    width: 10rem;
    min-height: 9.6rem;
    float: right;
    margin-top: .5rem;
    margin-bottom: 2rem;
    padding-left: 3.8rem;
    padding-right: 1rem;
    padding-bottom: .5rem;
    background: rgba(255, 255, 255, 1);
    box-shadow: 0px 0px 13px 1px rgba(161, 161, 161, 0.2);
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

.detectionp {
    height: .8rem;
    font-size: .25rem;
    margin-top: .45rem;
    font-weight: bold;
    color: rgba(71, 161, 89, 1);
    line-height: 1.5;
}

.detection-li {
    height: .94rem;
    font-size: .21rem;
    color: #666666;
    line-height: .5rem;
    margin-top: .25rem;
    border-bottom: 1px solid rgba(238,238,238,1);
}

.upload {
    display: none;
    font-size: .2rem;
    width: 1.4rem;
    height: .48rem;
    border: 1px solid rgba(71, 161, 87, 1);
    border-radius: 2px;
    margin-top: .45rem;
}

.red {
    color: red;
}

.protocol-wrap {
    margin-top: .45rem;
    font-size: .24rem;
    font-weight: bold;
    color: #333333;
}

    .protocol-wrap .protocol-detail-btn {
        display: inline-block;
        color: #1A9DE0;
        vertical-align: bottom;
        cursor: pointer;
    }


    .disable-submit-btn.upload {
        display: block;
        border: 1px solid rgba(71, 161, 87, .5);
        color: rgba(71, 161, 87, .5);
    }

.disable-submit-btn .detection-span {
    width: 100%;
    color: rgba(71, 161, 87, .5);
    margin: .08rem auto;
}

    .detection-span {
        display: block;
        text-align: center;
        color: rgba(71, 161, 87, 1);
        margin: .09rem auto;
        background: none;
        outline: none;
        border: 0px;
        width: auto;
    }

.submit-btn .detection-span:hover {
    background-color: rgba(71, 161, 87, 1);
    color: #fff;
}

.detection-li input {
    width: 100%;
    border: none;
    outline: medium;
}

.captcha-li {
    height: auto;
    padding-bottom: 10px;
}

.captcha-li input {
    width: 120px;
}

.captcha-li img {
    width: 120px;
    height: 40px;
}

.detection-li select {
    width: 100%;
    border: none;
    outline: medium;
}

@font-face {
    font-family: 'iconfont';
    src: url('./Icon/iconfont.eot');
    src: url('./Icon/iconfont.eot?#iefix') format('embedded-opentype'), url('./Icon/iconfont.woff2') format('woff2'), url('./Icon/iconfont.woff') format('woff'), url('./Icon/iconfont.ttf') format('./Icon/truetype'), url('./Icon/iconfont.svg#iconfont') format('svg');
}

.iconfont {
    font-family: "iconfont" !important;
    font-size: 40px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.tab-content {
    min-height:3rem;
}

.protocol-dialog {
    z-index:999;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height: 100vh;
    padding-top:10%;
    background: rgba(0,0,0,.85);
}

.protocol-dialog-content {
    margin: 0 auto;
    width: 8.02rem;
    height: 5.6rem;
    padding: .41rem .58rem 0;
    background: #fff;
    border-radius: .08rem;
}

.protocol-dialog-title {
    font-size: .26rem;
    color: #333333;
    text-align: center;
    font-weight: bold;
}

.protocol-dialog-text {
    overflow-y: scroll;
    margin-top: .41rem;
    margin-bottom: .31rem;
    height: 3.64rem;
    color: #333333
}
.protocol-dialog-text p {
        font-size: .14rem;
        font-size: .16rem;
}    
.protocol-dialog-text .p1 {
        font-weight: bold;
       
}
.protocol-dialog-text .p2 {
        position: relative;
        padding-left: .1rem;
        margin-top: .3rem;
        font-size: .16rem;
        font-weight: bold;
}
p.ql-indent-1 {
    text-indent: .2rem;
}

.protocol-dialog-text .p2::before {
    content: ' ';
    position: absolute;
    left: 0;
    top: .08rem;
    display: block;
    width: .04rem;
    height: .14rem;
    background: #34B95F;
}
.read-btn-wrap {
    text-align:center;
}
.read-btn {
    display: inline-block;
    margin: 0;
    border-radius: .19rem;
    padding: .08rem .22rem;
    text-align: center;
    font-size: .15rem;
    color: #fff;
    background: #47A159;
    cursor: pointer;
}

/* ========== 手机端适配 ========== */
@media only screen and (max-width: 768px) {
    /* 导航标签 */
    .zone-nav {
        width: 100%;
        height: auto;
        padding-top: 60px;
    }
    .tabs {
        width: 90%;
        height: auto;
        position: relative;
        left: auto;
        top: auto;
        margin: 0 auto;
        margin-left: 5%;
        display: flex;
    }
    .item {
        float: none;
        width: 33.33%;
        line-height: 44px;
        font-size: 14px;
    }
    .item.active::before {
        width: 40px;
        height: 2px;
    }

    /* FAQ 列表：单列布局 */
    .faq-ul {
        width: 100%;
        padding: 0 10px;
    }
    .faq-ul li {
        width: 100%;
        float: none;
        margin-left: 0;
        margin-top: 10px;
        padding: 0;
        overflow: hidden;
    }
    .faq-ul li h2 {
        font-size: 14px;
        padding: 10px 40px 0 10px;
    }
    .introduce {
        position: relative;
    }
    .introduce-p {
        font-size: 13px;
        margin-left: 0;
        padding: 6px 40px 10px 10px;
        width: 100%;
        box-sizing: border-box;
    }
    .img-open {
        width: 36px;
        height: 100%;
        line-height: 36px;
        margin-top: 0;
        padding-left: 8px;
        padding-right: 4px;
        border-left: 1px solid #eee;
        position: absolute;
        right: 0;
        top: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .img-open .icon.iconfont {
        font-size: 18px !important;
    }
    /* FAQ 展开详情 */
    .details {
        height: auto !important;
        min-height: 60px;
        display: flex !important;
        flex-direction: row;
        overflow: hidden;
    }
    .details > div:first-child {
        width: calc(100% - 44px) !important;
        float: none !important;
    }
    .details h1 {
        font-size: 14px;
        height: auto;
        line-height: 1.6;
        margin-left: 10px;
        padding: 5px 0;
    }
    .details > div:first-child > div[style] {
        width: 90% !important;
        margin-left: 10px !important;
    }
    .details p,
    .details .details-p {
        font-size: 13px;
        margin: 8px 10px;
        line-height: 1.6;
    }
    #div-close {
        width: 44px !important;
        min-width: 44px;
        float: none !important;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: normal;
    }
    #div-close .icon.iconfont {
        font-size: 18px !important;
    }
    .faq-Close {
        width: 40px;
        margin-top: auto;
    }
    .faq-Close .icon.iconfont {
        font-size: 18px !important;
    }
    .faq-ul .faq-Close img {
        width: 20px;
        height: 20px;
        padding-left: 12px;
        padding-right: 8px;
        margin-top: 20px;
    }

    /* 患者科普 */
    .hzkp1 {
        flex-direction: column;
        padding: 0 10px;
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .zone-hzkpl, .zone-hzkpl1, .zone-hzkpl2 {
        width: 100%;
        height: auto;
    }
    .zone-right, .zone-right1, .zone-right2 {
        width: 100%;
        height: auto;
        padding: 10px;
    }
    .onvideo {
        width: 100%;
        height: auto;
        bottom: 0;
    }
    .zone-h3 { font-size: 15px; }
    .zone-p { font-size: 13px; height: auto; line-height: 1.6; }
    .zone-p1 { font-size: 13px; line-height: 1.6; margin-bottom: 10px; }
    .see-more02 { font-size: 13px; padding: 6px 14px; }
    .one { height: auto; width: auto; }
    .one-span { margin-left: 0; margin-top: 10px; }
    .right-p { font-size: 14px; margin-right: 10px; margin-top: 10px; }
    .right-span { font-size: 13px; margin-right: 10px; }

    /* 我要检测：保持左右布局 */
    .testing1 {
        padding: 10px !important;
        display: flex !important;
        flex-direction: row !important;
        overflow: visible !important;
        gap: 10px;
    }
    .testing1 > img {
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: 35% !important;
        height: auto !important;
        object-fit: cover;
        border-radius: 4px;
        flex-shrink: 0;
        align-self: flex-start;
    }
    .detection {
        width: 65% !important;
        float: none !important;
        height: auto !important;
        padding: 10px !important;
        padding-right: 10px !important;
        margin-top: 0 !important;
        margin-bottom: 20px;
        box-shadow: 0 0 8px rgba(0,0,0,0.1);
    }
    .detectionp {
        height: auto;
        font-size: 12px;
        margin-top: 6px;
        line-height: 1.4;
    }
    .detection-li {
        height: auto;
        font-size: 12px;
        line-height: 1.3;
        margin-top: 6px;
        padding-bottom: 5px;
    }
    .detection-li p {
        font-size: 12px;
        margin-bottom: 2px;
    }
    .detection-li input {
        font-size: 12px;
        height: 26px;
    }
    .detection-li select {
        font-size: 12px;
        height: 26px;
    }

    /* 验证码 */
    .captcha-li {
        height: auto !important;
    }
    .captcha-li > div[style] {
        flex-wrap: wrap !important;
        gap: 4px !important;
    }
    .captcha-li input {
        width: 80px !important;
        height: 26px !important;
        font-size: 12px;
        flex: none !important;
    }
    .captcha-li img {
        width: 70px !important;
        height: 26px !important;
    }
    .captcha-li a {
        font-size: 10px !important;
        white-space: nowrap;
    }

    /* 协议和提交按钮 */
    .protocol-wrap {
        font-size: 10px;
        margin-top: 8px;
    }
    .protocol-wrap .protocol-detail-btn {
        font-size: 10px;
    }
    .sp-checkbox {
        width: 14px;
        height: 14px;
        margin-right: 3px;
    }
    .upload {
        width: 100% !important;
        height: auto !important;
        font-size: 14px;
        margin-top: 10px;
        border: none !important;
    }
    .upload.submit-btn {
        display: block;
    }
    .upload .detection-span,
    .upload input[type="submit"] {
        display: block;
        width: 100%;
        padding: 8px 0;
        font-size: 14px;
        color: #fff;
        background: #47A159;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        text-align: center;
    }
    .disable-submit-btn .detection-span {
        display: block;
        width: 100%;
        padding: 8px 0;
        font-size: 14px;
        color: rgba(71, 161, 87, .5);
        background: #eee;
        border: none;
        border-radius: 4px;
        text-align: center;
        margin: 0 auto;
    }

    /* 隐私弹窗 */
    .protocol-dialog-content {
        width: 90%;
        height: 70vh;
        padding: 15px;
    }
    .protocol-dialog-title { font-size: 16px; }
    .protocol-dialog-text { height: calc(70vh - 100px); }
    .protocol-dialog-text p { font-size: 13px; }
    .read-btn { font-size: 14px; padding: 8px 20px; border-radius: 20px; }
}

/* === CSP 兼容：将原本写在元素 style="..." 中的样式提取为 class === */
.faq-section { overflow: hidden; margin-bottom: .6rem; }
.detection-section { overflow: hidden; }
.faq-details-hidden { display: none; }
.faq-details-left { width: 82%; border-radius: 4px; float: left; }
.faq-details-divider { width: 75%; height: 1px; background-color: #47A159; margin-left: 0.3rem; }
.faq-details-indent { text-indent: 2em; }
.faq-details-close { float: left; }

.captcha-wrap { display: flex; align-items: center; gap: 10px; }
.captcha-input-flex { flex: 1; }
.captcha-inline-block { display: inline-block; text-align: center; }
.captcha-img-block { height: 40px; width: 120px; cursor: pointer; border: 1px solid #ccc; display: block; }
.captcha-refresh-link { color: #47A159; font-size: 12px; }

/* 结果弹窗（替代 JS 内联 style）*/
.success-bg { background: #47A159; }
.error-bg { background: #E74C3C; }

