/* public/assets/test/css/game/detail/game-show-v2.mobile.css */
/* Game Show V2 — Mobile only (CLEAN) */

#page_main{
  padding-top: 0 !important;
}

/* 游戏详情：给透明 header 让位（移动端） */
body.has-hero-header-detail .fm-gsv2 .fm-hero{
  padding-top: calc(64px + env(safe-area-inset-top) + 14px) !important;
}


.fm-gsv2{
  /* ===== tokens ===== */
  --gsv2-pad: 16px;
  --gsv2-r: 20px;
  --gsv2-r2: 18px;

  --gsv2-text: rgba(17,24,39,.88);
  --gsv2-muted: rgba(17,24,39,.58);
  --gsv2-line: rgba(15,23,42,.08);
  --gsv2-soft: rgba(15,23,42,.04);

  --gsv2-yellow: #fbbf24;
  --gsv2-red: #ef4444;
  --gsv2-green: #10b981;

  --gsv2-shadow1: 0 18px 44px rgba(0,0,0,.08);
  --gsv2-shadow2: 0 10px 26px rgba(0,0,0,.06);
  --gsv2-shadow3: 0 12px 32px rgba(0,0,0,.10);

  color: var(--gsv2-text);

  /* 给底部 buybar 预留空间（避免内容被遮住） */
  padding-bottom: calc(96px + env(safe-area-inset-bottom));
}

/* ===== basic reset inside page ===== */
.fm-gsv2, .fm-gsv2 *{ box-sizing: border-box; }
.fm-gsv2 img{ display:block; max-width:100%; }
.fm-gsv2 button{ font: inherit; }
.fm-gsv2 a{ color: inherit; text-decoration:none; }

/* ===== container ===== */
.fm-gsv2 .fm-container{
  padding-left: var(--gsv2-pad);
  padding-right: var(--gsv2-pad);
}

/* =========================================================
   HERO
   ========================================================= */
.fm-gsv2 .fm-hero{
  position: relative;
  padding: 14px 0 14px;
  overflow: hidden;
  background: #fff;
  isolation: isolate;
}
.fm-gsv2 .fm-hero::before{
  content:"";
  position:absolute;
  inset: -48px -48px -64px -48px;
  background-image: var(--fm-hero-bg);
  background-size: cover;
  background-position: center;
  filter: blur(30px) saturate(1.12);
  transform: scale(1.06);
  opacity: .78;
  z-index: 0;
}
.fm-gsv2 .fm-hero::after{
  content:"";
  position:absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    rgba(255,255,255,.12) 0%,
    rgba(255,255,255,.72) 45%,
    rgba(255,255,255,.96) 82%,
    #fff 100%);
  z-index: 1;
}
.fm-gsv2 .fm-hero .fm-container{ position:relative; z-index:2; }

.fm-gsv2 .fm-heroInner{
  position: relative;
  display: grid;
  --gsv2-coverw: clamp(160px, 42vw, 210px);
  --gsv2-gap: 14px;
  grid-template-columns: var(--gsv2-coverw) 1fr;
  column-gap: var(--gsv2-gap);
  row-gap: 12px;
  align-items: start;
}

/* 手机端不显示收藏（你之前明确要隐藏） */
.fm-gsv2 .fm-heroFav{ display:none !important; }

/* cover */
.fm-gsv2 .fm-heroCover{
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
}
.fm-gsv2 .fm-heroCover img{
  width: 100%;
  aspect-ratio: 210 / 320;
  height: auto;
  object-fit: cover;
  border-radius: var(--gsv2-r2);
  box-shadow: 0 16px 44px rgba(0,0,0,.14);
}

/* meta: allow title/chips span grid */
.fm-gsv2 .fm-heroMeta{ display: contents; }

/* recent stays right column row1 */
.fm-gsv2 .fm-heroRecent{
  grid-column: 2;
  grid-row: 1;
  padding-top: 40px; /* 给 Trust chip 留高度 */
}

/* Trust chip: 贴着 cover 右侧（相对 .fm-heroInner 绝对定位） */
.fm-gsv2 .fm-heroChips .fm-chip--ok{
  position: absolute;
  top: 0;
  left: calc(var(--gsv2-coverw) + var(--gsv2-gap));
  height: 32px;
  border-radius: 999px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.74);
  backdrop-filter: blur(10px);
  box-shadow: var(--gsv2-shadow3);
  z-index: 5;

  width: clamp(190px, 52vw, 260px);
  max-width: calc(100% - (var(--gsv2-coverw) + var(--gsv2-gap)));
}
.fm-gsv2 .fm-heroChips .fm-chip--ok .ico{
  width: 22px; height:22px;
  border-radius: 999px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(16,185,129,.12);
  color: var(--gsv2-green);
}
.fm-gsv2 .fm-heroChips .fm-chip--ok .ico .material-icons{ font-size: 16px; }
.fm-gsv2 .fm-heroChips .fm-chip--ok .txt{
  font-size: 13px;
  font-weight: 650;
  color: rgba(17,24,39,.82);
}

/* recent list */
.fm-gsv2 .fm-heroRecentList{
  list-style: none;
  margin: 0;
  padding: 0;
  display:flex;
  flex-direction: column;
  gap: 10px;
}
.fm-gsv2 .fm-heroRecentItem{
  display:flex;
  gap: 10px;
  align-items: center;
  min-height: 34px;
}
.fm-gsv2 .fm-heroRecentItem.is-fade{ opacity: .36; }
.fm-gsv2 .fm-heroRecentAvatar{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  flex: 0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.6);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(8px);
  color: rgba(17,24,39,.70);
  font-weight: 700;
  font-size: 12px;
}
.fm-gsv2 .fm-heroRecentAvatar img{ width:100%; height:100%; object-fit: cover; }

.fm-gsv2 .fm-heroRecentTxt .l1{
  font-size: 12px;
  font-weight: 650;
  color: rgba(17,24,39,.70);
  line-height: 1.1;
}
.fm-gsv2 .fm-heroRecentTxt .l2{
  margin-top: 3px;
  font-size: 12px;
  color: rgba(17,24,39,.50);
  line-height: 1.15;
}

/* title spans both columns row2 */
.fm-gsv2 .fm-heroTitleRow{
  grid-column: 1 / -1;
  grid-row: 2;
  display:flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 2px;
}
.fm-gsv2 .fm-heroTitle{
  margin: 0;
  font-weight: 850;
  letter-spacing: -.02em;
  font-size: clamp(28px, 7.6vw, 36px);
  line-height: 1.05;
  color: rgba(17,24,39,.92);
}
.fm-gsv2 .fm-heroOff{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0px 5px 0px 5px;
  border-radius: 8px;
  background: var(--gsv2-yellow);
  color: rgba(17, 24, 39, .92);
  font-weight: 800;
  font-size: 12px;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .10);
}

