/*
 * RiPro 前端重写 · 首页与游戏卡组件（Stage S2）
 * 卡带展柜：区块层板（shelf） + 游戏盒面卡（case） + 封条（seal） + 缺图排印兜底。
 * 复用旧功能钩子：.entry-media/.media-preview/.progress（悬停预览）、.posts-warp/.page-nav（无限加载）、
 *   .owl-carousel/.owl-theme（幻灯/横滑）、.jarallax/vanta（搜索背景）、.copycouponcode（刮刮卡复制）。
 * 仅重构视觉与容器骨架，不改任何查询/字段/业务函数。
 */

/* ============ 首页整体节奏 ============ */
.mm-home { padding-block: var(--mm-space-5) var(--mm-space-6); }
.home .mm-home,
.blog .mm-home { padding-top: 0; }
.home-widget { margin-block: clamp(1.75rem, 4vw, 3rem); }
.home-widget:first-child { margin-top: 0; }

/* ============ 层板区块 ============ */
.mm-shelf-section { width: 100%; max-width: var(--mm-container); margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem); }
.mm-shelf-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--mm-space-4);
  margin-bottom: var(--mm-space-5);
}
.mm-shelf-head__lead { min-width: 0; }
.mm-shelf-head__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  margin-bottom: var(--mm-space-2);
  font-size: var(--mm-fs-100);
  font-weight: var(--mm-fw-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mm-accent);
}
.mm-shelf-head__eyebrow::before {
  content: "";
  width: 28px;
  height: 3px;
  border-radius: 3px;
  background: var(--mm-accent);
}
.mm-shelf-head__title {
  margin: 0;
  font-family: var(--mm-font-display);
  font-size: var(--mm-fs-600);
  font-weight: var(--mm-fw-black);
  line-height: var(--mm-lh-tight);
  letter-spacing: -0.01em;
  color: var(--mm-ink);
}
.mm-shelf-head__title a { color: inherit; text-decoration: none; }
.mm-shelf-head__title a:hover { color: var(--mm-accent); }
.mm-shelf-head__desc {
  margin: var(--mm-space-2) 0 0;
  color: var(--mm-ink-soft);
  font-size: var(--mm-fs-300);
  line-height: var(--mm-lh-snug);
  max-width: 60ch;
}
.mm-shelf-head__more {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.5rem 1rem;
  border-radius: var(--mm-radius-pill);
  border: var(--mm-border) solid var(--mm-line);
  color: var(--mm-ink-soft);
  text-decoration: none;
  font-size: var(--mm-fs-200);
  font-weight: var(--mm-fw-medium);
  white-space: nowrap;
  transition: color var(--mm-dur-1) var(--mm-ease), border-color var(--mm-dur-1) var(--mm-ease), background var(--mm-dur-1) var(--mm-ease);
}
.mm-shelf-head__more:hover { color: var(--mm-accent); border-color: var(--mm-accent); background: var(--mm-accent-soft); }

.mm-shelf-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mm-space-2);
  margin-bottom: var(--mm-space-5);
}
.mm-shelf-tabs a {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.95rem;
  border-radius: var(--mm-radius-pill);
  border: var(--mm-border) solid var(--mm-line);
  background: var(--mm-surface);
  color: var(--mm-ink-soft);
  text-decoration: none;
  font-size: var(--mm-fs-200);
  font-weight: var(--mm-fw-medium);
  transition: all var(--mm-dur-1) var(--mm-ease);
}
.mm-shelf-tabs a:hover { color: var(--mm-ink); border-color: var(--mm-line-strong); }
.mm-shelf-tabs a.active { background: var(--mm-accent); color: var(--mm-accent-ink); border-color: var(--mm-accent); box-shadow: var(--mm-shadow-accent); }

/* ============ 游戏盒面卡 ============ */
.mm-case {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-lg);
  overflow: hidden;
  transition: transform var(--mm-dur-2) var(--mm-ease-out), box-shadow var(--mm-dur-2) var(--mm-ease-out), border-color var(--mm-dur-2) var(--mm-ease);
}
.mm-case:hover {
  transform: translateY(-4px);
  border-color: var(--mm-line-strong);
  box-shadow: var(--mm-shadow-lg);
}

