@charset "utf-8";

/* 第一阶段：公共导航、页脚及完整首页。覆盖2K与超宽桌面，1920及以下保留原布局。 */
@media (min-width: 1921px) and (min-height: 800px) {
    :root {
        --ky-wide-content-width: min(calc(100vw - 160px), 1920px);
        --ky-wide-section-title: clamp(40px, 1.72vw, 44px);
        --ky-wide-subtitle: clamp(24px, 1.1vw, 28px);
        --ky-wide-card-title: clamp(28px, 1.33vw, 34px);
        --ky-wide-body: clamp(18px, 0.86vw, 22px);
        --ky-wide-control: clamp(18px, 0.79vw, 20px);
        --ky-wide-page-padding: clamp(32px, 4vh, 56px);
    }

    .ky-header {
        width: var(--ky-wide-content-width);
        max-width: calc(100% - 80px);
        padding-right: 48px;
        padding-left: 48px;
    }
    .ky-header-inner { gap: clamp(24px, 1.5vw, 40px); }
    .ky-search-wrap { margin-left: 2%; }
    .ky-search input,
    .ky-nav > ul > li > a,
    .ky-user-wrap .ky-login,
    .ky-user-wrap .ky-register { font-size: var(--ky-wide-control); }
    .ky-footer-inner { width: var(--ky-wide-content-width); max-width: none; }
    .ky-footer { padding: clamp(48px, 6vh, 80px) 0; }
    .ky-footer-contact { margin-bottom: clamp(36px, 5vh, 60px); }
    .ky-footer-contact h3,
    .ky-footer-links a { font-size: var(--ky-wide-subtitle); }
    .ky-footer-info { font-size: var(--ky-wide-control); line-height: 1.6; }

    /* 首页各屏共享内容边界；图片背景仍然铺满视口。 */
    #fullpageSwiper .ky-destination-wrapper,
    #fullpageSwiper .ky-knowledge-wrapper {
        width: var(--ky-wide-content-width);
        max-width: none;
        padding-right: 0;
        padding-left: 0;
    }
    #fullpageSwiper .ky-dest-detail-title {
        font-size: var(--ky-wide-section-title);
        line-height: 1.2;
        margin-top: 0;
        margin-bottom: 16px;
    }
    #fullpageSwiper .ky-knowledge-tip a,
    #fullpageSwiper .ky-dest-video-link-text { font-size: var(--ky-wide-subtitle); }
    #fullpageSwiper .ky-knowledge-header-inner { width: 440px; max-width: 100%; margin-left: 0; }
    #fullpageSwiper .common-title-img { width: 240px; max-width: 100%; transform: none; }

    /* 首屏的后台设计稿不改内容或坐标，仅改变大屏视口中的容纳方式。 */
    #fullpageSwiper .ky-banner-design {
        --ky-banner-fit: contain;
        width: var(--ky-wide-content-width);
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }
    #fullpageSwiper .ky-banner-slide-designed.is-design-rendered .ky-banner-bg {
        background-size: cover;
        background-repeat: no-repeat;
    }
    /* 同一张封面仅由外层绘制一次，避免内容画布和全屏背景出现缩放接缝。 */
    #fullpageSwiper .ky-banner-design-canvas.has-shared-cover { background-color: transparent !important; }
    #fullpageSwiper .ky-banner-design-canvas .is-shared-cover { visibility: hidden; pointer-events: none; }
    #fullpageSwiper .ky-swiper-box { width: var(--ky-wide-content-width); max-width: none; }
    #fullpageSwiper .ky-banner-content { width: 100%; padding-left: 64px; }
    #fullpageSwiper .ky-banner-title { font-size: clamp(72px, 3.44vw, 88px); }
    #fullpageSwiper .ky-banner-sub { font-size: clamp(60px, 2.82vw, 72px); }
    #fullpageSwiper .ky-banner-en { font-size: clamp(30px, 1.4vw, 36px); letter-spacing: 16px; }
    #fullpageSwiper .ky-banner-features span { font-size: var(--ky-wide-subtitle); }

    /* 第二屏：地图与说明分栏，地图可用高度不再超过本屏。 */
    #fullpageSwiper .ky-destination {
        top: 0;
        transform: none;
        height: 100%;
        padding: var(--ky-wide-page-padding) 0;
        box-sizing: border-box;
    }
    #fullpageSwiper .ky-destination-wrapper { display: flex; flex-direction: column; }
    #fullpageSwiper .ky-dest-tabs { flex: 0 0 auto; margin-bottom: 24px; }
    #fullpageSwiper .ky-dest-tab { font-size: var(--ky-wide-subtitle); line-height: 54px; padding: 0 40px; }
    #fullpageSwiper .ky-dest-container {
        display: grid;
        grid-template-columns: minmax(400px, 30%) minmax(0, 1fr);
        gap: 48px;
        flex: 1;
        min-height: 0;
        height: auto;
    }
    #fullpageSwiper .ky-dest-detail { float: none; width: auto; margin-left: 0; min-width: 0; }
    #fullpageSwiper .ky-dest-container::before,
    #fullpageSwiper .ky-dest-container::after { display: none; }
    #fullpageSwiper .ky-dest-detail-scroll-wrapper { max-height: calc(100vh - 470px); }
    #fullpageSwiper .ky-dest-detail-list li { font-size: var(--ky-wide-body); line-height: 1.55; }
    #fullpageSwiper .ky-dest-detail-list li span,
    #fullpageSwiper .ky-dest-detail-highlights { font-size: var(--ky-wide-control); line-height: 1.6; }
    #fullpageSwiper .ky-dest-map-wrapper { float: none; width: auto; min-width: 0; min-height: 0; }
    #fullpageSwiper .ky-dest-map { min-height: 0; }

    /* 第三屏：文字卡片使用剩余高度，避免按屏宽扩张后挤出底部按钮。 */
    #fullpageSwiper .ky-knowledge {
        top: 50%;
        transform: translateY(-50%);
        height: 100%;
        max-height: 1120px;
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding: var(--ky-wide-page-padding) 0;
        box-sizing: border-box;
        --ky-knowledge-slide-width: min(1760px, 150vh);
        --ky-knowledge-tag-height: clamp(48px, 6.67vh, 72px);
    }
    #kyKnowledge .ky-knowledge-wrapper { flex: 0 0 auto; padding-top: 0; }
    #kyKnowledge .ky-knowledge-swiper { flex: 0 0 auto; margin: 0; }
    /* 顶部预留完整标签及旋转安全边距，底部分开标题和分页圆点。 */
    #kyKnowledge .ky-knowledge-swiper .swiper-slide a { padding-top: calc(var(--ky-knowledge-tag-height) + 24px); }
    #kyKnowledge .ky-knowledge-swiper-title { font-size: clamp(26px, 1.25vw, 32px); }
    #kyKnowledge .ky-knowledge-swiper-title h2 { line-height: 1.35; }
    #kyKnowledge .ky-knowledge-swiper .slide-tag { width: calc(var(--ky-knowledge-tag-height) * 25 / 18); height: var(--ky-knowledge-tag-height); top: 8px; right: 100px; }
    #kyKnowledge .ky-knowledge-content { flex: 1; min-height: 0; margin-top: 0; }
    #kyKnowledge .ky-knowledge-cards {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 40px;
        width: min(var(--ky-wide-content-width), 1480px);
        height: 100%;
        max-height: 340px;
        margin: 0 auto;
    }
    #kyKnowledge .ky-knowledge-cards::before,
    #kyKnowledge .ky-knowledge-cards::after { display: none; }
    #kyKnowledge .ky-knowledge-card { float: none; width: auto; height: 100%; margin: 0; aspect-ratio: auto; }
    /* 标签留白增加后，短视口收紧卡片内边距，不继续缩小文字。 */
    #kyKnowledge .ky-knowledge-card a { padding: clamp(12px, calc(7.5vh - 48px), 24px) 32px; }
    #kyKnowledge .ky-knowledge-card .card-title { font-size: var(--ky-wide-card-title); margin-bottom: 16px; }
    #kyKnowledge .ky-knowledge-card .card-desc { font-size: var(--ky-wide-body); line-height: 1.55; margin-bottom: 24px; }
    #kyKnowledge .ky-knowledge-card .card-link { font-size: var(--ky-wide-control); width: 140px; height: 36px; }

    /* 第四屏：城市导航与线路卡片统一分栏，纵向尺寸受可用高度约束。 */
    #kyThemebox .ky-hot-routebox { top: 50%; transform: translateY(-50%); height: 100%; max-height: 1120px; padding: var(--ky-wide-page-padding) 0; box-sizing: border-box; }
    #kyThemebox .ky-knowledge-wrapper { height: 100%; display: flex; flex-direction: column; padding-top: 0; }
    #kyThemebox .ky-knowledge-header { flex: 0 0 auto; }
    #kyThemebox .ky-hot-routes-content { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 40px; flex: 1; min-height: 0; padding-top: 32px; }
    #kyThemebox .ky-hot-routes-cities { float: none; width: auto; padding-left: 0; }
    #kyThemebox .ky-cities-title { font-size: var(--ky-wide-subtitle); margin-bottom: 32px; }
    #kyThemebox .ky-cities-list li { font-size: var(--ky-wide-body); margin-bottom: 16px; }
    #kyThemebox .ky-hot-routes-destinations { float: none; width: auto; min-width: 0; min-height: 0; padding: 24px 64px 40px; }
    #kyThemebox .ky-route-card { width: min(100%, 320px, calc((100vh - 340px) * 505 / 648)); }
    #kyThemebox .route-card-desc { font-size: var(--ky-wide-body); }

    /* 第五屏保留现有扇形交互，仅约束文字面板和标签的视觉尺寸。 */
    #fullpageSwiper .ky-team-left { width: clamp(580px, 27vw, 720px); padding: 0 clamp(72px, 3.5vw, 104px); }
    #fullpageSwiper .ky-team-left .ky-knowledge-header-inner { width: 100%; top: 40%; }
    #fullpageSwiper .ky-team-left .common-title-img { width: 240px; }
    #fullpageSwiper .ky-team-card-name { font-size: var(--ky-wide-section-title); width: 1em; line-height: 1.4; letter-spacing: 0; right: clamp(88px, 4vw, 124px); }
}