/* pills row3 spans both columns */
.fm-gsv2 .fm-heroChips{
  grid-column: 1 / -1;
  grid-row: 3;
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.fm-gsv2 .fm-heroChips::-webkit-scrollbar{ display:none; }

.fm-gsv2 .fm-pill{
  flex: 0 0 auto;
  height: 34px;
  border-radius: 999px;
  padding: 0 12px;
  display:inline-flex;
  align-items:center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.58);
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(10px);
}
.fm-gsv2 .fm-pill .ico{
  width: 24px; height:24px;
  border-radius: 999px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(15,23,42,.06);
  color: rgba(17,24,39,.70);
}
.fm-gsv2 .fm-pill .ico .material-icons{ font-size: 16px; }
.fm-gsv2 .fm-pill .k{
  font-size: 12px;
  font-weight: 650;
  color: rgba(17,24,39,.62);
}
.fm-gsv2 .fm-pill .v,
.fm-gsv2 .fm-pill .v2{
  font-size: 12px;
  font-weight: 800;
  margin-left: 2px;
}
.fm-gsv2 .is-red{ color: var(--gsv2-red); }
.fm-gsv2 .is-yellow{ color: #f59e0b; }

/* =========================================================
   MAIN / GRID
   ========================================================= */
.fm-gsv2 .fm-main{
  padding: 10px 0 1px;
  background: #fff;
}
.fm-gsv2 .fm-mainGrid{ display:block; }
.fm-gsv2 .fm-only-desktop{ display:none !important; }

/* =========================================================
   Segmented (Select Payment / Reviews)
   ========================================================= */
.fm-gsv2 .fm-mseg{
  margin: 12px 0 14px;
  display:flex;
  gap: 8px;
  padding: 4px;
  border-radius: 18px;
  border: 1px solid var(--gsv2-line);
  background: rgba(17,24,39,.04);
}
.fm-gsv2 .fm-mseg__btn{
  flex:1;
  height: 42px;
  border: 0;
  background: transparent;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  color: rgba(17,24,39,.54);
}
.fm-gsv2 .fm-mseg__btn.is-active{
  background: #fff;
  color: rgba(17,24,39,.88);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* =========================================================
   Purchase Card
   ========================================================= */
.fm-gsv2 .fm-purchaseCard{
  border-radius: var(--gsv2-r);
  border: 1px solid var(--gsv2-line);
  background: rgba(255,255,255,.92);
  box-shadow: var(--gsv2-shadow1);
  padding: 14px;
}

/* scene tabs */
.fm-gsv2 .fm-sceneTabs{
  display:flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 12px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.fm-gsv2 .fm-sceneTabs::-webkit-scrollbar{ display:none; }

.fm-gsv2 .fm-sceneTabs__btn{
  flex: 0 0 auto;
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  color: rgba(17,24,39,.68);
  font-size: 13px;
  font-weight: 750;
  line-height: 36px;
}
.fm-gsv2 .fm-sceneTabs__btn.is-active{
  background: rgba(17,24,39,.92);
  color: #fff;
  border-color: transparent;
}

/* panes */
.fm-gsv2 .scene-pane{ display:none; }
.fm-gsv2 .scene-pane.is-active{ display:block; }

/* =========================================================
   SKU grid
   ========================================================= */
.fm-gsv2 .fm-skuGrid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 380px){
  .fm-gsv2 .fm-skuGrid{ grid-template-columns: repeat(2, 1fr); }
}

.fm-gsv2 .fm-sku{ display:block; cursor:pointer; user-select:none; min-width:0; -webkit-tap-highlight-color: transparent; }
.fm-gsv2 .fm-sku input{ position:absolute; opacity:0; pointer-events:none; }

/* card */
.fm-gsv2 .fm-sku__card{
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  box-shadow: var(--gsv2-shadow2);
  transform: translateZ(0);
}
.fm-gsv2 .fm-sku__img{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: var(--gsv2-soft);
  overflow:hidden;
}
.fm-gsv2 .fm-sku__img img{ width:100%; height:100%; object-fit:cover; }

/* info top-left */
.fm-gsv2 .fm-sku__info{
  position:absolute;
  top: 8px; left: 8px;
  width: 22px; height:22px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(17,24,39,.46);
  backdrop-filter: blur(8px);
  color: rgba(255,255,255,.92);
  z-index: 2;
}
.fm-gsv2 .fm-sku__info .material-icons{ font-size: 15px; }

/* check top-right (only when checked) */
.fm-gsv2 .fm-sku__check{
  position:absolute;
  top: 8px; right: 8px;
  width: 26px; height:26px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(17,24,39,.58);
  backdrop-filter: blur(10px);
  opacity: 0;
  transform: scale(.9);
  transition: opacity .18s ease, transform .18s ease;
  z-index: 2;
}
.fm-gsv2 .fm-sku__checkSvg{ display:block; }

/* off badge: 图片右上（避开 check） */
.fm-gsv2 .fm-sku__off{
  position: absolute;
  top: 87px;
  right: 8px;
  height: 18px;
  padding: 0 5px;
  border-radius: 12px;
  background: var(--gsv2-yellow);
  color: rgba(17, 24, 39, .92);
  font-size: 10px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .12);
  z-index: 2;
}

/* meta统一高度，避免卡片参差 */
.fm-gsv2 .fm-sku__meta{
  padding: 10px 3px 12px;
  min-height: 64px;
  display:flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.fm-gsv2 .fm-sku__name{
  font-size: 12px;
  font-weight: 650;
  color: rgba(17,24,39,.74);
  line-height: 1.15;
  min-height: 28px;
  overflow: hidden;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;

  word-break: break-word;
  overflow-wrap: anywhere;
}
.fm-gsv2 .fm-sku__priceRow{
  display:flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 0;
  min-width: 0;
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
}
.fm-gsv2 .fm-sku__priceRow .now{
  font-size: 14px;
  font-weight: 900;
  color: rgba(17,24,39,.92);
  flex: 1 1 auto;
  max-width: 55%;
  min-width:0;
  overflow:hidden;
  text-overflow: ellipsis;
}
.fm-gsv2 .fm-sku__priceRow .old{
  font-size: 12px;
  color: rgba(17,24,39,.42);
  text-decoration: line-through;
  flex: 0 1 auto;
  max-width: 45%;
  min-width:0;
  overflow:hidden;
  text-overflow: ellipsis;
}

@media (max-width: 380px){
  .fm-gsv2 .fm-sku__meta{ min-height: 60px; }
  .fm-gsv2 .fm-sku__name{ min-height: 26px; }
  .fm-gsv2 .fm-sku__priceRow .old{ max-width: 42%; }
  .fm-gsv2 .fm-sku__priceRow .now{ max-width: 58%; }
}

/* checked */
.fm-gsv2 .fm-sku input:checked + .fm-sku__card{
  border: 2px solid rgba(251,191,36,.62);
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
}
.fm-gsv2 .fm-sku input:checked + .fm-sku__card .fm-sku__check{
  opacity: 1;
  transform: scale(1);
}

/* empty */
.fm-gsv2 .fm-empty{
  padding: 16px;
  border-radius: 16px;
  background: rgba(15,23,42,.03);
  border: 1px dashed rgba(15,23,42,.10);
  color: rgba(17,24,39,.55);
  font-size: 13px;
}

/* =========================================================
   Reviews toggle
   ========================================================= */
.fm-gsv2 .fm-gsv2Reviews{ display:none; }
.fm-gsv2.is-show-reviews .fm-gsv2Reviews{ display:block; }
.fm-gsv2.is-show-reviews .fm-purchaseCard{ display:none; }
.fm-gsv2.is-show-reviews .fm-detailCard{ display:none; }
.fm-gsv2.is-show-reviews .fm-mbuybar{ display:none; }

/* reviews wrapper */
.fm-gsv2Reviews{
  padding: 1px var(--gsv2-pad) 24px;
  background:#fff;
}
.fm-gsv2Reviews .fm-gsv2ReviewsGrid{ display:block; }
.fm-gsv2Reviews .fm-gsv2ReviewsLeft{ width:100%; }

/* =========================================================
   Mobile Detail Card (show default active tab only)
   ========================================================= */
.fm-gsv2 .fm-detailCard{
  margin-top: 14px;
  border-radius: var(--gsv2-r);
  border: 1px solid var(--gsv2-line);
  background: rgba(255,255,255,.92);
  box-shadow: var(--gsv2-shadow1);
  padding: 14px;
}
.fm-gsv2 .fm-detailCard__head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.fm-gsv2 .fm-detailCard__head .ttl{
  font-size: 14px;
  font-weight: 850;
  color: rgba(17,24,39,.88);
}
.fm-gsv2 .fm-detailCard__head .fm-tabs-nav{ display:none !important; }
.fm-gsv2 .fm-detailCard .tab-panel{ display:none; }
.fm-gsv2 .fm-detailCard .tab-panel.is-active{ display:block; }
.fm-gsv2 .fm-detailCard .tab-panel h3{
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 850;
  color: rgba(17,24,39,.86);
}
.fm-gsv2 .fm-detailCard .tab-html{
  font-size: 13px;
  line-height: 1.65;
  color: rgba(17,24,39,.70);
}
.fm-gsv2 .fm-detailCard .tab-html img{ max-width:100%; height:auto; border-radius: 14px; }
.fm-gsv2 .fm-detailCard .tab-html p{ margin: 10px 0; }
.fm-gsv2 .fm-detailCard .tab-html ul,
.fm-gsv2 .fm-detailCard .tab-html ol{ padding-left: 18px; margin: 10px 0; }
.fm-gsv2 .fm-detailCard .tab-html a{ text-decoration: underline; }

/* =========================================================
   Mobile Bottom Buybar (FINAL STABLE)
   - 只保留这一套
   - 外层透明，不制造整条灰底
   - 内层白卡可点击
========================================================= */
.fm-gsv2{
  /* 只保留页面自己的购买条预留 */
  padding-bottom: calc(92px + env(safe-area-inset-bottom));
}

.fm-gsv2 #fm_mbuybar.fm-mbuybar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9990;

  padding: 8px 12px calc(8px + env(safe-area-inset-bottom));

  background: transparent;
  border-top: 0;
  box-shadow: none;

  backdrop-filter: none;
  -webkit-backdrop-filter: none;

  pointer-events: none;
}

.fm-gsv2 #fm_mbuybar .fm-mbuybar__inner{
  max-width: 560px;
  margin: 0 auto;

  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.12);

  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;

  pointer-events: auto;
}

