/* ==================== PageTitle 组件样式 ==================== */
/* 标题系统（主标题 + 副标题）整体间距：
   PC: 上方 80px / 下方 64px
   平板: 上方 64px / 下方 48px
   移动: 上方 48px / 下方 32px
   主副标题内部间距: 8px，三端一致
   深色/浅色变体间距体系完全一致，仅文字颜色不同 */

/* ==================== 浅色变体 ==================== */
.page-title {
    text-align: center;
    padding: 80px var(--spacing-4) 64px; /* 顶部 80px 补偿导航栏间距，下方 64px */
    max-width: 1200px;
    margin: 0 auto;
}

.page-title .title {
    font-size: 32px;          /* PC 端 */
    font-weight: 600;
    color: #111111;
    margin: 0 0 8px 0;        /* 主副标题间距：8px */
    letter-spacing: 0;
    line-height: 1.4;
}

.page-title .subtitle {
    font-size: 16px;          /* 全端统一 16px（v4.2） */
    color: #999999;
    font-weight: 400;
    margin: 0;
    line-height: 1.5;
    /* 下方间距由容器 padding-bottom: 64px 提供 */
}

/* 浅色无副标题时，主标题下方间距 = 目标下方 64px */
.page-title:not(:has(.subtitle)) .title {
    margin-bottom: 64px;
}

/* ==================== 平板端（768px–1023px） ==================== */
@media (min-width: 768px) and (max-width: 1023px) {
    .page-title {
        padding: 64px var(--spacing-4) 48px;
    }

    .page-title .title {
        font-size: clamp(1.5rem, 3vw + 0.75rem, 1.75rem); /* 24px - 28px */
    }

    .page-title .subtitle {
        font-size: 16px; /* 全端统一 16px（v4.2） */
    }

    /* 平板无副标题时 */
    .page-title:not(:has(.subtitle)) .title {
        margin-bottom: 48px;
    }
}

/* ==================== 移动端（≤767px） ==================== */
@media (max-width: 767px) {
    .page-title {
        padding: 48px var(--gutter-mobile) 32px;
    }

    .page-title .title {
        font-size: clamp(1.25rem, 3vw + 0.5rem, 1.5rem); /* 20px - 24px */
    }

    .page-title .subtitle {
        font-size: 16px; /* 全端统一 16px（v4.2） */
    }

    /* 移动无副标题时 */
    .page-title:not(:has(.subtitle)) .title {
        margin-bottom: 32px;
    }
}

/* ==================== 深色变体（极光/深色页面） ==================== */
.page-title--dark {
    position: relative;
    width: 100%;
    min-height: 0vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 80px 0 64px; /* 顶部 80px 补偿导航栏间距，下方 64px */
    background-color: transparent;
    max-width: none;
    margin: 0;
}

.page-title--dark .page-title__content {
    position: relative;
    z-index: 10;
    text-align: center;
    padding: 0 20px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.page-title--dark .title {
    color: #ffffff;
    margin-bottom: 8px;       /* 主副标题间距：8px */
}

.page-title--dark .subtitle {
    font-size: 16px; /* 全端统一 16px（v4.2） */
    color: rgba(255, 255, 255, 0.55);
    letter-spacing: 0.1em;
    margin: 0;
    /* 下方间距由容器 padding-bottom: 64px 提供 */
}

/* 深色无副标题时 */
.page-title--dark:not(:has(.subtitle)) .title {
    margin-bottom: 64px;
}

/* ==================== 深色变体 - 平板端（768px–1023px） ==================== */
@media (min-width: 768px) and (max-width: 1023px) {
    .page-title--dark {
        padding: 64px 0 48px;
    }
    
    .page-title--dark .title {
        font-size: clamp(1.5rem, 3vw + 0.75rem, 1.75rem); /* 24px - 28px */
    }

    /* 深色平板无副标题时 */
    .page-title--dark:not(:has(.subtitle)) .title {
        margin-bottom: 48px;
    }
}

/* ==================== 深色变体 - 移动端（≤767px） ==================== */
@media (max-width: 767px) {
    .page-title--dark {
        padding: 48px 0 32px;
    }

    .page-title--dark .title {
        font-size: clamp(1.25rem, 3vw + 0.5rem, 1.5rem); /* 20px - 24px */
    }

    /* 深色移动无副标题时 */
    .page-title--dark:not(:has(.subtitle)) .title {
        margin-bottom: 32px;
    }
}