/* 盒面（封面框） */
.mm-case__frame {
  position: relative;
  overflow: hidden;
  background: var(--mm-surface-sunken);
}
.mm-case__frame .entry-media { display: block; }
.mm-case__frame .entry-media,
.mm-case__frame .media-img { border-radius: 0; }
.mm-case__frame img,
.mm-case__frame .mm-fleet-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--mm-dur-3) var(--mm-ease-out);
}
.mm-case:hover .mm-case__frame img { transform: scale(1.045); }

/* 缺图排印兜底：以标题作盒面 */
.mm-case__fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  text-align: center;
  background:
    radial-gradient(120% 120% at 15% 10%, rgba(var(--mm-accent-rgb), 0.24), transparent 60%),
    linear-gradient(135deg, var(--mm-surface-2), var(--mm-surface-sunken));
}
.mm-case__fallback::after {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px dashed var(--mm-line-strong);
  border-radius: var(--mm-radius-sm);
  pointer-events: none;
}
.mm-case__fallback-title {
  font-family: var(--mm-font-display);
  font-weight: var(--mm-fw-black);
  font-size: var(--mm-fs-500);
  line-height: 1.28;
  color: var(--mm-ink);
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 媒体格式角标（复用旧 .post-format-icon 亦兼容） */
.mm-case__frame .post-format-icon,
.mm-case__format {
  position: absolute;
  right: 0.6rem;
  bottom: 0.6rem;
  z-index: 2;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(12, 10, 8, 0.6);
  color: #fff;
  font-size: 0.75rem;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

/* 封条（置顶 / VIP） */
.mm-case__seals {
  position: absolute;
  top: 0.6rem;
  inset-inline-start: 0.6rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: flex-start;
}
.mm-seal {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  padding: 0.2em 0.6em;
  border-radius: var(--mm-radius-xs);
  font-size: var(--mm-fs-100);
  font-weight: var(--mm-fw-bold);
  letter-spacing: 0.02em;
  line-height: 1.4;
  box-shadow: var(--mm-shadow-sm);
}
.mm-seal--top { background: var(--mm-ink); color: var(--mm-surface); }
.mm-seal--vip {
  background: var(--mm-gold);
  color: #2a1e05;
  border: 1px solid rgba(255, 255, 255, 0.35);
}

/* 卡体 */
.mm-case__body {
  display: flex;
  flex-direction: column;
  gap: var(--mm-space-2);
  padding: var(--mm-space-3) var(--mm-space-4) var(--mm-space-4);
  flex: 1 1 auto;
  min-width: 0;
}
.mm-case__cat {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em;
  font-size: var(--mm-fs-100);
  font-weight: var(--mm-fw-medium);
}
.mm-case__cat a { color: var(--mm-accent); text-decoration: none; }
.mm-case__cat a:hover { text-decoration: underline; }
.mm-case__title {
  margin: 0;
  font-size: var(--mm-fs-400);
  font-weight: var(--mm-fw-bold);
  line-height: var(--mm-lh-snug);
}
.mm-case__title a {
  color: var(--mm-ink);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.mm-case__title a:hover { color: var(--mm-accent); }
.mm-case__desc {
  margin: 0;
  color: var(--mm-ink-soft);
  font-size: var(--mm-fs-200);
  line-height: var(--mm-lh-snug);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

/* 元信息 */
.mm-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mm-space-1) var(--mm-space-3);
  margin-top: auto;
  padding-top: var(--mm-space-1);
  color: var(--mm-ink-faint);
  font-size: var(--mm-fs-100);
}
.mm-meta span { display: inline-flex; align-items: center; gap: 0.35em; }
.mm-meta .mm-meta-price {
  margin-inline-start: auto;
  color: var(--mm-accent);
  font-family: var(--mm-font-mono);
  font-weight: var(--mm-fw-bold);
  font-size: var(--mm-fs-200);
}

/* 覆盖式卡（grid-overlay） */
.mm-case--overlay { border: none; }
.mm-case--overlay .mm-case__frame { position: absolute; inset: 0; }
.mm-case--overlay { min-height: 240px; }
.mm-case--overlay .mm-case__body {
  position: relative;
  z-index: 2;
  margin-top: auto;
  background: linear-gradient(to top, rgba(8, 7, 5, 0.92) 8%, rgba(8, 7, 5, 0.55) 55%, transparent 100%);
  padding-top: var(--mm-space-6);
}
.mm-case--overlay .mm-case__title a,
.mm-case--overlay .mm-case__desc { color: #fff; }
.mm-case--overlay .mm-case__title a:hover { color: var(--mm-gold); }
.mm-case--overlay .mm-meta { color: rgba(255, 255, 255, 0.72); }
.mm-case--overlay .mm-case__cat a { color: var(--mm-gold); }

/* ============ CMS 桌面布局：大图跨两行、与四张小图底对齐 ============ */
/* Bootstrap .row 下 .cms-left-itme 与 .cms-right-itme 天然等高；.mm-case 本就是 height:100% 的 flex 卡，
   这里补齐中间容器（列 / 内层 row）的高度链，让 grid-overlay 的左侧大图填满整列高度
   （≈ 右侧四张小图两行合计），object-fit:cover 不拉伸原图，消除大卡列下方空白。
   仅 grid-overlay + ≥992px 生效：list 模式与移动端不受影响，<992px 自然重排。 */
@media (min-width: 992px) {
  .cms-post-warp.grid-overlay > .cms-left-itme {
    display: flex;
    flex-direction: column;
  }
  .cms-post-warp.grid-overlay > .cms-left-itme > .row {
    flex: 1 1 auto;
  }
  .cms-post-warp.grid-overlay > .cms-left-itme > .row > .col {
    display: flex;
    flex-direction: column;
  }
}

/* 横排卡（list） */
.mm-case--row { flex-direction: row; }
.mm-case--row .mm-case__frame { flex: none; width: clamp(112px, 34%, 200px); align-self: stretch; }
.mm-case--row .mm-case__body { padding: var(--mm-space-3) var(--mm-space-4); }
@media (max-width: 400px) {
  .mm-case--row .mm-case__frame { width: 108px; }
}

/* 纯标题卡（title） */
.mm-case--text { padding: var(--mm-space-3) var(--mm-space-4); }
.mm-case--text::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--mm-accent);
  opacity: 0.85;
}

/* 空态 */
.mm-empty {
  width: 100%;
  text-align: center;
  padding: clamp(2.5rem, 8vw, 5rem) 1rem;
  color: var(--mm-ink-faint);
}
.mm-empty i { font-size: 2rem; display: block; margin-bottom: var(--mm-space-3); color: var(--mm-accent); opacity: 0.7; }
.mm-empty p { margin: 0; font-size: var(--mm-fs-500); font-weight: var(--mm-fw-medium); }
.mm-empty span { display: block; margin-top: var(--mm-space-2); font-size: var(--mm-fs-200); }

/* ============ 首页默认提示（无小工具时） ============ */
.mm-note {
  max-width: var(--mm-container-narrow);
  margin: var(--mm-space-5) auto;
  padding: var(--mm-space-5);
  background: var(--mm-surface);
  border: var(--mm-border) dashed var(--mm-line-strong);
  border-radius: var(--mm-radius-lg);
  color: var(--mm-ink-soft);
  font-size: var(--mm-fs-300);
  line-height: var(--mm-lh-body);
  text-align: center;
}
.mm-note a { color: var(--mm-accent); font-weight: var(--mm-fw-bold); }

/* ============ 搜索 Hero（复用 .search-bg / vanta / jarallax） ============ */
.home-search-box .search-bg { position: relative; overflow: hidden; }
.home-search-box .search-warp {
  position: relative;
  z-index: 3;
  text-align: center;
  padding-block: clamp(2.5rem, 8vw, 5.5rem);
  max-width: 860px;
}
.home-search-box .search-title {
  font-family: var(--mm-font-display);
  font-size: var(--mm-fs-800);
  font-weight: var(--mm-fw-black);
  line-height: var(--mm-lh-tight);
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 var(--mm-space-3);
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
}
.home-search-box .search-desc {
  color: rgba(255, 255, 255, 0.86);
  font-size: var(--mm-fs-400);
  margin: 0 auto var(--mm-space-5);
  max-width: 52ch;
}
.home-search-box .search-bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(10, 8, 6, 0.35), rgba(10, 8, 6, 0.62));
}
.home-search-box .search-hots {
  margin-top: var(--mm-space-4);
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--mm-fs-200);
}
.home-search-box .search-hots span { margin: 0 0.15rem; }
.home-search-box .search-hots a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  padding: 0.15em 0.6em;
  border-radius: var(--mm-radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.25);
  transition: background var(--mm-dur-1) var(--mm-ease);
}
.home-search-box .search-hots a:hover { background: rgba(255, 255, 255, 0.16); }
/* Hero 内搜索表单 */
.home-search-box .search-form form { display: flex; gap: var(--mm-space-2); max-width: 640px; margin: 0 auto; background: var(--mm-surface); padding: 0.4rem; border-radius: var(--mm-radius-pill); box-shadow: var(--mm-shadow-lg); }
.home-search-box .search-form .search-select { position: relative; display: flex; flex: none; }
.home-search-box .search-form .search-select::after { content: ""; position: absolute; right: 0.72rem; top: 50%; width: 0.46rem; height: 0.46rem; border-right: 2px solid var(--mm-ink-faint); border-bottom: 2px solid var(--mm-ink-faint); transform: translateY(-65%) rotate(45deg); pointer-events: none; }
.home-search-box .search-form select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; background: var(--mm-surface-2); color: var(--mm-ink); font-size: var(--mm-fs-300); font-weight: var(--mm-fw-medium); cursor: pointer; padding: 0 1.9rem 0 0.85rem; border-radius: var(--mm-radius-pill); outline: none; max-width: 104px; transition: background var(--mm-dur-2) var(--mm-ease); }
.home-search-box .search-form select:hover { background: var(--mm-surface-sunken); }
.home-search-box .search-form select:focus-visible { background: var(--mm-surface-sunken); box-shadow: 0 0 0 3px var(--mm-accent-soft); }
.home-search-box .search-form .search-fields { flex: 1 1 auto; display: flex; min-width: 0; }
.home-search-box .search-form input[type="text"] { flex: 1 1 auto; border: none; background: transparent; padding-inline: 1rem; color: var(--mm-ink); outline: none; font-size: var(--mm-fs-400); }
.home-search-box .search-form button[type="submit"] { flex: none; width: 52px; border: none; border-radius: var(--mm-radius-pill); background: var(--mm-accent); color: var(--mm-accent-ink); cursor: pointer; }