@media (max-width: 380px){
  .fm-gsv2{
    padding-bottom: calc(88px + env(safe-area-inset-bottom));
  }

  .fm-gsv2 #fm_mbuybar .fm-mbuybar__inner{
    padding: 10px;
  }

  .fm-gsv2 #fm_mbuybar .fm-mbuybar__pay{
    font-size: 19px;
  }

  .fm-gsv2 #fm_mbuybar .fm-mbuybar__btn.btn-buy-now{
    height: 38px;
    font-size: 13px;
    padding: 0 12px;
    line-height: 38px;
  }
}

/* left: two rows */
.fm-gsv2 #fm_mbuybar .fm-mbuybar__left{
  flex: 1 1 auto;
  min-width: 0;
  display:flex;
  flex-direction: column;
  gap: 8px;
}

/* row1: qty + stepper (grouped, NOT space-between) */
.fm-gsv2 #fm_mbuybar .fm-mbuybar__top{
  display:flex;
  align-items:center;
  justify-content: flex-start;
  gap: 10px;
  min-width: 0;
}
.fm-gsv2 #fm_mbuybar .fm-mbuybar__qtylbl{
  font-size: 13px;
  font-weight: 700;
  color: rgba(17,24,39,.55);
  white-space: nowrap;
}
.fm-gsv2 #fm_mbuybar .fm-mbuybar__stepper{
  display:flex;
  align-items:center;
  gap: 8px;
  height: 36px;
  padding: 0 10px;
  border-radius: 14px;
  background: rgba(17,24,39,.06);
}
.fm-gsv2 #fm_mbuybar .fm-mbuybar__stepper button{
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  font-weight: 900;
  font-size: 16px;
  color: rgba(17,24,39,.55);
  line-height: 1;
  padding: 0;
}
.fm-gsv2 #fm_mbuybar .fm-mbuybar__stepper .js-qty-val{
  min-width: 18px;
  text-align:center;
  font-weight: 900;
  font-size: 14px;
  color: rgba(17,24,39,.85);
  line-height: 1;
}

/* row2: pay + savings (same line, left aligned) */
.fm-gsv2 #fm_mbuybar .fm-mbuybar__price{
  display:flex;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
}
.fm-gsv2 #fm_mbuybar .fm-mbuybar__pay{
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -.02em;
  color: var(--gsv2-red);
  white-space: nowrap;
  line-height: 1.05;
}
.fm-gsv2 #fm_mbuybar .fm-mbuybar__save{
  font-size: 13px;
  font-weight: 800;
  color: var(--gsv2-red);
  white-space: nowrap;
  line-height: 1.1;
}
.fm-gsv2 #fm_mbuybar .fm-mbuybar__save .t{
  font-weight: 700;
  color: rgba(239,68,68,.75);
  margin-right: 6px;
}

/* CTA right */
.fm-gsv2 #fm_mbuybar .fm-mbuybar__btn.btn-buy-now{
  flex: 0 0 auto;
  height: 40px;
  padding: 0 14px;
  border-radius: 14px;
  border: 0;
  background: var(--gsv2-yellow);
  color: rgba(17,24,39,.92);
  font-size: 14px;
  font-weight: 900;
  line-height: 40px;
  box-shadow: 0 10px 20px rgba(251,191,36,.28);
  white-space: nowrap;
  width: clamp(160px, 40vw, 240px);
  max-width: 52vw;
}

@media (max-width: 380px){
  .fm-gsv2 #fm_mbuybar .fm-mbuybar__inner{ padding: 10px; }
  .fm-gsv2 #fm_mbuybar .fm-mbuybar__pay{ font-size: 19px; }
  .fm-gsv2 #fm_mbuybar .fm-mbuybar__btn.btn-buy-now{ height: 38px; font-size: 13px; padding: 0 12px; line-height: 38px; }
}

/* =========================================================
   Coupon Modal (bottom sheet)
   ========================================================= */
