/**
 * 全站移动端壳层 + 首页内容 — 对齐 astaythatchangesyou.com/welcome/
 * 必须在 main.css 靠后 @import；子页内容见 mobile-subpages.css
 *
 * 隔离：body/html.is-mobile-layout（screen 判定，忽略桌面页面缩放）
 * Header / Footer / Menu：全站；首页区块仍用 data-page="home"
 */

html.is-mobile-layout {
  --home-gutter: 1.25rem;
  --figma-gutter: 1.25rem;
  --figma-gutter-left: 1.25rem;
  --figma-gutter-right: 1.25rem;
  --figma-canvas: 100%;
  --content-max: 100%;
  --figma-hero-h: min(68vh, 32.5rem);
  --figma-home-hero-h: min(68vh, 32.5rem);
  --figma-hero-title-size: var(--figma-m-hero-title-size, 1.125rem);
  --figma-hero-title-w: 100%;
  --figma-hero-title-x: 0;
  --figma-hero-year-size: 1rem;
  --figma-section-title-size: 1.125rem;
  --figma-section-title-mb: 1.75rem;
  --figma-section-pad-top: 3rem;
  --figma-section-pad-bottom: 3rem;
  --header-height: auto;
  --figma-header-h: auto;
  --figma-header-logo-h: 2.75rem;
  --figma-header-divider-h: 0.1875rem;
  --figma-header-hero-gap: 0;
  --figma-card-w: 100%;
  --figma-exp-card-w: 100%;
  --figma-exp-card-h: auto;
  --figma-culinary-info-w: 100%;
  --figma-carousel-progress-w: min(13.75rem, 56vw);
  --figma-carousel-controls-w: 100%;
  --figma-carousel-controls-mt: 1.5rem;
  --figma-carousel-counter-mt: 0.75rem;
  --figma-highlights-carousel-viewport-w: 100%;
  --figma-menu-contact-w: 100%;
  --figma-menu-contact-fill-w: 62%;
  --figma-notify-card-h-large: auto;
  --figma-notify-card-h-compact: auto;
  --figma-notify-card-h-medium: auto;
  --figma-notify-card-body-pad-top-large: 1.1rem;
  --figma-notify-card-body-pad-top-compact: 1.1rem;
  --figma-notify-card-body-pad-top-medium: 1.1rem;
}

body.is-mobile-layout {
  overflow-x: clip;
}

body.is-mobile-layout .page-push__site,
body.is-mobile-layout #site-scale-root,
body.is-mobile-layout .page-main--sub,
body[data-page="home"].is-mobile-layout .page-main--home,
body.is-mobile-layout .site-header--home,
body.is-mobile-layout .site-header--home .site-header__inner,
body[data-page="home"].is-mobile-layout .home-hero,
body[data-page="home"].is-mobile-layout .home-hero__content,
body[data-page="home"].is-mobile-layout .home-container,
body[data-page="home"].is-mobile-layout .carousel,
body[data-page="home"].is-mobile-layout .carousel__viewport {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

body.is-mobile-layout #site-scale-root {
  transform: none !important;
  margin-bottom: 0 !important;
  overflow-x: clip;
}

body.is-mobile-layout .page-push__site {
  overflow-x: clip;
}

/* Header 样式见 mobile-header.css（全站共用，勿在此重复） */

/* ========== Hero：标题 / 年份 / 服务 水平居中 ========== */
body[data-page="home"].is-mobile-layout .home-hero {
  position: relative;
  height: var(--figma-hero-h) !important;
  min-height: 25rem !important;
  max-height: 68vh;
  margin-top: 0 !important;
  overflow: hidden;
}

body[data-page="home"].is-mobile-layout .home-hero__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