/* ============ VIP 套餐卡 ============ */
.mm-plan {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: center;
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-lg);
  overflow: hidden;
  transition: transform var(--mm-dur-2) var(--mm-ease-out), box-shadow var(--mm-dur-2) var(--mm-ease-out);
}
.mm-plan:hover { transform: translateY(-4px); box-shadow: var(--mm-shadow-lg); }
.mm-plan__head { padding: var(--mm-space-4); color: #fff; background: var(--mm-ink); }
.mm-plan--vip .mm-plan__head { background: linear-gradient(135deg, #2f9e5f, #24794a); }
.mm-plan--boosvip .mm-plan__head { background: linear-gradient(135deg, var(--mm-gold), #a9762a); color: #2a1e05; }
.mm-plan--no .mm-plan__head { background: linear-gradient(135deg, #5b5750, #3f3b35); }
.mm-plan__plan { display: block; font-size: var(--mm-fs-500); font-weight: var(--mm-fw-black); }
.mm-plan__sub { display: block; margin-top: 0.25rem; font-size: var(--mm-fs-200); opacity: 0.9; }
.mm-plan__body { padding: var(--mm-space-4); flex: 1 1 auto; }
.mm-plan__amount { font-family: var(--mm-font-mono); font-size: var(--mm-fs-700); font-weight: var(--mm-fw-black); color: var(--mm-ink); margin: 0; }
.mm-plan__amount sup { font-size: var(--mm-fs-300); font-weight: var(--mm-fw-medium); color: var(--mm-ink-soft); }
.mm-plan__tag { color: var(--mm-ink-soft); font-size: var(--mm-fs-200); margin: 0.25rem 0 var(--mm-space-3); }
.mm-plan__desc { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; text-align: start; }
.mm-plan__desc li { position: relative; padding-inline-start: 1.5em; color: var(--mm-ink-soft); font-size: var(--mm-fs-200); }
.mm-plan__desc li::before { content: "\f00c"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; inset-inline-start: 0; color: var(--mm-success); }
.mm-plan__foot { padding: var(--mm-space-4); }
.mm-plan__foot .btn,
.mm-plan__foot a {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.6rem 1.5rem;
  border-radius: var(--mm-radius-pill);
  background: var(--mm-accent);
  color: var(--mm-accent-ink);
  text-decoration: none;
  font-weight: var(--mm-fw-bold);
  box-shadow: var(--mm-shadow-accent);
}

/* ============ 横条图标模块 ============ */
.mm-division {
  display: flex;
  align-items: center;
  gap: var(--mm-space-3);
  height: 100%;
  padding: var(--mm-space-4);
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-md);
  transition: border-color var(--mm-dur-1) var(--mm-ease), box-shadow var(--mm-dur-1) var(--mm-ease);
}
.mm-division:hover { border-color: var(--mm-line-strong); box-shadow: var(--mm-shadow-md); }
.mm-division__icon { flex: none; width: 46px; height: 46px; display: grid; place-items: center; border-radius: var(--mm-radius-sm); color: #fff; font-size: 1.2rem; }
.mm-division__icon.rounded-circle { border-radius: 50%; }
.mm-division__title { margin: 0; font-size: var(--mm-fs-400); font-weight: var(--mm-fw-bold); }
.mm-division__title a { color: var(--mm-ink); text-decoration: none; }
.mm-division__title a:hover { color: var(--mm-accent); }
.mm-division__desc { margin: 0.15rem 0 0; color: var(--mm-ink-soft); font-size: var(--mm-fs-200); }

/* ============ 图片背景横幅 ============ */
.mm-banner {
  position: relative;
  border-radius: var(--mm-radius-lg);
  overflow: hidden;
  color: #fff;
  background-size: cover;
  background-position: center;
}
.mm-banner.scroll-circle { background-attachment: fixed; }
.mm-banner::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(10, 8, 6, 0.7), rgba(10, 8, 6, 0.4)); }
.mm-banner__inner { position: relative; z-index: 2; padding: clamp(2rem, 6vw, 4rem); text-align: center; }
.mm-banner__title { font-family: var(--mm-font-display); font-size: var(--mm-fs-700); font-weight: var(--mm-fw-black); margin: 0 0 var(--mm-space-3); }
.mm-banner__desc { max-width: 60ch; margin: 0 auto var(--mm-space-4); color: rgba(255, 255, 255, 0.86); }
.mm-banner__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--mm-space-2); }

/* ============ 分类 BOX（复用 owl） ============ */
.home-cat-box .widget-catbox-item {
  position: relative;
  min-height: 128px;
  border-radius: var(--mm-radius-md);
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.home-cat-box .widget-catbox-item::before { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(10, 8, 6, 0.15), rgba(10, 8, 6, 0.72)); transition: opacity var(--mm-dur-2) var(--mm-ease); }
.home-cat-box .widget-catbox-item:hover::before { opacity: 0.85; }
.home-cat-box .widget-catbox-item a { position: relative; z-index: 2; display: flex; align-items: flex-end; height: 100%; min-height: 128px; padding: var(--mm-space-3); text-decoration: none; }
.home-cat-box .catbox-title { color: #fff; font-size: var(--mm-fs-400); font-weight: var(--mm-fw-bold); margin: 0; }
.home-cat-box .catbox-content .badge { display: inline-block; margin-bottom: 0.35rem; padding: 0.2em 0.6em; border-radius: var(--mm-radius-pill); background: var(--mm-accent); color: var(--mm-accent-ink); font-size: var(--mm-fs-100); font-family: var(--mm-font-mono); }

/* ============ 网站动态跑马 ============ */
.mm-ticker {
  display: flex;
  align-items: center;
  gap: var(--mm-space-3);
  padding: var(--mm-space-2) var(--mm-space-3);
  background: var(--mm-surface);
  border: var(--mm-border) solid var(--mm-line);
  border-radius: var(--mm-radius-pill);
}
.mm-ticker__tag { flex: none; display: inline-flex; align-items: center; gap: 0.4em; padding: 0.3em 0.9em; border-radius: var(--mm-radius-pill); background: var(--mm-accent); color: var(--mm-accent-ink); font-size: var(--mm-fs-100); font-weight: var(--mm-fw-bold); }
.mm-ticker__slider { flex: 1 1 auto; min-width: 0; }
.mm-ticker .dynamic-slider-item .name { color: var(--mm-ink); font-weight: var(--mm-fw-bold); margin-inline: 0.5em; font-size: var(--mm-fs-200); }
.mm-ticker .dynamic-slider-item .info { color: var(--mm-ink-soft); font-size: var(--mm-fs-200); margin: 0; display: inline; }
.mm-ticker .dynamic-slider-item .info a { color: var(--mm-accent); text-decoration: none; }
.mm-ticker .dynamic-slider-item .times { color: var(--mm-ink-faint); margin-inline-start: 0.5em; font-size: var(--mm-fs-100); }
.mm-ticker .avatar-img { width: 22px; height: 22px; }

/* ============ 刮刮卡 / 优惠码（复用 .copycouponcode） ============ */
.mm-scratch {
  position: relative;
  height: 100%;
  padding: var(--mm-space-4) var(--mm-space-3);
  text-align: center;
  border-radius: var(--mm-radius-md);
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(var(--mm-accent-rgb), 0.22), transparent 60%),
    var(--mm-surface);
  border: 1px dashed var(--mm-accent);
}
.mm-scratch__title { font-size: var(--mm-fs-300); font-weight: var(--mm-fw-bold); color: var(--mm-ink); margin: 0 0 var(--mm-space-2); }
.mm-scratch img.gift { width: 76px; height: auto; margin: 0 auto var(--mm-space-2); display: block; }
.mm-scratch .txt-code {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.4em 0.9em;
  border-radius: var(--mm-radius-pill);
  background: var(--mm-surface-2);
  color: var(--mm-ink);
  font-family: var(--mm-font-mono);
  font-weight: var(--mm-fw-bold);
  cursor: pointer;
}
.mm-scratch .txt-code:hover { color: var(--mm-accent); }

/* ============ 幻灯片（复用 owl-carousel） ============ */
.home-owl-slider .widget-slider-item { position: relative; border-radius: var(--mm-radius-lg); overflow: hidden; }
.home-owl-slider .slider-img { width: 100%; height: auto; display: block; }
.home-owl-slider .slider-warp { position: absolute; inset-block-end: 0; inset-inline-start: 0; right: 0; padding: clamp(1.25rem, 4vw, 2.5rem); background: linear-gradient(to top, rgba(8, 7, 5, 0.8), transparent); }
.home-owl-slider .u-permalink { position: absolute; inset: 0; z-index: 4; }

/* owl 控件统一换肤 */
.owl-theme .owl-nav [class*="owl-"] { background: var(--mm-surface) !important; color: var(--mm-ink) !important; border: var(--mm-border) solid var(--mm-line); border-radius: 50%; width: 40px; height: 40px; }
.owl-theme .owl-nav [class*="owl-"]:hover { color: var(--mm-accent) !important; border-color: var(--mm-accent); }
.owl-theme .owl-dots .owl-dot span { background: var(--mm-line-strong) !important; }
.owl-theme .owl-dots .owl-dot.active span { background: var(--mm-accent) !important; width: 22px; border-radius: 5px; }

/* ============ 响应式收口 ============ */
@media (max-width: 767.98px) {
  .mm-shelf-head { flex-direction: column; align-items: flex-start; gap: var(--mm-space-2); }
  .mm-shelf-head__more { align-self: flex-start; }
  .mm-case--overlay { min-height: 200px; }
}

/* ============================================================
 * S17 · Meimo 品牌首页 Hero 换肤层（CSS-only）
 * 深夜黑李底 + 品红晕染的品牌 Hero；mascot-home 作绝对定位装饰（右下）。
 * 装饰 pointer-events:none 且低于文案层，绝不遮挡标题/搜索框/按钮；
 * <992px 隐藏吉祥物以保证移动端干净；静态无动画。
 * ============================================================ */
.home-search-box .search-bg {
  background-color: #150d24;
  background-image:
    radial-gradient(120% 150% at 82% 8%, rgba(var(--mm-accent-rgb), 0.3), transparent 55%),
    radial-gradient(120% 120% at 12% 100%, var(--mm-glow-violet), transparent 60%),
    linear-gradient(135deg, #170e29 0%, #2a1240 48%, #3a1440 100%);
}
.home-search-box .search-bg::after {
  content: "";
  position: absolute;
  right: clamp(8px, 4vw, 64px);
  bottom: 0;
  z-index: 2;
  width: clamp(180px, 24vw, 320px);
  height: clamp(220px, 32vw, 380px);
  background: url(../images/meimo-brand/mascot-home-transparent-v1.webp) no-repeat right bottom;
  background-size: contain;
  pointer-events: none;
  filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.45));
}
.home-search-box .search-warp { position: relative; z-index: 3; }
@media (max-width: 991.98px) {
  .home-search-box .search-bg::after { display: none; }
}
