/* v2-leftside-cs-only 20261016 21:24
   携程式左侧菜单 (CSS-only A方案)
   严格 A 边界: 只新增 .v2-side 样式, 不动业务 view / 既有 .v2-side 业务规则
   关键: @media (max-width:1480) 会命中 1440 viewport, source order 后置压过默认 display:block!important
          → 改用更窄的 <768 移动端段, 把 1440+ 留给默认规则独立生效
   回滚锚: v2-leftside-cs-only.css.bak-cs-only-leftside-20261016
*/
/* === 默认规则: 所有桌面端 (>=769px), 60px 收起 + hover 240px 携程式 === */
aside.v2-side#J_v2Side{
  display:block!important;
  position:fixed;
  top:73px;
  left:0;
  width:180px;
  border-radius:0;
  box-shadow:none;
  border:none;
  transition:width .2s ease-out, box-shadow .2s ease-out;
  max-height:calc(100vh - 88px);
  overflow:hidden;
  background:#fff;
  padding:8px 0;
  border:0;
  border-right:1px solid #e5e5e5;
  scrollbar-width:none;
  z-index:901;
  transition:width 200ms ease-out;
  box-shadow:0 0 0 0 rgba(0,0,0,0);
}
aside.v2-side#J_v2Side:hover{
  width:180px;
  padding:8px 10px;
}
aside.v2-side#J_v2Side::-webkit-scrollbar{display:none}

/* === 文字 + 箭头: 默认隐藏，hover 显形 === */
aside.v2-side#J_v2Side .v2-side-item .v2-si-text,
aside.v2-side#J_v2Side .v2-side-group,
aside.v2-side#J_v2Side .v2-side-item .v2-si-arrow,
aside.v2-side#J_v2Side .v2-side-item .v2-si-new{
  opacity:1;
  transition:opacity 200ms ease-out;
}
aside.v2-side#J_v2Side:hover .v2-side-item .v2-si-text,
aside.v2-side#J_v2Side:hover .v2-side-group,
aside.v2-side#J_v2Side:hover .v2-side-item .v2-si-arrow,
aside.v2-side#J_v2Side:hover .v2-side-item .v2-si-new{
  opacity:1;
}

/* === v2-main 让出 60px 位 === */
/* v2-banner-align-20261016 22:22 (Kevin 22:21:54令): 蓝色 banner 起点跟 logo 左侧 x=20 对齐
   18:21 拍 B 方案 v2-side 60px 收起常态保留 (fixed 浮层 z-index:100 盖在 banner 上面)
   不再让 v2-main padding-left 让位 (否则 hover 展开到 240 把 banner 推到 260, 跟 logo 不齐) */
.v2-layout > .v2-main{
  margin-left:0!important;
  padding-left:0;
  transition:padding-left 200ms ease-out;
}
.v2-layout:hover > .v2-main{
  padding-left:0;
}

/* === 仅 1481px+ 才启用携程式菜单（用 min-width 提到最高段, 让 default 规则自然生效 769-1480） === */
/* 当前选择: default 769-1480 也保留 60px 携程式侧栏
   - Kevin 16:24 评估想要的就是 60px 收起常态
   - 不用再写窄屏回避块 */

/* === 移动端 <768: 三横按钮 + 抽屉（携程同款）=== */
@media (max-width:767px){
  aside.v2-side#J_v2Side{display:none!important}
  .v2-layout > .v2-main{padding-left:0!important}
}

/* v2-burger-mini-20261017: ☰ 点击收缩为 60px 纯图标(携程同款) */
aside.v2-side#J_v2Side.v2-side-mini{
  width:60px;
  padding:8px 0;
}
aside.v2-side#J_v2Side.v2-side-mini .v2-side-item .v2-si-text,
aside.v2-side#J_v2Side.v2-side-mini .v2-side-group,
aside.v2-side#J_v2Side.v2-side-mini .v2-side-item .v2-si-arrow,
aside.v2-side#J_v2Side.v2-side-mini .v2-side-item .v2-si-new{
  display:none;
}
aside.v2-side#J_v2Side.v2-side-mini .v2-side-item{
  padding-left:0;
  padding-right:0;
  justify-content:center;
}