body[data-page="home"].is-mobile-layout .home-hero__bg img,
body[data-page="home"].is-mobile-layout .home-hero__slide {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body[data-page="home"].is-mobile-layout .home-hero__scroll {
  display: none !important;
}

body[data-page="home"].is-mobile-layout .home-hero__content {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  justify-content: flex-start;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  /* 顶：Figma 标题 y=179；底：接待/礼宾区留白 */
  padding: var(--figma-m-hero-title-y, 8.6875rem) var(--home-gutter) clamp(5rem, 14vh, 6.5rem) !important;
  text-align: center !important;
  pointer-events: none;
  box-sizing: border-box;
}

body[data-page="home"].is-mobile-layout .home-hero__content a,
body[data-page="home"].is-mobile-layout .home-hero__title,
body[data-page="home"].is-mobile-layout .home-hero__year {
  pointer-events: auto;
}

body[data-page="home"].is-mobile-layout .home-hero__title,
body[data-page="home"].is-mobile-layout .home-hero__year {
  -webkit-user-select: text;
  user-select: text;
}

/*
 * 不用 left:50% + translateX 居中：fadeUp 的 transform forwards
 * 会清掉 translateX，标题会整块偏到一侧。
 */
body[data-page="home"].is-mobile-layout .home-hero__title {
  position: static !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: var(--figma-hero-title-size) !important;
  line-height: var(--figma-m-hero-title-lh, 1.5rem) !important;
  text-align: center !important;
}

body[data-page="home"].is-mobile-layout .home-hero__title-line {
  display: block !important;
  white-space: normal !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
}

body[data-page="home"].is-mobile-layout .home-hero__year {
  position: static !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  /* 贴标题下（稿面 18px），余量交给下方 services 用 margin-top:auto */
  margin: var(--figma-m-hero-year-y-gap, 1.125rem) 0 0 !important;
  font-size: var(--figma-hero-year-size) !important;
  text-align: center !important;
  flex-shrink: 0;
}

body[data-page="home"].is-mobile-layout .home-hero__services {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center;
  gap: clamp(2.5rem, 14vw, 4rem) !important;
  width: 100% !important;
  margin: auto 0 0 !important;
  flex-shrink: 0;
}

body[data-page="home"].is-mobile-layout .home-hero__service {
  position: static !important;
  left: auto !important;
  width: auto !important;
  min-width: 0 !important;
  justify-content: center;
  font-size: 0.75rem !important;
}

/* ========== Sections：区块内容居中 ========== */
body[data-page="home"].is-mobile-layout .page-main--home > .home-section {
  padding-left: var(--home-gutter) !important;
  padding-right: var(--home-gutter) !important;
  padding-top: var(--figma-section-pad-top) !important;
  padding-bottom: var(--figma-section-pad-bottom) !important;
}

body[data-page="home"].is-mobile-layout .page-main--home > .home-section > .home-container {
  display: flex;
  flex-direction: column;
  /* stretch：与轮播/区块同宽；center 会把信息卡 shrink-to-fit 变窄 */
  align-items: stretch;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

body[data-page="home"].is-mobile-layout .home-section__title {
  width: 100%;
  margin-bottom: var(--figma-section-title-mb) !important;
  font-size: var(--figma-section-title-size) !important;
  text-align: center !important;
}

body[data-page="home"].is-mobile-layout .carousel {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto;
}

/* 手机：单卡居中 + 可左右滑动（JS pointer）；保留竖向滚动 */
body[data-page="home"].is-mobile-layout .carousel__viewport {
  overflow: hidden !important;
  width: 100% !important;
  touch-action: pan-y;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}

body[data-page="home"].is-mobile-layout .carousel__viewport:active {
  cursor: grabbing;
}

/* ========== Carousel / Cards：一屏一张卡片 ========== */
body[data-page="home"].is-mobile-layout .carousel__track {
  gap: 1rem !important;
  touch-action: pan-y;
}

body[data-page="home"].is-mobile-layout .media-card,
body[data-page="home"].is-mobile-layout .media-card--culinary,
body[data-page="home"].is-mobile-layout #highlights .media-card,
body[data-page="home"].is-mobile-layout #culinary .media-card,
body[data-page="home"].is-mobile-layout #culinary .media-card--culinary {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: min(29.375rem, 125vw) !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
}

body[data-page="home"].is-mobile-layout #highlights .media-card {
  height: min(30rem, 128vw) !important;
}

