/* Homepage retail layout: flat surfaces, shared rhythm, stable product geometry. */
.mg-ui-v2 .mg-store-home {
  --store-home-cat-surface: #fff;
  --store-home-cat-panel-bg: #fff;
  --store-home-cat-panel-glow: none;
  color: var(--store-text);
  background: #fff;
  letter-spacing: 0;
}

.mg-ui-v2 .mg-store-home :where(h2, h3, p, a, button, span, strong) { letter-spacing: 0; }
.mg-ui-v2 .mg-store-home :where(button, a) { -webkit-tap-highlight-color: transparent; }
.mg-ui-v2 .mg-store-home :where(button, a):focus-visible { outline: 2px solid var(--store-brand); outline-offset: 3px; }
.mg-ui-v2 .mg-store-home :where(button):active:not(:disabled) { transform: translateY(1px); }

/* Main artwork and the four companion banners form one compact retail band. */
.mg-ui-v2 .mg-store-home .mg-store-home-zone { padding-block: 16px 8px; }
.mg-ui-v2 .mg-store-home .mg-store-home-zone__content { gap: 12px; }
.mg-ui-v2 .mg-store-home .mg-store-home-zone__sub-item { border: 0; border-radius: 6px; }
.mg-ui-v2 .mg-store-home .mg-store-home-hero__frame { border-radius: 6px; background: #f5f6f7; }

.mg-ui-v2 .mg-home-section-heading,
.mg-ui-v2 .mg-store-home .mg-home-combos__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 40px;
  margin-bottom: 12px;
}
.mg-ui-v2 .mg-home-section-heading h2,
.mg-ui-v2 .mg-store-home .mg-home-combos__head h2,
.mg-ui-v2 .mg-home-offers__promotions > h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
}
.mg-ui-v2 .mg-home-section-heading > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  color: var(--store-text-muted);
  font-size: 13px;
  text-decoration: none;
}
.mg-ui-v2 .mg-home-section-heading > a:hover { color: var(--store-brand); }

