@charset "utf-8";
body {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    padding-top: 5.0rem;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: 700;
}

.card {
    border-radius: 0.8rem!important;
}

.card-img-overlay {
    border-radius: 0.8rem!important;
}

.rounded-xl {
    border-radius: 0.8rem!important;
}

.rounded-xl-bottom {
    border-bottom-right-radius: 0.8rem !important;
    border-bottom-left-radius: 0.8rem !important;
}

.rounded-xl-top {
    border-top-left-radius: 0.8rem !important;
    border-top-right-radius: 0.8rem !important;
}

.text-profile-position {
    font-weight: 400;
}

.text-profile-bio {
    font-weight: 400;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* 主姓名样式 */
.primary-name {
    font-family: "Playfair Display", "Georgia", serif !important;
    font-weight: 600;
    letter-spacing: 1px;
}

.navbar {
    opacity: 0.95;
}

.inline-badge {
    height: 16px;
    vertical-align: -10%;
    margin-right: 2px;
    line-break: unset;
}

.no-break {
    white-space: nowrap;
}

/* PC 端 cover-image 规则 */
.cover-image {
    width: 180px;
    max-height: 120px;
    object-fit: cover;
    margin: 0 auto;
    overflow: hidden;
}

/* 确保 PC 端 div 内图片正常显示 */
.cover-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.abstract-body {
    min-height: 100px;
}

img.lazy, div.lazy {
    background-image: url('images/loading.gif');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 50px 50px;
    min-height: 80px;
}

.badge-publication {
    font-size: 100%;
}

.email-text {
    font-family: Courier, monospace;
}

/* 访客统计样式 */
.visitor-stats {
    padding: 15px 0;
    border-top: 1px solid #e9ecef;
}

.visitor-stats img {
    width: 300px;
    height: 152px;
    border: none;
    object-fit: fill; 
}

/* === 移动端修复开始 === */
@media (max-width: 768px) {

    /* 通用防溢出 */
    img {
        max-width: 100%;
        height: auto;
    }

    /* ✅ 兼容 img 直接使用 cover-image 的情况 */
    img.cover-image {
        width: 90%;
        height: auto;
        max-width: 320px;
        border-radius: 0.8rem;
        display: block;
        margin: 0 auto;
        object-fit: cover;
        object-position: center;
    }

    /* ✅ 若某些页面用 div.cover-image 包裹，也能兼容 */
    .cover-image {
        width: 90%;
        max-width: 320px;
        margin: 0 auto;
        border-radius: 0.8rem;
        overflow: hidden;
    }

    .cover-image img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    /* === 移动端头像修复 === */
    .profile-portrait-mobile {
        width: 80%;
        height: auto !important;  /* 取消原有固定高度 */
        max-width: 260px;
        border-radius: 0.8rem;
        display: block;
        margin: 10px auto;
        object-fit: cover;
        object-position: center;
    }

    /* 访客统计区 */
    .visitor-stats {
        padding: 10px 0;
    }

    .visitor-stats img {
        width: 100%; 
        max-width: 250px;
        height: auto;
    }
}
/* === 移动端修复结束 === */