body[data-page="home"].is-mobile-layout #culinary .media-card--culinary,
body[data-page="home"].is-mobile-layout .media-card--culinary {
  height: min(26.25rem, 112vw) !important;
}

body[data-page="home"].is-mobile-layout .media-card__bg,
body[data-page="home"].is-mobile-layout .media-card__overlay {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* 亮点：文案/按钮沉底居中（对齐参考站卡片） */
body[data-page="home"].is-mobile-layout .media-card__content,
body[data-page="home"].is-mobile-layout #highlights .media-card__content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  text-align: center !important;
  height: 100% !important;
  padding: 2rem 1.25rem 1.75rem !important;
  box-sizing: border-box;
}

body[data-page="home"].is-mobile-layout #highlights .media-card__title,
body[data-page="home"].is-mobile-layout #highlights .media-card__desc {
  text-align: center !important;
  width: 100%;
}

body[data-page="home"].is-mobile-layout #culinary .media-card__content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  height: 100% !important;
  padding: 1.5rem 1.25rem 3.5rem !important;
  box-sizing: border-box;
}

body[data-page="home"].is-mobile-layout #culinary .media-card__desc {
  max-width: 16rem !important;
}

body[data-page="home"].is-mobile-layout #culinary .media-card__btn {
  margin-top: 1rem !important;
}

body[data-page="home"].is-mobile-layout #highlights .media-card__btn,
body[data-page="home"].is-mobile-layout #highlights .media-card__location {
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

body[data-page="home"].is-mobile-layout #highlights .media-card--maw .media-card__logo {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  width: min(10rem, 56%) !important;
  height: auto !important;
  margin: 0 auto 0.75rem !important;
}

body[data-page="home"].is-mobile-layout .media-card__title {
  font-size: 1.25rem !important;
}

body[data-page="home"].is-mobile-layout .media-card__desc {
  max-width: 100% !important;
  font-size: 0.8125rem !important;
}

/* Experiences：高度随内容，避免按钮被裁切 */
body[data-page="home"].is-mobile-layout .feature-card,
body[data-page="home"].is-mobile-layout #experiences .feature-card,
body[data-page="home"].is-mobile-layout #experiences .experience-card--text {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body[data-page="home"].is-mobile-layout #experiences .experience-card--text {
  padding: 1.75rem 1.15rem 1.5rem !important;
  justify-content: flex-start !important;
}

body[data-page="home"].is-mobile-layout #experiences .feature-card__body,
body[data-page="home"].is-mobile-layout #experiences .experience-card--text .feature-card__body {
  flex: 0 1 auto !important;
  padding-bottom: 0.25rem !important;
}

body[data-page="home"].is-mobile-layout #experiences .feature-card__btn,
body[data-page="home"].is-mobile-layout #experiences .experience-card--text .feature-card__btn {
  margin-top: 1.25rem !important;
  margin-bottom: 0.25rem !important;
  flex-shrink: 0;
}

body[data-page="home"].is-mobile-layout .feature-card--lanhu-visual {
  overflow: hidden !important;
  border-radius: 0.75rem;
}

body[data-page="home"].is-mobile-layout .feature-card--lanhu-visual .feature-card__lanhu {
  width: 100% !important;
  height: auto !important;
}

body[data-page="home"].is-mobile-layout .feature-card__meta {
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0.5rem 0.75rem;
}

body[data-page="home"].is-mobile-layout
  .feature-card__meta:has(> .feature-card__meta-item:nth-child(2):last-child) {
  width: 100%;
  max-width: var(--figma-exp-exclusive-desc-max-w, 18.75rem);
  margin-inline: auto;
  justify-content: space-evenly;
  gap: 0;
}

body[data-page="home"].is-mobile-layout .feature-card__meta-item,
body[data-page="home"].is-mobile-layout .feature-card__meta-item span {
  white-space: nowrap;
}

/* 控件：< 进度条 > ，下方页码（对齐截图） */
body[data-page="home"].is-mobile-layout .carousel__controls {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  justify-items: center;
  column-gap: 0.75rem !important;
  row-gap: 0.65rem !important;
  width: 100% !important;
  max-width: min(17.5rem, 72vw) !important;
  margin-top: 1.35rem !important;
  margin-inline: auto !important;
}

