.fm-game-mobile {
  display: none;
}

@media (max-width: 900px) {
  body.has-hero-header-detail {
    /* ⚠️ 不要再用 --fm-mobile-vw 去算宽度。
       100vw 含竖向滚动条宽度，而布局宽度不含：桌面窄窗口 / 设备模式带经典滚动条时
       clientWidth=378 而 100vw=393，于是 width:calc(100vw-32px) 比可用宽度宽 15px，
       整页被 overflow-x:hidden 裁掉右侧，内容就「偏右」贴住右边缘。
       本文件的所有宽度已改为相对父容器的 % （见下方各规则）。 */
    --fm-mobile-vw: 100vw;
    /* --fm-mobile-vw: min(100vw, 430px); */
  }

  html,
  body {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  #app,
  #page_main {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.has-hero-header-detail #site_header #global_nav,
  body.has-hero-header-detail #site_header #nav_zone,
  body.has-hero-header-detail #site_header .menu > .search,
  body.has-hero-header-detail #site_header .hv2-logo {
    display: none !important;
  }

  body.has-hero-header-detail #site_header,
  body.has-hero-header-detail #site_header #main_nav {
    width: 100%;
    min-width: 0 !important;
    /* height: 82px !important;
    min-height: 82px !important; */
    background: #fff !important;
    border-bottom: 1px solid #eceff3 !important;
    position: relative !important;
  }

  body.has-hero-header-detail #site_header #main_nav .inner.container {
    height: 56px !important;
    /* padding: 0 18px !important; */
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  body.has-hero-header-detail #site_header .main-left,
  body.has-hero-header-detail #site_header .menu {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  body.has-hero-header-detail #site_header .main-left {
    position: static !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }

  body.has-hero-header-detail #site_header #nav_logo {
    width: 179px !important;
    height: 49px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
  }

  body.has-hero-header-detail #site_header #nav_logo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body.has-hero-header-detail #site_header #main_nav .inner.container .main-left a[href="/"] {
    width: 179px !important;
    height: 49px !important;
    max-width: 179px !important;
    left: 48% !important;
    top:95% !important;
    transform: translateY(-50%) !important;
    position: absolute !important;
    z-index: 10 !important;
    margin-left: 0 !important;
    right: auto !important;
  }

  body.has-hero-header-detail #site_header #main_nav .inner.container .main-left a[href="/"] img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    max-width: 179px !important;
    max-height: 49px !important;
  }

  body.has-hero-header-detail #site_header .mh-backbtn {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000000 !important;
  }

  body.has-hero-header-detail #site_header .mh-backbtn svg {
    width: 24px !important;
    height: 24px !important;
  }

  body.has-hero-header-detail #site_header .menu {
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    z-index: 3 !important;
  }

  body.has-hero-header-detail #site_header .menu-actions {
    
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 90px !important;
    min-width: 0 !important;
  }

  body.has-hero-header-detail #site_header .m-search-btn,
  body.has-hero-header-detail #site_header .lc-mini {
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
  }

  body.has-hero-header-detail #site_header .m-search-btn svg,
  body.has-hero-header-detail #site_header .lc-mini svg {
    width: 22px !important;
    height: 22px !important;
    color: #000000 !important;
    stroke: #000000 !important;
    stroke-width: 1 !important;
  }

  body.has-hero-header-detail #site_header .m-search-btn svg path {
    fill: none !important;
  }
  
  body.has-hero-header-detail #site_header .m-search-btn svg circle {
    fill: none !important;
  }


  .fm-page-game-show.fm-gsv2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    overflow-x: hidden !important;
    background: linear-gradient(180deg, #f7f5ea 0, #f8f8f8 120px, #fff 360px) !important;
  }

  .fm-page-game-show.fm-gsv2 .gsv2-stage {
    padding: 0 !important;
    background: transparent !important;
  }

  body.has-hero-header-detail .fm-page-game-show.fm-gsv2 .fm-container,
  .fm-page-game-show.fm-gsv2 .gsv2-stage > .fm-container,
  .fm-page-game-show.fm-gsv2 .fm-hero.gsv2-stage > .fm-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .fm-page-game-show.fm-gsv2 .gsv2-stage__back,
  .fm-page-game-show.fm-gsv2 .fm-game-desktop-shell,
  .fm-page-game-show.fm-gsv2 .gsv2-detailWrap,
  .fm-page-game-show.fm-gsv2 .fm-gsv2Reviews {
    display: none !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 22px 16px calc(132px + env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__product {
    /* 与 .fm-game-mobile 的内容盒等宽（= 100% - 32px），不再依赖 100vw */
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px 14px 0 !important;
    border-radius: 26px !important;
    background: #fff !important;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .08) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__productTop {
    display: grid !important;
    grid-template-columns: 84px minmax(0, 1fr) 44px !important;
    gap: 8px !important;
    align-items: start !important;
    min-width: 0 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__cover {
    width: 84px !important;
    height: 84px !important;
    border: 0 !important;
    border-radius: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f3f4f6 !important;
    box-shadow: none !important;
    appearance: none !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__cover img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__main {
    min-width: 0 !important;
    padding-top: 0 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__main h1 {
    margin: 0 0 5px !important;
    color: #101828 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    word-break: normal !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__rating {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    min-width: 0 !important;
    margin-bottom: 12px !important;
  }

  /* 移动端产品卡片顶部：评分 + 5星 + 评论数（和 PC 端 gsv2-ratingRow 一致）。
     复用 PC 端 gsv2-ratingRow 样式，这里只补一个 8px 下边距把它和销售额行分开。 */
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__ratingRow {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__stars {
    display: inline-flex !important;
    gap: 1px !important;
    color: #f6c343 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__rating strong {
    color: #000000 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__sales {
    color: #252b3a !important;
    font-size: 14px !important;
    line-height: 1.24 !important;
    font-weight: 500 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__favorite {
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    /* background: #ffe9ea !important; */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    appearance: none !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__favorite svg {
    width: 24px !important;
    height: 24px !important;
    fill: none !important;
    stroke: #252b3a !important;
    stroke-width: 1.5 !important;
    transition: all .3s !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__favorite.is-active svg {
    fill: #fb4b4e !important;
    stroke: #fb4b4e !important;
  }
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__favorite.is-active {
    background: #ffe9ea !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__meta {
    height: 52px !important;
    margin-top: 14px !important;
    border-top: 1px solid #e4e8f0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__metaItem {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-width: 0 !important;
    color: #232938 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__metaItem svg {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__metaItem.is-guarantee {
    color: #0b9670 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__metaItem.is-guarantee svg {
    fill: #0b9670 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__metaItem.is-favorites svg,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__metaItem.is-favorites strong {
    fill: #fb5558 !important;
    color: #fb5558 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__metaDivider {
    width: 1px !important;
    height: 34px !important;
    background: #d8dee8 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__tabs {
    /* 父容器是 .bg-white.-mx-14 的负边距块（比 .fm-game-mobile 内容盒宽 28px） */
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 16px 0 0 !important;
    padding: 6px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #ededed !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.03) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__tabs button {
    border: 0 !important;
    border-radius: 14px !important;
    padding: 13px 12px !important;
    background: transparent !important;
    color: #7a7a7a !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    appearance: none !important;
    white-space: nowrap !important;
    transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__tabs button.is-active {
    background: #fff !important;
    color: #111111 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__tabs button:active {
    transform: scale(0.99) !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__purchase {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    min-width: 0 !important;
    margin: 18px 0 0 !important;
    overflow: visible !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__scenes {
    display: flex !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__scenes::-webkit-scrollbar {
    display: none !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__scenes button {
    height: 34px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: #fff !important;
    border: 1px solid #E9E9E9 !important;
    color: #000 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__scenes button.is-active {
    background: #000 !important;
    color: #fff !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuGrid {
    /* 父级是 .fm-game-mobile__purchase（已经是 100% - 28px），所以这里就是 100% */
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    /* 三列等分：用 1fr 而不是 (100vw-52px)/3，任何视口下都不会溢出、也不会偏右 */
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    justify-content: center !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__sku {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(212px, 54vw, 248px) !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 1px solid #e6e8ee !important;
    border-radius: 18px !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04) !important;
    color: #101828 !important;
    font: inherit !important;
    text-align: left !important;
    appearance: none !important;
    box-sizing: border-box !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__sku.is-active {
    border: 1px solid #f4c84a !important;
    background: #fff8df !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuMedia {
    height: 58% !important;
    min-height: 104px !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuMedia img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* display: block !important;
    width: auto !important;
    max-width: 72% !important;
    height: auto !important;
    max-height: 84px !important;
    object-fit: contain !important; */
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuInfo {
    min-height: 42% !important;
    padding: 10px 6px 24px 12px !important;
    background: rgba(255, 255, 255, .82) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__sku.is-active .fm-game-mobile__skuInfo {
    background: #fff6dc !important;
    padding-right: 0;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuName {
    height: 2.7em !important;            /* ✅ 加大到可容纳 2 行（line-height 1.35 × 2） */
    color: #6B3A00 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;          /* ✅ 加大行高，确保标题内容能正常换行并完整显示 */
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;   /* ✅ 允许长串在任何字符间断行，避免被截断 */
    word-break: break-word !important;    /* ✅ 同上，标准属性兜底 */
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    text-overflow: ellipsis;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine {
    margin-top: 6px !important;
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none;
    /* grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important; */
    align-items: baseline !important;
    gap: 5px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine strong {
    color: #6B3A00 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine del {
    justify-self: start !important;
    color: #6B3A00 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    opacity: 0.5;
    white-space: nowrap !important;
    text-decoration-thickness: 1px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuCheck {
    position: absolute !important;
    width: 24px;
    height: 19px;
    right: 0px!important;
    top: 0px!important;

    background: linear-gradient(90deg, #F17C41 0%, #EA4129 100%);
    border-radius: 0px 0 0px 12px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    /* z-index: 2 !important; */
    pointer-events: none !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuCheck svg {
    width: 9px !important;
    height: 7px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuCheck path {
    fill: none !important;
    stroke: #fff !important;
    stroke-width: 2.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviews {
    margin-top: 18px !important;
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    /* margin-left: 14px !important; */
    width: 100%;
    /* margin-right: 14px !important; */
    padding: 18px !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewsHead {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewsHead h2 {
    margin: 0 !important;
    color: #101828 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewsHead strong,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewEmpty {
    color: #697386 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__review {
    padding: 12px 0 !important;
    border-top: 1px solid #eef1f5 !important;
    display: flex;
    flex-direction: column;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewName {
    color: #101828 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewStars {
    margin-top: 4px !important;
    color: #d7dde7 !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewStars .is-on {
    color: #f6c343 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__review p {
    margin: 7px 0 0 !important;
    color: #4b5563 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewPhotos {
    display: flex !important;
    gap: 8px !important;
    margin-top: 10px !important;
    flex-wrap: wrap !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewPhoto {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid #eef1f5 !important;
    cursor: pointer !important;
    display: block !important;
  }

  /* Mobile reviews: 点赞按钮 */
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewLike {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    align-self: flex-end !important;
    margin-top: 10px !important;
    padding: 6px 14px !important;
    background: #fff !important;
    border: 1px solid #eef1f5 !important;
    border-radius: 999px !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    line-height: 1;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewLike:active {
    background: #f3f4f6 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewLike:disabled {
    opacity: .6;
    cursor: not-allowed;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__heart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__heart svg {
    width: 14px !important;
    height: 14px !important;
    display: block;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__heart--on { display: none; }
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewLike.is-liked .fm-game-mobile__heart--on { display: inline-flex; }
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewLike.is-liked .fm-game-mobile__heart--off { display: none; }
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewLike.is-liked {
    color: #ff4040 !important;
    border-color: rgba(255, 64, 64, .25) !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__likeCnt {
    font-weight: 600 !important;
  }

  /* Mobile reviews: 最新/最热 切换 */
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewsSort {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px !important;
    margin: 10px 0 14px !important;
    padding: 4px !important;
    background: rgba(17, 24, 39, .06) !important;
    border-radius: 12px !important;
    width: fit-content !important;
    margin-left: auto !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__sortBtn {
    appearance: none;
    border: 0 !important;
    background: transparent !important;
    color: rgba(17, 24, 39, .55) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 7px 14px !important;
    border-radius: 10px !important;
    cursor: pointer;
    line-height: 1;
    transition: background .15s ease, color .15s ease;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__sortBtn:active {
    color: rgba(17, 24, 39, .82) !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__sortBtn.is-active {
    background: #fff !important;
    color: rgba(17, 24, 39, .92) !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .06) !important;
  }

  /* Mobile reviews: 下拉到底加载下一页 */
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewLoadmore {
    display: flex;
    justify-content: center;
    padding: 16px 0 4px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__loadmoreBtn {
    appearance: none;
    border: 1px solid #e5e7eb !important;
    background: #fff !important;
    color: #111827 !important;
    border-radius: 999px !important;
    padding: 10px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, opacity .15s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__loadmoreBtn:active {
    background: #f3f4f6 !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__loadmoreBtn:disabled {
    opacity: .6;
    cursor: not-allowed;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__loadmoreLoading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  .fm-page-game-show.fm-gsv2 .fm-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(17, 24, 39, .2);
    border-top-color: rgba(17, 24, 39, .8);
    border-radius: 50%;
    animation: fm-spinner-rotate .8s linear infinite;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__reviewNomore {
    text-align: center;
    color: #6b7280 !important;
    font-size: 13px !important;
    padding: 16px 0 4px !important;
  }

  @keyframes fm-spinner-rotate {
    to { transform: rotate(360deg); }
  }

  .fm-page-game-show.fm-gsv2 .gsv2-cartAdd {
    display: inline-flex !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-mbuybar__cart {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 44px !important;
    height: 44px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #374151 !important;
    cursor: pointer;
    flex-shrink: 0;
  }

  .fm-page-game-show.fm-gsv2 .fm-mbuybar__cart .material-icons {
    font-size: 22px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-mbuybar__cart-badge {
    position: absolute;
    right: -6px;
    top: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #f0444f;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar.fm-mbuybar {
    display: block !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1000 !important;
    /* fixed 元素的 100% = 视口宽度（不含滚动条），比 100vw 更准 */
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 16px calc(14px + env(safe-area-inset-bottom)) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 -10px 30px rgba(15, 23, 42, .08) !important;
    backdrop-filter: blur(10px) !important;
    box-sizing: border-box !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__inner {
    /* 父级 #fm_mbuybar 已有 16px 内边距，故这里 100% 即原 100vw-32px */
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar-btns {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__left {
    min-width: 0 !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__top {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__qtylbl {
    color: #7b808b !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__stepper {
    width: 143px !important;
    min-width: 143px !important;
    flex: 0 0 143px !important;
    height: 42px !important;
    border-radius: 18px !important;
    background: #f0f1f3 !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
  }
.fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__skuName{
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    white-space: normal !important;
    flex: 0 0 auto !important;
    width: 48% !important;
    min-width: 48% !important;
    margin-right: 8px;
    font-size: 14px !important;
    font-weight: 500;
    color: #6B3A00 ;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    overflow-wrap: anywhere;
    box-sizing: border-box !important;
  }
  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__stepper button,
  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__stepper span {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 42px !important;
    border: 0 !important;
    line-height: 42px!important;
    background: transparent !important;
    /* color: #182033 !important; */
    font-size: 20px !important;
    line-height: 42px !important;
    font-weight: 600 !important;
    text-align: center !important;
  }
  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__stepper input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__price {
    margin-top: 9px !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 14px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__pay {
    color: #FF1313 !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__save {
    color: #FF1313 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    font-weight: normal !important;
    white-space: nowrap !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__save .t {
    margin-right: 0px !important;
    color: #FF1313 !important;
    font-weight: normal;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__btn {
    flex: 1 !important;
    width: 143px;
    min-width: 143px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #FFCB2E !important;
    color: #000000 !important;
    font-size: 14px !important;
    line-height: 44px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }
}

@media (max-width: 390px) {
  body.has-hero-header-detail #site_header #main_nav .inner.container {
    padding: 0 14px !important;
  }

  body.has-hero-header-detail #site_header #nav_logo {
    left: 14px !important;
  }

  body.has-hero-header-detail #site_header .menu {
    right: 14px !important;
  }


  .fm-page-game-show.fm-gsv2 .fm-game-mobile {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__product {
    padding-left: 14px !important;
    padding-right: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__productTop {
    grid-template-columns: 78px minmax(0, 1fr) 42px !important;
    gap: 12px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__cover {
    width: 78px !important;
    height: 78px !important;
    border-radius: 18px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__main h1 {
    font-size: 15px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__stars,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__rating strong {
    font-size: 12px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__sales {
    font-size: 13px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__favorite {
    width: 38px !important;
    height: 38px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__metaItem {
    font-size: 15px !important;
    gap: 7px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuGrid {
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-columns: minmax(0, 1fr) !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__sku {
    width: 100% !important;
    max-width: 100% !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__tabs,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__purchase {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuInfo {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuName,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine strong {
    font-size: 11px !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar.fm-mbuybar {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    grid-template-columns: calc(100% - 162px) 152px !important;
    gap: 10px !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__stepper {
    width: 128px !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__pay {
    font-size: 25px !important;
  }

  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__btn {
    font-size: 15px !important;
  }

  /* 购买栏显示当前选中商品名称 (上下结构) */
   .fm-page-game-show.fm-gsv2 #fm_mbuybar.fm-mbuybar__skuName{
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    flex: 0 0 auto !important;
    width: calc(100% - 118px) !important;
    max-width: 60% !important;
    min-width: 0 ;
    margin-right: 8px;
    font-size: 11px !important;
    font-weight: 600;
    color: #6B3A00 ;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    overflow-wrap: anywhere;
    box-sizing: border-box !important;
  }
}

@media (min-width: 901px) {
  .fm-game-mobile {
    display: none !important;
  }
}

/* Keep every mobile product image in a stable 1:1 frame. */
@media (max-width: 900px) {
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__cover,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuMedia,
  .fm-page-game-show.fm-gsv2 .gsv2-skuCard__media {
    position: relative !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__cover img,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuMedia img,
  .fm-page-game-show.fm-gsv2 .gsv2-skuCard__media img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
  }

  /* ------------------------------------------------------------------
     礼包卡片价格区骨架（价格+折扣标签 / 划线价+购物车，各占一行、右侧元素贴右）。

     这套规则同时写在 GamePage.vue 的 <style scoped> 里（那里权重更高）。这里是
     路由级样式，属于「保底层」：只要路由 CSS 在，即使组件 chunk 的 scoped 样式
     因为加载顺序/缓存等原因没生效，卡片也不会退化成「价格、折扣标签、购物车全部
     收缩到左侧、右边空一大块」的样子（用户反馈的就是这个现象）。
     完整视觉（字号、间距、1:1 兜底等）仍以组件内的 scoped 规则为准。
     ------------------------------------------------------------------ */
  /* 信息区必须显式占满卡片宽度：只靠父级 align-items:stretch 时，一旦被别处覆盖
     就会缩成内容宽度，里面所有元素跟着缩（用户截图即此现象） */
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuInfo {
    width: 100% !important;
    min-width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    align-self: stretch !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine .fm-sku__priceTop,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine .fm-sku__priceBottom {
    display: flex !important;
    align-self: stretch !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-width: 100% !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine .fm-sku__priceValue,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine del {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine .fm-sku__offBadge,
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine .gsv2-cartAdd {
    flex: 0 0 auto !important;
    margin-left: 4px !important;
  }

  /* 基础样式里 .gsv2-cartAdd 带 position: relative + left/top 偏移，这里复位，
     否则退化成「只引用路由 CSS」时购物车会被偏移、贴不到右边 */
  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuPriceLine .gsv2-cartAdd {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
  }
}

/* ==========================================================================
   平板竖屏（600–900px，iPad Air 10.9"/11" = 820、Pro 11 = 834 等）。
   这一档继续沿用移动端外壳，只做两件事：
     1) 内容限宽 720 并居中，避免手机布局被拉伸到整块平板宽度；
     2) SKU 网格 3 列 → 4 列，让卡片尺寸回到手机档观感
        （820 下约 164pt，接近 iPad Pro 桌面外壳的 170pt）。
   字号保持移动端原样，不做调整。
   ========================================================================== */
@media (min-width: 600px) and (max-width: 900px) {
  .fm-page-game-show.fm-gsv2 .fm-game-mobile {
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .fm-page-game-show.fm-gsv2 .fm-game-mobile__skuGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-columns: minmax(0, 1fr) !important;
  }

  /* 底部购买条是 fixed 整宽（含背景），只把内部内容限宽居中，
     避免出现「内容 720 居中、按钮铺满整个平板」的错位感。
     实际生效的是 GamePage.vue scoped 块里的同一组规则（权重更高）；
     这里保留一份是为了「组件 CSS 未生效」时的保底。 */
  .fm-page-game-show.fm-gsv2 #fm_mbuybar .fm-mbuybar__inner {
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}
