/* Scoped discovery catalog. Native order forms and navigation keep their styling. */
.mgsm-store-discovery-heading .mgsm-store-purchase-guide { max-width: 900px; margin: 18px 0 0; font-size: 14px; line-height: 1.65; }
[data-mgsm-full-catalog] {
  --fc-accent: var(--m26-accent, #2b59ff);
  --fc-on-accent: var(--m26-on-accent, #fff);
  --fc-surface: var(--m26-surface, #11151d);
  --fc-line: var(--m26-line, #29323e);
  --fc-ink: var(--m26-ink, #f3f5f9);
  --fc-muted: var(--m26-ink-2, #a6afbd);
  width: 100%; max-width: 1280px; min-width: 0; margin: 48px auto;
  padding: 0 24px; color: var(--fc-ink); font-family: var(--m26-sans, inherit);
}
[data-mgsm-full-catalog], [data-mgsm-full-catalog] *,
[data-mgsm-full-catalog] *::before, [data-mgsm-full-catalog] *::after { box-sizing: border-box; }
[data-mgsm-full-catalog] [hidden] { display: none !important; }
[data-mgsm-full-catalog] .fc-toolbar { display: flex; align-items: stretch; gap: 12px; margin: 0 0 18px; }
[data-mgsm-full-catalog] .fc-search { display: flex; flex: 1 1 auto; min-width: 0; margin: 0; }
[data-mgsm-full-catalog] .fc-search, [data-mgsm-full-catalog] .fc-category-label {
  --fc-field-cut: 14px; --fc-field-edge: var(--m26-field, var(--fc-line));
  --fc-btn-mark: var(--m26-accent-t, var(--fc-accent));
  position: relative; isolation: isolate; border: 0; border-radius: 0; background: none;
}
[data-mgsm-full-catalog] .fc-search::before, [data-mgsm-full-catalog] .fc-category-label::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  clip-path: polygon(0 0, calc(100% - var(--fc-field-cut)) 0, 100% var(--fc-field-cut), 100% 100%, 0 100%);
  background:
    linear-gradient(to top right, transparent calc(50% - .75px), var(--fc-field-edge) calc(50% - .75px), var(--fc-field-edge) calc(50% + .75px), transparent calc(50% + .75px)) no-repeat top right / var(--fc-field-cut) var(--fc-field-cut),
    var(--fc-surface);
  box-shadow: inset 0 0 0 1.5px var(--fc-field-edge);
}
[data-mgsm-full-catalog] .fc-search input {
  appearance: none; width: 100%; min-width: 0; min-height: 52px; padding: 13px 18px;
  margin: 0; border: 0; border-radius: 0; background: transparent; color: var(--fc-ink);
  font: inherit; font-size: 15px; line-height: 1.4; box-shadow: none;
}
[data-mgsm-full-catalog] .fc-search input::placeholder { color: var(--fc-muted); opacity: 1; }
[data-mgsm-full-catalog] .fc-category-label { display: flex; margin: 0; min-width: 0; }
[data-mgsm-full-catalog] .fc-category-select {
  max-width: 310px; min-height: 52px; padding: 12px 38px 12px 14px; margin: 0;
  border: 0; border-radius: 0; background-color: transparent;
  color: var(--fc-ink); font: inherit; font-size: 14px; cursor: pointer;
}
[data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link) {
  /* Same cut, visor corners and single light sweep as the native Login/Register buttons. */
  --fc-btn-cut: 7px;
  --fc-btn-fill: var(--fc-accent);
  --fc-btn-fg: var(--fc-on-accent);
  --fc-btn-mark: var(--m26-accent-t, var(--fc-accent));
  --fc-btn-edge: transparent;
  --fc-btn-sweep: var(--m26-sweep, rgba(255, 255, 255, .26));
  --fc-btn-clip: polygon(0 0, calc(100% - var(--fc-btn-cut)) 0, 100% var(--fc-btn-cut), 100% 100%, 0 100%);
  position: relative; isolation: isolate;
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
  min-width: 44px; max-width: 100%; padding: 10px 16px; margin: 0; border: 0; border-radius: 0;
  background: none; box-shadow: none; color: var(--fc-btn-fg) !important; font: inherit; font-size: 13px;
  font-weight: 640; font-stretch: 112%; letter-spacing: .07em; text-transform: uppercase;
  line-height: 1.4; text-align: center; text-decoration: none; white-space: nowrap; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
[data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link)::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; clip-path: var(--fc-btn-clip);
  background:
    linear-gradient(to top right, transparent calc(50% - .75px), var(--fc-btn-edge) calc(50% - .75px), var(--fc-btn-edge) calc(50% + .75px), transparent calc(50% + .75px)),
    linear-gradient(100deg, transparent 35%, var(--fc-btn-sweep) 50%, transparent 65%),
    var(--fc-btn-fill);
  background-repeat: no-repeat;
  background-size: var(--fc-btn-cut) var(--fc-btn-cut), 60% 100%, auto;
  background-position: top right, -160% 0, 0 0;
  box-shadow: inset 0 0 0 1.5px var(--fc-btn-edge);
}
[data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link, .fc-search, .fc-category-label)::after {
  content: ""; position: absolute; inset: -6px; pointer-events: none; opacity: 0;
  --fc-btn-m: 9px; --fc-btn-t: 1.5px;
  background:
    linear-gradient(var(--fc-btn-mark), var(--fc-btn-mark)) top left / var(--fc-btn-m) var(--fc-btn-t),
    linear-gradient(var(--fc-btn-mark), var(--fc-btn-mark)) top left / var(--fc-btn-t) var(--fc-btn-m),
    linear-gradient(var(--fc-btn-mark), var(--fc-btn-mark)) bottom left / var(--fc-btn-m) var(--fc-btn-t),
    linear-gradient(var(--fc-btn-mark), var(--fc-btn-mark)) bottom left / var(--fc-btn-t) var(--fc-btn-m),
    linear-gradient(var(--fc-btn-mark), var(--fc-btn-mark)) bottom right / var(--fc-btn-m) var(--fc-btn-t),
    linear-gradient(var(--fc-btn-mark), var(--fc-btn-mark)) bottom right / var(--fc-btn-t) var(--fc-btn-m);
  background-repeat: no-repeat;
}
[data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link):hover { background: none; color: var(--fc-btn-fg) !important; text-decoration: none; }
[data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link):focus-visible::after { opacity: 1; --fc-btn-m: 12px; --fc-btn-t: 2px; }
[data-mgsm-full-catalog] .fc-search::after, [data-mgsm-full-catalog] .fc-category-label::after { inset: -7px; --fc-btn-m: 12px; --fc-btn-t: 2px; }
[data-mgsm-full-catalog] .fc-search:focus-within, [data-mgsm-full-catalog] .fc-category-label:focus-within { --fc-field-edge: var(--m26-accent-t, var(--fc-accent)); }
[data-mgsm-full-catalog] .fc-search:focus-within::after, [data-mgsm-full-catalog] .fc-category-label:focus-within::after { opacity: 1; }
[data-mgsm-full-catalog] .fc-button:disabled { opacity: .45; cursor: default; }
@media (hover: hover) {
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link):not(:disabled):hover::after { opacity: 1; }
  [data-mgsm-full-catalog] .fc-button:not(.fc-pause):not(.fc-clear):not(:disabled):hover,
  [data-mgsm-full-catalog] .fc-buy:hover { --fc-btn-fill: var(--m26-accent-hover, #2146ce); }
}
[data-mgsm-full-catalog] .fc-block-nav { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 36px; }
[data-mgsm-full-catalog] .fc-block-link {
  --fc-btn-fill: var(--fc-surface); --fc-btn-fg: var(--fc-ink);
  --fc-btn-edge: var(--fc-line); --fc-btn-sweep: var(--m26-line-2, var(--fc-line));
}
[data-mgsm-full-catalog] .fc-block-link:hover { --fc-btn-edge: var(--fc-accent); }
[data-mgsm-full-catalog] .fc-block { margin-top: 54px; scroll-margin-top: 100px; }
[data-mgsm-full-catalog] .fc-block-title { margin: 0 0 28px; color: var(--fc-accent); font-size: clamp(18px, 2vw, 24px); font-weight: 750; line-height: 1.3; }
[data-mgsm-full-catalog] .fc-category { min-width: 0; margin: 0 0 48px; scroll-margin-top: 100px; }
[data-mgsm-full-catalog] .fc-heading { margin: 0 0 16px; }
[data-mgsm-full-catalog] .fc-title { margin: 0 0 7px; color: var(--fc-ink); font-size: clamp(23px, 2.6vw, 32px); font-weight: 750; line-height: 1.18; letter-spacing: -.025em; }
[data-mgsm-full-catalog] .fc-intro { margin: 0; max-width: 800px; color: var(--fc-muted); font-size: 14px; line-height: 1.6; }
[data-mgsm-full-catalog] .fc-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; }
[data-mgsm-full-catalog] .fc-count { flex: 1 1 auto; margin: 0; color: var(--fc-muted); font-size: 13px; line-height: 1.5; }
[data-mgsm-full-catalog] .fc-pause, [data-mgsm-full-catalog] .fc-clear {
  --fc-btn-fill: color-mix(in srgb, var(--m26-bg, var(--fc-surface)) 72%, transparent);
  --fc-btn-fg: var(--fc-ink); --fc-btn-edge: var(--fc-ink); --fc-btn-mark: var(--fc-ink);
  --fc-btn-sweep: var(--m26-line-2, var(--fc-line));
}
[data-mgsm-full-catalog] .fc-stage { position: relative; min-width: 0; }
[data-mgsm-full-catalog] .fc-track {
  display: flex; align-items: stretch; gap: 20px; min-width: 0; width: 100%;
  padding: 10px 3px 24px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
  scroll-padding-inline: 3px; overscroll-behavior-x: contain; scrollbar-width: none;
  perspective: 1100px;
}
[data-mgsm-full-catalog] .fc-track::-webkit-scrollbar { display: none; }
[data-mgsm-full-catalog] .fc-card {
  position: relative; display: flex; flex: 0 0 calc((100% - 60px) / 4); flex-direction: column;
  min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--fc-line); border-radius: 17px;
  background: var(--fc-surface); color: var(--fc-ink); scroll-snap-align: start;
  transform: rotateY(var(--fc-turn, 0deg)) scale(var(--fc-scale, 1)); transform-origin: center;
  transition: transform .32s ease, border-color .16s ease, box-shadow .16s ease;
}
[data-mgsm-full-catalog] .fc-card:hover, [data-mgsm-full-catalog] .fc-card:focus-within { border-color: var(--fc-accent); box-shadow: 0 10px 26px rgba(0, 0, 0, .18); }
[data-mgsm-full-catalog] .fc-media { position: relative; width: 100%; aspect-ratio: 1; background: #061323; }
[data-mgsm-full-catalog] .fc-image { display: block; width: 100%; height: 100%; margin: 0; object-fit: contain; }
[data-mgsm-full-catalog] .fc-image-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #69d9ff; font-size: clamp(36px, 5vw, 60px); font-weight: 750; background: radial-gradient(ellipse at 50% 45%, #163b61 0%, #061323 70%); }
[data-mgsm-full-catalog] .fc-card-body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 12px; min-width: 0; padding: 17px; }
[data-mgsm-full-catalog] .fc-card-title { margin: 0; color: var(--fc-ink); font-size: 17px; font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; }
[data-mgsm-full-catalog] .fc-details { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
[data-mgsm-full-catalog] .fc-price { margin: 0; color: var(--fc-ink); font-size: 17px; font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; }
[data-mgsm-full-catalog] .fc-summary { margin: 0; color: var(--fc-muted); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
[data-mgsm-full-catalog] .fc-buy { width: 100%; margin-top: auto; }
[data-mgsm-full-catalog] .fc-arrow {
  position: absolute; z-index: 3; top: 50%; display: flex; align-items: center; justify-content: center;
  width: 64px; min-height: 64px; margin: 0; padding: 0 0 4px; border: 2px solid var(--fc-line);
  border-radius: 50%; background: var(--fc-surface); color: var(--fc-ink); font-family: Arial, sans-serif;
  font-size: 48px; line-height: 1; box-shadow: 0 4px 18px rgba(0, 0, 0, .24); transform: translateY(-50%); cursor: pointer;
}
[data-mgsm-full-catalog] .fc-prev { left: -13px; }
[data-mgsm-full-catalog] .fc-next { right: -13px; }
[data-mgsm-full-catalog] .fc-arrow:hover { background: var(--fc-accent); color: var(--fc-on-accent); border-color: var(--fc-accent); }
[data-mgsm-full-catalog] .fc-arrow:disabled { opacity: .35; cursor: default; }
[data-mgsm-full-catalog] .fc-more { margin: 16px 0 0; }
[data-mgsm-full-catalog] .fc-grid, [data-mgsm-full-catalog] [data-view="grid"] .fc-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; overflow: visible; perspective: none; scroll-snap-type: none; }
[data-mgsm-full-catalog] .fc-grid .fc-card, [data-mgsm-full-catalog] [data-view="grid"] .fc-card { width: auto; transform: none; }
[data-mgsm-full-catalog] .fc-results > .fc-count { margin: 20px 0; }
[data-mgsm-full-catalog] .fc-notice { padding: 20px 0; margin: 0; color: var(--fc-muted); font-size: 15px; line-height: 1.6; }
[data-mgsm-full-catalog] .fc-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
[data-mgsm-full-catalog] button:focus-visible, [data-mgsm-full-catalog] a:focus-visible,
[data-mgsm-full-catalog] input:focus-visible, [data-mgsm-full-catalog] select:focus-visible,
[data-mgsm-full-catalog] .fc-track:focus-visible { outline: 3px solid var(--fc-accent); outline-offset: 3px; }
/* Keep the SIM focus corners visible without clipping the button's focus box. */
[data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link):focus-visible { outline: 2px solid transparent; outline-offset: 6px; }
[data-mgsm-full-catalog] .fc-search input:focus-visible, [data-mgsm-full-catalog] .fc-category-select:focus-visible { outline: 0; }
@media (prefers-reduced-motion: no-preference) {
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link) { transition: transform .12s var(--m26-ease, cubic-bezier(.2, .8, .2, 1)); }
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link)::before { transition: background-position 0s, background-color .18s var(--m26-ease, cubic-bezier(.2, .8, .2, 1)); }
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link, .fc-search, .fc-category-label)::after { transition: opacity .18s var(--m26-ease, cubic-bezier(.2, .8, .2, 1)); transform: scale(1.06); }
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link):hover::after,
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link):focus-visible::after { transform: none; transition: opacity .18s var(--m26-ease, cubic-bezier(.2, .8, .2, 1)), transform .24s var(--m26-ease, cubic-bezier(.2, .8, .2, 1)); }
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link):not(:disabled):hover::before { background-position: top right, 160% 0, 0 0; transition: background-position .55s var(--m26-ease, cubic-bezier(.2, .8, .2, 1)); }
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link):not(:disabled):hover { animation: mgsm26-catalog-sim-aberr .16s steps(2, end) 1; }
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link):not(:disabled):active { transform: translateY(1px); transition-duration: .06s; }
  [data-mgsm-full-catalog] .fc-search::after, [data-mgsm-full-catalog] .fc-category-label::after { transition: opacity .18s var(--m26-ease, cubic-bezier(.2, .8, .2, 1)), transform .24s var(--m26-ease, cubic-bezier(.2, .8, .2, 1)); transform: scale(1.04); }
  [data-mgsm-full-catalog] .fc-search:focus-within::after, [data-mgsm-full-catalog] .fc-category-label:focus-within::after { transform: none; }
}
@keyframes mgsm26-catalog-sim-aberr {
  0% { text-shadow: 1px 0 rgba(255, 64, 96, .75), -1px 0 rgba(64, 144, 255, .75); }
  100% { text-shadow: none; }
}
@media (hover: hover) and (pointer: fine) {
  [data-mgsm-full-catalog] [data-view="carousel"] .fc-details {
    position: absolute; z-index: 1; top: 0; left: 0; right: 0; aspect-ratio: 1;
    justify-content: flex-end; padding: 20px; background: linear-gradient(to top, var(--fc-surface) 0%, var(--fc-surface) 36%, transparent 100%);
    opacity: 0; visibility: hidden; transform: translateY(7px); pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
  }
  [data-mgsm-full-catalog] [data-view="carousel"] .fc-card:hover .fc-details,
  [data-mgsm-full-catalog] [data-view="carousel"] .fc-card:focus-within .fc-details { opacity: 1; visibility: visible; transform: none; }
}
@media (max-width: 1100px) {
  [data-mgsm-full-catalog] .fc-card { flex-basis: calc((100% - 40px) / 3); }
  [data-mgsm-full-catalog] .fc-grid, [data-mgsm-full-catalog] [data-view="grid"] .fc-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  [data-mgsm-full-catalog] .fc-toolbar { flex-wrap: wrap; }
  [data-mgsm-full-catalog] .fc-search { flex-basis: 100%; }
  [data-mgsm-full-catalog] .fc-category-label { flex: 1 1 auto; }
  [data-mgsm-full-catalog] .fc-category-select { max-width: none; width: 100%; }
  [data-mgsm-full-catalog] .fc-grid, [data-mgsm-full-catalog] [data-view="grid"] .fc-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  [data-mgsm-full-catalog] { margin: 36px auto; padding: 0 16px; }
  [data-mgsm-full-catalog] .fc-block-nav { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 7px; }
  [data-mgsm-full-catalog] .fc-block-link { flex: 0 0 auto; }
  [data-mgsm-full-catalog] .fc-category { margin-bottom: 36px; }
  [data-mgsm-full-catalog] .fc-track { gap: 14px; }
  [data-mgsm-full-catalog] .fc-card { flex-basis: 82%; }
  [data-mgsm-full-catalog] .fc-card-body { padding: 16px; }
  [data-mgsm-full-catalog] .fc-arrow { width: 52px; min-height: 52px; font-size: 40px; }
  [data-mgsm-full-catalog] .fc-prev { left: -6px; } [data-mgsm-full-catalog] .fc-next { right: -6px; }
  [data-mgsm-full-catalog] .fc-grid, [data-mgsm-full-catalog] [data-view="grid"] .fc-track { grid-template-columns: 1fr; }
  [data-mgsm-full-catalog] [data-view="carousel"] .fc-details { position: static; aspect-ratio: auto; padding: 0; background: none; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
}
@media (any-pointer: coarse) {
  [data-mgsm-full-catalog] [data-view="carousel"] .fc-details { position: static; aspect-ratio: auto; padding: 0; background: none; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
}
@media (prefers-reduced-motion: reduce) {
  [data-mgsm-full-catalog] .fc-card { transform: none; transition: border-color .16s ease; }
  [data-mgsm-full-catalog] .fc-details { transition: none; }
}
@media (forced-colors: active) {
  [data-mgsm-full-catalog] :is(.fc-button, .fc-buy, .fc-block-link) { --fc-btn-fg: ButtonText; border: 1px solid ButtonText; background: ButtonFace; }
  [data-mgsm-full-catalog] .fc-search, [data-mgsm-full-catalog] .fc-category-label { border: 1px solid ButtonText; background: Canvas; }
  [data-mgsm-full-catalog] .fc-search input:focus-visible, [data-mgsm-full-catalog] .fc-category-select:focus-visible { outline: 2px solid Highlight; outline-offset: -3px; }
}

.mgsm-store-discovery-heading{max-width:1280px;margin:0 auto;padding:30px 24px 0}.mgsm-store-eyebrow{color:#3fa7ff;font-size:12px;font-weight:800;letter-spacing:.15em}.mgsm-store-discovery-heading h2{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-.03em;margin:8px 0 12px}.mgsm-store-discovery-heading>p:last-child{color:inherit;opacity:.72;line-height:1.6}