body[data-page="home"].is-mobile-layout .carousel__btn--prev {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: end !important;
}

body[data-page="home"].is-mobile-layout .carousel__progress-wrap {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
}

body[data-page="home"].is-mobile-layout .carousel__btn--next {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: start !important;
}

body[data-page="home"].is-mobile-layout .carousel__counter {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  width: 100%;
  text-align: center;
  font-size: 0.875rem;
  order: unset !important;
}

body[data-page="home"].is-mobile-layout .carousel__btn {
  font-size: 0.875rem;
  min-width: 1.75rem;
  padding: 0.35rem;
}

body[data-page="home"].is-mobile-layout .carousel__btn-label {
  display: none !important;
}

body[data-page="home"].is-mobile-layout .home-cta,
body[data-page="home"].is-mobile-layout .home-cta--events,
body[data-page="home"].is-mobile-layout .home-cta--experiences {
  display: flex !important;
  justify-content: center;
  width: 100%;
  margin-top: 1.5rem !important;
}

/* ========== Events ========== */
body[data-page="home"].is-mobile-layout .events-grid {
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
}

body[data-page="home"].is-mobile-layout .events-calendar {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
}

body[data-page="home"].is-mobile-layout .event-card {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* 图按宽度等比完整展示，禁止固定高度 + cover 裁切 */
body[data-page="home"].is-mobile-layout .event-card__media {
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body[data-page="home"].is-mobile-layout .event-card__media > img:not(.event-card__media-overlay) {
  position: static !important;
  inset: auto !important;
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center center;
}

/* 移动端主图已文档流展示；再叠 soft-light 遮罩会在底边形成接缝/叠层，隐藏 */
body[data-page="home"].is-mobile-layout .event-card__media-overlay {
  display: none !important;
}

/* 角标完全落在图内，距底边留白 */
body[data-page="home"].is-mobile-layout .event-card__tag {
  top: auto !important;
  bottom: 0.75rem !important;
  left: 50% !important;
  z-index: 3;
  transform: translateX(-50%) !important;
}

body[data-page="home"].is-mobile-layout .event-card__body {
  position: relative;
  z-index: 1;
  padding-top: 1.25rem !important;
  padding-bottom: 1.5rem !important;
}

body[data-page="home"].is-mobile-layout .event-list-item {
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: 0 0.75rem;
  min-height: 6.5rem;
  height: auto !important;
  padding: 0.9rem 0.9rem !important;
}

body[data-page="home"].is-mobile-layout .event-list-item__info {
  padding-left: 0.75rem !important;
  min-width: 0;
}

body[data-page="home"].is-mobile-layout .event-list-item__title {
  font-size: 0.9375rem !important;
  word-break: break-word;
}

body[data-page="home"].is-mobile-layout .event-list-item__location-text,
body[data-page="home"].is-mobile-layout .event-list-item__type {
  word-break: break-word;
}

/* 早餐/早午餐/送餐信息卡：与上方轮播卡同宽对齐 */
body[data-page="home"].is-mobile-layout #culinary > .home-container > .carousel,
body[data-page="home"].is-mobile-layout #culinary > .home-container > .culinary-info-grid,
body[data-page="home"].is-mobile-layout #culinary > .home-container > .culinary-cta,
body[data-page="home"].is-mobile-layout #culinary > .home-container > .home-section__title {
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}

body[data-page="home"].is-mobile-layout .culinary-info-grid,
body[data-page="home"].is-mobile-layout #culinary .culinary-info-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 0.85rem !important;
  margin-top: 1.25rem !important;
  margin-inline: 0 !important;
  box-sizing: border-box !important;
}

body[data-page="home"].is-mobile-layout .info-box,
body[data-page="home"].is-mobile-layout #culinary .info-box {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1.25rem 1.15rem !important;
  box-sizing: border-box !important;
}

/* 客房送餐：PC min-width:407px 会撑破小屏，取消 min-width 并限制宽度 */
body[data-page="home"].is-mobile-layout .culinary-cta {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 1.5rem !important;
  padding-inline: 0;
  box-sizing: border-box;
}

