
/* 全局样式变量 */
:root {
    --brand-red: #a83232;
    --text-dark: #1a202c;
    --text-normal: #2d3748;
    --text-light: #718096;
    --background-color: #f8f9fa;
    --border-color: #eef2f7;
    --white: #ffffff;
}

/* 基础页面样式 */
body {
    background-color: var(--background-color);
    color: var(--text-normal);
    font-family: 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
    margin: 0;
    padding: 0;
}

/* 页面大标题 */
.page-header {
    text-align: center;
    margin: 60px auto 40px;
}

.page-header h1 {
    font-size: 36px;
    color: var(--text-dark);
    font-weight: 700;
}

/* 主体容器，采用flex布局实现双栏 */
.profile-container {
    display: flex;
    flex-wrap: wrap;
    /* 在小屏幕上换行 */
    max-width: 1100px;
    margin: 0 auto 60px;
    gap: 40px;
    padding: 0 20px;
}

/* 左侧信息栏 */
.profile-sidebar {
    flex: 0 0 300px;
    /* 固定宽度，不伸缩 */
    background-color: var(--white);
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.07);
    align-self: flex-start;
    /* 顶部对齐 */
}

.profile-photo {
    display: block;
    /* 将图片设为块级元素，这是居中的前提 */
    margin: 0 auto 25px auto;
    /* 使用 auto 外边距实现完美的水平居中 */
    width: 80%;
    /* 保持一个相对的、响应式的宽度 */
    max-width: 240px;
    /* 设置一个最大像素宽度，避免在宽屏上过大 */
    border-radius: 6px;
}

.sidebar-section {
    margin-bottom: 25px;
}

.sidebar-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0 0 10px 0;
    border-bottom: 2px solid var(--brand-red);
    padding-bottom: 8px;
}

.sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: var(--text-normal);
}

/* 右侧主内容区 */
.profile-main {
    flex: 1;
    min-width: 300px;
    /* 保证在小屏幕上也有最小宽度 */
    background-color: var(--white);
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.07);
}

.profile-main h2 {
    font-size: 24px;
    color: var(--text-dark);
    margin-top: 0;
    margin-bottom: 20px;
}

.profile-main p,
.profile-main li {
    font-size: 17px;
    line-height: 1.9;
    margin-bottom: 20px;
    text-align: justify;
}

.profile-main ul {
    padding-left: 20px;
}

/* 移动端适配 */
@media (max-width: 768px) {
    .profile-container {
        /* 在移动端，减小左右间距，让内容区域更宽 */
        gap: 30px;
    }

    .profile-sidebar,
    .profile-main {
        /* * 关键修正：
        * 将 'flex-basis: 100%' 替换为 'flex: 1 1 100%'。
        * 这意味着在移动端，侧边栏和主内容区都可以自由放大和缩小，
        * 并且基础宽度都是100%，从而实现自动换行并占满整行。
    */
        flex: 1 1 100%;
    }
}
