/* NBG cart/checkout defaults; low specificity lets theme overrides win. */
:where(.nbg-mt-catalog, .nbg-mt-brand-notice) {
  --cui-bg: #111113;
  --cui-panel: #17171a;
  --cui-line: rgba(255,255,255,.10);
  --cui-line-strong: rgba(255,255,255,.22);
  --cui-text: #e8e8ea;
  --cui-muted: #9a9aa2;
  --cui-accent: #ff3c3c;
  --cui-ok: #6fcf8a;
  --cui-radius: 8px;
  --cui-sel: rgba(255,255,255,.55);
  --cui-sel-bg: rgba(255,255,255,.045);
}
/* Ancestors cannot inherit catalogue tokens; the page ground needs its own default. */
:where(body.nbg-catalog-page) { --cui-bg: #111113; }
body.nbg-catalog-page { overflow-x: hidden; }
body.nbg-catalog-page #content,
body.nbg-catalog-page .page-wrapper,
body.nbg-catalog-page #main { background: var(--cui-bg); }
body.nbg-catalog-page .page-title,
body.nbg-catalog-page .entry-title { display: none; }

.nbg-mt-catalog {
  box-sizing: border-box; background: var(--cui-bg); color: var(--cui-text); font: 14px/1.5 Roboto, sans-serif;
  margin: 0; margin-left: calc(50% - 50vw); width: 100vw; max-width: none;
  padding: 32px calc(50vw - 50%) 48px; color-scheme: dark;
}
.nbg-mt-catalog *, .nbg-mt-catalog *::before, .nbg-mt-catalog *::after { box-sizing: border-box; }
.nbg-mt-catalog [hidden] { display: none !important; }
.nbg-mt-catalog .nbg-mt-header { margin-bottom: 24px; }
.nbg-mt-catalog .nbg-mt-header h1 {
  font-family: inherit; font-size: 1.05em; font-weight: 600; line-height: 1.4;
  text-transform: uppercase; letter-spacing: .06em; color: #fff;
  margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--cui-line);
}
.nbg-mt-catalog .nbg-mt-lead { color: var(--cui-muted); margin: 0 0 12px; }
.nbg-mt-catalog .nbg-mt-meta,
.nbg-mt-catalog .nbg-mt-toolbar label,
.nbg-mt-catalog .nbg-mt-filter legend,
.nbg-mt-catalog .nbg-mt-count {
  font-size: .75em; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: var(--cui-muted);
}
.nbg-mt-catalog .nbg-mt-meta { margin: 0 0 22px; }
.nbg-mt-catalog .nbg-mt-notice,
.nbg-mt-catalog .nbg-mt-stale,
.nbg-mt-catalog .nbg-mt-controls,
.nbg-mt-brand-notice {
  background: var(--cui-panel); color: var(--cui-text);
  border: 1px solid var(--cui-line); border-radius: 12px; padding: 22px;
}
.nbg-mt-catalog .nbg-mt-notice { border-left: 3px solid var(--cui-accent); margin: 0 0 14px; }
.nbg-mt-catalog .nbg-mt-stale { border-left: 3px solid #c58b15; margin: 0; }
.nbg-mt-catalog .nbg-mt-controls { margin-bottom: 24px; }
.nbg-mt-catalog .nbg-mt-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin-bottom: 22px; }
.nbg-mt-catalog .nbg-mt-toolbar label { flex: 1 1 14rem; margin: 0; }
.nbg-mt-catalog input, .nbg-mt-catalog input[type="search"], .nbg-mt-catalog input[type="text"],
.nbg-mt-catalog .nbg-mt-controls input[type="search"], .nbg-mt-catalog .nbg-mt-controls input[type="text"], .nbg-mt-catalog select {
  width: 100%; height: 40px; min-height: 0; margin: 6px 0 0; padding: 0 12px;
  font-family: inherit; font-size: 14px; font-weight: 400; line-height: normal; letter-spacing: normal; text-transform: none;
  background-color: var(--cui-bg) !important; color: var(--cui-text) !important; border: 1px solid var(--cui-line) !important; border-radius: var(--cui-radius); box-shadow: none !important;
}
.nbg-mt-catalog select { appearance: auto; background-image: none; }
.nbg-mt-catalog input::placeholder { color: var(--cui-muted); opacity: 1; }
.nbg-mt-catalog input:focus, .nbg-mt-catalog select:focus { background-color: var(--cui-bg); color: var(--cui-text); border-color: var(--cui-line-strong); box-shadow: none; }
.nbg-mt-catalog button {
  display: inline-flex; align-items: center; justify-content: center; width: auto; height: 40px; min-height: 0;
  font-family: inherit; font-size: 13px; font-weight: 500; letter-spacing: normal; text-transform: none; line-height: 1;
  color: var(--cui-text); background: transparent; border: 1px solid var(--cui-sel); border-radius: var(--cui-radius);
  padding: 0 16px; margin: 0; cursor: pointer; box-shadow: none; text-shadow: none;
}
.nbg-mt-catalog button:hover { color: var(--cui-text); background: var(--cui-sel-bg); box-shadow: none; }
.nbg-mt-catalog button[aria-pressed="true"] { background: var(--cui-accent); color: #fff; border: 0; }
.nbg-mt-catalog :is(button, input, select, a):focus-visible,
.nbg-mt-brand-notice a:focus-visible { outline: 2px solid var(--cui-line-strong); outline-offset: 3px; }
.nbg-mt-catalog .nbg-mt-filter { border: 0; padding: 0; margin: 14px 0; min-width: 0; }
.nbg-mt-catalog .nbg-mt-filter legend { padding: 0; margin-bottom: 8px; }
.nbg-mt-catalog .nbg-mt-filter button { height: 32px; padding: 0 12px; margin: 0 6px 6px 0; }
.nbg-mt-catalog .nbg-mt-count { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--cui-line); }
.nbg-mt-catalog .nbg-mt-empty { color: var(--cui-muted); margin: 22px 0 0; }