.fm-gsv2 .ck3-modal{
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: none;
}
.fm-gsv2 .ck3-modal.is-open,
.fm-gsv2 .ck3-modal.is-active,
.fm-gsv2 .ck3-modal[aria-hidden="false"]{
  display: block;
}
.fm-gsv2 .ck3-modal__mask{
  position:absolute;
  inset: 0;
  background: rgba(2,6,23,.46);
  backdrop-filter: blur(6px);
}
.fm-gsv2 .ck3-modal__panel{
  position:absolute;
  left: 0; right: 0; bottom: 0;
  margin: 0 auto;
  width: min(640px, 100%);
  max-height: calc(78vh + env(safe-area-inset-bottom));
  border-radius: 22px 22px 0 0;
  border: 1px solid rgba(255,255,255,.42);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px);
  box-shadow: 0 -20px 60px rgba(0,0,0,.22);
  overflow: hidden;
  display:flex;
  flex-direction: column;
}
.fm-gsv2 .ck3-modal__hd{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(15,23,42,.08);
}
.fm-gsv2 .ck3-modal__title{
  font-size: 14px;
  font-weight: 850;
  color: rgba(17,24,39,.88);
  letter-spacing: -.01em;
}
.fm-gsv2 .ck3-modal__x{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(17,24,39,.04);
  color: rgba(17,24,39,.78);
  font-size: 18px;
  line-height: 1;
}
.fm-gsv2 .ck3-modal__bd{
  padding: 12px 12px 14px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.fm-gsv2 .ck3-modal__ft{
  padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.96);
  display:flex;
  gap: 10px;
}
.fm-gsv2 .ck3-btn{
  height: 44px;
  border-radius: 14px;
  border: 0;
  font-weight: 850;
  font-size: 14px;
  padding: 0 14px;
  cursor: pointer;
}
.fm-gsv2 .ck3-btn--ghost{ flex: 1; background: rgba(17,24,39,.06); color: rgba(17,24,39,.82); }
.fm-gsv2 .ck3-btn--primary{ flex: 1.2; background: var(--gsv2-yellow); color: rgba(17,24,39,.92); box-shadow: 0 16px 34px rgba(251,191,36,.34); }

.fm-gsv2 #fm-coupon-modal .fm-coupon-item{
  width: 100%;
  text-align: left;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  border-radius: 18px;
  padding: 12px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  margin: 10px 0;
}
.fm-gsv2 #fm-coupon-modal .fm-coupon-item.is-selected{
  border: 2px solid rgba(251,191,36,.62);
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
}
.fm-gsv2 #fm-coupon-modal .fm-coupon-item.is-disabled{ opacity:.55; filter: grayscale(.15); }
.fm-gsv2 #fm-coupon-modal .fm-coupon-main{ min-width:0; }
.fm-gsv2 #fm-coupon-modal .fm-coupon-title{
  font-size: 13px;
  font-weight: 850;
  color: rgba(17,24,39,.86);
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fm-gsv2 #fm-coupon-modal .fm-coupon-sub{
  margin-top: 6px;
  font-size: 12px;
  color: rgba(17,24,39,.52);
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fm-gsv2 #fm-coupon-modal .fm-coupon-right{ flex:0 0 auto; text-align:right; }
.fm-gsv2 #fm-coupon-modal .fm-coupon-val{ font-size: 13px; font-weight: 950; color: rgba(17,24,39,.92); }
.fm-gsv2 #fm-coupon-modal .fm-coupon-save{ margin-top: 6px; font-size: 12px; font-weight: 800; color: rgba(239,68,68,.84); }
.fm-gsv2 #fm-coupon-modal .fm-coupon-bad{ margin-top: 6px; font-size: 12px; color: rgba(17,24,39,.48); }

/* =========================================================
   Trust / Safety Modal (Mobile) — correct id: #fm_trust_modal
   ========================================================= */
#fm_trust_modal.fm-modal{
  position: fixed;
  inset: 0;
  z-index: 10080;
  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
#fm_trust_modal.fm-modal[aria-hidden="false"]{
  opacity: 1;
  pointer-events: auto;
}

#fm_trust_modal .fm-modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(10px);
}

#fm_trust_modal .fm-trust-dialog{
  position: relative;
  width: min(720px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0,0,0,.45);
  display:flex;
  flex-direction: column;

  transform: translateY(10px);
  transition: transform .18s ease;
}
#fm_trust_modal[aria-hidden="false"] .fm-trust-dialog{ transform: translateY(0); }

#fm_trust_modal .fm-trust-hero{
  position: relative;
  padding: 18px 16px 18px;
  min-height: 165px;

  background-color: #0b0a08;
  background-image: url("https://cdn.flashmunk.com/static_bg/home/game-show-safety-m.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain; /* 不裁切，右侧盾牌必露 */
}
#fm_trust_modal .fm-trust-hero::before{
  content:"";
  position:absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(0,0,0,.52) 0%,
    rgba(0,0,0,.32) 55%,
    rgba(0,0,0,.16) 100%);
}
#fm_trust_modal .fm-trust-hero__txt{ position:relative; z-index:2; max-width: 520px; }

#fm_trust_modal .fm-trust-brand{
  color: rgba(255,255,255,.50);
  font-size: 16px;
  font-style: italic;
  font-weight: 800;
  line-height: 1;
}

#fm_trust_modal .fm-trust-title{
  margin-top: 10px;
  font-size: 24px;
  font-style: italic;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.5px;
  text-transform: uppercase;

  background: linear-gradient(90deg,
    #ffe2bf 0%,
    #ffc98a 28%,
    #f3b15d 55%,
    #d6903c 78%,
    #ffe7cd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;

  text-shadow: 0 1px 0 rgba(0,0,0,.28);
}

#fm_trust_modal .fm-trust-x{
  position:absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 12px;
  background: rgba(0,0,0,.20);
  backdrop-filter: blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;
}
#fm_trust_modal .fm-trust-x svg{ width:16px; height:16px; }

#fm_trust_modal .fm-trust-body{
  background:#fff;
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

#fm_trust_modal .fm-trust-item{
  display:flex;
  gap: 12px;
  padding: 18px 0;
  border-top: 1px solid rgba(15,23,42,.10);
}
#fm_trust_modal .fm-trust-item:first-child{ border-top:0; padding-top: 8px; }

#fm_trust_modal .fm-trust-ico{
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  border-radius: 999px;
  background: #1f1a16;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
  display:flex;
  align-items:center;
  justify-content:center;
}

#fm_trust_modal .fm-trust-main{ flex:1 1 auto; min-width:0; }
#fm_trust_modal .fm-trust-item__t{
  font-size: 18px;
  font-weight: 850;
  letter-spacing: -0.15px;
  color: #c28b3c;
}
#fm_trust_modal .fm-trust-item__d{
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(17,24,39,.58);
}

/* =========================================================
   SKU Info Modal (Mobile) — correct to your Blade classes: __hd / __bd / __p
   Target: #fm_skuinfo_modal.gsv2-skuinfo
   ========================================================= */
