@charset "utf-8";

/* 全站桌面沿用已确认的首页基线；原稿栅格、颜色、业务内容与手机布局保留。 */
@media (min-width: 769px) {
    /* 旧声明通过兼容单位适配；手机未启用此变量时回退1px，不依赖手机根字号。 */
    html { font-size: clamp(10px, 0.83333vw, 22px); --ky-site-px: .0625rem; }
    body {
        --ky-site-content-width: 68.75%;
        --ky-site-page-width: 82.1875%;
        --ky-site-media-width: 79.86979%;
        --ky-site-reading-width: 65.625%;
        --ky-site-section-space: 3rem;
        --ky-site-content-gap: 2rem;
    }

    .ky-header { top: 1.25rem; width: 100rem; max-width: calc(100% - 5rem); height: 5rem; padding: 0 2.5rem; border-radius: 3.125rem; }
    .ky-header.scrolled { top: 1.25rem; }
    .ky-header-inner { height: 5rem; padding: 1.125rem 0; gap: 2.375rem; }
    .ky-header .ky-logo { height: 2.75rem; }
    .ky-header .ky-nav-wrap { gap: 1.5rem; }
    .ky-header .ky-nav > ul { gap: 1.25rem; }
    .ky-header .ky-nav > ul > li { height: 3rem; }
    .ky-header .ky-nav > ul > li > a { font-size: 1.25rem; line-height: 3rem; padding: 0 2.5rem; }
    .ky-header .ky-nav-dropdown { border-radius: 1.75rem 1.75rem 0 0; box-shadow: 0 0.25rem 1.25rem rgba(0,0,0,.15); }
    .ky-header .ky-nav-dropdown > ul { padding-top: 3.375rem; }
    .ky-header .ky-nav-hasdrop:hover > .ky-nav-dropdown { max-height: 26.25rem; overflow: visible; }
    .ky-header .ky-nav-dropdown ul li a { font-size: 1.125rem; line-height: 3rem; padding: 0 1rem; }
    .ky-header .ky-search-wrap { flex-basis: 15rem; }
    .ky-header .ky-search { height: 2.75rem; border-radius: 2rem; }
    .ky-header .ky-search input { font-size: 1.125rem; height: 2.75rem; padding: 0 3rem 0 1.5rem; }
    .ky-header .ky-search-icon { width: 1.75rem; height: 1.75rem; right: .75rem; background-size: contain; }
    .ky-home .ky-header.ky-header-scroll-hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, calc(-100% - 1.25rem)); }

    .ky-footer { padding: var(--ky-site-section-space) 0; }
    .ky-footer-inner { width: min(var(--ky-site-content-width), calc(100% - 4rem)); max-width: none; }
    .ky-footer-contact { margin-bottom: var(--ky-site-content-gap); }
    .ky-footer-contact h3, .ky-footer-links a { font-size: 1.75rem; }
    .ky-footer-contact h3 { margin-bottom: var(--ky-site-content-gap); }
    .ky-footer-info { font-size: 1.125rem; line-height: 1.8; }
    .ky-footer-info img { width: 1.125rem; height: 1.25rem; }
    .ky-contact-items { gap: 6rem; flex-wrap: wrap; }
    .ky-contact-qr, .ky-contact-icon { width: 6rem; height: 6rem; }
    .ky-contact-item span { font-size: 1.125rem; }
    .ky-contact-item, .ky-contact-item a { gap: 1rem; }
    .ky-footer-links { margin-bottom: 1.5rem; }
    .ky-sidebar { right: 3.25rem; }
    .ky-sidebar-btn { width: 3.375rem; height: 3.375rem; }
    .ky-sidebar-icon, .ky-sidebar-btn img { width: 2rem; height: 2rem; }
    .ky-aboutus-page .ky-scroll-hint { font-size: .875rem; }
    .ky-aboutus-page .ky-scroll-hint-icon { width: 1.4375rem; height: 5.125rem; background-size: contain; }

    .ky-aboutus-page .container {
        width: min(var(--ky-site-page-width), calc(100% - 4rem));
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }
    .ky-aboutus-page.ky-joinus-page .container { width: min(75%, calc(100% - 4rem)); }
    .ky-aboutus-page.ky-yueyue-page .container { width: min(75%, calc(100% - 4rem)); }
    .ky-yueyue-page:has(.ky-yueyue-detail-row) .container { transition: none; }
    .ky-yueyue-content--detail .ky-yueyue-content-title { flex-wrap: wrap; white-space: normal; }
    .ky-yueyue-page .ky-tuanying-left--sticky.is-fixed .ky-tuanying-nav {
        position: fixed;
        top: var(--ky-yueyue-nav-top, 0px);
        left: var(--ky-yueyue-nav-left);
        width: var(--ky-yueyue-nav-width);
        max-height: calc(100vh - var(--ky-yueyue-nav-top, 0px) - 1rem);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .ky-collection-section .container.ky-collection-container { width: min(75%, calc(100% - 4rem)); }
    .ky-collection-section .ky-collection-top,
    .ky-collection-section .ky-collection-tabs { width: 100%; }
    /* 原稿分层：产品详情约75%，攻略主图约80%，列表仍用宽幅内容区。 */
    .ky-report-detail-page:has(.ky-product-detail-section) { --ky-site-page-width: 68.75%; --ky-site-media-width: 75%; }
    .ky-aboutus-page .ky-report-hero-collage { width: min(var(--ky-site-media-width), calc(100% - 4rem)); max-width: none; margin-left: auto; margin-right: auto; }
    /* 宽幅图文/双栏只在外层限制宽度，内层不再重复乘百分比。 */
    .ky-aboutus-page .ky-report-hero-collage .ky-report-collage-inner,
    .ky-aboutus-page .ky-product-detail-wrap,
    .ky-aboutus-page .ky-search-result-row,
    .ky-aboutus-page .ky-dianping-province-wrap { width: 100%; max-width: none; }
    .ky-aboutus-page .ky-report-collage-inner { height: auto; min-height: 0; aspect-ratio: 2.75; }
    .ky-aboutus-page .container.ky-report-main,
    .ky-legal-page .container { width: min(var(--ky-site-reading-width), calc(100% - 4rem)); max-width: 78.75rem; padding-right: 0; padding-left: 0; }
    .ky-aboutus-page .ky-aboutus-section,
    .ky-aboutus-page .ky-search-result-section,
    .ky-aboutus-page .ky-collection-section,
    .ky-aboutus-page .ky-product-detail-section,
    .ky-legal-page .ky-legal-doc { padding-top: var(--ky-site-section-space); padding-bottom: var(--ky-site-section-space); }
    .ky-common-page { padding-top: 9rem; }
    /* 没有通栏首图的内页给固定导航留出入口空间；有首图的页面保留原构图。 */
    .ky-aboutus-page:not(.ky-common-page):not(:has(.ky-aboutus-hero-wrap, .ky-product-list-hero, .ky-report-hero-collage)) > section:first-of-type { padding-top: 9rem; }
    .ky-aboutus-page .ky-aboutus-intro-title { font-size: 2.5rem; margin-bottom: var(--ky-site-content-gap); }
    .ky-aboutus-page .ky-aboutus-intro-desc { font-size: 1.25rem; line-height: 1.8; }
    .ky-aboutus-page .ky-aboutus-intro { margin-bottom: var(--ky-site-content-gap); }
    .ky-aboutus-page .ky-search-result-intro { padding-bottom: var(--ky-site-content-gap); }
    .ky-product-list-section .ky-product-list-main,
    .ky-product-list-section .ky-product-list-toolbar-slot { width: 100%; max-width: none; }
    .ky-product-list-section .ky-product-list-toolbar-slot { margin-bottom: var(--ky-site-content-gap); }
    .ky-product-list-section .ky-product-list-toolbar-inner { gap: 1rem; }
    .ky-product-list-section .ky-product-list-search { flex: 0 1 34.0625rem; max-width: 34.0625rem; }
    .ky-product-list-section .ky-product-list-toolbar.is-fixed { left: var(--ky-product-toolbar-left); width: var(--ky-product-toolbar-width); }
    .ky-product-list-toolbar.is-fixed .ky-product-list-toolbar-inner { width: 100%; margin-left: 0; }
    /* 产品列表按确认的75%收窄；吸顶背景铺满屏幕，控件仍跟随列表边界。 */
    .ky-product-list-page .ky-product-list-section > .container { width: min(75%, calc(100% - 4rem)); }
    .ky-product-list-page .ky-product-list-toolbar { max-width: none; }
    .ky-product-list-page .ky-product-list-toolbar.is-fixed { left: 0; width: 100%; }
    .ky-product-list-page .ky-product-list-toolbar.is-fixed .ky-product-list-toolbar-inner { width: var(--ky-product-toolbar-width); margin-left: var(--ky-product-toolbar-left); }
    .ky-aboutus-page .ky-tuanying-section .ky-tuanying-container { width: 100%; max-width: none; min-height: 0; padding-bottom: var(--ky-site-section-space); }
    .ky-yueyue-list-page .ky-tuanying-section .ky-tuanying-container { min-height: 100vh; }
    /* 高度留给背景及其占位，分类仍按原有间距排列，不随背景拉开。 */
    .ky-aboutus-page.ky-group-info-page .container { width: min(75%, calc(100% - 4rem)); }
    .ky-group-info-page .ky-tuanying-section .ky-tuanying-container { min-height: 100vh; }
    .ky-group-info-page .ky-tuanying-container > .ky-tuanying-bg { min-height: 100vh; }
    .ky-group-info-page .ky-tuanying-tabs .ky-tuanying-tab { display: flex; align-items: center; justify-content: flex-end; height: 2rem; }
    .ky-group-info-page .ky-tuanying-row > .ky-tuanying-left { flex: 0 0 min(14rem, 25%); width: min(14rem, 25%) !important; }
    .ky-group-info-page .ky-tuanying-row > .ky-tuanying-right { flex: 1 1 0; width: auto !important; }
    /* 旧团型模板用!important撑满阅读区，内容屏改由实际文字和左侧目录自然撑高。 */
    .ky-aboutus-page .ky-tuanying-row .ky-tuanying-right { min-height: 0 !important; }
    .ky-aboutus-page .ky-dest-tabs { margin-bottom: var(--ky-site-content-gap); }
    .ky-aboutus-page .ky-dest-tab { font-size: 1.875rem; line-height: 3.25rem; padding: 0 2rem; }
    /* 点评入口留白按组统一放松，避免导航、标题搜索与切换栏挤成同一块。 */
    .ky-scenic-review-page { --ky-site-content-gap: 2.5rem; }
    .ky-aboutus-page.ky-scenic-review-page > section.ky-aboutus-section:first-of-type { padding-top: 10rem; padding-bottom: 0; }
    /* 未选择目的地时按入口分组留白：标题上方舒展，搜索与切换靠近，地区列表另起一组。 */
    .ky-scenic-review-page:has(#kyDianpingProvinceWrap:not([hidden])) > section:first-of-type { padding-top: 12rem; }
    .ky-scenic-review-page:has(#kyDianpingProvinceWrap:not([hidden])) .ky-aboutus-intro { margin-bottom: 0; }
    .ky-scenic-review-page:has(#kyDianpingProvinceWrap:not([hidden])) .ky-scenic-review-section .ky-dest-tabs { margin-bottom: 4.6875rem; }
    .ky-aboutus-page.ky-scenic-review-page .container { width: min(75%, calc(100% - 4rem)); }
    /* 外层已限制为75%，点评表格和正文不再重复收窄；搜索栏跟随正文测量对齐。 */
    .ky-scenic-review-page .ky-dianping-content { width: 100%; }
    /* 组合上限包含目录、列间距、正文及内缩留白，让目录靠近正文而不改变正文宽度和中心线。 */
    .ky-scenic-review-page .ky-roadbook-article-layout { width: 100%; max-width: 74.75rem; grid-template-columns: 8.75rem minmax(0, 1fr); }
    .ky-scenic-review-page .ky-roadbook-article-layout.is-single-column { grid-template-columns: minmax(0, 1fr); }
    /* 正文保留阅读上限并在右侧列居中，窄桌面也给阅读区两侧留出内缩空间。 */
    .ky-scenic-review-page .ky-roadbook-article-main { width: calc(100% - 2rem); max-width: 61.25rem; justify-self: center; }
    .ky-scenic-review-page .ky-scenic-review-section { padding-top: var(--ky-site-content-gap); }
    .ky-scenic-review-page .ky-dianping-search-results,
    .ky-scenic-review-page .ky-dianping-selected-destination-slot.is-search-mode { width: 100%; max-width: 82.5rem; }
    .ky-scenic-review-page .ky-dianping-selected-destination.is-fixed {
        left: 0;
        width: 100%;
        transition: top .3s ease;
    }
    .ky-scenic-review-page .ky-dianping-selected-destination.is-fixed .ky-dianping-selected-destination-inner { width: var(--ky-dianping-bar-width); margin-left: var(--ky-dianping-bar-left); margin-right: 0; }
    .ky-scenic-review-page .ky-roadbook-filter-column.is-fixed .ky-roadbook-filter-panel { top: var(--ky-review-filter-top, calc(130 * var(--ky-site-px, 1px))); transition: top .3s ease; }
    .ky-aboutus-page .swiper-button-prev,
    .ky-aboutus-page .swiper-button-next { width: 3rem; height: 3rem; margin-top: -1.5rem; background-size: .75rem auto; }
    .ky-aboutus-page .swiper-pagination-bullet { width: .5rem; height: .5rem; }
    .ky-aboutus-page .ky-search-result-left,
    .ky-aboutus-page .ky-search-result-right,
    .ky-aboutus-page .ky-product-detail-left,
    .ky-aboutus-page .ky-product-detail-right { min-width: 0; }
    .ky-knowledge-workbench .ky-workbench-layout { max-width: 100%; }

    /* 由既有吸顶脚本统一定位，常态不叠加原生sticky；日历不再被旧短屏断点二次压缩。 */
    .ky-report-detail-page .ky-product-detail-section { --ky-product-sticky-top: 0px; }
    /* 容器不做宽度过渡，缩放时吸顶脚本必须读取最终列宽和坐标。 */
    .ky-report-detail-page .ky-product-detail-section > .container,
    .ky-report-detail-page:has(.ky-product-detail-section) .ky-report-hero-collage { transition: none; }
    .ky-report-detail-page .ky-product-tabs { position: relative; top: auto; }
    .ky-report-detail-page .ky-product-tabs li a { padding-top: .875rem; padding-bottom: .875rem; }
    .ky-report-detail-page .ky-product-detail-right { max-height: none; }
    .ky-report-detail-page .ky-product-detail-right.ky-calendar-flow { position: relative; top: auto; }
    .ky-report-detail-page .ky-product-calendar { --ky-calendar-space: clamp(.5rem, calc((100vh - var(--ky-product-sticky-top) - 40rem) / 12), 1rem); --ky-calendar-row: clamp(3.125rem, calc((100vh - var(--ky-product-sticky-top) - 25rem) / 6), 3.375rem); padding: calc(1.5 * var(--ky-calendar-space)); max-height: none; overflow: visible; }
    .ky-report-detail-page .ky-calendar-header { padding-bottom: calc(.75 * var(--ky-calendar-space)); font-size: 1.125rem; line-height: 1.4; }
    .ky-report-detail-page .ky-calendar-icon { width: 1.375rem; height: 1.375rem; }
    .ky-report-detail-page .ky-calendar-dates-swiper { margin-bottom: var(--ky-calendar-space); padding-bottom: 0; }
    .ky-report-detail-page .ky-calendar-dates-swiper .swiper-slide { width: 8.25rem !important; }
    .ky-report-detail-page .ky-calendar-date-card { padding: calc(.875 * var(--ky-calendar-space)) .75rem; }
    .ky-report-detail-page .ky-cal-year,
    .ky-report-detail-page .ky-cal-weekday { margin-bottom: .25rem; font-size: .8125rem; line-height: 1.2; }
    .ky-report-detail-page .ky-cal-date-md,
    .ky-report-detail-page .ky-cal-price { margin-bottom: .25rem; font-size: 1.125rem; line-height: 1.2; }
    .ky-report-detail-page .ky-cal-price { margin-bottom: 0; }
    .ky-report-detail-page .ky-cal-card-stock { font-size: .75rem; line-height: 1.2; }
    .ky-report-detail-page .ky-calendar-month-nav { margin-bottom: calc(.75 * var(--ky-calendar-space)); gap: .25rem; }
    .ky-report-detail-page .ky-product-calendar .ky-month-item { flex: 1 1 0; min-width: 0; padding: .375rem .25rem .5rem; font-size: .875rem; line-height: 1.4; text-align: center; }
    .ky-report-detail-page .ky-calendar-month-btn { width: 1.5rem; min-width: 1.5rem; height: 2rem; font-size: 1.125rem; }
    .ky-report-detail-page .ky-calendar-grid { min-height: 0; flex: 0 0 auto; overflow: visible; }
    .ky-report-detail-page .ky-calendar-weekdays { margin-bottom: calc(.375 * var(--ky-calendar-space)); padding-top: 0; font-size: .875rem; line-height: 1.5; }
    .ky-report-detail-page .ky-calendar-days { min-height: 0; grid-auto-rows: minmax(var(--ky-calendar-row), auto); gap: calc(.375 * var(--ky-calendar-space)) .25rem; padding-top: .25rem; }
    .ky-report-detail-page .ky-cal-day { height: var(--ky-calendar-row); min-height: var(--ky-calendar-row); padding-top: .5rem; font-size: 1rem; }
    .ky-report-detail-page .ky-cal-day-inner { width: 1.5rem; height: 1.5rem; }
    .ky-report-detail-page .ky-cal-day .ky-cal-day-price { position: static; left: auto; top: auto; transform: none; margin-top: .25rem; font-size: .75rem; }
    /* 今天标签参与自然排版，仅其所在行按内容增高，避免挤压日期和价格。 */
    .ky-report-detail-page .ky-cal-day.today:not(.empty) { height: auto; padding-top: 0; padding-bottom: .25rem; }
    .ky-report-detail-page .ky-cal-day.today::before { position: static; display: block; top: auto; left: auto; transform: none; margin-bottom: .25rem; font-size: .625rem; line-height: 1; }
    .ky-report-detail-page .ky-cal-day.today:not(.empty) .ky-cal-day-inner { margin-top: 0; }
    .ky-report-detail-page .ky-calendar-actions { margin-top: calc(.875 * var(--ky-calendar-space)); padding-top: calc(.875 * var(--ky-calendar-space)); gap: .75rem; }
    .ky-report-detail-page .ky-calendar-actions-left { gap: .75rem; }
    .ky-report-detail-page .ky-calendar-actions-left > .ky-collect-action,
    .ky-report-detail-page .ky-calendar-actions-left > .ky-cal-service { width: 3.25rem; flex: 0 0 3.25rem; padding: 0; }
    .ky-report-detail-page .ky-cal-btn { margin-right: 0; font-size: .875rem; }
    .ky-report-detail-page .ky-cal-btn-text { display: block; margin-top: .25rem; white-space: nowrap; }
    .ky-report-detail-page .ky-cal-icon-star,
    .ky-report-detail-page .ky-cal-icon-headset { width: 1.375rem; height: 1.375rem; }
    .ky-report-detail-page .ky-cal-book { flex: 1 1 0; width: auto; max-width: 16.25rem; min-width: 0; margin-left: auto; min-height: 2.75rem !important; height: 2.75rem !important; font-size: 1.125rem; }

    @media (min-width: 769px) {
        /* 保留日历原有浮动/占位节点，兼容现有吸顶脚本；正文使用剩余空间。 */
        .ky-aboutus-page .ky-product-detail-section > .container { width: min(var(--ky-site-page-width), calc(100% - 4rem)); }
        .ky-report-detail-page:has(.ky-product-detail-section) .ky-report-hero-collage { width: min(var(--ky-site-media-width), calc(100% - 4rem)); }
        .ky-aboutus-page .ky-product-detail-left { width: calc(100% - clamp(26rem, 42%, 32.5rem) - 2rem); }
        .ky-aboutus-page .ky-product-detail-right,
        .ky-aboutus-page .ky-product-detail-right-ph { width: clamp(26rem, 42%, 32.5rem); }
    }

    @media (min-width: 769px) and (max-width: 1200px) {
        .ky-report-detail-page .ky-product-tabs { padding-left: .5rem; padding-right: .5rem; }
        .ky-report-detail-page .ky-product-tabs li { flex: 1 1 auto; margin-right: 0; text-align: center; }
        .ky-report-detail-page .ky-product-tabs li a { padding-left: .125rem; padding-right: .125rem; white-space: nowrap; }
    }

    @media (max-width: 991.98px) {
        .ky-report-detail-page .ky-product-calendar .ky-month-item { padding-left: 0; padding-right: 0; }
    }

    /* 短桌面收紧日期留白，保持六行月份和报名按钮可见，不引入日历内滚动。 */
    @media (max-height: 560px) {
        .ky-report-detail-page .ky-product-calendar { --ky-calendar-space: .375rem; --ky-calendar-row: clamp(2.75rem, calc((100vh - var(--ky-product-sticky-top) - 24rem) / 6), 3.125rem); }
        .ky-report-detail-page .ky-cal-day { padding-top: .25rem; }
        .ky-report-detail-page .ky-cal-day-inner { width: 1.375rem; height: 1.375rem; }
        .ky-report-detail-page .ky-cal-day .ky-cal-day-price { line-height: 1; }
    }

    @media (max-width: 1100px) {
        .ky-aboutus-page .container, .ky-aboutus-page .ky-report-hero-collage, .ky-legal-page .container { width: calc(100% - 4rem); }
        .ky-footer-inner { width: calc(100% - 4rem); }
    }
}