/* v2-sidenav-all-20261017 (Kevin 01:49令): headerPage系页面主容器让位, 只针对 .search-container/.list-container/.wrap(非.wrap-top), 绝不碰首页 .v2-layout; <768px 侧栏隐藏不让位 */
/* v2-center-20261017 (Kevin 03:11令): 右侧空间居中 — 版心在(菜单,视口)剩余空间内水平居中, 收缩(60)后按60空间居中左移; 版心1130 */
@media (min-width:768px){
  body:has(aside#J_v2Side) .search-container,
  body:has(aside#J_v2Side) .list-container,
  body:has(aside#J_v2Side) .wrap:not(.wrap-top){
    margin-left:clamp(180px, calc((100vw - 1130px)/2 + 90px), 100%) !important;
    margin-right:auto !important;
    transition:margin-left .25s ease;
  }
  body.menu-mini:has(aside#J_v2Side) .search-container,
  body.menu-mini:has(aside#J_v2Side) .list-container,
  body.menu-mini:has(aside#J_v2Side) .wrap:not(.wrap-top),
  body:has(aside#J_v2Side.v2-side-mini) .search-container,
  body:has(aside#J_v2Side.v2-side-mini) .list-container,
  body:has(aside#J_v2Side.v2-side-mini) .wrap:not(.wrap-top){
    margin-left:clamp(60px, calc((100vw - 1130px)/2 + 30px), 100%) !important;
  }
  /* 独立页版心: 帮助中心 body 自身即容器(1200) */
  body.hxt-help-page:has(aside#J_v2Side){
    margin-left:clamp(180px, calc((100vw - 1200px)/2 + 90px), 100%) !important;
    margin-right:auto !important;
    transition:margin-left .25s ease;
  }
  body.menu-mini.hxt-help-page:has(aside#J_v2Side),
  body.hxt-help-page:has(aside#J_v2Side.v2-side-mini){
    margin-left:clamp(60px, calc((100vw - 1200px)/2 + 30px), 100%) !important;
  }
  /* 独立页版心: 酒店入驻登录页 header(1320) + 登录卡片(1000) */
  body:has(aside#J_v2Side) .container-fluid > header .content{
    margin-left:clamp(180px, calc((100vw - 1320px)/2 + 90px), 100%) !important;
    margin-right:auto !important;
    transition:margin-left .25s ease;
  }
  body.menu-mini:has(aside#J_v2Side) .container-fluid > header .content,
  body:has(aside#J_v2Side.v2-side-mini) .container-fluid > header .content{
    margin-left:clamp(60px, calc((100vw - 1320px)/2 + 30px), 100%) !important;
  }
  body:has(aside#J_v2Side) main.hotel_login.form{
    margin-left:clamp(180px, calc((100vw - 1000px)/2 + 90px), 100%) !important;
    margin-right:auto !important;
    transition:margin-left .25s ease;
  }
  body.menu-mini:has(aside#J_v2Side) main.hotel_login.form,
  body:has(aside#J_v2Side.v2-side-mini) main.hotel_login.form{
    margin-left:clamp(60px, calc((100vw - 1000px)/2 + 30px), 100%) !important;
  }
}

/* v2-svc-sub-20261017: 配套服务二级菜单（hover 展开, CSS-only; 父项点击仍跳 /service.html; mini 收缩态不展开） */
@media (min-width:768px){
  aside.v2-side#J_v2Side .v2-si-wrap .v2-si-sub{display:none;padding:0 0 6px 38px}
  aside.v2-side#J_v2Side .v2-si-wrap:hover .v2-si-sub{display:block}
  aside.v2-side#J_v2Side .v2-si-sub .v2-si-sub-item{display:block;height:32px;line-height:32px;color:#2B6BFF;font-size:13px;text-decoration:none;border-radius:8px;padding:0 10px;white-space:nowrap}
  aside.v2-side#J_v2Side .v2-si-sub .v2-si-sub-item:hover{background:#f0f6ff;text-decoration:none}
  aside.v2-side#J_v2Side.v2-side-mini .v2-si-sub{display:none!important}
}

/* v2-side-active-20261017 (Kevin 02:34令): 当前页菜单项选中态蓝底白字(携程胶囊同款) + 菜单上提贴顶条底边线 */
aside.v2-side#J_v2Side .v2-side-item.active{
  background:#2B6BFF;
  color:#fff;
  border-radius:8px;
}
aside.v2-side#J_v2Side .v2-side-item.active .v2-si-text,
aside.v2-side#J_v2Side .v2-side-item.active .v2-si-text *:not(.v2-si-free){
  color:#fff !important;
}
aside.v2-side#J_v2Side .v2-side-item.active .v2-si-ic{
  filter:brightness(0) invert(1);
}
aside.v2-side#J_v2Side .v2-side-item.active .v2-si-arrow{
  color:#fff;
}
aside.v2-side#J_v2Side{
  padding-top:2px !important;
}

/* v2-unify-left-20261017 (Kevin 04:33令): 全站板块左缘统一对齐酒店卡片(v2-main内margin:auto=325); service_process恢复margin:auto; footer/海量场地让位跟随主内容(首页v2-layout250/内页180自动区分) */
body:has(aside#J_v2Side) .v2-main .service_process{
  margin-left:auto !important;
  margin-right:auto !important;
}
.footer-wrap,
.amounts-resources{
  margin-left:180px !important;
  margin-right:auto !important;
  transition:margin-left .25s ease;
}
body:has(.v2-layout) .footer-wrap,
body:has(.v2-layout) .amounts-resources{
  margin-left:250px !important;
}
body.menu-mini .footer-wrap,
body.menu-mini .amounts-resources,
body:has(aside#J_v2Side.v2-side-mini) .footer-wrap,
body:has(aside#J_v2Side.v2-side-mini) .amounts-resources{
  margin-left:60px !important;
}
body:has(.v2-layout).menu-mini .footer-wrap,
body:has(.v2-layout).menu-mini .amounts-resources{
  margin-left:130px !important;
}

/* v2-side-selfcontained-20261017 (Kevin 04:15令 乱套修复A): v2-side 基础样式自包含
   背景: /help /ruzhu 等独立页只引本文件不引 hxt-home-v2, 缺 .v2-side-item/.v2-si-ic 尺寸规则 → SVG 无宽高巨大化
   来源: hxt-home-v2.20261017b.css 的 .v2-side-group/.v2-side-item/.v2-si-ic/.v2-si-arrow/.v2-si-new/mini font-size, 值与原版完全一致
   选择器统一加 aside#J_v2Side 提特异性; .active 态本文件已有(#2B6BFF + inline #0086F6 !important)不复制; 首页/城市站零视觉变化 */
aside#J_v2Side .v2-side-group{font-size:12px;color:#9aa3b5;padding:12px 16px 6px;letter-spacing:.5px;border-top:1px solid #e5e5e5;margin-top:6px;padding-top:12px}
aside#J_v2Side .v2-side-group:first-child{border-top:0;margin-top:0;padding-top:4px}
aside#J_v2Side .v2-side-item{display:flex;align-items:center;gap:9px;height:42px;padding:0 12px;margin:0 0 6px;border-radius:20px;color:#333;font-size:14px;text-decoration:none;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
aside#J_v2Side .v2-side-item:hover{background:#F2F8FE;color:#0086F6}
aside#J_v2Side .v2-si-ic{width:20px;height:22px;flex:0 0 auto;display:inline-flex}
aside#J_v2Side .v2-si-ic svg{width:20px;height:22px}
aside#J_v2Side .v2-si-arrow{margin-left:auto;color:#b8c0d0;font-size:13px}
aside#J_v2Side .v2-si-new{font-style:normal;background:#FE6E27;color:#fff;font-size:10px;padding:1px 5px;border-radius:6px;margin-left:5px;transform:scale(.9)}
aside#J_v2Side.v2-side-mini .v2-side-item{font-size:0}

/* v2-subpages-letway-20261017 (Kevin 04:15令 乱套修复B): 配套服务/套餐/关于我们(.container .content-bg .content 版心1160) + 百科列表(.warp-content 1160) + 百科详情(.page-wrap-inner 1160) + 产品矩阵(.hxt-products-wrap 1200) 菜单让位+右侧空间居中(同现有 clamp 公式), 收缩60联动
   注意: 不直接命中 .container(首页外壳同名) — 精确到内层版心; 首页/城市站/酒店详情无 content-bg/warp-content/page-wrap-inner/hxt-products-wrap, 零影响 */
@media (min-width:768px){
  body:has(aside#J_v2Side) .container .content-bg .content,
  body:has(aside#J_v2Side) .warp-content,
  body:has(aside#J_v2Side) .page-wrap-inner{
    margin-left:clamp(180px, calc((100vw - 1160px)/2 + 90px), 100%) !important;
    margin-right:auto !important;
    transition:margin-left .25s ease;
  }
  body.menu-mini:has(aside#J_v2Side) .container .content-bg .content,
  body:has(aside#J_v2Side.v2-side-mini) .container .content-bg .content,
  body.menu-mini:has(aside#J_v2Side) .warp-content,
  body:has(aside#J_v2Side.v2-side-mini) .warp-content,
  body.menu-mini:has(aside#J_v2Side) .page-wrap-inner,
  body:has(aside#J_v2Side.v2-side-mini) .page-wrap-inner{
    margin-left:clamp(60px, calc((100vw - 1160px)/2 + 30px), 100%) !important;
  }
  body:has(aside#J_v2Side) .hxt-products-wrap{
    margin-left:clamp(180px, calc((100vw - 1200px)/2 + 90px), 100%) !important;
    margin-right:auto !important;
    transition:margin-left .25s ease;
  }
  body.menu-mini:has(aside#J_v2Side) .hxt-products-wrap,
  body:has(aside#J_v2Side.v2-side-mini) .hxt-products-wrap{
    margin-left:clamp(60px, calc((100vw - 1200px)/2 + 30px), 100%) !important;
  }
}