/* Category navigation is one short row, with native horizontal scrolling. */
.mg-ui-v2 .mg-home-discover { padding-block: 16px 24px; }
.mg-ui-v2 .mg-home-discover__rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(100px, 1fr);
  gap: 8px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  padding: 4px 0 8px;
}
.mg-ui-v2 .mg-home-discover__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px 6px;
  border-radius: 6px;
  color: var(--store-text);
  text-decoration: none;
  scroll-snap-align: start;
  transition: background-color 160ms ease, color 160ms ease;
}
.mg-ui-v2 .mg-home-discover__item:hover { color: var(--store-brand); background: #f6f7f8; }
.mg-ui-v2 .mg-home-discover__image { display: grid; place-items: center; width: 56px; height: 56px; }
.mg-ui-v2 .mg-home-discover__image img { width: 100%; height: 100%; object-fit: contain; }
.mg-ui-v2 .mg-home-discover__label {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 36px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
}

/* Flash sale uses the same-sized product cards across the full row. */
.mg-ui-v2 .mg-store-home .mg-store-fs { padding-block: 4px 28px; }
.mg-ui-v2 .mg-store-home .mg-store-fs__panel { border: 0; border-radius: 0; background: #fff; overflow: visible; }
.mg-ui-v2 .mg-store-home .mg-store-fs__header { padding: 0 0 14px; min-height: 52px; gap: 16px; }
.mg-ui-v2 .mg-store-home .mg-store-fs__header-brand { gap: 12px; }
.mg-ui-v2 .mg-store-home .mg-store-fs__header-badge { padding: 6px 8px; font-size: 11px; border-radius: 4px; }
.mg-ui-v2 .mg-store-home .mg-store-fs__header-title { font-size: 20px; line-height: 28px; white-space: normal; }
.mg-ui-v2 .mg-store-home .mg-store-fs__view-all { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.mg-ui-v2 .mg-store-home .mg-store-fs__days-wrap { padding: 12px 0 0; }
.mg-ui-v2 .mg-store-home .mg-store-fs__slots-wrap { padding: 12px 0; }
.mg-ui-v2 .mg-store-home .mg-store-fs__slots { padding: 0; gap: 0; border-radius: 6px; background: #f5f6f7; }
.mg-ui-v2 .mg-store-home .mg-store-fs__slot { flex: 1 0 160px; flex-direction: column; gap: 4px; min-height: 60px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; }
.mg-ui-v2 .mg-store-home .mg-store-fs__slot--active { background: #fff1ef; border-bottom-color: var(--store-brand); box-shadow: none; }
.mg-ui-v2 .mg-store-home .mg-store-fs__slot--ended { opacity: 1; color: #70757d; }
.mg-ui-v2 .mg-store-home .mg-store-fs__slot-badge { display: inline; padding: 0; background: transparent; font-size: 11px; }
.mg-ui-v2 .mg-store-home .mg-store-fs__slot-label { font-size: 13px; }
.mg-ui-v2 .mg-store-home .mg-store-fs__carousel { padding: 0 12px; min-height: 0; }
.mg-ui-v2 .mg-store-home .mg-store-fs__item { padding-inline: 6px; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card { padding: 12px; border: 1px solid #e8eaed; border-radius: 8px; min-height: 332px; transition: border-color 160ms ease; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card:hover { border-color: #c7cbd0; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__media { height: 154px; min-height: 154px; max-height: 154px; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__body { gap: 8px; padding-top: 12px; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__name { height: 38px; min-height: 38px; font-size: 14px; font-weight: 600; line-height: 19px; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__price-teaser { min-height: 42px; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__ended { margin: 0; min-height: 42px; color: #727780; font-size: 13px; line-height: 20px; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__cta-link,
.mg-ui-v2 .mg-store-home .mg-store-fs-card__buy { height: 40px; min-height: 40px; margin-top: auto; border-radius: 6px; font-size: 13px; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__buy { background: var(--store-brand); color: #fff; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__cta-link { background: #f5f6f7; border-color: transparent; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__cta-link:hover { color: var(--store-brand); background: #fff1ef; }
.mg-ui-v2 .mg-store-home .mg-store-fs-card__spacer { min-height: 0; }
.mg-ui-v2 .mg-store-home .mg-store-fs__carousel .mg-store-carousel-nav { width: 32px; height: 44px; border: 1px solid var(--store-border); border-radius: 6px; color: var(--store-brand); background: #fff; opacity: 1; pointer-events: auto; }

/* Combos and editorial promotions share one horizontal band. */
.mg-ui-v2 .mg-home-offers { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 24px; padding-block: 8px 28px; }
.mg-ui-v2 .mg-home-offers[data-combos="false"],
.mg-ui-v2 .mg-home-offers[data-promotions="false"] { grid-template-columns: minmax(0, 1fr); }
.mg-ui-v2 .mg-store-home .mg-home-combos { margin-top: 0; min-width: 0; }
.mg-ui-v2 .mg-store-home .mg-home-combos__nav button { width: 36px; height: 36px; border-radius: 6px; background: #fff; }
.mg-ui-v2 .mg-store-home .mg-home-combos__nav button:hover:not(:disabled) { background: #f5f6f7; }
.mg-ui-v2 .mg-store-home .mg-home-combos__rail { padding: 0; gap: 16px; scrollbar-width: none; }
.mg-ui-v2 .mg-store-home .mg-combo-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; flex-basis: 100%; gap: 16px; padding: 20px; border-radius: 8px; background: #fff; }
.mg-ui-v2 .mg-store-home .mg-combo-card__head { grid-column: 1 / -1; height: 32px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__head > a { min-height: 32px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__head h3 { font-size: 15px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__products { grid-column: 1 / -1; gap: 24px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__products li > a { gap: 10px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__image { height: 108px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__name { height: 36px; min-height: 36px; max-height: 36px; font-size: 13px; line-height: 18px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__plus { top: 48px; left: -19px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__pricing { margin-top: 0; padding-top: 12px; gap: 16px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__price { font-size: 23px; line-height: 30px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__saving { padding: 0; background: transparent; color: var(--store-brand); }
.mg-ui-v2 .mg-store-home .mg-combo-card__actions { align-self: end; flex-direction: column; gap: 6px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__actions button { min-height: 36px; padding: 6px 14px; font-size: 12px; }
.mg-ui-v2 .mg-store-home .mg-combo-card__actions button svg { flex-shrink: 0; }
.mg-ui-v2 .mg-store-home .mg-home-combos__hint { justify-content: flex-end; min-height: 16px; }
.mg-ui-v2 .mg-home-offers__promotions { min-width: 0; }
.mg-ui-v2 .mg-home-offers__promotions > h2 { display: flex; align-items: center; min-height: 40px; margin-bottom: 12px; }
.mg-ui-v2 .mg-home-offers .mg-store-home-zone__strip { margin-bottom: 12px; }
.mg-ui-v2 .mg-home-offers .mg-store-home-strip__frame { height: 338px; border: 0; border-radius: 8px; background: #f5f6f7; box-shadow: none; }
.mg-ui-v2 .mg-home-offers .mg-store-home-strip__banner-panel { padding-bottom: 60px; }
.mg-ui-v2 .mg-home-offers .mg-store-home-strip__banner-img { height: calc(100% - 60px) !important; object-fit: cover; }
.mg-ui-v2 .mg-home-offers .mg-store-home-strip__banner-copy { inset: auto 0 0; flex-direction: row; align-items: center; justify-content: space-between; min-height: 60px; padding: 10px 14px; background: #f5f6f7; gap: 8px; color: var(--store-brand); }
.mg-ui-v2 .mg-home-offers .mg-store-home-strip__banner-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 20px; color: var(--store-text); text-shadow: none; }
.mg-ui-v2 .mg-home-offers .mg-store-home-strip__banner-copy svg { flex-shrink: 0; }
.mg-ui-v2 .mg-home-offers .mg-store-home-strip__product-head { background: #f5f6f7; border-color: var(--store-border); }
.mg-ui-v2 .mg-home-offers .mg-store-home-strip__dots { min-height: 20px; }

/* Category rails keep the previously fixed card/tab geometry, on neutral bands. */
.mg-ui-v2 .mg-store-home .mg-store-home-cat { padding-block: 16px 24px; }
.mg-ui-v2 .mg-store-home .mg-store-home-cat__frame { overflow: hidden; border-radius: 0; background: #fff; box-shadow: none; }
.mg-ui-v2 .mg-store-home .mg-store-home-cat__tabs { border-radius: 0; background: #fff; border-bottom: 1px solid var(--store-border); }
.mg-ui-v2 .mg-store-home .mg-store-home-cat__tab { border-bottom: 3px solid transparent; background: #fff; }
.mg-ui-v2 .mg-store-home .mg-store-home-cat__tab--active { border-bottom-color: var(--store-brand); background: #fff; }
.mg-ui-v2 .mg-store-home .mg-store-home-cat__tab--active .mg-store-home-cat__tab-label { color: var(--store-brand); }
.mg-ui-v2 .mg-store-home .mg-store-home-cat__tab--active .mg-store-home-cat__tab-sub { color: var(--store-text-muted); }
.mg-ui-v2 .mg-store-home .mg-store-home-cat__split { padding: 14px 0 0; border-radius: 0; background: #fff; }
.mg-ui-v2 .mg-store-home .mg-store-home-cat__view-all--mobile { background: transparent; color: var(--store-brand); }
.mg-ui-v2 .mg-store-home .mg-store-card__price,
.mg-ui-v2 .mg-store-home .mg-store-price-teaser__now { font-size: 18px; }
.mg-ui-v2 .mg-store-home .mg-store-home-buildpc__inner { border: 0; border-radius: 0; background: #f5f6f7; }
.mg-ui-v2 .mg-store-home .mg-store-home-video__featured,
.mg-ui-v2 .mg-store-home .mg-store-home-video__featured-caption { background: #17191c; }
.mg-ui-v2 .mg-store-home .mg-store-tab-skeleton__media,
.mg-ui-v2 .mg-store-home .mg-store-tab-skeleton__line { background: #edf0f2; animation: mg-home-pulse 1200ms ease-in-out infinite alternate; }
#mg-home-products { scroll-margin-top: 160px; }
@keyframes mg-home-pulse { to { opacity: .5; } }

@media (min-width: 992px) {
  .mg-ui-v2:has(.mg-store-home) .contact-box-bottom--desktop { animation: none; }
  .mg-ui-v2:has(.mg-store-home) .contact-box-bottom--desktop .contact-box-wrapper { position: relative; width: 48px; height: 48px; margin-bottom: 8px; padding: 4px; border: 1px solid var(--store-border); border-radius: 8px; }
  .mg-ui-v2:has(.mg-store-home) .contact-box-bottom--desktop .contact-info { position: absolute; right: 56px; display: none; min-width: 172px; padding: 10px 12px; border: 1px solid var(--store-border); border-radius: 6px; background: #fff; white-space: nowrap; }
  .mg-ui-v2:has(.mg-store-home) .contact-box-bottom--desktop .contact-box-wrapper:hover .contact-info,
  .mg-ui-v2:has(.mg-store-home) .contact-box-bottom--desktop .contact-box-wrapper:focus-visible .contact-info { display: block; }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__content:has(.mg-store-home-zone__main):has(.mg-store-home-zone__sub) { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 1fr); align-items: stretch; }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__sub { contain: size; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__sub-item { aspect-ratio: auto; }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__main,
  .mg-ui-v2 .mg-store-home .mg-store-home-hero--embedded,
  .mg-ui-v2 .mg-store-home .mg-store-home-hero__carousel-shell { height: 100%; }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__main { height: auto; aspect-ratio: var(--mg-home-banner-aspect); }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__content:has(.mg-store-home-zone__sub) .mg-store-home-hero__frame { height: 100%; aspect-ratio: auto; min-height: 260px; }
}

@media (max-width: 1199px) {
  .mg-ui-v2 .mg-store-home .mg-store-card__price { font-size: 16px; }
  .mg-ui-v2 .mg-home-offers { grid-template-columns: minmax(0, 1.8fr) minmax(250px, 1fr); gap: 20px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card { padding: 16px; gap: 12px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__actions { grid-column: 1 / -1; flex-direction: row; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__pricing { grid-column: 1 / -1; }
  .mg-ui-v2 .mg-home-offers .mg-store-home-strip__frame { height: 388px; }
}

@media (max-width: 991px) {
  .mg-ui-v2 .mg-store-home .mg-store-card__price { font-size: 14px; }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone { padding-block: 12px 0; }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__sub { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__sub-item { flex: 0 0 calc((100% - 24px) / 4); }
  .mg-ui-v2 .mg-home-offers { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .mg-ui-v2 .mg-home-offers__promotions { display: none; }
  .mg-ui-v2 .mg-store-home .mg-combo-card { flex-basis: calc((100% - 16px) / 2); display: flex; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__head { height: 32px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__image { height: 80px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__products { gap: 16px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__plus { top: 34px; left: -14px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__price { font-size: 22px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__actions { flex-direction: row; align-self: stretch; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__header-actions { flex-wrap: wrap; justify-content: flex-end; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__header-title { font-size: 18px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__slot { flex-basis: 140px; }
}

@media (max-width: 767px) {
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__content { gap: 8px; }
  .mg-ui-v2 .mg-store-home .mg-store-home-zone__sub-item { flex-basis: 38%; }
  .mg-ui-v2 .mg-home-section-heading { gap: 8px; margin-bottom: 4px; }
  .mg-ui-v2 .mg-home-section-heading h2,
  .mg-ui-v2 .mg-store-home .mg-home-combos__head h2 { font-size: 18px; line-height: 24px; }
  .mg-ui-v2 .mg-home-section-heading > a { font-size: 12px; }
  .mg-ui-v2 .mg-home-section-heading > a svg { display: none; }
  .mg-ui-v2 .mg-home-discover { padding-block: 12px 16px; }
  .mg-ui-v2 .mg-home-discover__rail { grid-auto-columns: 80px; gap: 4px; }
  .mg-ui-v2 .mg-home-discover__image { width: 44px; height: 44px; }
  .mg-ui-v2 .mg-home-discover__label { font-size: 11px; line-height: 16px; height: 32px; }
  .mg-ui-v2 .mg-home-discover__item { padding: 4px; gap: 6px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs { padding-block: 0 20px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__header { flex-wrap: wrap; gap: 4px 12px; padding-bottom: 8px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__header-brand { flex: 1; gap: 8px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__header-title { font-size: 16px; line-height: 22px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__header-badge { padding: 5px; font-size: 10px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__header-actions { display: contents; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__countdown { order: 3; flex-basis: 100%; padding-bottom: 4px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__view-all { font-size: 12px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__slot { flex-basis: 124px; min-height: 56px; padding: 8px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs__slots-wrap { padding: 8px 0; }
  .mg-ui-v2 .mg-store-home .mg-store-fs .mg-home-mobile-rail { margin-inline: 0; padding: 0 0 6px; gap: 8px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs-card { padding: 8px; min-height: 280px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs-card__media { height: 112px; min-height: 112px; max-height: 112px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs-card__body { padding-top: 8px; gap: 6px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs-card__name { font-size: 12px; line-height: 17px; height: 34px; min-height: 34px; }
  .mg-ui-v2 .mg-store-home .mg-store-fs-card__ended { font-size: 12px; }
  .mg-ui-v2 .mg-store-home .mg-store-price-teaser__now { font-size: 15px; }
  .mg-ui-v2 .mg-store-home .mg-home-mobile-rail .mg-mobile-card__price { font-size: 15px; }
  .mg-ui-v2 .mg-home-offers { padding-block: 0 16px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card { flex-basis: 94%; padding: 12px; gap: 12px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__name { font-size: 11px; line-height: 16px; height: 32px; min-height: 32px; max-height: 32px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__image { height: 72px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__actions button { min-height: 44px; }
  .mg-ui-v2 .mg-store-home .mg-combo-card__actions > button:first-child { flex: 1; white-space: nowrap; }
  .mg-ui-v2 .mg-store-home .mg-store-home-cat { padding-block: 8px 16px; }
  .mg-ui-v2 .mg-store-home .mg-store-home-cat__split { padding-top: 8px; }
  .mg-ui-v2 .mg-store-home .mg-store-home-cat__tab { padding-inline: 8px; }
  .mg-ui-v2 .mg-store-home .mg-store-home-cat__tab-label { font-size: 13px; }
  .mg-ui-v2 .mg-store-home .mg-store-home-buildpc__inner { padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .mg-ui-v2 .mg-store-home *, .mg-ui-v2 .mg-store-home *::before, .mg-ui-v2 .mg-store-home *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