@media (max-width: 900px){
  #fm_skuinfo_modal.gsv2-skuinfo{
    position: fixed;
    inset: 0;
    z-index: 10060;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 16px;
    background: rgba(2,6,23,.48);
    backdrop-filter: blur(10px);
    overscroll-behavior: contain;
  }
  #fm_skuinfo_modal.gsv2-skuinfo[aria-hidden="false"],
  #fm_skuinfo_modal.gsv2-skuinfo.is-open,
  #fm_skuinfo_modal.gsv2-skuinfo.is-active{
    display: flex;
  }

  #fm_skuinfo_modal .gsv2-skuinfo__mask{
    position: absolute;
    inset: 0;
    background: transparent;
  }

  #fm_skuinfo_modal .gsv2-skuinfo__panel{
    position: relative;
    width: min(520px, calc(100vw - 32px));
    max-width: 520px;
    max-height: calc(100vh - 32px);

    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.38);
    background: rgba(255,255,255,.96);
    box-shadow: 0 24px 70px rgba(0,0,0,.26);

    padding: 14px 14px 12px;
    overflow: hidden;

    animation: gsv2SkuInfoPop .16s ease both;
  }
  @keyframes gsv2SkuInfoPop{
    from{ transform: scale(.985) translateY(6px); opacity: .82; }
    to{ transform: scale(1) translateY(0); opacity: 1; }
  }

  #fm_skuinfo_modal .gsv2-skuinfo__hd{
    display:flex;
    align-items:center;
    gap: 10px;
    min-width:0;
  }
  #fm_skuinfo_modal .gsv2-skuinfo__ico{
    width: 28px;
    height: 28px;
    border-radius: 10px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: rgba(15,23,42,.06);
    color: rgba(17,24,39,.72);
    font-size: 14px;
    font-weight: 900;
    flex: 0 0 auto;
  }
  #fm_skuinfo_modal .gsv2-skuinfo__ttl{ flex:1 1 auto; min-width:0; }
  #fm_skuinfo_modal .gsv2-skuinfo__ttl .zh{
    font-size: 15px;
    font-weight: 900;
    color: rgba(17,24,39,.90);
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #fm_skuinfo_modal .gsv2-skuinfo__ttl .en{
    margin-top: 4px;
    font-size: 12px;
    color: rgba(17,24,39,.52);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #fm_skuinfo_modal .gsv2-skuinfo__hr{
    margin: 12px 0;
    height: 1px;
    background: rgba(15,23,42,.08);
  }

  #fm_skuinfo_modal .gsv2-skuinfo__bd{
    overflow:auto;
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 32px - 140px);
    padding-right: 2px;
  }

  #fm_skuinfo_modal .gsv2-skuinfo__p{ margin: 12px 0; }
  #fm_skuinfo_modal .gsv2-skuinfo__p .zh{
    font-size: 13px;
    font-weight: 800;
    color: rgba(17,24,39,.82);
    line-height: 1.35;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
  #fm_skuinfo_modal .gsv2-skuinfo__p .en{
    margin-top: 6px;
    font-size: 12px;
    color: rgba(17,24,39,.56);
    line-height: 1.35;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  /* worth 数字不乱断 */
  #fm_skuinfo_modal .gsv2-skuinfo__p .zh .js-skuinfo-worth{ white-space: nowrap; font-weight: 950; }

  #fm_skuinfo_modal .gsv2-skuinfo__btn{
    width: 100%;
    margin-top: 12px;
    height: 44px;
    border-radius: 14px;
    border: 0;
    background: var(--gsv2-yellow);
    color: rgba(17,24,39,.92);
    font-weight: 950;
    box-shadow: 0 16px 34px rgba(251,191,36,.28);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction: column;
    gap: 3px;
  }
  #fm_skuinfo_modal .gsv2-skuinfo__btn .zh{ font-size: 14px; line-height: 1; white-space: nowrap; }
  #fm_skuinfo_modal .gsv2-skuinfo__btn .en{ font-size: 11px; opacity: .78; line-height: 1.1; white-space: nowrap; }
}

/* hide chat widget */
#fm_chat_widget{ display:none !important; }


/* ================================
   PATCH: fm-heroChips pills -> match ref(图1) border style
   - 不改尺寸：用 inset ring 代替 border
   - 只影响 .fm-heroChips 下的 .fm-pill
================================ */
.fm-heroChips .fm-pill{
  border: 0 !important; /* 清掉旧 border（如果有） */
  /* 图1更像白底胶囊（如果你想保留原灰底，把这一行删掉即可） */
  background: rgba(255,255,255,.92) !important;

  /* “边框”用内阴影实现，避免占用盒模型尺寸 */
  box-shadow:
    0 10px 26px rgba(15,23,42,.10),         /* 外阴影（轻浮起） */
    inset 0 0 0 1px rgba(15,23,42,.12),     /* 内描边（边框感） */
    inset 0 1px 0 rgba(255,255,255,.85)     /* 顶部高光（更像图1） */
    !important;

  border-radius: 999px !important; /* 胶囊圆角 */
}

/* 可选：hover 时边框更明显（不影响尺寸） */
.fm-heroChips .fm-pill:hover{
  box-shadow:
    0 12px 30px rgba(15,23,42,.12),
    inset 0 0 0 1px rgba(15,23,42,.16),
    inset 0 1px 0 rgba(255,255,255,.90)
    !important;
}







/* =========================================================
   PATCH: #fm_trust_open 自适应宽度 + 靠左布局（不居中）
   - 宽度随内容变化：width:auto
   - 仍限制最大宽度，避免挤爆右侧：max-width
   - 英文太长：省略号（保持单行）
========================================================= */
.fm-gsv2 #fm_trust_open.fm-chip--ok{
  /* 保持你原来的“贴 cover 右侧”定位 */
  position: absolute;
  top: 0;
  left: calc(var(--gsv2-coverw) + var(--gsv2-gap));
  z-index: 6;

  /* 尺寸：比你当前 32px 略大一点，但更紧凑（你可按需再改 1px） */
  height: 35px;
  padding: 0 13px 0 12px;
  gap: 8px;

  display: inline-flex;
  align-items: center;

  /* ✅ 关键：不居中，靠左 */
  justify-content: flex-start;
  text-align: left;

  /* ✅ 关键：自适应宽度（中文短就短，英文长就长） */
  width: auto !important;

  /* 但不能超过右侧可用空间，否则会压布局 */
  max-width: calc(100% - (var(--gsv2-coverw) + var(--gsv2-gap)));
  min-width: 0;

  /* 图1质感：白底厚边 + 柔和阴影 */
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.96);
  background: rgba(248, 250, 249, .98);
  box-shadow:
    0 14px 34px rgba(15,23,42,.14),
    inset 0 0 0 1px rgba(6,95,70,.10),
    inset 0 1px 0 rgba(255,255,255,.92);

  backdrop-filter: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

/* icon：实心绿圆 + 白色图标 */
.fm-gsv2 #fm_trust_open.fm-chip--ok .ico{
  width: 25px;
  height: 25px;
  border-radius: 999px;
  background: #16a34a;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 10px 20px rgba(22,163,74,.26),
    inset 0 1px 0 rgba(255,255,255,.22);
  flex: 0 0 auto;
}

.fm-gsv2 #fm_trust_open.fm-chip--ok .ico .material-icons{
  font-size: 16px;
  line-height: 1;
  color: #fff;
}

/* 文案：靠左 + 超长英文省略号 */
.fm-gsv2 #fm_trust_open.fm-chip--ok .txt{
  font-size: 13px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: #065f46;

  /* 让省略号生效 */
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* hover/active 手感 */
.fm-gsv2 #fm_trust_open.fm-chip--ok:hover{
  box-shadow:
    0 16px 38px rgba(15,23,42,.16),
    inset 0 0 0 1px rgba(6,95,70,.12),
    inset 0 1px 0 rgba(255,255,255,.94);
}
.fm-gsv2 #fm_trust_open.fm-chip--ok:active{
  transform: translateY(1px);
  box-shadow:
    0 12px 30px rgba(15,23,42,.14),
    inset 0 0 0 1px rgba(6,95,70,.12),
    inset 0 1px 0 rgba(255,255,255,.92);
}