body[data-page="home"].is-mobile-layout #culinary .home-cta__btn--dark {
  width: min(100%, 17.5rem) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 3rem !important;
  min-height: 3rem !important;
  padding: 0 1.25rem !important;
  font-size: 0.9375rem !important;
  line-height: 1.2 !important;
  border-radius: 1.5rem !important;
  box-sizing: border-box !important;
}

body[data-page="home"].is-mobile-layout #culinary .carousel,
body[data-page="home"].is-mobile-layout #culinary .carousel__viewport,
body[data-page="home"].is-mobile-layout #culinary .carousel__controls {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto;
}

/* ========== Concierge：避免固定 374+184 宽撑破 ========== */
body[data-page="home"].is-mobile-layout .concierge-bar {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin-top: 1.5rem !important;
  border-radius: 1rem !important;
  overflow: hidden;
}

body[data-page="home"].is-mobile-layout .concierge-bar__phone {
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 3rem !important;
  justify-content: center;
}

body[data-page="home"].is-mobile-layout .concierge-bar__hours {
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 2.5rem !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* ========== Map / Stories — Figma 99:676 @ 375 ========== */
body[data-page="home"].is-mobile-layout #map {
  padding-top: var(--figma-m-map-pad-top) !important;
  padding-bottom: var(--figma-m-map-pad-bottom) !important;
  padding-left: var(--figma-m-home-gutter) !important;
  padding-right: var(--figma-m-home-gutter) !important;
}

body[data-page="home"].is-mobile-layout .split-rows {
  gap: var(--figma-m-map-block-gap) !important;
}

body[data-page="home"].is-mobile-layout .split-row {
  grid-template-columns: 1fr !important;
  gap: var(--figma-m-map-subtitle-to-media) !important;
}

body[data-page="home"].is-mobile-layout .split-row--reverse .split-row__media {
  order: 0 !important;
}

body[data-page="home"].is-mobile-layout .split-row__content {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center;
}

/* 取消 16/9 固定比例 + 浅底，避免图高不足时露出多余背景色 */
body[data-page="home"].is-mobile-layout .split-row__media {
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  background: transparent !important;
  overflow: hidden;
  border-radius: 0;
  line-height: 0;
}

body[data-page="home"].is-mobile-layout .split-row__media > img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: var(--figma-m-map-media-h);
  margin: 0;
  vertical-align: top;
  object-fit: cover;
}

body[data-page="home"].is-mobile-layout .split-row__title {
  margin: 0 0 var(--figma-m-map-title-to-subtitle) !important;
  font-size: var(--figma-m-map-title-size) !important;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-accent-gold);
}

body[data-page="home"].is-mobile-layout .split-row__subtitle {
  margin: 0 !important;
  font-size: var(--figma-m-map-subtitle-size) !important;
}

body[data-page="home"].is-mobile-layout .split-row__btn,
body[data-page="home"].is-mobile-layout .split-row__media-btn {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: var(--figma-m-map-btn-bottom) !important;
  top: auto !important;
  transform: translateX(-50%) !important;
  z-index: 2;
  width: var(--figma-m-map-btn-w) !important;
  height: var(--figma-m-map-btn-h) !important;
  margin: 0 !important;
  white-space: nowrap;
}