.nbg-mt-catalog .nbg-mt-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.nbg-mt-catalog .nbg-mt-card {
  border: 1px solid var(--cui-line); border-radius: 12px; padding: 22px; overflow: hidden;
  color: var(--cui-text); background: var(--cui-panel); min-width: 0; display: flex; flex-direction: column;
  transition: border-color .15s, transform .15s;
}
.nbg-mt-catalog .nbg-mt-card:hover { border-color: var(--cui-line-strong); transform: translateY(-1px); }
.nbg-mt-catalog .nbg-mt-image, .nbg-mt-catalog .nbg-mt-placeholder {
  display: block; width: 100%; max-width: 100%; aspect-ratio: 4 / 3; height: auto; flex: 0 0 auto;
  object-fit: contain; border-radius: var(--cui-radius); padding: 12px; margin: 0 0 18px;
}
.nbg-mt-catalog .nbg-mt-image { background: #fff; }
.nbg-mt-catalog .nbg-mt-placeholder { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1b1b1f, #151518); border: 1px dashed var(--cui-line); color: rgba(255,255,255,.18); }
.nbg-mt-catalog .nbg-mt-placeholder svg { display: block; width: 40px; height: 40px; }
.nbg-mt-catalog .nbg-mt-card-body { display: flex; flex: 1; flex-direction: column; align-items: start; min-width: 0; }
.nbg-mt-catalog .nbg-mt-card h2 {
  font-family: inherit; font-weight: 600; font-size: 15px; line-height: 1.4; color: var(--cui-text);
  text-transform: none; letter-spacing: normal; margin: 0 0 6px; padding: 0; border: 0; overflow-wrap: anywhere;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.nbg-mt-catalog .nbg-mt-sku { font-size: 12px; color: var(--cui-muted); letter-spacing: .02em; margin: 0 0 12px; overflow-wrap: anywhere; }
.nbg-mt-catalog .nbg-mt-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 18px; }
.nbg-mt-catalog .nbg-mt-chips span { background: transparent; color: var(--cui-muted); border: 1px solid var(--cui-line); border-radius: 999px; padding: 3px 8px; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.nbg-mt-catalog .nbg-mt-price { font-size: 18px; font-weight: 700; line-height: 1.4; color: #fff; margin: auto 0 4px; }
.nbg-mt-catalog .nbg-mt-state {
  display: inline-flex; align-items: center; gap: 7px; color: var(--cui-muted); background: transparent;
  border: 1px solid var(--cui-line); border-radius: 999px; padding: 6px 9px; font-size: 12px; line-height: 1.4; margin: 14px 0 0;
}
.nbg-mt-catalog .nbg-mt-orderable { color: var(--cui-text); }
.nbg-mt-catalog .nbg-mt-orderable::before { content: ""; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--cui-ok); }
.nbg-mt-catalog .nbg-mt-shop-link, .nbg-mt-brand-notice a { color: var(--cui-accent); font-weight: 500; }
.nbg-mt-catalog .nbg-mt-shop-link { font-size: 13px; margin-top: 10px; }
.nbg-mt-catalog .nbg-mt-shop-link:hover, .nbg-mt-brand-notice a:hover { text-decoration: underline; }
.nbg-mt-catalog .nbg-mt-request { display: inline-block; margin-top: 12px; padding: 9px 14px; border: 1px solid var(--cui-accent); border-radius: var(--cui-radius); color: var(--cui-accent); font-size: 13px; font-weight: 600; text-align: center; }
.nbg-mt-catalog .nbg-mt-request:hover { background: var(--cui-accent); color: var(--cui-bg); }
.nbg-mt-catalog .nbg-mt-request:focus-visible { outline: 2px solid var(--cui-accent); outline-offset: 3px; }
/* 2.3.2: off-list models keep true photo colours (the grey filter + card fade read as broken
   images). The "not on the current list" signal is the muted "Availability on request" pill
   (no green dot), which every off-list card already carries. */
.nbg-mt-catalog .nbg-mt-off-list .nbg-mt-state { color: var(--cui-muted); }
.nbg-mt-brand-notice { font-family: inherit; margin: 0 0 24px; }
/* 2.7.0: borrowed base-model photo (badge + note) and the Google Images link. */
.nbg-mt-catalog .nbg-mt-zoom.nbg-mt-base { position: relative; }
.nbg-mt-catalog .nbg-mt-base .nbg-mt-image { opacity: .85; }
.nbg-mt-catalog .nbg-mt-base-badge {
  position: absolute; left: 10px; right: 10px; bottom: 28px; padding: 7px 10px; border-radius: 6px;
  background: rgba(17,17,19,.88); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; text-align: center; border: 1px solid var(--cui-accent);
}
.nbg-mt-catalog .nbg-mt-photo-note {
  margin: -8px 0 16px; padding: 10px 12px; border-radius: var(--cui-radius);
  border: 1px solid var(--cui-line); border-left: 3px solid var(--cui-accent); background: rgba(255,60,60,.06);
  font-size: 12.5px; line-height: 1.45; color: var(--cui-text);
}
.nbg-mt-catalog .nbg-mt-photo-note p { margin: 0 0 8px; }
.nbg-mt-catalog .nbg-mt-photo-note p:last-child { margin: 0; }
.nbg-mt-catalog a.nbg-mt-google {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 6px;
  border: 1px solid var(--cui-line-strong); color: #fff; font-weight: 600; font-size: 12.5px; text-decoration: none;
}
.nbg-mt-catalog a.nbg-mt-google:hover { background: var(--cui-sel-bg); text-decoration: none; }
.nbg-mt-catalog a.nbg-mt-google:focus-visible { outline: 2px solid var(--cui-accent); outline-offset: 3px; }

/* 2.6.0: "order any model" highlight (brand page + the brand's product pages). */
.nbg-mt-promo { border-left: 3px solid var(--cui-accent); display: grid; gap: 8px; justify-items: start; }
.nbg-mt-promo p { margin: 0; }
.nbg-mt-promo .nbg-mt-promo-title { font-weight: 700; font-size: 1.05em; color: #fff; text-transform: uppercase; letter-spacing: .04em; }
.nbg-mt-promo .nbg-mt-promo-text { color: var(--cui-muted); line-height: 1.5; }
.nbg-mt-brand-notice.nbg-mt-promo a.nbg-mt-promo-cta { margin-top: 6px; padding: 10px 16px; border-radius: var(--cui-radius); background: var(--cui-accent); color: #fff; font-weight: 600; text-decoration: none; }
.nbg-mt-brand-notice.nbg-mt-promo a.nbg-mt-promo-cta:hover { filter: brightness(1.1); text-decoration: none; }
.product .summary .nbg-mt-promo { margin: 18px 0; }

@media (max-width: 1200px) { .nbg-mt-catalog .nbg-mt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .nbg-mt-catalog .nbg-mt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .nbg-mt-catalog .nbg-mt-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .nbg-mt-catalog .nbg-mt-card { transition: none; }
  .nbg-mt-catalog .nbg-mt-card:hover { transform: none; }
}

/* Compact controls: one toolbar, one scrollable selection line, one result line. */
.nbg-mt-catalog .nbg-mt-sr-only, .nbg-mt-catalog .nbg-mt-honeypot {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; border: 0;
}
.nbg-mt-catalog .nbg-mt-controls { padding: 10px; margin-bottom: 16px; }
.nbg-mt-catalog .nbg-mt-toolbar { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; margin: 0; }
.nbg-mt-catalog .nbg-mt-toolbar label { flex: 0 1 180px; min-width: 0; margin: 0; }
.nbg-mt-catalog .nbg-mt-toolbar .nbg-mt-search { flex: 1 1 100px; }
.nbg-mt-catalog .nbg-mt-toolbar input[type="search"], .nbg-mt-catalog .nbg-mt-toolbar select {
  height: 36px; margin: 0; border-radius: var(--cui-radius); padding: 0 8px;
}
.nbg-mt-catalog .nbg-mt-toolbar button { flex-shrink: 0; height: 36px; padding: 0 10px; white-space: nowrap; border-radius: var(--cui-radius); }
.nbg-mt-catalog .nbg-mt-active { display: flex; gap: 6px; overflow-x: auto; padding-top: 8px; scrollbar-width: thin; }
.nbg-mt-catalog .nbg-mt-active-tag { flex-shrink: 0; height: 24px; font-size: 12px; padding: 0 8px; border-color: var(--cui-line-strong); border-radius: var(--cui-radius); }
.nbg-mt-catalog .nbg-mt-count { font-size: 12px; line-height: 14px; margin: 6px 0 0; padding: 0; border: 0; text-transform: none; letter-spacing: normal; }
.nbg-mt-catalog .nbg-mt-filter-panel { margin-top: 12px; border-top: 1px solid var(--cui-line); padding-top: 8px; }
.nbg-mt-catalog .nbg-mt-filter { display: block; margin: 8px 0; padding: 0; min-width: 0; }
.nbg-mt-catalog .nbg-mt-filter legend { float: left; width: 112px; margin: 0; padding: 4px 8px 0 0; font-size: 12px; line-height: 18px; border: 0; text-transform: none; letter-spacing: normal; }
.nbg-mt-catalog .nbg-mt-options { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.nbg-mt-catalog .nbg-mt-options-scroll { max-height: 58px; overflow-y: auto; scrollbar-width: thin; }
.nbg-mt-catalog .nbg-mt-filter button { flex-shrink: 0; height: 26px; font-size: 12px; padding: 0 8px; margin: 0; border-radius: var(--cui-radius); }
.nbg-mt-catalog .nbg-mt-filter-close { display: flex; margin-left: auto; height: 28px; padding: 0 10px; }
.nbg-mt-catalog .nbg-mt-show { display: none; }
.nbg-mt-catalog .nbg-mt-notice, .nbg-mt-catalog .nbg-mt-stale {
  padding: 7px 10px; font-size: 14px; line-height: 20px; white-space: nowrap; overflow-x: auto;
  scrollbar-width: thin; border-radius: var(--cui-radius);
}
.nbg-mt-catalog .nbg-mt-modal {
  width: min(520px, calc(100% - 24px)); max-height: calc(100dvh - 24px); overflow: auto;
  margin: auto; padding: 20px; border: 1px solid var(--cui-line-strong); border-radius: 12px;
  background: var(--cui-panel); color: var(--cui-text); font: inherit; color-scheme: dark;
}
.nbg-mt-catalog .nbg-mt-modal::backdrop { background: rgba(0,0,0,.72); }
.nbg-mt-catalog .nbg-mt-modal h2 { color: var(--cui-text); font: 600 20px/1.3 Roboto, sans-serif; margin: 0 0 8px; }
.nbg-mt-catalog .nbg-mt-modal-close { float: right; height: 28px; margin: 0 0 8px 12px; padding: 0 8px; }
.nbg-mt-catalog .nbg-mt-request-model { color: var(--cui-muted); margin: 0 0 16px; clear: both; }
.nbg-mt-catalog .nbg-mt-request-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.nbg-mt-catalog .nbg-mt-request-form label { color: var(--cui-text); font-size: 14px; margin: 0; font-weight: 400; }
.nbg-mt-catalog .nbg-mt-request-form label:has(textarea), .nbg-mt-catalog .nbg-mt-submit { grid-column: 1 / -1; }
.nbg-mt-catalog .nbg-mt-request-form input { border-radius: var(--cui-radius); }
.nbg-mt-catalog .nbg-mt-request-form textarea { display: block; width: 100%; height: 80px; margin: 6px 0 0; padding: 8px; resize: vertical; background: var(--cui-bg); color: var(--cui-text); border: 1px solid var(--cui-line); border-radius: var(--cui-radius); font: inherit; }
.nbg-mt-catalog .nbg-mt-submit, .nbg-mt-catalog .nbg-mt-show { background: var(--cui-accent); color: #fff; border-color: var(--cui-accent); border-radius: var(--cui-radius); }
.nbg-mt-catalog button:disabled { opacity: .6; cursor: wait; }
.nbg-mt-catalog .nbg-mt-request-status { margin: 12px 0; overflow-wrap: anywhere; }
.nbg-mt-catalog .nbg-mt-request-status:empty { display: none; }
.nbg-mt-catalog .nbg-mt-request-legal { font-size: 12px; line-height: 1.5; color: var(--cui-muted); margin: 12px 0 0; }
.nbg-mt-catalog :is(textarea, [tabindex]):focus-visible { outline: 2px solid var(--cui-line-strong); outline-offset: 3px; }
@media (max-width: 600px) {
  .nbg-mt-catalog .nbg-mt-controls { padding: 8px; }
  .nbg-mt-catalog .nbg-mt-toolbar { flex-wrap: nowrap; gap: 6px; }
  .nbg-mt-catalog .nbg-mt-toolbar .nbg-mt-search { flex: 1 1 60px; }
  .nbg-mt-catalog .nbg-mt-toolbar .nbg-mt-sort { flex: 0 1 85px; }
  .nbg-mt-catalog .nbg-mt-toolbar select { width: 100%; }
  .nbg-mt-catalog .nbg-mt-toolbar input[type="search"] { font-size: 16px; }
  .nbg-mt-catalog .nbg-mt-filter-panel {
    position: fixed; inset: 0; z-index: 100000; margin: 0; padding: 16px 12px 0;
    padding-top: max(16px, env(safe-area-inset-top)); overflow-y: auto; overscroll-behavior: contain;
    background: var(--cui-panel); border: 0; display: flex; flex-direction: column;
  }
  .nbg-mt-catalog .nbg-mt-filter legend { float: none; width: auto; padding: 0 0 6px; }
  .nbg-mt-catalog .nbg-mt-filter-close { flex-shrink: 0; height: 36px; }
  .nbg-mt-catalog .nbg-mt-filter { flex-shrink: 0; }
  .nbg-mt-catalog .nbg-mt-show { display: flex; position: sticky; bottom: 0; flex-shrink: 0; width: 100%; height: 48px; margin-top: auto; margin-bottom: env(safe-area-inset-bottom); }
  .nbg-mt-catalog .nbg-mt-modal { padding: 16px; }
  .nbg-mt-catalog .nbg-mt-request-form input, .nbg-mt-catalog .nbg-mt-request-form textarea { font-size: 16px; }
}

@media (max-width: 600px) {
  .nbg-mt-catalog .nbg-mt-toolbar input[type="search"], .nbg-mt-catalog .nbg-mt-toolbar select, .nbg-mt-catalog .nbg-mt-toolbar button { height: 34px; }
  .nbg-mt-catalog .nbg-mt-active { padding-top: 4px; }
}

.nbg-mt-catalog .nbg-mt-legend { margin: 12px 0; color: var(--cui-muted); }
.nbg-mt-catalog .nbg-mt-legend summary { cursor: pointer; }
.nbg-mt-catalog .nbg-mt-control-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.nbg-mt-catalog .nbg-mt-control-footer .nbg-mt-count { margin: 0; }
.nbg-mt-catalog .nbg-mt-pagination { display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0; }
.nbg-mt-catalog .nbg-mt-pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; padding: 6px; border: 1px solid var(--cui-line-strong); border-radius: 6px; color: var(--cui-text); }
.nbg-mt-catalog .nbg-mt-pagination [aria-current="page"] { background: var(--cui-accent); color: #fff; }
.nbg-mt-catalog .nbg-mt-grid[aria-busy="true"] { opacity: .5; }
.nbg-mt-catalog .nbg-mt-filter button { flex-shrink: 1; max-width: 100%; height: auto; min-height: 26px; padding: 4px 8px; white-space: normal; overflow-wrap: anywhere; line-height: 1.3; }
.nbg-mt-catalog .nbg-mt-chips span { min-width: 0; max-width: 100%; }
.nbg-mt-catalog .nbg-mt-active-tag { max-width: 100%; height: auto; min-height: 24px; white-space: normal; overflow-wrap: anywhere; line-height: 1.3; }


/* 2.2.0: the theme styles links, strong and summary dark; keep all catalogue text on the dark palette. */
.nbg-mt-catalog :is(p, li, strong, b, summary, h2, h3, span, label, legend) { color: inherit; }
.nbg-mt-catalog .nbg-mt-lead { color: var(--cui-muted); max-width: 72ch; }
.nbg-mt-catalog .nbg-mt-legend, .nbg-mt-catalog .nbg-mt-legend summary { color: var(--cui-muted); }
.nbg-mt-catalog .nbg-mt-legend strong { color: var(--cui-text); }
.nbg-mt-catalog a:not(.nbg-mt-request):not(.nbg-mt-shop-link):not([data-page]) { color: var(--cui-accent); }
.nbg-mt-catalog .nbg-mt-unavailable { color: var(--cui-text); }
/* 2.3.0: compressed card photo opens the full-resolution file in a lightbox. */
.nbg-mt-catalog .nbg-mt-zoom { display: block; cursor: zoom-in; border-radius: var(--cui-radius); }
.nbg-mt-catalog .nbg-mt-zoom:focus-visible { outline: 2px solid var(--cui-accent); outline-offset: 3px; }
.nbg-mt-catalog .nbg-mt-lightbox {
  width: min(1100px, calc(100vw - 24px)); max-width: none; height: min(92dvh, 1100px); max-height: none; margin: auto; padding: 44px 12px 12px;
  border: 1px solid var(--cui-line-strong); border-radius: 12px; background: #fff; color: #111; overflow: hidden;
}
.nbg-mt-catalog .nbg-mt-lightbox[open] { display: flex; flex-direction: column; }
.nbg-mt-catalog .nbg-mt-lightbox::backdrop { background: rgba(0,0,0,.85); }
.nbg-mt-catalog .nbg-mt-lightbox-image { flex: 1 1 auto; min-height: 0; width: 100%; height: 100%; object-fit: contain; cursor: zoom-out; }
.nbg-mt-catalog .nbg-mt-lightbox-title { position: absolute; top: 12px; left: 16px; right: 110px; margin: 0; font-size: 13px; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nbg-mt-catalog .nbg-mt-lightbox .nbg-mt-lightbox-close { position: absolute; top: 6px; right: 6px; height: 32px; color: #111; border-color: #999; background: #fff; }
.nbg-mt-catalog .nbg-mt-lightbox .nbg-mt-lightbox-close:hover { background: #eee; color: #111; }

/* 2.4.0: filter section polish — one control height, custom search/select, pill chips with
   check marks, labelled groups on a grid, removable active tags, badge on the Filters button,
   phone sheet above the sticky site header. Behaviour, markup roles and URL params unchanged. */
.nbg-mt-catalog .nbg-mt-controls {
  padding: 12px; border-radius: 12px;
  background: linear-gradient(180deg, #1b1b1f 0%, var(--cui-panel) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 24px rgba(0,0,0,.25);
}
.nbg-mt-catalog .nbg-mt-toolbar { gap: 8px; }
.nbg-mt-catalog .nbg-mt-toolbar input[type="search"], .nbg-mt-catalog .nbg-mt-toolbar select,
.nbg-mt-catalog .nbg-mt-toolbar button { height: 40px; }
.nbg-mt-catalog .nbg-mt-toolbar input[type="search"], .nbg-mt-catalog .nbg-mt-toolbar select {
  background-color: #0d0d0f !important; border-color: rgba(255,255,255,.14) !important;
  transition: border-color .15s, box-shadow .15s;
}
.nbg-mt-catalog .nbg-mt-toolbar input[type="search"] {
  padding: 0 12px 0 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9aa2' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: 12px center !important; background-size: 16px 16px !important;
}
.nbg-mt-catalog .nbg-mt-toolbar select {
  appearance: none; -webkit-appearance: none; padding: 0 34px 0 12px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9aa2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 10px center !important; background-size: 16px 16px !important;
}
.nbg-mt-catalog .nbg-mt-toolbar select option { background: var(--cui-panel); color: var(--cui-text); }
.nbg-mt-catalog .nbg-mt-toolbar input[type="search"]:hover, .nbg-mt-catalog .nbg-mt-toolbar select:hover { border-color: rgba(255,255,255,.26) !important; }
.nbg-mt-catalog .nbg-mt-toolbar input[type="search"]:focus, .nbg-mt-catalog .nbg-mt-toolbar select:focus {
  border-color: rgba(255,60,60,.65) !important; box-shadow: 0 0 0 3px rgba(255,60,60,.16) !important; outline: none;
}
.nbg-mt-catalog .nbg-mt-toolbar button { padding: 0 14px; gap: 8px; font-weight: 600; transition: background-color .15s, border-color .15s, color .15s; }
.nbg-mt-catalog .nbg-mt-icon { display: block; flex: 0 0 auto; }
.nbg-mt-catalog .nbg-mt-filter-toggle { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.03); }
.nbg-mt-catalog .nbg-mt-filter-toggle:hover { border-color: rgba(255,255,255,.4); }
.nbg-mt-catalog .nbg-mt-filter-toggle.nbg-mt-has-active { border-color: rgba(255,60,60,.6); }
.nbg-mt-catalog .nbg-mt-filter-toggle[aria-expanded="true"] { border-color: var(--cui-text); background: rgba(255,255,255,.08); }
.nbg-mt-catalog .nbg-mt-badge {
  display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 999px; background: var(--cui-accent); color: #fff; font-size: 11px; font-weight: 700; line-height: 1;
}
.nbg-mt-catalog .nbg-mt-clear { border-color: transparent; color: var(--cui-muted); background: transparent; font-weight: 500; }
.nbg-mt-catalog .nbg-mt-clear:hover { color: var(--cui-text); background: rgba(255,255,255,.06); }
.nbg-mt-catalog .nbg-mt-clear::before { content: "\00d7"; content: "\00d7" / ""; font-size: 18px; line-height: 1; margin-right: 6px; }
.nbg-mt-catalog .nbg-mt-controls :is(button, input, select):focus-visible { outline: 2px solid var(--cui-accent); outline-offset: 2px; }

/* Active selections: tinted removable pills with a muted group name. */
.nbg-mt-catalog .nbg-mt-active { gap: 6px; padding-top: 10px; align-items: center; }
.nbg-mt-catalog .nbg-mt-active-tag {
  min-height: 28px; padding: 3px 5px 3px 11px; border-radius: 999px; font-size: 12px; font-weight: 500;
  border: 1px solid rgba(255,60,60,.42); background: rgba(255,60,60,.10); color: var(--cui-text);
  transition: background-color .15s, border-color .15s;
}
.nbg-mt-catalog .nbg-mt-active-tag:hover { background: rgba(255,60,60,.2); border-color: var(--cui-accent); }
.nbg-mt-catalog .nbg-mt-tag-key { color: var(--cui-muted); margin-right: 4px; white-space: nowrap; }
.nbg-mt-catalog .nbg-mt-tag-x {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 18px; width: 18px; height: 18px; margin-left: 6px;
  border-radius: 50%; font-size: 15px; line-height: 1; color: var(--cui-muted); transition: background-color .15s, color .15s;
}
.nbg-mt-catalog .nbg-mt-active-tag:hover .nbg-mt-tag-x { background: rgba(255,255,255,.14); color: #fff; }
@media (min-width: 601px) { .nbg-mt-catalog .nbg-mt-active { flex-wrap: wrap; overflow: visible; } }
.nbg-mt-catalog .nbg-mt-control-footer { margin-top: 10px; }
.nbg-mt-catalog .nbg-mt-count { color: var(--cui-muted); font-size: 12px; }

/* Filter panel: titled header, one labelled row per group, pill chips. */
.nbg-mt-catalog .nbg-mt-filter-panel { margin-top: 12px; padding: 0 2px; border-top: 1px solid var(--cui-line); animation: nbg-mt-reveal .18s ease-out; }
.nbg-mt-catalog .nbg-mt-filter-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0 6px; }
.nbg-mt-catalog .nbg-mt-filter-title {
  font: 600 12px/1.2 "Chakra Petch", Roboto, sans-serif; text-transform: uppercase; letter-spacing: .1em; color: var(--cui-text);
}
.nbg-mt-catalog .nbg-mt-filter-head .nbg-mt-filter-close {
  display: inline-flex; margin: 0; height: 30px; padding: 0 12px; border-color: transparent; color: var(--cui-muted); font-weight: 500;
}
.nbg-mt-catalog .nbg-mt-filter-head .nbg-mt-filter-close:hover { color: var(--cui-text); background: rgba(255,255,255,.06); }
.nbg-mt-catalog .nbg-mt-filter { display: flow-root; margin: 0; padding: 12px 0; border: 0; border-top: 1px solid rgba(255,255,255,.06); }
.nbg-mt-catalog .nbg-mt-filter-head + .nbg-mt-filter { border-top: 0; }
.nbg-mt-catalog .nbg-mt-filter legend {
  float: left; width: 150px; padding: 7px 12px 0 0; margin: 0;
  font: 600 11px/16px "Chakra Petch", Roboto, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: var(--cui-muted);
}
.nbg-mt-catalog .nbg-mt-options { gap: 6px; }
.nbg-mt-catalog .nbg-mt-options-scroll { max-height: 104px; padding: 1px 6px 1px 1px; scrollbar-color: rgba(255,255,255,.25) transparent; }
.nbg-mt-catalog .nbg-mt-filter button {
  min-height: 30px; padding: 5px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 500; line-height: 1.3;
  color: var(--cui-text); background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.14);
  transition: background-color .15s, border-color .15s, color .15s;
}
.nbg-mt-catalog .nbg-mt-filter button:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.34); }
.nbg-mt-catalog .nbg-mt-filter button[aria-pressed="true"] { background: var(--cui-accent); border: 1px solid var(--cui-accent); color: #fff; }
.nbg-mt-catalog .nbg-mt-filter button[aria-pressed="true"]::before {
  content: ""; flex: 0 0 auto; width: 8px; height: 4px; margin: 0 7px 2px 0;
  border: solid currentColor; border-width: 0 0 2px 2px; transform: rotate(-45deg);
}
.nbg-mt-catalog .nbg-mt-filter button[aria-pressed="true"]:hover { background: #e83232; }
.nbg-mt-catalog .nbg-mt-chip-count { margin-left: 5px; font-size: 11px; color: var(--cui-muted); font-variant-numeric: tabular-nums; }
.nbg-mt-catalog .nbg-mt-filter button[aria-pressed="true"] .nbg-mt-chip-count { color: rgba(255,255,255,.8); }
@keyframes nbg-mt-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {
  .nbg-mt-catalog .nbg-mt-controls { padding: 8px; }
  .nbg-mt-catalog .nbg-mt-toolbar { gap: 6px; }
  .nbg-mt-catalog .nbg-mt-toolbar input[type="search"], .nbg-mt-catalog .nbg-mt-toolbar select,
  .nbg-mt-catalog .nbg-mt-toolbar button { height: 38px; }
  .nbg-mt-catalog .nbg-mt-toolbar input[type="search"] { padding: 0 8px 0 30px; background-position: 9px center !important; background-size: 15px 15px !important; }
  .nbg-mt-catalog .nbg-mt-toolbar select { padding: 0 24px 0 9px; background-position: right 6px center !important; background-size: 14px 14px !important; }
  .nbg-mt-catalog .nbg-mt-toolbar button { padding: 0 10px; gap: 6px; }
  /* Phone: Clear becomes an icon button; its text stays the accessible name. */
  .nbg-mt-catalog .nbg-mt-clear { width: 38px; padding: 0; font-size: 0; border-color: var(--cui-line); }
  .nbg-mt-catalog .nbg-mt-clear::before { font-size: 20px; margin: 0; }
  .nbg-mt-catalog .nbg-mt-active { padding-top: 8px; }
  /* The theme's #main (z-index 0) sits under the sticky header; lift it while the sheet is open. */
  /* Also above the cookie-consent revisit button (z-index 999999) that covered "Show N models". */
  body.nbg-mt-sheet-open #wrapper, body.nbg-mt-sheet-open #main { z-index: 1000000 !important; }
  .nbg-mt-catalog .nbg-mt-filter-panel { margin: 0; border: 0; padding: 0 16px; animation-name: nbg-mt-sheet; animation-duration: .2s; }
  .nbg-mt-catalog .nbg-mt-filter-toggle .nbg-mt-icon { display: none; }
  .nbg-mt-catalog .nbg-mt-filter-head {
    position: sticky; top: 0; z-index: 2; flex-shrink: 0; margin: 0 -16px; padding: 12px 12px 12px 16px;
    padding-top: max(12px, env(safe-area-inset-top)); background: var(--cui-panel); border-bottom: 1px solid var(--cui-line);
  }
  .nbg-mt-catalog .nbg-mt-filter-title { font-size: 14px; }
  .nbg-mt-catalog .nbg-mt-filter-head .nbg-mt-filter-close { height: 36px; border-color: var(--cui-line-strong); color: var(--cui-text); }
  .nbg-mt-catalog .nbg-mt-filter { padding: 14px 0; }
  .nbg-mt-catalog .nbg-mt-filter-head + .nbg-mt-filter { border-top: 0; }
  /* The legend sits in the fieldset border area: draw the divider as a shadow and pad the legend itself. */
  .nbg-mt-catalog .nbg-mt-filter { padding: 0 0 14px; border-top: 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
  .nbg-mt-catalog .nbg-mt-filter-head + .nbg-mt-filter { box-shadow: none; }
  .nbg-mt-catalog .nbg-mt-filter legend { float: none; width: auto; padding: 14px 0 10px; }
  .nbg-mt-catalog .nbg-mt-toolbar .nbg-mt-sort { flex: 0 1 78px; }
  .nbg-mt-catalog .nbg-mt-filter button { min-height: 36px; padding: 7px 14px; font-size: 13px; }
  .nbg-mt-catalog .nbg-mt-options-scroll { max-height: 128px; }
  .nbg-mt-catalog .nbg-mt-show {
    flex-shrink: 0; height: 48px; margin: auto 0 calc(12px + env(safe-area-inset-bottom)); font-size: 15px; font-weight: 600;
    box-shadow: 0 -16px 24px 4px var(--cui-panel);
  }
}
@keyframes nbg-mt-sheet { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .nbg-mt-catalog .nbg-mt-filter-panel { animation: none; }
  .nbg-mt-catalog :is(.nbg-mt-filter button, .nbg-mt-active-tag, .nbg-mt-toolbar button) { transition: none; }
}

/* 2.5.0: visual filters (photo tiles, colour swatches, line icons, segmented price range),
   price note on every price and the two-step request modal with the shipping quote. */
.nbg-mt-catalog .nbg-mt-price-note {
  display: block; margin-top: 1px; font-size: 11.5px; font-weight: 500; line-height: 1.35; letter-spacing: .01em; color: var(--cui-muted);
}

/* Family / model photo tiles. */
.nbg-mt-catalog .nbg-mt-tiles {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px;
  max-height: 252px; overflow-y: auto; padding: 2px 6px 2px 2px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent;
}
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-tile {
  position: relative; flex-direction: column; justify-content: flex-start; gap: 6px; width: auto; max-width: none; min-height: 0; height: auto;
  padding: 8px 6px 9px; border-radius: 10px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); text-align: center;
}
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-tile:hover { border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.07); }
.nbg-mt-catalog .nbg-mt-tile-media {
  display: block; flex: 0 0 auto; width: 64px; height: 64px; border-radius: 8px; overflow: hidden; background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.35); transition: transform .15s;
}
.nbg-mt-catalog .nbg-mt-tile-media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; padding: 4px; margin: 0; }
.nbg-mt-catalog .nbg-mt-tile-empty {
  background: linear-gradient(135deg, #1f1f23, #17171a); box-shadow: inset 0 0 0 1px var(--cui-line);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a5a62' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='m21 16-5-5-8 8'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 26px 26px;
}
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-tile:hover .nbg-mt-tile-media { transform: scale(1.04); }
.nbg-mt-catalog .nbg-mt-tile-name {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  font-size: 12px; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere;
}
.nbg-mt-catalog .nbg-mt-tile .nbg-mt-chip-count { margin: -3px 0 0; font-size: 11px; }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-tile[aria-pressed="true"] { background: rgba(255,60,60,.12); border: 1px solid var(--cui-accent); color: var(--cui-text); }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-tile[aria-pressed="true"]:hover { background: rgba(255,60,60,.18); }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-tile[aria-pressed="true"] .nbg-mt-chip-count { color: var(--cui-muted); }
/* Selected tile: red check badge in the corner instead of the chip's inline check. */
.nbg-mt-catalog .nbg-mt-filter :is(.nbg-mt-tile, .nbg-mt-swatch-btn)[aria-pressed="true"]::before {
  position: absolute; top: 4px; right: 4px; z-index: 1; width: 18px; height: 18px; margin: 0; border: 0; border-radius: 50%; transform: none;
  background: var(--cui-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 6.2 2.3 2.3 4.7-5'/%3E%3C/svg%3E") center / 10px 10px no-repeat;
  box-shadow: 0 0 0 2px var(--cui-panel);
}

/* Colour swatches: circle in the real colour, name below. */
.nbg-mt-catalog .nbg-mt-swatches { display: flex; flex-wrap: wrap; gap: 2px 4px; max-height: 176px; overflow-y: auto; padding: 2px; scrollbar-width: thin; }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-swatch-btn {
  position: relative; flex: 0 0 74px; flex-direction: column; justify-content: flex-start; gap: 6px; width: 74px; max-width: none; min-height: 0; height: auto;
  padding: 7px 4px 6px; border-radius: 10px; border: 1px solid transparent; background: transparent;
}
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-swatch-btn:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }
.nbg-mt-catalog .nbg-mt-swatch {
  display: block; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28), 0 1px 3px rgba(0,0,0,.45); transition: box-shadow .15s, transform .15s;
}
.nbg-mt-catalog .nbg-mt-swatch-unknown { background: repeating-linear-gradient(45deg, #2b2b30 0 4px, #222226 4px 8px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); }
.nbg-mt-catalog .nbg-mt-swatch-name {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; max-width: 100%;
  font-size: 11px; font-weight: 500; line-height: 1.2; color: var(--cui-muted); overflow-wrap: anywhere;
}
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-swatch-btn:hover .nbg-mt-swatch { transform: scale(1.08); }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-swatch-btn[aria-pressed="true"] { background: rgba(255,60,60,.10); border: 1px solid rgba(255,60,60,.5); color: var(--cui-text); }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-swatch-btn[aria-pressed="true"]:hover { background: rgba(255,60,60,.16); }
.nbg-mt-catalog .nbg-mt-swatch-btn[aria-pressed="true"] .nbg-mt-swatch { box-shadow: inset 0 0 0 1px rgba(255,255,255,.28), 0 0 0 2px var(--cui-panel), 0 0 0 4px var(--cui-accent); }
.nbg-mt-catalog .nbg-mt-swatch-btn[aria-pressed="true"] .nbg-mt-swatch-name { color: var(--cui-text); }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-swatch-btn[aria-pressed="true"]::before { top: 2px; right: 10px; width: 16px; height: 16px; background-size: 9px 9px; }
.nbg-mt-catalog .nbg-mt-active-tag .nbg-mt-swatch { width: 12px; height: 12px; margin-right: 6px; }

/* Line icons for blade / edge / action chips. */
.nbg-mt-catalog .nbg-mt-facet-icon { display: block; flex: 0 0 auto; width: 32px; height: 16px; margin-right: 7px; opacity: .9; }
.nbg-mt-catalog .nbg-mt-filter button:has(.nbg-mt-facet-icon) { padding-left: 10px; }
.nbg-mt-catalog .nbg-mt-filter button[aria-pressed="true"]:has(.nbg-mt-facet-icon)::before { display: none; }

/* Price bands as one segmented range with level bars. */
.nbg-mt-catalog .nbg-mt-segmented {
  display: inline-flex; flex-wrap: nowrap; gap: 0; max-width: 100%; padding: 3px; overflow-x: auto;
  background: #0d0d0f; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; scrollbar-width: none;
}
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-segment {
  flex: 1 0 auto; flex-direction: column; gap: 4px; min-height: 0; height: auto; padding: 7px 16px 6px;
  border: 0; border-radius: 7px; background: transparent; color: var(--cui-muted); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-segment + .nbg-mt-segment { box-shadow: inset 1px 0 0 rgba(255,255,255,.08); }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-segment:hover { background: rgba(255,255,255,.07); color: var(--cui-text); border: 0; }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-segment[aria-pressed="true"] { background: var(--cui-accent); color: #fff; border: 0; box-shadow: none; }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-segment[aria-pressed="true"] + .nbg-mt-segment[aria-pressed="true"] { border-top-left-radius: 0; border-bottom-left-radius: 0; box-shadow: inset 1px 0 0 rgba(255,255,255,.25); }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-segment[aria-pressed="true"]:has(+ .nbg-mt-segment[aria-pressed="true"]) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.nbg-mt-catalog .nbg-mt-filter .nbg-mt-segment[aria-pressed="true"]::before { display: none; }
.nbg-mt-catalog .nbg-mt-level { display: block; }

@media (max-width: 600px) {
  /* Phone: tiles and swatches become horizontal strips that bleed to the sheet edge. */
  .nbg-mt-catalog .nbg-mt-tiles {
    grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 88px; grid-template-rows: auto;
    max-height: none; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x proximity;
    margin: 0 -16px; padding: 2px 16px 10px; scroll-padding: 0 16px;
  }
  .nbg-mt-catalog .nbg-mt-tiles-two { grid-template-rows: auto auto; }
  .nbg-mt-catalog .nbg-mt-filter .nbg-mt-tile { scroll-snap-align: start; min-height: 0; padding: 8px 4px 9px; }
  .nbg-mt-catalog .nbg-mt-tile-media { width: 60px; height: 60px; }
  .nbg-mt-catalog .nbg-mt-swatches {
    flex-wrap: nowrap; max-height: none; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
    margin: 0 -16px; padding: 2px 16px 8px; scroll-snap-type: x proximity;
  }
  .nbg-mt-catalog .nbg-mt-filter .nbg-mt-swatch-btn { flex: 0 0 70px; width: 70px; min-height: 0; scroll-snap-align: start; }
  .nbg-mt-catalog .nbg-mt-segmented { display: flex; width: 100%; }
  .nbg-mt-catalog .nbg-mt-filter .nbg-mt-segment { flex: 1 1 0; min-width: 0; min-height: 0; padding: 8px 6px 7px; font-size: 12.5px; }
}

/* Request modal: steps, shipping quote, totals. */
.nbg-mt-catalog .nbg-mt-modal { width: min(560px, calc(100% - 24px)); }
.nbg-mt-catalog .nbg-mt-steps { display: flex; gap: 8px; list-style: none; margin: 0 0 16px; padding: 0; }
.nbg-mt-catalog .nbg-mt-steps li {
  flex: 1 1 0; display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 0 0 8px;
  border-bottom: 2px solid var(--cui-line); color: var(--cui-muted);
  font: 600 11px/16px "Chakra Petch", Roboto, sans-serif; text-transform: uppercase; letter-spacing: .08em;
}
.nbg-mt-catalog .nbg-mt-steps li[aria-current="step"] { color: var(--cui-text); border-color: var(--cui-accent); }
.nbg-mt-catalog .nbg-mt-steps li.nbg-mt-step-done { color: var(--cui-text); border-color: rgba(255,60,60,.4); }
.nbg-mt-catalog .nbg-mt-step-no {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 20px; width: 20px; height: 20px;
  border-radius: 50%; border: 1px solid currentColor; font-size: 11px; letter-spacing: 0;
}
.nbg-mt-catalog .nbg-mt-steps li[aria-current="step"] .nbg-mt-step-no { background: var(--cui-accent); border-color: var(--cui-accent); color: #fff; }
.nbg-mt-catalog .nbg-mt-step-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nbg-mt-catalog .nbg-mt-request-form { display: block; }
.nbg-mt-catalog .nbg-mt-step { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
.nbg-mt-catalog .nbg-mt-step > .nbg-mt-wide, .nbg-mt-catalog .nbg-mt-step > label:has(textarea) { grid-column: 1 / -1; }
.nbg-mt-catalog .nbg-mt-request-form [aria-invalid="true"] { border-color: #ff6b6b !important; box-shadow: 0 0 0 3px rgba(255,60,60,.16) !important; }
.nbg-mt-catalog .nbg-mt-ship { padding: 12px; border: 1px solid var(--cui-line); border-radius: 10px; background: rgba(255,255,255,.02); }
.nbg-mt-catalog .nbg-mt-ship-title { margin: 0 0 6px; font: 600 11px/16px "Chakra Petch", Roboto, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: var(--cui-muted); }
.nbg-mt-catalog .nbg-mt-ship-status { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; line-height: 1.45; color: var(--cui-muted); }
.nbg-mt-catalog .nbg-mt-ship-status:empty, .nbg-mt-catalog .nbg-mt-ship-note:empty, .nbg-mt-catalog .nbg-mt-ship-options:empty { display: none; }
.nbg-mt-catalog .nbg-mt-ship[data-state="loading"] .nbg-mt-ship-status::before {
  content: ""; flex: 0 0 14px; width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,.18); border-top-color: var(--cui-accent); animation: nbg-mt-spin .8s linear infinite;
}
.nbg-mt-catalog .nbg-mt-ship[data-state="invalid"] { border-color: rgba(255,60,60,.45); }
.nbg-mt-catalog .nbg-mt-ship[data-state="invalid"] .nbg-mt-ship-status { color: #ff9a92; }
.nbg-mt-catalog .nbg-mt-ship-options { display: grid; gap: 6px; margin-top: 8px; }
.nbg-mt-catalog .nbg-mt-request-form .nbg-mt-ship-option {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; margin: 0; padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.14); border-radius: 8px; cursor: pointer; transition: border-color .15s, background-color .15s;
}
.nbg-mt-catalog .nbg-mt-request-form .nbg-mt-ship-option:hover { border-color: rgba(255,255,255,.3); }
.nbg-mt-catalog .nbg-mt-request-form .nbg-mt-ship-option:has(input:checked) { border-color: var(--cui-accent); background: rgba(255,60,60,.08); }
.nbg-mt-catalog .nbg-mt-ship-option input[type="radio"] {
  width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; appearance: auto; -webkit-appearance: radio;
  border: 0 !important; background: none !important; box-shadow: none !important; accent-color: var(--cui-accent);
}
.nbg-mt-catalog .nbg-mt-ship-text { display: flex; flex-direction: column; min-width: 0; }
.nbg-mt-catalog .nbg-mt-ship-label { font-weight: 500; overflow-wrap: anywhere; }
.nbg-mt-catalog .nbg-mt-ship-transit { font-size: 12px; color: var(--cui-muted); }
.nbg-mt-catalog .nbg-mt-ship-amount { font-weight: 700; color: #fff; white-space: nowrap; font-variant-numeric: tabular-nums; }
.nbg-mt-catalog .nbg-mt-ship-note { margin: 8px 0 0; font-size: 12px; line-height: 1.45; color: var(--cui-muted); }
/* 2.5.1: FedEx declared-value cover — calm: muted text, small green shield. */
.nbg-mt-catalog .nbg-mt-ship-insured, .nbg-mt-catalog .nbg-mt-ship-insured-note { display: flex; align-items: flex-start; gap: 5px; font-size: 12px; line-height: 1.45; color: var(--cui-muted); }
.nbg-mt-catalog .nbg-mt-ship-insured-note { margin: 8px 0 0; }
.nbg-mt-catalog .nbg-mt-ship-insured-note[hidden] { display: none; }
.nbg-mt-catalog .nbg-mt-shield { display: inline-flex; flex: none; margin-top: 2px; color: var(--cui-ok); }
.nbg-mt-catalog .nbg-mt-shield svg { display: block; }
.nbg-mt-catalog .nbg-mt-summary { padding-top: 10px; border-top: 1px solid var(--cui-line); }
.nbg-mt-catalog .nbg-mt-summary dl { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; margin: 0; }
.nbg-mt-catalog .nbg-mt-summary :is(dt, dd) { text-transform: none; letter-spacing: normal; line-height: 1.4; }
.nbg-mt-catalog .nbg-mt-summary dt { margin: 0; font-size: 13px; font-weight: 400; color: var(--cui-muted); }
.nbg-mt-catalog .nbg-mt-summary dd { margin: 0; font-size: 13px; text-align: right; font-variant-numeric: tabular-nums; }
.nbg-mt-catalog .nbg-mt-summary .nbg-mt-summary-total { margin-top: 4px; padding-top: 8px; border-top: 1px dashed var(--cui-line); font-size: 15px; font-weight: 700; color: #fff; }
.nbg-mt-catalog .nbg-mt-final-note { margin: 8px 0 0; font-size: 12px; line-height: 1.45; color: var(--cui-muted); }
.nbg-mt-catalog .nbg-mt-step .nbg-mt-next { background: var(--cui-accent); color: #fff; border-color: var(--cui-accent); height: 44px; font-size: 14px; font-weight: 600; }
.nbg-mt-catalog .nbg-mt-step .nbg-mt-next:hover, .nbg-mt-catalog .nbg-mt-actions .nbg-mt-submit:hover { background: #e83232; color: #fff; }
.nbg-mt-catalog .nbg-mt-actions { display: flex; gap: 8px; }
.nbg-mt-catalog .nbg-mt-actions .nbg-mt-submit { flex: 1 1 auto; height: 44px; font-size: 14px; font-weight: 600; }
.nbg-mt-catalog .nbg-mt-actions .nbg-mt-back { flex: 0 0 auto; height: 44px; border-color: var(--cui-line-strong); }
@keyframes nbg-mt-spin { to { transform: rotate(360deg); } }
@media (max-width: 600px) {
  .nbg-mt-catalog .nbg-mt-step { gap: 10px; }
  .nbg-mt-catalog .nbg-mt-steps li { align-items: flex-start; letter-spacing: .04em; }
  .nbg-mt-catalog .nbg-mt-step-name { white-space: normal; overflow: visible; padding-top: 2px; }
  .nbg-mt-catalog .nbg-mt-step:last-of-type > label { grid-column: 1 / -1; }
  .nbg-mt-catalog .nbg-mt-request-form select { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .nbg-mt-catalog :is(.nbg-mt-tile-media, .nbg-mt-swatch, .nbg-mt-ship-option) { transition: none; }
  .nbg-mt-catalog .nbg-mt-filter :is(.nbg-mt-tile:hover .nbg-mt-tile-media, .nbg-mt-swatch-btn:hover .nbg-mt-swatch) { transform: none; }
  .nbg-mt-catalog .nbg-mt-ship[data-state="loading"] .nbg-mt-ship-status::before { animation-duration: 2.4s; }
}