/* 小屏再收一点（可选） */
@media (max-width: 380px){
  .fm-gsv2 #fm_trust_open.fm-chip--ok{
    height: 34px;
    padding: 0 12px 0 11px;
    gap: 7px;
  }
  .fm-gsv2 #fm_trust_open.fm-chip--ok .ico{
    width: 24px;
    height: 24px;
  }
  .fm-gsv2 #fm_trust_open.fm-chip--ok .txt{
    font-size: 12px;
  }
}







/* =========================================================
   FIX: Hero 3 pills match 图2
   - 只改 .fm-pill，不影响 Trust chip（.fm-chip--ok）
   - 三个 pill 本体：无底色、无灰底、无边框、无毛玻璃
   - 三个圆形 ico：销量/评分/收藏分别上色
   - 收藏数值强制 #e6453f（你点名的）
   贴在 CSS 文件最末尾（覆盖你前面的 PATCH）
========================================================= */

/* 0) 确保整行 chips 没底色（如果别处加了） */
.fm-gsv2 .fm-heroChips{
  background: transparent !important;
}

/* 1) pill 本体：彻底去掉灰底/毛玻璃/阴影/边框（你要“透明”就是这里） */
.fm-gsv2 .fm-heroChips .fm-pill{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 2) pill 里面圆形 ico：默认不再是灰底 */
.fm-gsv2 .fm-heroChips .fm-pill .ico{
  background: transparent !important;
  color: #fff !important; /* 图标用白色，避免“空白感” */
}

/* material-icons 强制继承颜色（避免某些地方把 color 覆盖掉） */
.fm-gsv2 .fm-heroChips .fm-pill .ico .material-icons{
  color: inherit !important;
}

/* 3) 按“类名”上色（不再用 nth-child，避免被 Trust chip 干扰） */
.fm-gsv2 .fm-heroChips .fm-pill--sales  .ico{ background: #ff8a00 !important; } /* 你也可换成你想要的 */
.fm-gsv2 .fm-heroChips .fm-pill--rating .ico{ background: #fbbf24 !important; }
.fm-gsv2 .fm-heroChips .fm-pill--fav    .ico{ background: #e6453f !important; }

/* 4) 收藏数值：强制用你指定的 #e6453f（防止被 is-red 其它地方改掉） */
.fm-gsv2 .fm-heroChips .fm-pill--fav .v,
.fm-gsv2 .fm-heroChips .fm-pill--fav .v2{
  color: #e6453f !important;
}


/* =========================================================
   FIX: iOS/WKWebView 会裁掉 overflow-x 容器里的绝对定位子元素
   你的 #fm_trust_open 在 .fm-heroChips 内，但被定位到容器外 -> 真机被裁切
   解决：iOS 下禁止 .fm-heroChips 形成裁切/滚动容器
========================================================= */
@supports (-webkit-touch-callout: none) {
  .fm-gsv2 .fm-heroChips{
    overflow: visible !important;                 /* 关键：不裁切 */
    -webkit-overflow-scrolling: auto !important;  /* 关掉 iOS 的 scroll layer */
  }
}

/* 保底：避免被别的规则意外隐藏 */
@media (max-width: 900px){
  .fm-gsv2 #fm_trust_open{
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 9999 !important;
  }
}

/* =========================================================
   FINAL PATCH: Mobile hero -> remove recent, move chips to right,
   match ref image (Trust + 3 vertical pills)
   只作用手机端，不影响 PC
========================================================= */
@media (max-width: 900px){

  /* cover 稍微收一点，给右侧 pills 更多空间 */
  .fm-gsv2 .fm-heroInner{
    --gsv2-coverw: clamp(136px, 38vw, 170px);
    --gsv2-gap: 14px;
    align-items: start;
  }

  /* 1) 手机端彻底去掉 recent 区块（不删 DOM，只隐藏，避免影响 PC） */
  .fm-gsv2 .fm-heroRecent,
  .fm-gsv2 .fm-heroRecentViewport,
  .fm-gsv2 .fm-heroRecentList,
  .fm-gsv2 .fm-heroRecentItem{
    display: none !important;
  }

  /* 2) 把 chips 挪到原来 recent 的位置：右侧第一行，纵向排列 */
  .fm-gsv2 .fm-heroChips{
    grid-column: 2 !important;
    grid-row: 1 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    gap: 10px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;

    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
    background: transparent !important;
  }

  /* 3) Trust chip 不再 absolute，直接作为第一条纵向胶囊 */
  .fm-gsv2 #fm_trust_open.fm-chip--ok{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: auto !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 38px !important;
    padding: 0 13px 0 11px !important;
    gap: 8px !important;

    border-radius: 999px !important;
    border: 2px solid rgba(255,255,255,.96) !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow:
      0 10px 24px rgba(15,23,42,.10),
      inset 0 0 0 1px rgba(16,185,129,.08) !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .fm-gsv2 #fm_trust_open.fm-chip--ok .ico{
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #10b981 !important;
    color: #fff !important;
    box-shadow:
      0 8px 16px rgba(16,185,129,.22),
      inset 0 1px 0 rgba(255,255,255,.22) !important;
  }

  .fm-gsv2 #fm_trust_open.fm-chip--ok .ico .material-icons{
    font-size: 15px !important;
    line-height: 1 !important;
    color: #fff !important;
  }

  .fm-gsv2 #fm_trust_open.fm-chip--ok .txt{
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    color: #065f46 !important;
    letter-spacing: -.01em !important;
  }

  /* 4) 三个 pill 改成图里的白色胶囊 */
  .fm-gsv2 .fm-heroChips .fm-pill{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 40px !important;
    padding: 0 14px 0 11px !important;
    gap: 8px !important;

    border-radius: 999px !important;
    border: 2px solid rgba(255,255,255,.96) !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow:
      0 10px 24px rgba(15,23,42,.10),
      inset 0 0 0 1px rgba(15,23,42,.05) !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .fm-gsv2 .fm-heroChips .fm-pill .ico{
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    border-radius: 999px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: #fff !important;
    box-shadow:
      0 8px 16px rgba(15,23,42,.10),
      inset 0 1px 0 rgba(255,255,255,.20) !important;
  }

  .fm-gsv2 .fm-heroChips .fm-pill .ico .material-icons{
    font-size: 15px !important;
    line-height: 1 !important;
    color: inherit !important;
  }

  /* icon 圆色块 */
  .fm-gsv2 .fm-heroChips .fm-pill--sales .ico{
    background: #ef4444 !important;
  }
  .fm-gsv2 .fm-heroChips .fm-pill--rating .ico{
    background: #fbbf24 !important;
  }
  .fm-gsv2 .fm-heroChips .fm-pill--fav .ico{
    background: #ef4444 !important;
  }

  /* 文字 */
  .fm-gsv2 .fm-heroChips .fm-pill .k{
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: rgba(17,24,39,.86) !important;
    white-space: nowrap !important;
  }

  .fm-gsv2 .fm-heroChips .fm-pill .v,
  .fm-gsv2 .fm-heroChips .fm-pill .v2{
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    margin-left: 2px !important;
    white-space: nowrap !important;
  }

  /* 数值颜色 */
  .fm-gsv2 .fm-heroChips .fm-pill--sales .v,
  .fm-gsv2 .fm-heroChips .fm-pill--sales .v2{
    color: #ef4444 !important;
  }

  .fm-gsv2 .fm-heroChips .fm-pill--rating .v,
  .fm-gsv2 .fm-heroChips .fm-pill--rating .v2{
    color: #f59e0b !important;
  }

  .fm-gsv2 .fm-heroChips .fm-pill--fav .v,
  .fm-gsv2 .fm-heroChips .fm-pill--fav .v2{
    color: #ef4444 !important;
  }

  /* 5) 标题保持在第二行，和图里一样在 cover 下方 */
  .fm-gsv2 .fm-heroTitleRow{
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin-top: 14px !important;
    align-items: center !important;
    gap: 10px !important;
  }

  /* 标题稍微更紧凑一点，更接近你图里的比例 */
  .fm-gsv2 .fm-heroTitle{
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.025em !important;
  }

  .fm-gsv2 .fm-heroOff{
    height: 28px !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
  }
}
/* =========================================================
   FINAL TUNE: right pills align top/bottom with cover
   - 不靠 gap 撑开
   - Favorites 自动对齐到左侧封面底部
========================================================= */
@media (max-width: 900px){

  .fm-gsv2 .fm-heroChips{
    grid-column: 2 !important;
    grid-row: 1 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    /* ✅ 关键：不要用 gap 控位置，直接上下分布 */
    justify-content: space-between !important;

    /* ✅ 关键：整列吃满这一行高度（即和左侧 cover 同高） */
    align-self: stretch !important;
    height: 100% !important;

    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;

    flex-wrap: nowrap !important;
    overflow: visible !important;
    min-width: 0 !important;
    background: transparent !important;
  }

  /* 避免单个胶囊被 flex 拉伸 */
  .fm-gsv2 #fm_trust_open.fm-chip--ok,
  .fm-gsv2 .fm-heroChips .fm-pill{
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
}



/* =========================================================
   FINAL TUNE 2: mobile hero cover smaller + exact height match
   - cover 高度 = 右侧 4 个 chips 总高度
   - chips 间距固定 10px
   - cover 加 2px 浅白边
========================================================= */
@media (max-width: 900px){

  .fm-gsv2 .fm-heroInner{
    /* 统一基准：右侧 4 条高度总和 */
    --gsv2-chip-gap: 10px;
    --gsv2-trust-h: 38px;
    --gsv2-pill-h: 40px;

    /* 38 + 40*3 + 10*3 = 188 */
    --gsv2-coverh: calc(
      var(--gsv2-trust-h) +
      (var(--gsv2-pill-h) * 3) +
      (var(--gsv2-chip-gap) * 3)
    );

    /* 保持你原封面比例 210 / 320 */
    --gsv2-coverw: calc(var(--gsv2-coverh) * 0.65625);
    --gsv2-gap: 19px;

    grid-template-columns: var(--gsv2-coverw) minmax(0, 1fr) !important;
    column-gap: var(--gsv2-gap) !important;
    row-gap: 12px !important;
    align-items: start !important;
  }

  /* 左侧封面：直接等于右侧总高度 */
  .fm-gsv2 .fm-heroCover{
    width: var(--gsv2-coverw) !important;
    height: var(--gsv2-coverh) !important;
    align-self: start !important;
  }

  .fm-gsv2 .fm-heroCover img{
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;

    border-radius: 18px !important;
    border: 2px solid rgba(255,255,255,.82) !important;
    box-shadow:
      0 14px 34px rgba(0,0,0,.12),
      inset 0 1px 0 rgba(255,255,255,.45) !important;
  }

  /* 右侧 chips：固定总高度，固定 10px 间距 */
  .fm-gsv2 .fm-heroChips{
    grid-column: 2 !important;
    grid-row: 1 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    height: var(--gsv2-coverh) !important;
    gap: var(--gsv2-chip-gap) !important;

    align-self: start !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }

  /* Trust 高度固定 */
  .fm-gsv2 #fm_trust_open.fm-chip--ok{
    height: var(--gsv2-trust-h) !important;
    flex: 0 0 var(--gsv2-trust-h) !important;
    margin: 0 !important;
  }

  /* 其余 3 个 pill 高度固定 */
  .fm-gsv2 .fm-heroChips .fm-pill{
    height: var(--gsv2-pill-h) !important;
    flex: 0 0 var(--gsv2-pill-h) !important;
    margin: 0 !important;
  }

  /* 标题往下别贴太近 */
  .fm-gsv2 .fm-heroTitleRow{
    margin-top: 12px !important;
  }
}