body[data-page="home"].is-mobile-layout .split-row--reverse .split-row__btn {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

/* ========== Footer：99:703 纵向顺序 + 间距 ========== */
body.is-mobile-layout .home-footer__canvas {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  height: auto !important;
  padding: var(--figma-m-footer-pad-top) var(--figma-m-home-gutter) var(--figma-m-footer-pad-bottom) !important;
  text-align: center;
  box-sizing: border-box;
}

/* 打散 center，使子项可按稿面重排：Logo → 地址 → 联系 → 社交 → 会员 → 链接 → 版权 */
body.is-mobile-layout .home-footer__center {
  display: contents !important;
}

body.is-mobile-layout .home-footer__center,
body.is-mobile-layout .home-footer__contact-row,
body.is-mobile-layout .home-footer__address,
body.is-mobile-layout .home-footer__map-link,
body.is-mobile-layout .home-footer__phone-line,
body.is-mobile-layout .home-footer__social,
body.is-mobile-layout .home-footer__links-title,
body.is-mobile-layout .home-footer__links,
body.is-mobile-layout .home-footer__logo,
body.is-mobile-layout .home-footer__divider,
body.is-mobile-layout .home-footer__membership-title,
body.is-mobile-layout .home-footer__membership-desc,
body.is-mobile-layout .home-footer__join,
body.is-mobile-layout .home-footer__bottom,
body.is-mobile-layout .home-footer__link,
body.is-mobile-layout .home-footer__bottom span,
body.is-mobile-layout .home-footer__bottom a {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  width: auto;
  height: auto;
  margin-inline: auto;
}

body.is-mobile-layout .home-footer__logo {
  order: 1;
  width: var(--figma-m-footer-logo-w) !important;
  height: var(--figma-m-footer-logo-h) !important;
  margin: 0 auto var(--figma-m-footer-logo-to-address) !important;
}

body.is-mobile-layout .home-footer__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.is-mobile-layout .home-footer__address {
  order: 2;
  display: block;
  width: 100%;
  max-width: var(--figma-m-footer-address-w);
  margin: 0 auto var(--figma-m-footer-stack-gap) !important;
  font-size: var(--figma-m-footer-address-size) !important;
  line-height: var(--figma-m-footer-address-lh) !important;
  text-align: center;
}

/* 查看地图 + 电话：纵向堆叠，间距 40px */
body.is-mobile-layout .home-footer__contact-row {
  order: 3;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center !important;
  gap: var(--figma-m-footer-stack-gap) !important;
  width: 100% !important;
  max-width: 100%;
  margin: 0 auto var(--figma-m-footer-stack-gap) !important;
}

body.is-mobile-layout .home-footer__map-link,
body.is-mobile-layout .home-footer__phone-line {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  margin: 0 !important;
}

body.is-mobile-layout .home-footer__social:not([hidden]) {
  order: 4;
  display: flex !important;
  justify-content: center !important;
  align-items: center;
  gap: 1.15rem !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 auto var(--figma-m-footer-social-to-divider) !important;
}

body.is-mobile-layout .home-footer__social[hidden] {
  display: none !important;
  margin: 0 !important;
}

body.is-mobile-layout .home-footer__divider {
  order: 5;
  width: min(100%, var(--figma-m-footer-divider-w)) !important;
  height: auto !important;
  margin: 0 auto !important;
}

body.is-mobile-layout .home-footer__divider--top {
  order: 5;
  margin-bottom: 0 !important;
}

body.is-mobile-layout .home-footer__membership-title {
  order: 6;
  margin: var(--figma-m-footer-divider-to-title) auto 0 !important;
  font-size: var(--figma-m-footer-membership-title-size) !important;
  text-align: center;
}

body.is-mobile-layout .home-footer__membership-desc {
  order: 7;
  max-width: var(--figma-m-footer-membership-desc-w) !important;
  width: 100% !important;
  margin: var(--figma-m-footer-title-to-desc) auto 0 !important;
  text-align: center;
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: anywhere;
  line-height: var(--figma-m-footer-membership-desc-lh) !important;
  font-size: var(--figma-m-footer-membership-desc-size) !important;
}

body.is-mobile-layout .home-footer__join {
  order: 8;
  display: inline-flex;
  width: var(--figma-m-footer-join-w) !important;
  height: var(--figma-m-footer-join-h) !important;
  margin: var(--figma-m-footer-desc-to-join) auto var(--figma-m-footer-join-to-divider) !important;
}

body.is-mobile-layout .home-footer__divider--bottom {
  order: 9;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.is-mobile-layout .home-footer__links-title {
  order: 10;
  width: 100%;
  text-align: center !important;
  margin: var(--figma-m-footer-divider-to-links) auto 0 !important;
  font-size: var(--figma-m-footer-membership-title-size) !important;
}

body.is-mobile-layout .home-footer__links {
  order: 11;
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center;
  gap: var(--figma-m-footer-link-gap) !important;
  width: 100% !important;
  max-width: 100%;
  min-height: 0 !important;
  margin: var(--figma-m-footer-links-title-to-list) auto 0 !important;
}

body.is-mobile-layout .home-footer__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: auto !important;
  margin: 0 auto !important;
  text-align: center;
  font-size: 0.875rem !important;
}

body.is-mobile-layout .home-footer__bottom {
  order: 12;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: var(--figma-m-footer-links-to-copy) auto 0 !important;
  text-align: center;
}

body.is-mobile-layout .home-footer__bottom span,
body.is-mobile-layout .home-footer__bottom a {
  font-size: 0.625rem;
  line-height: 1.6;
}

/* ========== Menu / Notify ========== */
body.is-mobile-layout .menu-panel__inner,
body.is-mobile-layout .menu-panel__inner--canvas {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  padding: 1.25rem 0 2rem;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

body.is-mobile-layout .menu-panel__canvas {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: auto;
  min-height: auto;
  gap: 0.35rem;
  background: var(--color-bg-white);
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__lang,
body.is-mobile-layout .menu-panel__canvas .menu-panel__close,
body.is-mobile-layout .menu-panel__canvas .menu-panel__logo,
body.is-mobile-layout .menu-panel__canvas .menu-panel__nav,
body.is-mobile-layout .menu-panel__canvas .menu-panel__newspapers-link,
body.is-mobile-layout .menu-panel__canvas .menu-panel__utils,
body.is-mobile-layout .menu-panel__canvas .menu-panel__util-link,
body.is-mobile-layout .menu-panel__canvas .menu-panel__contacts,
body.is-mobile-layout .menu-panel__canvas .menu-panel__contact,
body.is-mobile-layout .menu-panel__canvas .menu-panel__useful,
body.is-mobile-layout .menu-panel__canvas .menu-panel__rule {
  position: static !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto;
  max-width: 100%;
  height: auto !important;
  transform: none !important;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__lang {
  align-self: flex-start;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__close {
  align-self: flex-end;
  margin-top: -1.75rem;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__logo {
  margin: 0.25rem auto 1.25rem;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__logo img {
  width: 5.5rem;
  height: auto;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__nav-link,
body.is-mobile-layout .menu-panel__canvas .menu-panel__newspapers-link,
body.is-mobile-layout .menu-panel__canvas .menu-panel__util-link,
body.is-mobile-layout .menu-panel__canvas .menu-panel__contact,
body.is-mobile-layout .menu-panel__canvas .menu-panel__useful {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__rule {
  display: none;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__utils,
body.is-mobile-layout .menu-panel__canvas .menu-panel__contacts {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__contacts {
  gap: 1.35rem;
  margin-top: 0.5rem;
  padding-inline: 1.25rem;
  overflow: hidden;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__contact {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 2.75rem !important;
  min-height: 2.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  align-items: center !important;
}

/* 蓝区统一固定比例，四行右边缘对齐；勿随文案变宽 */
body.is-mobile-layout .menu-panel__canvas .menu-panel__contact-fill,
body.is-mobile-layout .menu-panel__canvas .menu-panel__contact-main {
  flex: 0 0 var(--figma-menu-contact-fill-w, 62%) !important;
  width: var(--figma-menu-contact-fill-w, 62%) !important;
  max-width: var(--figma-menu-contact-fill-w, 62%) !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 0.75rem 0 1rem !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  align-items: center !important;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__contact-cluster {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem;
  max-width: 100%;
  min-width: 0;
  white-space: normal !important;
  flex-wrap: nowrap;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__contact-label {
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: unset !important;
  line-height: 1.15 !important;
  max-height: 2.3em;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__contact-fill .menu-icon,
body.is-mobile-layout .menu-panel__canvas .menu-panel__phone-icon {
  flex-shrink: 0 !important;
  align-self: center !important;
}

body.is-mobile-layout .menu-panel__canvas .menu-panel__contact-hours {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  padding: 0 0.45rem !important;
  overflow: hidden !important;
  text-overflow: unset !important;
  white-space: normal !important;
  line-height: 1.1 !important;
  font-size: 0.5625rem !important; /* 9px：两行塞进 2.75rem 行高 */
  letter-spacing: -0.02em !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body.is-mobile-layout.is-menu-open .menu-panel__canvas .menu-panel__nav-link,
body.is-mobile-layout.is-menu-open .menu-panel__canvas .menu-panel__newspapers-link,
body.is-mobile-layout.is-menu-open .menu-panel__canvas .menu-panel__util-link,
body.is-mobile-layout.is-menu-open .menu-panel__canvas .menu-panel__contact,
body.is-mobile-layout.is-menu-open .menu-panel__canvas .menu-panel__useful,
body.is-mobile-layout.is-menu-open .menu-panel__canvas .menu-panel__logo,
body.is-mobile-layout.is-menu-open .menu-panel__canvas .menu-panel__close {
  opacity: 1 !important;
  transform: none !important;
}

body.is-mobile-layout .notify-panel__header {
  height: 7.5rem !important;
}

body.is-mobile-layout .notify-panel__list {
  position: absolute !important;
  top: 7.5rem !important;
  left: 1.25rem !important;
  right: 1.25rem !important;
  bottom: 1.25rem !important;
  max-height: none !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 1.5rem !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

/*
 * 通知卡：block 竖排自然撑高；overflow:hidden 防止下一张图盖住上一张按钮。
 * 勿再用 overflow:visible + 矮固定高（会叠层）。
 */
body.is-mobile-layout .notify-card,
body.is-mobile-layout .notify-card--large,
body.is-mobile-layout .notify-card--compact,
body.is-mobile-layout .notify-card--medium {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  grid-template-columns: none !important;
  overflow: hidden !important;
  transform: none !important;
  opacity: 1 !important;
  box-sizing: border-box !important;
}

body.is-mobile-layout .notify-card__media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 10rem !important;
  max-height: 10rem !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 0.75rem 0.75rem 0 0 !important;
}

body.is-mobile-layout .notify-card__media img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  border-radius: 0.75rem 0.75rem 0 0 !important;
}

body.is-mobile-layout .notify-card__body,
body.is-mobile-layout .notify-card--large .notify-card__body,
body.is-mobile-layout .notify-card--compact .notify-card__body,
body.is-mobile-layout .notify-card--medium .notify-card__body {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 1rem 1.15rem 1.25rem !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  box-sizing: border-box !important;
  border-radius: 0 0 0.75rem 0.75rem !important;
  background: var(--figma-notify-card-bg, #eaf0f9) !important;
}

body.is-mobile-layout .notify-card__title {
  display: block !important;
  margin: 0 0 0.35rem !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

body.is-mobile-layout .notify-card__desc {
  display: block !important;
  margin: 0 0 0.85rem !important;
  word-break: keep-all;
  line-break: strict;
  overflow-wrap: break-word;
  letter-spacing: 0;
}

body.is-mobile-layout .notify-card__btn {
  position: static !important;
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100%;
  height: auto !important;
  min-height: 2rem !important;
  margin: 0 !important;
  padding: 0 0.875rem !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

body.is-mobile-layout .notify-card__btn-icon.interactive-icon--learn-more-arrow {
  width: var(--figma-inline-link-arrow-w, 0.875rem) !important;
  height: var(--figma-inline-link-arrow-h, 0.625rem) !important;
  max-width: var(--figma-inline-link-arrow-w, 0.875rem) !important;
  max-height: var(--figma-inline-link-arrow-h, 0.625rem) !important;
  min-height: 0 !important;
  flex-shrink: 0 !important;
}

body.is-mobile-layout.is-notify-open .notify-card,
body.is-mobile-layout .notify-panel.is-open .notify-card {
  opacity: 1 !important;
  transform: none !important;
}

body.is-mobile-layout .event-modal__grid {
  grid-template-columns: 1fr;
}

body.is-mobile-layout .event-modal__header {
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
}

body.is-mobile-layout .event-modal__close {
  grid-column: 1 / -1;
  justify-self: end;
}

body.is-mobile-layout .event-modal__hero {
  height: 11.25rem;
}
