/* ========== 响应式适配 ========== */

/* 中等屏 (≤ 1440px): 缩减左右留白 */
@media (max-width: 1600px) {
    :root {
        --page-padding-x: 80px;
    }

    .floating-btn {
        right: 16px;
    }
}

@media (max-width: 1280px) {
    :root {
        --page-padding-x: 48px;
    }

    .page__title-text {
        font-size: 26px;
    }
}

/* 小屏 (≤ 1024px): 顶部卡转单列 */
@media (max-width: 1024px) {
    :root {
        --page-padding-x: 32px;
        --page-padding-y: 28px;
    }

    .card--top {
        grid-template-columns: 1fr;
        gap: var(--spacing-3xl);
        padding: var(--spacing-2xl);
    }

    .news-carousel {
        aspect-ratio: 16 / 9;
    }

    .cards-row {
        grid-template-columns: 1fr;
    }

    .card--col {
        padding: var(--spacing-sm) var(--spacing-2xl) 0;
    }

    .floating-btn {
        width: 56px;
        min-height: 160px;
        right: 12px;
    }

    .floating-btn__icon {
        width: 44px;
        height: 44px;
    }

    .floating-btn__text {
        font-size: 14px;
    }
}

/* 平板 (≤ 768px) */
@media (max-width: 768px) {
    :root {
        --page-padding-x: 16px;
        --page-padding-y: 20px;
    }

    .page {
        gap: 16px;
    }

    .page__title {
        gap: 16px;
        margin-bottom: 8px;
    }

    .title-deco {
        max-width: 120px;
    }

    .page__title-text {
        font-size: 22px;
    }

    .card--top {
        padding: 16px;
    }

    .news-carousel__caption {
        padding: 32px 16px 16px;
    }

    .news-carousel__title {
        font-size: 14px;
    }

    .notice-panel__header {
        flex-wrap: wrap;
        gap: 8px;
    }

    .tab {
        padding: 4px 12px;
        height: 28px;
        font-size: 14px;
    }

    .card__header {
        height: 48px;
    }

    .section-title__text {
        font-size: 16px;
    }

    .section-title__dot {
        width: 18px;
        height: 18px;
        border-width: 4px;
    }

    .notice-list__item {
        min-height: 52px;
        padding: 8px 0;
    }

    .notice-list__date {
        font-size: 12px;
    }

    .notice-list__title {
        font-size: 13px;
    }
}

/* 手机 (≤ 480px) */
@media (max-width: 480px) {
    .page__title-text {
        font-size: 20px;
        letter-spacing: 1px;
    }

    .title-deco {
        max-width: 60px;
    }

    .news-carousel__dots {
        gap: 3px;
    }

    .news-carousel__dot {
        width: 24px;
    }

    .floating-btn {
        width: 48px;
        min-height: 140px;
        padding: 4px;
        gap: 6px;
    }

    .floating-btn__icon {
        width: 40px;
        height: 40px;
    }

    .floating-btn__icon svg {
        width: 24px;
        height: 28px;
    }

    .floating-btn__text {
        font-size: 12px;
        letter-spacing: 0.5px;
    }
}

/* 极窄屏 (≤ 360px) */
@media (max-width: 360px) {
    .floating-btn {
        right: 8px;
    }

    .card--top {
        padding: 12px;
    }

    .card--col {
        padding: 8px 16px 0;
    }
}

/* 减少动画 */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