/* =========================================================
   PATCH: mobile remove purchase outer shell + widen sku grid
   - 去掉 fm-purchaseCard 外层“模块感”
   - 让 fm-skuGrid 往外吃一点宽度
   - fm-sku__card 内所有文字统一取消粗体
========================================================= */
@media (max-width: 900px){

  /* 1) 去掉外层 purchaseCard 的卡片外壳 */
  .fm-gsv2 .fm-purchaseCard{
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* 2) scene tabs 保留，但不要被旧卡片内边距限制 */
  .fm-gsv2 .fm-purchaseCard > .fm-sceneTabs{
    margin-bottom: 12px !important;
    padding: 2px 0 12px !important;
  }

  /* 3) SKU 区块往外扩一点，让每个 fm-sku__card 更宽 */
  .fm-gsv2 .fm-purchaseCard .fm-skuGrid.cardType{
    margin-left: -4px !important;
    margin-right: -4px !important;
  }

  /* 如果你还想再宽一点，把 -4px 改成 -6px / -8px 即可 */

  /* 4) scene-pane 不要截断扩出去的 grid */
  .fm-gsv2 .fm-purchaseCard .scene-pane{
    overflow: visible !important;
  }

  /* 5) fm-sku__card 内部所有文字强制取消粗体 */
  .fm-gsv2 .fm-sku__card,
  .fm-gsv2 .fm-sku__card *{
    font-weight: 400 !important;
  }
}

