/* --- 公共修复与自定义样式 --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
.header01 { position: relative; z-index: 1000; background-color: rgba(0, 0, 0, 0.2); }
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.85); z-index: 2000; }
.modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80vw; max-width: 1200px; aspect-ratio: 16 / 9; }
.close { position: absolute; top: 15px; right: 35px; color: white; font-size: 40px; cursor: pointer; z-index: 2001; }
.preloader.hidden { opacity: 0; visibility: hidden; transition: opacity 0.5s ease-in-out, visibility 0s 0.5s; }
.backtotop { display: none; } /* 默认隐藏返回顶部按钮，由JS控制 */

/* --- 移动端菜单样式 --- */
@media (max-width: 991px) {
    .header01 .navArea { min-height: 60px; display: flex; align-items: center; justify-content: space-between; width: 100%; }
    .mainMenu { display: none; }
    .mobileMenu { display: block; }
    .mobileMenu .menu-trigger { display: block !important; width: 40px !important; height: 40px !important; position: relative; cursor: pointer; }
    .mobileMenu .menu-trigger span { display: block !important; position: absolute !important; width: 25px !important; height: 3px !important; background-color: #ffffff !important; left: 50%; transform: translateX(-50%); border-radius: 2px; transition: all 0.3s; }
    .mobileMenu .menu-trigger span:nth-child(1) { top: 10px !important; }
    .mobileMenu .menu-trigger span:nth-child(2) { top: 19px !important; }
    .mobileMenu .menu-trigger span:nth-child(3) { top: 28px !important; }
    header.header01 .mainMenu.menu-is-open { display: block !important; position: absolute !important; top: 65px !important; right: 15px !important; left: auto !important; width: 200px !important; background-color: rgba(40, 40, 40, 0.9) !important; border-radius: 8px !important; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2) !important; padding: 8px 0 !important; z-index: 999 !important; backdrop-filter: blur(5px) !important; }
    .mainMenu.menu-is-open ul { list-style: none; padding: 0; margin: 0; }
    .mainMenu.menu-is-open ul li a { display: block; padding: 12px 20px; color: #fff; text-decoration: none; text-align: left; border-bottom: 1px solid #555; }
}
/* --- 【终极覆盖版】移动端模态框优化样式 --- */
/* --- 【最强力版】移动端模态框优化样式 --- */
/* --- 【最终版】移动端模态框优化样式 --- */
@media (max-width: 767px) {
    /* 针对 research-single.html 的模态框 */
    #researchDetailModal .modal-dialog {
        width: 95vw !important;
        max-width: 95vw !important;
        margin: 10px auto !important;
    }
    #researchDetailModal .modal-body {
        font-size: 15px;
    }
    #researchDetailModal .modal-body h3 {
        font-size: 1.25rem;
    }

    /* 针对 index.html 的视频播放模态框 */
    #myModal .modal-content {
        width: 95vw;
        max-width: 95vw;
        height: auto;
        aspect-ratio: 16 / 9;
    }
}