/* =========================================================
   PATCH: remove fm-detailCard shell + add 2px divider
   - fm-detailCard 不要边框/白底/阴影
   - 与 fm-purchaseCard 中间只保留一条 2px 分割线
========================================================= */
@media (max-width: 900px){

  /* detail 区块也去掉“卡片感” */
  .fm-gsv2 .fm-detailCard{
    position: relative !important;
    margin-top: 18px !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* 用伪元素做你要的分割线（2px） */
  .fm-gsv2 .fm-detailCard::before{
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    margin: 0 0 16px 0;

    border-radius: 999px;
    background: rgba(15,23,42,.08);
  }

  /* detail 内容上下重新整理一下，避免去掉外壳后太贴 */
  .fm-gsv2 .fm-detailCard__head{
    margin-bottom: 10px !important;
    padding: 0 !important;
  }

  .fm-gsv2 .fm-detailCard__body{
    padding: 0 !important;
  }
}

/* =========================================================
   PATCH: tighten gap between sku name and price
   - fm-sku__meta 里 name 和 price 更靠近
========================================================= */
@media (max-width: 900px){

  .fm-gsv2 .fm-sku__meta{
    gap: 3px !important;        /* 原来是 6px，压小一点 */
    padding: 9px 3px 10px !important;
  }

  .fm-gsv2 .fm-sku__name{
    padding-left: 3px;
    min-height: auto !important;
    margin-bottom: 0 !important;
    line-height: 1.08 !important;
  }

  .fm-gsv2 .fm-sku__priceRow{
    margin-top: 0 !important;
    gap: 6px !important;
  }
}



/* =========================================================
   MOBILE: detail tabs 全部平铺显示（不需要点击切换）
   - 只作用手机端
   - PC 仍然保留 tabs 点击切换
========================================================= */
@media (max-width: 900px){

  /* 手机端不显示 tabs 按钮 */
  .fm-gsv2 .fm-detailCard__head .fm-tabs-nav{
    display: none !important;
  }

  /* 面板容器正常纵向流式排版 */
  .fm-gsv2 .fm-detailCard .tabs-panels{
    display: block !important;
  }

  /* ✅ 关键：所有 tab-panel 全部显示 */
  .fm-gsv2 .fm-detailCard .tab-panel{
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 第二块开始加分割和间距，视觉更清楚 */
  .fm-gsv2 .fm-detailCard .tab-panel + .tab-panel{
    margin-top: 18px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(15,23,42,.08) !important;
  }

  /* 每个小标题保持显示 */
  .fm-gsv2 .fm-detailCard .tab-panel h3{
    display: block !important;
    margin: 0 0 10px !important;
  }

  /* 内容正常往下排 */
  .fm-gsv2 .fm-detailCard .tab-html{
    display: block !important;
  }
}



/* =========================================================
   FINAL PATCH: Mobile buybar full-bleed
   - 贴合左右和底部
   - 兼容 iPhone Safari / 添加到桌面 safe-area
========================================================= */
@media (max-width: 900px){

  /* 页面底部给吸底条预留真实空间，避免内容被挡住 */
  .fm-gsv2{
    padding-bottom: calc(74px + env(safe-area-inset-bottom)) !important;
  }

  /* 外层：整条贴边贴底，不再是透明悬浮层 */
  .fm-gsv2 #fm_mbuybar.fm-mbuybar{
    position: fixed;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 9990;

    margin: 0 !important;
    padding: 0 !important;

    /* ✅ 关键：整条作为底栏背景，直接贴边 */
    background: #fff !important;
    border-top: 1px solid rgba(15,23,42,.08) !important;
    box-shadow: 0 -10px 24px rgba(0,0,0,.08) !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    /* ✅ Safari / iPhone 刘海底部安全区 */
    padding-bottom: env(safe-area-inset-bottom) !important;

    pointer-events: auto !important;
  }

  /* 内层：取消居中卡片、取消圆角、取消左右留白外壳 */
  .fm-gsv2 #fm_mbuybar .fm-mbuybar__inner{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    /* 内容自己保留正常操作区内边距 */
    padding: 10px 16px !important;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
  }

  /* 小屏再稍微收一点 */
  @media (max-width: 380px){
    .fm-gsv2{
      padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
    }

    .fm-gsv2 #fm_mbuybar .fm-mbuybar__inner{
      padding: 9px 12px !important;
      gap: 10px !important;
    }
  }
}




/* =========================================================
   SKU Info Modal — Rich Text Content
   适配后台富文本：p / ul / ol / img / table / a / code / blockquote
   ========================================================= */
.gsv2-skuinfo__rich{
  color: rgba(17,24,39,.82);
  line-height: 1.7;
  font-size: 13px;

  word-break: break-word;
  overflow-wrap: anywhere;
}

.gsv2-skuinfo__rich > :first-child{
  margin-top: 0 !important;
}
.gsv2-skuinfo__rich > :last-child{
  margin-bottom: 0 !important;
}

/* headings */
.gsv2-skuinfo__rich h1,
.gsv2-skuinfo__rich h2,
.gsv2-skuinfo__rich h3,
.gsv2-skuinfo__rich h4,
.gsv2-skuinfo__rich h5,
.gsv2-skuinfo__rich h6{
  margin: 0 0 10px;
  color: rgba(17,24,39,.92);
  font-weight: 800;
  line-height: 1.3;
}

.gsv2-skuinfo__rich h1{ font-size: 20px; }
.gsv2-skuinfo__rich h2{ font-size: 18px; }
.gsv2-skuinfo__rich h3{ font-size: 16px; }
.gsv2-skuinfo__rich h4{ font-size: 15px; }
.gsv2-skuinfo__rich h5,
.gsv2-skuinfo__rich h6{ font-size: 14px; }

/* text */
.gsv2-skuinfo__rich p{
  margin: 10px 0;
}

.gsv2-skuinfo__rich strong,
.gsv2-skuinfo__rich b{
  font-weight: 800;
  color: rgba(17,24,39,.92);
}

.gsv2-skuinfo__rich em,
.gsv2-skuinfo__rich i{
  font-style: italic;
}

.gsv2-skuinfo__rich small{
  font-size: 12px;
  color: rgba(17,24,39,.56);
}

/* list */
.gsv2-skuinfo__rich ul,
.gsv2-skuinfo__rich ol{
  margin: 10px 0;
  padding-left: 20px;
}

.gsv2-skuinfo__rich li{
  margin: 0;
  line-height: 1.65;
}

.gsv2-skuinfo__rich li + li{
  margin-top: 6px;
}

/* link */
.gsv2-skuinfo__rich a{
  color: #2563eb;
  text-decoration: underline;
  word-break: break-all;
}

/* image */
.gsv2-skuinfo__rich img{
  display: block;
  max-width: 100%;
  height: auto;
  margin: 12px auto;
  border-radius: 12px;
}

.gsv2-skuinfo__rich figure{
  margin: 12px 0;
}

.gsv2-skuinfo__rich figure img{
  margin: 0 auto;
}

.gsv2-skuinfo__rich figcaption{
  margin-top: 6px;
  font-size: 12px;
  color: rgba(17,24,39,.52);
  text-align: center;
}

/* blockquote */
.gsv2-skuinfo__rich blockquote{
  margin: 12px 0;
  padding: 10px 12px;
  border-left: 3px solid rgba(37,99,235,.22);
  border-radius: 10px;
  background: rgba(37,99,235,.05);
  color: rgba(17,24,39,.72);
}

/* hr */
.gsv2-skuinfo__rich hr{
  border: 0;
  height: 1px;
  margin: 14px 0;
  background: rgba(15,23,42,.08);
}

/* code */
.gsv2-skuinfo__rich code{
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(15,23,42,.06);
  font-size: .92em;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.gsv2-skuinfo__rich pre{
  margin: 12px 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15,23,42,.06);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  white-space: pre-wrap;
  word-break: break-word;
}

.gsv2-skuinfo__rich pre code{
  padding: 0;
  background: transparent;
  border-radius: 0;
  font-size: inherit;
}

/* table */
.gsv2-skuinfo__rich table{
  width: 100%;
  min-width: 420px; /* 给横向滚动留空间 */
  border-collapse: collapse;
  margin: 12px 0;
  background: #fff;
}

.gsv2-skuinfo__rich th,
.gsv2-skuinfo__rich td{
  border: 1px solid rgba(15,23,42,.08);
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
  font-size: 12px;
  line-height: 1.5;
}

.gsv2-skuinfo__rich th{
  background: rgba(15,23,42,.04);
  font-weight: 800;
  color: rgba(17,24,39,.88);
}

/* media */
.gsv2-skuinfo__rich iframe,
.gsv2-skuinfo__rich video{
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 12px 0;
  border: 0;
  border-radius: 12px;
}



