/* ==========================================================================
   Duel new storefront — white, open, Shopify (Dawn-style) look.
   The tree is natively light: build.py emits clean markup styled here.
   Rules under html[data-shop="new"] restyle components whose markup is
   injected at runtime by the shared behaviour scripts (cart drawer, buy
   buttons, delivery estimator, support widget) and the ported classic
   mains (.nprose), which carry dark inline styles — those need !important.
   Bump CSS_VERSION in tools/build.py when this file changes
   (/assets/* is served immutable).
   ========================================================================== */

html[data-shop="new"] {
  --nw-bg: #ffffff;
  --nw-soft: #f4f4f2;
  --nw-soft-2: #ebebe8;
  --nw-line: #e6e6e3;
  --nw-line-strong: #cfcfcb;
  --nw-text: #121212;
  --nw-muted: #5c5c5c;
  --nw-faint: #8a8a8a;
  --nw-ink: #121212;
  --nw-ink-h: #333333;
  --nw-good: #1f7a4d;
  --nw-warn: #9a5b00;
  --nw-radius: 6px;
  --nw-wrap: 1320px;
  --nw-gutter: clamp(16px, 4vw, 48px);
}

html[data-shop="new"],
html[data-shop="new"] body {
  margin: 0;
  background: #ffffff;
  color: var(--nw-text);
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color-scheme: light;
}
html[data-shop="new"] *, html[data-shop="new"] *::before, html[data-shop="new"] *::after { box-sizing: border-box; }
html[data-shop="new"] a { color: inherit; }
html[data-shop="new"] img { max-width: 100%; }
html[data-shop="new"] ::selection { background: #121212; color: #fff; }
html[data-shop="new"] :focus-visible { outline: 2px solid #121212; outline-offset: 2px; }

.nw-wrap { max-width: var(--nw-wrap); margin: 0 auto; padding: 0 var(--nw-gutter); }
.nw-main { min-height: 50vh; }

/* ---- announcement bar ---- */
.nw-announce {
  background: #121212; color: #ffffff;
  text-align: center; font-size: 12.5px; letter-spacing: 0.04em;
  padding: 10px 16px; overflow: hidden;
}
.nw-announce-track { display: flex; justify-content: center; gap: 48px; }
.nw-announce a { color: #fff; }

/* ---- header ---- */
.nw-header {
  position: sticky; top: 0; z-index: 70;
  background: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: saturate(180%) blur(12px); backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--nw-line);
}
.nw-header-row {
  max-width: var(--nw-wrap); margin: 0 auto; padding: 0 var(--nw-gutter);
  height: 72px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 40px;
}
.nw-brand {
  font-size: 24px; font-weight: 700; letter-spacing: -0.04em;
  text-decoration: none; color: var(--nw-ink);
}
.nw-nav { display: flex; align-items: center; justify-content: center; gap: 30px; font-size: 14.5px; }
.nw-nav > a, .nw-nav-trigger {
  text-decoration: none; color: var(--nw-muted); background: none; border: 0; padding: 8px 0;
  font: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
  transition: color 0.2s ease;
}
.nw-nav > a:hover, .nw-nav-trigger:hover, .nw-nav-drop:focus-within .nw-nav-trigger { color: var(--nw-ink); }
.nw-nav > a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.nw-nav-drop { position: relative; }
.nw-drop {
  position: absolute; top: calc(100% + 18px); left: 50%; transform: translate(-50%, 6px);
  width: min(760px, 90vw); max-height: 70vh; overflow-y: auto;
  background: #fff; border: 1px solid var(--nw-line); border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.10); padding: 14px;
  opacity: 0; visibility: hidden; transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.nw-nav-drop::after { content: ""; position: absolute; left: -20px; right: -20px; top: 100%; height: 22px; }
.nw-nav-drop:hover .nw-drop, .nw-nav-drop:focus-within .nw-drop {
  opacity: 1; visibility: visible; transform: translate(-50%, 0);
}
.nw-drop-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
.nw-drop a {
  display: flex; align-items: center; gap: 12px;
  padding: 8px; border-radius: 8px; text-decoration: none;
  font-size: 13.5px; color: var(--nw-text);
}
.nw-drop a:hover { background: var(--nw-soft); }
.nw-drop-img { flex: none; width: 44px; height: 44px; border-radius: 6px; background: var(--nw-soft); display: grid; place-items: center; overflow: hidden; }
.nw-drop-img img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.nw-icons { display: flex; align-items: center; gap: 4px; justify-self: end; }
.nw-icon-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 999px; border: 0; background: transparent;
  color: var(--nw-ink); cursor: pointer; text-decoration: none; transition: background 0.2s ease;
}
.nw-icon-btn:hover { background: var(--nw-soft); }
.nw-cart-count {
  position: absolute; top: 6px; right: 4px; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 999px; background: #121212; color: #fff;
  font-size: 10.5px; font-weight: 700; line-height: 18px; text-align: center;
  font-variant-numeric: tabular-nums;
}
.nw-cart-count:empty { display: none; }
.nw-burger { display: none; }

/* ---- type helpers ---- */
.nw-kicker { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nw-muted); }
.nw-link { font-size: 14px; color: var(--nw-ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.nw-link:hover { text-decoration-thickness: 2px; }

/* ---- hero ---- */
.nw-hero { background: var(--nw-soft); }
.nw-hero-inner {
  max-width: var(--nw-wrap); margin: 0 auto; padding: 0 var(--nw-gutter);
  display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: clamp(24px, 5vw, 80px);
  min-height: min(78vh, 680px);
}
.nw-hero-copy { padding: 64px 0; }
.nw-hero h1 {
  margin: 14px 0 0; font-size: clamp(40px, 6vw, 76px); font-weight: 600;
  letter-spacing: -0.045em; line-height: 0.98; color: var(--nw-ink);
}
.nw-hero-copy > p:not(.nw-kicker) { margin: 22px 0 0; font-size: 17px; line-height: 1.6; color: var(--nw-muted); max-width: 44ch; }
.nw-hero-cta { margin-top: 34px; display: flex; gap: 12px; flex-wrap: wrap; }
.nw-hero-media { align-self: stretch; display: flex; align-items: center; padding: 48px 0; }
.nw-hero-media img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 14px; display: block; }

/* ---- sections ---- */
.nw-section { max-width: var(--nw-wrap); margin: 0 auto; padding: clamp(56px, 7vw, 96px) var(--nw-gutter) 0; }
.nw-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.nw-section h2, .nw-section-head h2 {
  margin: 0; font-size: clamp(24px, 2.6vw, 34px); font-weight: 600; letter-spacing: -0.03em; color: var(--nw-ink);
}
.nw-rich { text-align: center; padding-bottom: 24px; }
.nw-rich p { margin: 12px auto 26px; color: var(--nw-muted); max-width: 52ch; }

/* ---- buttons ---- */
.nw-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--nw-ink); color: #fff !important; border: 1px solid var(--nw-ink); border-radius: var(--nw-radius);
  padding: 15px 30px; font: inherit; font-size: 15px; font-weight: 500; letter-spacing: 0.01em;
  cursor: pointer; text-decoration: none; transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
.nw-btn:hover { background: var(--nw-ink-h); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12); }
.nw-btn:active { transform: translateY(1px); }
.nw-btn-outline { background: transparent; color: var(--nw-ink) !important; }
.nw-btn-outline:hover { background: var(--nw-ink); color: #fff !important; }
.nw-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ---- product grid + cards (Dawn: borderless, image on soft grey) ---- */
.nw-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(12px, 1.6vw, 24px); row-gap: clamp(28px, 3vw, 44px);
}
.nw-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.nw-card-img {
  position: relative; display: block; aspect-ratio: 1; overflow: hidden;
  background: var(--nw-soft); border-radius: 10px;
}
.nw-card-img img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 9%;
  transition: opacity 0.45s ease, transform 0.6s cubic-bezier(.2,.7,.2,1);
}
.nw-card-alt { opacity: 0; }
.nw-card:hover .nw-card-img img { transform: scale(1.04); }
.nw-card:hover .has-alt .nw-card-main, .nw-card:focus-visible .has-alt .nw-card-main { opacity: 0; }
.nw-card:hover .has-alt .nw-card-alt, .nw-card:focus-visible .has-alt .nw-card-alt { opacity: 1; }
.nw-badge {
  position: absolute; z-index: 1; left: 12px; bottom: 12px;
  background: #121212; color: #fff; font-size: 11.5px; font-weight: 600;
  padding: 4px 10px; border-radius: 999px;
}
.nw-card-body { padding: 14px 2px 0; display: flex; flex-direction: column; gap: 4px; }
.nw-card-title { font-size: 15px; font-weight: 500; letter-spacing: -0.005em; color: var(--nw-ink); line-height: 1.35; }
.nw-card:hover .nw-card-title { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.nw-card-price { font-size: 15px; color: var(--nw-text); font-variant-numeric: tabular-nums; }
.nw-card-meta { font-size: 12.5px; color: var(--nw-faint); }

/* ---- category tiles ---- */
.nw-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 24px); }
.nw-tile { display: block; text-decoration: none; color: var(--nw-ink); }
.nw-tile-img { display: block; aspect-ratio: 4 / 5; border-radius: 10px; background: var(--nw-soft); overflow: hidden; position: relative; }
.nw-tile-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 12%; transition: transform 0.6s cubic-bezier(.2,.7,.2,1); }
.nw-tile:hover .nw-tile-img img { transform: scale(1.05); }
.nw-tile-label { display: block; margin-top: 14px; font-size: 17px; font-weight: 500; letter-spacing: -0.01em; }
.nw-tile-label span { display: inline-block; transition: transform 0.2s ease; }
.nw-tile:hover .nw-tile-label span { transform: translateX(4px); }

/* ---- image with text ---- */
.nw-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 80px); align-items: center; }
.nw-split-media { background: var(--nw-soft); border-radius: 14px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; }
.nw-split-media img { width: 78%; height: 78%; object-fit: contain; }
.nw-split-copy h2 { margin: 12px 0 0; }
.nw-split-copy p:not(.nw-kicker) { margin: 18px 0 30px; color: var(--nw-muted); font-size: 16.5px; line-height: 1.65; max-width: 46ch; }

/* ---- collection page ---- */
.nw-collection-head { padding: clamp(36px, 5vw, 64px) 0 8px; }
.nw-collection-head h1 { margin: 0; font-size: clamp(34px, 4.6vw, 56px); font-weight: 600; letter-spacing: -0.04em; line-height: 1.02; }
.nw-collection-head p { margin: 14px 0 0; color: var(--nw-muted); max-width: 60ch; }
.nw-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  margin: 28px 0 32px; padding: 14px 0; border-top: 1px solid var(--nw-line); border-bottom: 1px solid var(--nw-line);
}
.nw-chips-row { display: flex; gap: 8px; flex-wrap: wrap; }
.nw-chip {
  border: 1px solid var(--nw-line-strong); background: #fff; border-radius: 999px;
  padding: 8px 16px; font: inherit; font-size: 13.5px; cursor: pointer; color: var(--nw-text);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.nw-chip:hover { border-color: var(--nw-ink); }
.nw-chip[aria-pressed="true"] { background: var(--nw-ink); border-color: var(--nw-ink); color: #fff; }
.nw-toolbar-right { display: flex; align-items: center; gap: 20px; font-size: 13.5px; color: var(--nw-muted); }
.nw-sort { display: inline-flex; align-items: center; gap: 8px; }
.nw-sort select {
  appearance: none; -webkit-appearance: none; font: inherit; font-size: 13.5px; color: var(--nw-ink);
  border: 1px solid var(--nw-line-strong); border-radius: var(--nw-radius); background: #fff;
  padding: 8px 32px 8px 12px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' fill='none' stroke='%23121212' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.nw-disclaimer { margin: 48px 0 0; font-size: 12.5px; color: var(--nw-faint); max-width: 70ch; }

/* ---- breadcrumb ---- */
.nw-crumb { display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--nw-faint); padding: 22px 0 0; }
.nw-crumb a { color: var(--nw-muted); text-decoration: none; }
.nw-crumb a:hover { color: var(--nw-ink); text-decoration: underline; }
.nw-crumb [aria-current] { color: var(--nw-ink); }

/* ---- PDP ---- */
.nw-pdp { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); margin-top: 20px; align-items: start; }
.nw-pdp-media { position: sticky; top: 96px; }
.nw-stage {
  position: relative; background: var(--nw-soft); border-radius: 12px;
  display: grid; place-items: center; padding: clamp(20px, 5vw, 64px); aspect-ratio: 1; overflow: hidden;
}
.nw-stage img { grid-area: 1/1; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; transition: opacity 0.35s ease; cursor: zoom-in; }
.nw-garrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 42px; height: 42px; border-radius: 999px; border: 1px solid var(--nw-line);
  background: rgba(255,255,255,.92); color: var(--nw-ink); font-size: 22px; line-height: 1; cursor: pointer;
  display: grid; place-items: center; opacity: 0; transition: opacity 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.nw-stage:hover .nw-garrow, .nw-garrow:focus-visible { opacity: 1; }
.nw-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 10px; margin-top: 12px; }
.nw-thumbs button {
  aspect-ratio: 1; padding: 8px !important; border-radius: 8px !important; cursor: pointer;
  border: 1px solid transparent !important; background: var(--nw-soft) !important; box-shadow: none !important;
  transition: border-color 0.15s ease;
}
.nw-thumbs button:hover { border-color: var(--nw-line-strong) !important; }
.nw-thumbs button[aria-current="true"] { border-color: var(--nw-ink) !important; }
.nw-thumbs img { width: 100%; height: 100%; object-fit: contain; display: block; }
.nw-gdots { display: none; }
.nw-gdots span { width: 6px; height: 6px; border-radius: 999px; background: var(--nw-line-strong); }
.nw-gdots span.on { background: var(--nw-ink); }

.nw-vendor { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nw-muted); }
.nw-title { margin: 10px 0 0; font-size: clamp(30px, 3.4vw, 44px); font-weight: 600; letter-spacing: -0.035em; line-height: 1.05; color: var(--nw-ink); }
.nw-price-row { display: flex; align-items: baseline; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.nw-price { font-size: 22px; font-weight: 500; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; color: var(--nw-ink); }
.nw-unit { font-size: 13.5px; color: var(--nw-faint); }
.nw-tax { margin: 6px 0 0; font-size: 13px; color: var(--nw-muted); }
.nw-tax a { color: inherit; }
.nw-stock { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 13.5px; color: var(--nw-good); }
.nw-stock i { width: 8px; height: 8px; border-radius: 999px; background: currentColor; box-shadow: 0 0 0 4px rgba(31,122,77,.14); }
.nw-stock.is-off { color: var(--nw-muted); }
.nw-stock.is-off i { box-shadow: 0 0 0 4px rgba(0,0,0,.06); }
.nw-tagline { margin: 18px 0 0; font-size: 15.5px; line-height: 1.65; color: var(--nw-muted); max-width: 52ch; }
.nw-opt { margin-top: 26px; }
.nw-opt-label { display: block; font-size: 13.5px; color: var(--nw-muted); }
.nw-opt-label [data-color-name] { color: var(--nw-ink); font-weight: 500; }
.nw-dots { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.nw-dots [data-swatch] {
  width: 38px; height: 38px; border-radius: 999px; cursor: pointer; padding: 3px; background: #fff;
  border: 1px solid var(--nw-line-strong) !important; transition: box-shadow 0.15s ease;
}
.nw-dots [data-swatch] > span { display: block; width: 100%; height: 100%; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.nw-dots [data-swatch][aria-pressed="true"] { box-shadow: 0 0 0 1.5px var(--nw-ink); border-color: #fff !important; }
.nw-sizes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
html[data-shop="new"] .nw-sizes [data-variant-sku] {
  min-width: 56px; padding: 10px 18px !important; border-radius: 999px !important; cursor: pointer;
  border: 1px solid var(--nw-line-strong) !important; background: #fff !important; background-image: none !important;
  color: var(--nw-ink) !important; font: inherit !important; font-size: 14px !important; font-weight: 400 !important;
  box-shadow: none !important; transition: border-color 0.15s ease, background 0.15s ease;
}
html[data-shop="new"] .nw-sizes [data-variant-sku]:hover { border-color: var(--nw-ink) !important; }
html[data-shop="new"] .nw-sizes [data-variant-sku][aria-pressed="true"] {
  background: var(--nw-ink) !important; border-color: var(--nw-ink) !important; color: #fff !important;
}
html[data-shop="new"] .nw-sizes [data-variant-sku][aria-disabled="true"],
html[data-shop="new"] .nw-sizes [data-variant-sku][disabled] {
  color: var(--nw-faint) !important; text-decoration: line-through; border-style: dashed !important; cursor: not-allowed;
}
.nw-select, html[data-shop="new"] select[data-custom] {
  width: 100%; margin-top: 10px; font: inherit; font-size: 15px;
}

/* Buy buttons: product.js injects inline blue styles; Dawn-style stack. */
html[data-shop="new"] [data-cta-row], .nw-cta-row { display: flex !important; flex-direction: column !important; gap: 10px !important; margin-top: 28px !important; }
html[data-shop="new"] .nw-pdp button[data-add-sku],
html[data-shop="new"] .nw-pdp button[data-buy-now] {
  flex: none !important; width: 100% !important; margin: 0 !important;
  padding: 16px 20px !important; border-radius: var(--nw-radius) !important;
  font-family: inherit !important; font-size: 15px !important; font-weight: 500 !important;
  letter-spacing: 0.01em !important; text-transform: none !important;
  box-shadow: none !important; animation: none !important; background-image: none !important; cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}
html[data-shop="new"] .nw-pdp button[data-add-sku] {
  background: #fff !important; color: var(--nw-ink) !important; border: 1px solid var(--nw-ink) !important;
}
html[data-shop="new"] .nw-pdp button[data-add-sku]:hover { box-shadow: inset 0 0 0 1px var(--nw-ink) !important; }
html[data-shop="new"] .nw-pdp button[data-buy-now] {
  background: var(--nw-ink) !important; color: #fff !important; border: 1px solid var(--nw-ink) !important;
}
html[data-shop="new"] .nw-pdp button[data-buy-now]:hover { background: var(--nw-ink-h) !important; }
html[data-shop="new"] button[data-add-sku][disabled],
html[data-shop="new"] button[data-add-sku][data-unavailable="1"] { opacity: 0.45 !important; cursor: not-allowed !important; }
html[data-shop="new"] [data-pay-note] { color: var(--nw-muted) !important; font-size: 13px !important; text-align: center; margin-top: 12px !important; }
html[data-shop="new"] [data-delivery-est] {
  margin-top: 22px !important; padding: 18px !important; background: var(--nw-soft) !important; background-image: none !important;
  border: 0 !important; border-radius: 10px !important; color: var(--nw-text) !important;
}
html[data-shop="new"] [data-delivery-est] > div:first-child { color: var(--nw-muted) !important; letter-spacing: .1em !important; }
html[data-shop="new"] [data-delivery-est] input {
  background: #fff !important; color: var(--nw-ink) !important; color-scheme: light !important;
  border: 1px solid var(--nw-line-strong) !important; border-radius: var(--nw-radius) !important; font-weight: 400 !important;
}
html[data-shop="new"] [data-delivery-est] button[data-est-go] {
  background: #fff !important; color: var(--nw-ink) !important; border: 1px solid var(--nw-ink) !important;
  border-radius: var(--nw-radius) !important;
}
html[data-shop="new"] [data-delivery-est] [data-est-msg] { color: var(--nw-muted) !important; }
html[data-shop="new"] [data-ship-note] { font-size: 13.5px !important; color: var(--nw-muted) !important; margin-top: 14px; }
html[data-shop="new"] [data-ship-note][data-warn="true"] {
  background: #fff7ea !important; border: 1px solid #f1d9ad !important;
  border-radius: 8px !important; padding: 10px 12px !important; color: var(--nw-warn) !important;
}
.nw-reassure { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 14px; }
.nw-reassure li { display: grid; grid-template-columns: 20px 1fr; column-gap: 12px; font-size: 14px; }
.nw-reassure li::before {
  content: ""; grid-row: span 2; width: 18px; height: 18px; margin-top: 2px; border-radius: 999px;
  background: var(--nw-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M2 5.2 4.2 7.4 8.2 3' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") center no-repeat;
}
.nw-reassure strong { font-weight: 500; color: var(--nw-ink); }
.nw-reassure span { color: var(--nw-muted); font-size: 13.5px; }
.nw-desc { margin-top: 30px; font-size: 15px; line-height: 1.75; color: var(--nw-muted); }
.nw-desc p { margin: 0 0 12px; }
.nw-fineprint { margin: 20px 0 0; font-size: 12px; line-height: 1.6; color: var(--nw-faint); }

/* ---- collapsible tabs ---- */
.nw-accs { margin-top: 24px; border-top: 1px solid var(--nw-line); }
.nw-acc { border-bottom: 1px solid var(--nw-line); }
.nw-acc > summary {
  cursor: pointer; padding: 18px 2px; font-size: 15px; font-weight: 500; color: var(--nw-ink);
  list-style: none; display: flex; align-items: center; gap: 12px;
}
.nw-acc > summary::-webkit-details-marker { display: none; }
.nw-acc-ico { display: inline-flex; color: var(--nw-ink); }
.nw-acc-caret { margin-left: auto; color: var(--nw-ink); transition: transform 0.2s ease; }
.nw-acc[open] > summary .nw-acc-caret { transform: rotate(180deg); }
.nw-acc-body { padding: 0 2px 22px; font-size: 14.5px; line-height: 1.75; color: var(--nw-muted); }
.nw-acc-body p { margin: 0 0 10px; }
.nw-spec { margin: 0; }
.nw-spec > div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid var(--nw-line); }
.nw-spec > div:last-child { border-bottom: 0; }
.nw-spec dt { font-size: 13.5px; color: var(--nw-muted); }
.nw-spec dd { margin: 0; font-size: 14px; text-align: right; color: var(--nw-ink); }
.nw-size { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.nw-size th { text-align: left; font-size: 12px; font-weight: 500; color: var(--nw-muted); padding: 10px 8px; border-bottom: 1px solid var(--nw-line-strong); }
.nw-size td { padding: 10px 8px; border-bottom: 1px solid var(--nw-line); font-variant-numeric: tabular-nums; color: var(--nw-text); }
.nw-size td:first-child { font-weight: 600; color: var(--nw-ink); }
.nw-muted-note { font-size: 12.5px; color: var(--nw-faint); margin-top: 12px !important; }
.nw-faq details { border-bottom: 1px solid var(--nw-line); }
.nw-faq details:last-child { border-bottom: 0; }
.nw-faq summary { cursor: pointer; padding: 12px 0; font-size: 14.5px; font-weight: 500; color: var(--nw-ink); }
.nw-faq div { font-size: 14px; line-height: 1.7; color: var(--nw-muted); padding-bottom: 14px; }

/* ---- forms (shared) ---- */
html[data-shop="new"] input,
html[data-shop="new"] textarea,
html[data-shop="new"] select {
  background-color: #fff !important; color: var(--nw-ink) !important; color-scheme: light !important;
  border: 1px solid var(--nw-line-strong) !important; border-radius: var(--nw-radius);
}
html[data-shop="new"] input:focus, html[data-shop="new"] textarea:focus, html[data-shop="new"] select:focus {
  border-color: var(--nw-ink) !important; outline: none; box-shadow: 0 0 0 1px var(--nw-ink) !important;
}
html[data-shop="new"] input::placeholder,
html[data-shop="new"] textarea::placeholder { color: var(--nw-faint) !important; }
html[data-shop="new"] select option { color: #121212; background: #fff; }
html[data-shop="new"] input[type="checkbox"], html[data-shop="new"] input[type="radio"] { accent-color: #121212; }

/* Custom dropdown (config.js enhanceDropdowns) ships dark inline CSS. */
html[data-shop="new"] .d-cd-btn {
  background: #fff !important; color: var(--nw-ink) !important; border: 1px solid var(--nw-line-strong) !important;
  font-weight: 400 !important; padding: 13px 14px !important;
}
html[data-shop="new"] .d-cd-btn:hover { border-color: var(--nw-ink) !important; }
html[data-shop="new"] .d-cd-list, html[data-shop="new"] [role="listbox"] {
  background: #fff !important; border: 1px solid var(--nw-line) !important; color: var(--nw-ink) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.12) !important;
}
html[data-shop="new"] [role="option"] { color: var(--nw-ink) !important; }
html[data-shop="new"] [role="option"]:hover, html[data-shop="new"] [role="option"][aria-selected="true"] { background: var(--nw-soft) !important; }

/* ---- trust strip + footer ---- */
.nw-trust { margin-top: clamp(64px, 8vw, 112px); border-top: 1px solid var(--nw-line); }
.nw-trust-grid {
  max-width: var(--nw-wrap); margin: 0 auto; padding: 40px var(--nw-gutter);
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px;
}
.nw-trust strong { display: block; font-size: 15px; font-weight: 600; color: var(--nw-ink); }
.nw-trust span { display: block; margin-top: 6px; font-size: 13.5px; line-height: 1.6; color: var(--nw-muted); }
.nw-footer { background: var(--nw-soft); }
.nw-footer-grid {
  max-width: var(--nw-wrap); margin: 0 auto; padding: 56px var(--nw-gutter) 40px;
  display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px;
}
.nw-footer h4 { margin: 0 0 16px; font-size: 14px; font-weight: 600; color: var(--nw-ink); }
.nw-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 14px; }
.nw-footer ul a { text-decoration: none; color: var(--nw-muted); }
.nw-footer ul a:hover { color: var(--nw-ink); text-decoration: underline; text-underline-offset: 3px; }
.nw-footer-brand { font-size: 26px; font-weight: 700; letter-spacing: -0.04em; color: var(--nw-ink); }
.nw-footer-note { font-size: 14px; line-height: 1.65; color: var(--nw-muted); margin-top: 12px; max-width: 34ch; }
.nw-footer-base { border-top: 1px solid var(--nw-soft-2); }
.nw-footer-base-row {
  max-width: var(--nw-wrap); margin: 0 auto; padding: 20px var(--nw-gutter);
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: 12.5px; color: var(--nw-faint);
}
.nw-pay { display: flex !important; gap: 6px !important; flex-wrap: wrap; }
.nw-pay li {
  font-size: 11px; font-weight: 600; color: var(--nw-muted); background: #fff;
  border: 1px solid var(--nw-line); border-radius: 4px; padding: 3px 8px;
}

/* ---- cart drawer (markup injected by shared cart-ui.js) ---- */
html[data-shop="new"] .dq-scrim { background: rgba(0, 0, 0, 0.35) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html[data-shop="new"] .dq-panel {
  background: #fff !important; background-image: none !important;
  border: 0 !important; border-left: 1px solid var(--nw-line) !important;
  box-shadow: -24px 0 60px rgba(0, 0, 0, 0.10) !important;
  color: var(--nw-ink) !important; font-family: "Inter", system-ui, sans-serif !important;
  left: auto !important; right: 0 !important; transform: translateX(102%) !important;
  border-radius: 0 !important;
}
html[data-shop="new"] .dq-panel.is-open { transform: translateX(0) !important; }
html[data-shop="new"] .dq-head { border-bottom: 1px solid var(--nw-line) !important; }
html[data-shop="new"] .dq-eyebrow { color: var(--nw-muted) !important; }
html[data-shop="new"] .dq-title { color: var(--nw-ink) !important; font-family: inherit !important; font-weight: 600 !important; letter-spacing: -0.02em !important; }
html[data-shop="new"] .dq-count { color: var(--nw-muted) !important; }
html[data-shop="new"] .dq-close {
  background: transparent !important; border: 1px solid var(--nw-line) !important; color: var(--nw-ink) !important;
}
html[data-shop="new"] .dq-close:hover { background: var(--nw-soft) !important; }
html[data-shop="new"] .dq-row { border-bottom: 1px solid var(--nw-line) !important; }
html[data-shop="new"] .dq-thumb { background: var(--nw-soft) !important; border: 0 !important; }
html[data-shop="new"] .dq-name { color: var(--nw-ink) !important; font-weight: 500 !important; }
html[data-shop="new"] .dq-unit { color: var(--nw-muted) !important; }
html[data-shop="new"] .dq-price { color: var(--nw-ink) !important; font-family: inherit !important; }
html[data-shop="new"] .dq-soon { color: var(--nw-faint) !important; }
html[data-shop="new"] .dq-qty { background: #fff !important; border: 1px solid var(--nw-line-strong) !important; }
html[data-shop="new"] .dq-qty button { color: var(--nw-ink) !important; }
html[data-shop="new"] .dq-qty button:hover:not(:disabled) { background: var(--nw-soft) !important; }
html[data-shop="new"] .dq-qty span, html[data-shop="new"] .dq-qty output { color: var(--nw-ink) !important; }
html[data-shop="new"] .dq-remove { color: var(--nw-muted) !important; }
html[data-shop="new"] .dq-remove:hover { color: var(--nw-ink) !important; }
html[data-shop="new"] .dq-empty p { color: var(--nw-muted) !important; }
html[data-shop="new"] .dq-empty a, html[data-shop="new"] .dq-empty button { color: var(--nw-ink) !important; }
html[data-shop="new"] .dq-foot {
  background: #fff !important; background-image: none !important; border-top: 1px solid var(--nw-line) !important;
}
html[data-shop="new"] .dq-line .k { color: var(--nw-muted) !important; }
html[data-shop="new"] .dq-line .v { color: var(--nw-ink) !important; }
html[data-shop="new"] .dq-line.total .k { color: var(--nw-ink) !important; }
html[data-shop="new"] .dq-line.total .v { color: var(--nw-ink) !important; font-family: inherit !important; }
html[data-shop="new"] .dq-go {
  background: var(--nw-ink) !important; background-image: none !important; color: #fff !important;
  border-radius: var(--nw-radius) !important; animation: none !important; box-shadow: none !important;
}
html[data-shop="new"] .dq-go:hover { background: var(--nw-ink-h) !important; }
html[data-shop="new"] .dq-note { color: var(--nw-muted) !important; }
html[data-shop="new"] .dq-list::-webkit-scrollbar-thumb { background: var(--nw-line-strong) !important; }
html[data-shop="new"] .dq-ship-warn {
  color: var(--nw-warn) !important; background: #fff7ea !important; border: 1px solid #f1d9ad !important;
}

/* ---- support widget + payments badge (support-widget.js) ---- */
html[data-shop="new"] .ds-launch {
  background: var(--nw-ink) !important; background-image: none !important; color: #fff !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.18) !important;
}
html[data-shop="new"] .ds-dot { border-color: #fff !important; }
html[data-shop="new"] .ds-payments {
  background: rgba(255,255,255,.92) !important; border: 1px solid var(--nw-line) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important; opacity: 1 !important;
}
html[data-shop="new"] .ds-payments .ds-pay-copy { color: var(--nw-muted) !important; }
html[data-shop="new"] .ds-payments .ds-pay-icon { border-color: #fff !important; }
html[data-shop="new"] .ds-payments .ds-pay-icon.card { background: var(--nw-ink) !important; }
html[data-shop="new"] .ds-panel {
  background: #fff !important; color: var(--nw-ink) !important;
  border: 1px solid var(--nw-line) !important; box-shadow: 0 24px 64px rgba(0,0,0,.14) !important;
}
html[data-shop="new"] .ds-head, html[data-shop="new"] .ds-foot { background: #fff !important; border-color: var(--nw-line) !important; }
html[data-shop="new"] .ds-sub, html[data-shop="new"] .ds-label, html[data-shop="new"] .ds-note,
html[data-shop="new"] .ds-close, html[data-shop="new"] .ds-stamp { color: var(--nw-faint) !important; }
html[data-shop="new"] .ds-sub a { color: var(--nw-ink) !important; text-decoration: underline; }
html[data-shop="new"] .ds-close:hover { color: var(--nw-ink) !important; }
html[data-shop="new"] .ds-intro { color: var(--nw-muted) !important; }
html[data-shop="new"] .ds-intro b { color: var(--nw-ink) !important; }
html[data-shop="new"] .ds-turn.me .ds-bubble { background: var(--nw-ink) !important; color: #fff !important; }
html[data-shop="new"] .ds-turn.them .ds-bubble { background: var(--nw-soft) !important; color: var(--nw-ink) !important; }
html[data-shop="new"] .ds-input, html[data-shop="new"] .ds-text { background: #fff !important; color: var(--nw-ink) !important; border-color: var(--nw-line-strong) !important; }
html[data-shop="new"] .ds-send { background: var(--nw-ink) !important; color: #fff !important; }
html[data-shop="new"] .ds-send:hover:not(:disabled) { background: var(--nw-ink-h) !important; }
html[data-shop="new"] .ds-body::-webkit-scrollbar-thumb { background: var(--nw-line-strong) !important; }
html[data-shop="new"] .ds-note.ok { color: var(--nw-good) !important; }
html[data-shop="new"] .ds-note.bad { color: #b42318 !important; }

/* White-backed JPG product shots melt into the soft-grey tiles. */
.nw-card-img img, .nw-stage img, .nw-thumbs img, .nw-tile-img img, .nw-split-media img, .nw-drop-img img { mix-blend-mode: multiply; }

/* ==========================================================================
   Ported classic pages (.nprose): checkout, order, track, support, about,
   materials, why-duel, legal, cutrug, connect, 404. Their markup is the
   classic dark page with inline styles, so we flip it to light here by
   matching the colour values inside style="" attributes.
   ========================================================================== */
html[data-shop="new"] .nprose { color: var(--nw-text); background: #fff; }
/* Light values for the classic --d-* tokens used by checkout/support CSS. */
html[data-shop="new"] {
  --d-bg: #ffffff; --d-bg-deep: #ffffff;
  --d-surface: #f4f4f2; --d-surface-2: #e6e6e3; --d-surface-sub: #f7f7f5;
  --d-card: #ffffff;
  --d-accent: #121212; --d-accent-hover: #333333;
  --d-green: #1f7a4d; --d-red: #b42318;
  --d-text: #121212; --d-soft: #5c5c5c; --d-muted: #8a8a8a; --d-dim: #b0b0b0;
  --d-line: #e6e6e3;
}
html[data-shop="new"] body { background: #fff !important; color: var(--nw-text) !important; }
/* Checkout/support CSS hardcodes white text in a few places. */
html[data-shop="new"] a:hover { color: inherit; }
html[data-shop="new"] .co-tot .v, html[data-shop="new"] .co-tot.grand,
html[data-shop="new"] .co-steps li.is-active, html[data-shop="new"] .co-brand,
html[data-shop="new"] .btn-ghost:hover:not(:disabled) { color: var(--nw-ink) !important; }
html[data-shop="new"] .co-custom-option:hover, html[data-shop="new"] .co-custom-option.is-selected { background: var(--nw-soft) !important; color: var(--nw-ink) !important; }
html[data-shop="new"] .co-rail.is-selected { background: var(--nw-soft) !important; box-shadow: none !important; }
html[data-shop="new"] .co-crypto-warn { color: #8a5300 !important; background: #fff7ea !important; border-color: #f1d9ad !important; }
html[data-shop="new"] .co-crypto-pay { background: #fff !important; border-color: var(--nw-line) !important; }
html[data-shop="new"] .co-crypto-copy { background: var(--nw-ink) !important; color: #fff !important; }
html[data-shop="new"] .co-summary { background: var(--nw-soft) !important; border: 0 !important; }
html[data-shop="new"] .co-summary input { background: #fff !important; }
/* Colours in ported pages are converted at build time (lighten_html in
   tools/build.py). These rules only handle what inline styles can't. */
html[data-shop="new"] .nprose [style*="position:fixed"][style*="pointer-events:none"] { display: none !important; }
html[data-shop="new"] .nprose [style*="floatA"], html[data-shop="new"] .nprose [style*="floatB"],
html[data-shop="new"] .nprose [style*="floatC"], html[data-shop="new"] .nprose [style*="floatD"],
html[data-shop="new"] .nprose [style*="duelSheen"], html[data-shop="new"] .nprose [style*="duelFloat"] { animation: none !important; }
html[data-shop="new"] .nprose h1 { letter-spacing: -0.035em !important; font-weight: 600 !important; }
html[data-shop="new"] .nprose h2 { letter-spacing: -0.025em !important; font-weight: 600 !important; }
html[data-shop="new"] .nprose a:not([style*="background"]):not([class]) { color: var(--nw-ink); }
/* Checkout keeps its own CSS; its pay button still needs the ink look. */
html[data-shop="new"] .nprose button[data-co-pay], html[data-shop="new"] .nprose [data-co-pay],
html[data-shop="new"] .nprose button[type="submit"] {
  background: var(--nw-ink) !important; background-image: none !important; color: #fff !important;
  border: 1px solid var(--nw-ink) !important; border-radius: var(--nw-radius) !important; box-shadow: none !important; animation: none !important;
}
html[data-shop="new"] .nprose button[data-co-pay] *, html[data-shop="new"] .nprose button[type="submit"] * { color: #fff !important; }
html[data-shop="new"] .nprose [data-gallery] div[style*="place-items:center"] { background: var(--nw-soft) !important; border: 0 !important; }
/* Ported pages carry their own nav/footer leftovers on some routes. */
html[data-shop="new"] .nprose > nav[style*="position:fixed"] { display: none !important; }

/* ---- reveal on scroll ---- */
.nw-reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s cubic-bezier(.2,.7,.2,1); }
.nw-reveal.visible { opacity: 1; transform: none; }

/* ---- responsive ---- */
.nw-mobile-links { display: none; }
@media (max-width: 1100px) {
  .nw-grid, .nw-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nw-grid-4 > :nth-child(n+4) { display: none; }
  .nw-drop-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 990px) {
  .nw-header-row { grid-template-columns: 1fr auto 1fr; gap: 8px; height: 64px; }
  .nw-nav { display: none; }
  .nw-burger { display: inline-flex; justify-self: start; }
  .nw-brand { justify-self: center; }
  .nw-mobile-links { display: none; border-top: 1px solid var(--nw-line); background: #fff; padding: 4px var(--nw-gutter) 16px; }
  html.nw-menu-open .nw-mobile-links { display: block; }
  html.nw-menu-open .nw-mobile-links a {
    display: block; padding: 14px 0; border-bottom: 1px solid var(--nw-line);
    text-decoration: none; font-size: 17px; color: var(--nw-ink);
  }
  .nw-hero-inner { grid-template-columns: 1fr; min-height: 0; }
  .nw-hero-copy { padding: 48px 0 0; }
  .nw-hero-media { padding: 0 0 40px; }
  .nw-pdp { grid-template-columns: 1fr; }
  .nw-pdp-media { position: static; }
  .nw-split { grid-template-columns: 1fr; }
  .nw-trust-grid { grid-template-columns: 1fr 1fr; }
  .nw-footer-grid { grid-template-columns: 1fr 1fr; }
  .nw-foot-brand { grid-column: 1 / -1; }
}
@media (max-width: 749px) {
  .nw-hide-sm { display: none !important; }
  .nw-grid, .nw-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nw-grid-4 > :nth-child(n+4) { display: flex; }
  .nw-card-title, .nw-card-price { font-size: 14px; }
  .nw-card-meta { display: none; }
  .nw-announce-alt { display: none; }
  .nw-toolbar { flex-direction: column; align-items: stretch; }
  .nw-chips-row { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--nw-gutter)); padding: 0 var(--nw-gutter); scrollbar-width: none; }
  .nw-chips-row::-webkit-scrollbar { display: none; }
  .nw-chip { flex: none; }
  .nw-toolbar-right { justify-content: space-between; }
  .nw-stage { border-radius: 0; margin: 0 calc(-1 * var(--nw-gutter)); }
  .nw-thumbs { display: none; }
  .nw-gdots { display: flex; gap: 6px; justify-content: center; margin-top: 12px; }
  .nw-garrow { opacity: 1; width: 36px; height: 36px; }
  .nw-trust-grid { grid-template-columns: 1fr; gap: 18px; }
  .nw-footer-grid { gap: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-shop="new"] *, html[data-shop="new"] *::before, html[data-shop="new"] *::after {
    animation-duration: 0.01ms !important; transition-duration: 0.01ms !important;
  }
}
@media print {
  .nw-announce, .nw-header, .nw-footer, .nw-trust { display: none; }
}

/* experience.js marks the current page's link and forces it white. */
html[data-shop="new"] .nw-nav a[aria-current="page"],
html[data-shop="new"] .nw-mobile-links a[aria-current="page"],
html[data-shop="new"] .nw-footer a[aria-current="page"] { color: var(--nw-ink) !important; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
@media (max-width: 749px) {
  .nw-toolbar-right { width: 100%; flex-wrap: wrap; gap: 10px; }
  .nw-sort { margin-left: auto; }
  .nw-sort > span { display: none; }
}

/* Image-with-text, mirrored, with a detail inset (home: Cigarettes Tee). */
.nw-split-rev .nw-split-media { order: 2; }
.nw-split-duo { position: relative; overflow: visible; }
.nw-inset {
  position: absolute; left: -28px; bottom: 32px; width: 36%; aspect-ratio: 1;
  border-radius: 12px; overflow: hidden; background: #fff;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.14); border: 6px solid #fff;
}
.nw-inset img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; display: block; }
@media (max-width: 990px) {
  .nw-split-rev .nw-split-media { order: 0; }
  .nw-inset { left: 16px; bottom: 16px; width: 34%; }
}

/* Checkout country picker (checkout.js enhanceCountry). */
html[data-shop="new"] .co-country-search input,
html[data-shop="new"] .co-country-search input:focus { border: 0 !important; box-shadow: none !important; background: transparent !important; }
html[data-shop="new"] .co-country-trigger { background: #fff !important; border-color: var(--nw-line-strong) !important; border-radius: var(--nw-radius) !important; }
html[data-shop="new"] .co-country.is-open .co-country-trigger,
html[data-shop="new"] .co-country-trigger:focus-visible { border-color: var(--nw-ink) !important; box-shadow: 0 0 0 1px var(--nw-ink) !important; }
html[data-shop="new"] .co-country-pop { box-shadow: 0 18px 44px rgba(0,0,0,.12) !important; }
html[data-shop="new"] .co-country-opt.is-active { background: var(--nw-soft) !important; }

/* Promo box (injected by checkout.js with dark inline styles). */
html[data-shop="new"] [data-co-promo] { background: var(--nw-soft) !important; border: 0 !important; border-radius: 10px !important; }
html[data-shop="new"] [data-co-promo] > div:first-child { color: var(--nw-muted) !important; letter-spacing: .1em !important; }
html[data-shop="new"] [data-co-promo] input { background: #fff !important; color: var(--nw-ink) !important; color-scheme: light !important; font-weight: 400 !important; }
html[data-shop="new"] [data-co-promo-go] {
  background: #fff !important; color: var(--nw-ink) !important; border: 1px solid var(--nw-ink) !important; border-radius: var(--nw-radius) !important;
}
html[data-shop="new"] [data-co-promo-go]:hover { background: var(--nw-ink) !important; color: #fff !important; }

/* ---- quick add on product cards (site.js) ---- */
.nw-card-wrap { position: relative; display: flex; flex-direction: column; min-width: 0; }
.nw-quick {
  position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 1;
  display: flex; align-items: flex-end; gap: 8px; padding: 12px;
  pointer-events: none; z-index: 2;
}
.nw-quick-add, .nw-quick-buy {
  flex: 1 1 0; pointer-events: auto; cursor: pointer;
  padding: 11px 10px; border-radius: var(--nw-radius); font: inherit; font-size: 13.5px; font-weight: 500;
  opacity: 0; transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease, background .15s ease, color .15s ease;
}
.nw-quick-add { background: #fff; color: var(--nw-ink); border: 1px solid var(--nw-ink); }
.nw-quick-add:hover { background: var(--nw-ink); color: #fff; }
.nw-quick-buy { background: var(--nw-ink); color: #fff; border: 1px solid var(--nw-ink); }
.nw-quick-buy:hover { background: var(--nw-ink-h); }
.nw-quick.is-options .nw-quick-buy { display: none; }
.nw-quick-plus { display: none; }
@media (hover: hover) {
  .nw-card-wrap:hover .nw-quick-add, .nw-card-wrap:hover .nw-quick-buy,
  .nw-card-wrap:focus-within .nw-quick-add, .nw-card-wrap:focus-within .nw-quick-buy { opacity: 1; transform: none; }
}
@media (hover: none) {
  .nw-quick-add, .nw-quick-buy { display: none; }
  .nw-quick { justify-content: flex-end; padding: 10px; }
  .nw-quick-plus {
    display: grid; place-items: center; pointer-events: auto; cursor: pointer;
    width: 38px; height: 38px; border-radius: 999px; border: 0;
    background: #fff; color: var(--nw-ink); box-shadow: 0 4px 14px rgba(0,0,0,.14);
  }
}

/* Quick-add option picker */
html.nw-qp-open { overflow: hidden; }
.nw-qp { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 16px; }
.nw-qp-scrim { position: absolute; inset: 0; background: rgba(0,0,0,.35); animation: nwFade .2s ease; }
.nw-qp-panel {
  position: relative; width: min(440px, 100%); max-height: calc(100vh - 32px); overflow-y: auto;
  background: #fff; border-radius: 14px; padding: 24px; box-shadow: 0 30px 80px rgba(0,0,0,.2);
  animation: nwPop .22s cubic-bezier(.2,.7,.2,1);
}
.nw-qp-x { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 999px;
  background: transparent; font-size: 22px; line-height: 1; cursor: pointer; color: var(--nw-ink); }
.nw-qp-x:hover { background: var(--nw-soft); }
.nw-qp-head { display: flex; align-items: center; gap: 14px; padding-right: 36px; }
.nw-qp-img { flex: none; width: 72px; height: 72px; border-radius: 8px; background: var(--nw-soft); display: grid; place-items: center; overflow: hidden; }
.nw-qp-img img { width: 100%; height: 100%; object-fit: contain; padding: 6px; mix-blend-mode: multiply; }
.nw-qp-name { font-size: 17px; font-weight: 600; letter-spacing: -.01em; color: var(--nw-ink); }
.nw-qp-price { margin-top: 2px; font-size: 15px; color: var(--nw-muted); font-variant-numeric: tabular-nums; }
.nw-qp-label { margin: 22px 0 10px; font-size: 13.5px; color: var(--nw-muted); }
.nw-qp-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.nw-qp-opts button {
  min-width: 52px; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--nw-line-strong);
  background: #fff; color: var(--nw-ink); font: inherit; font-size: 14px; cursor: pointer;
}
.nw-qp-opts button:hover { border-color: var(--nw-ink); }
.nw-qp-opts button[aria-checked="true"] { background: var(--nw-ink); border-color: var(--nw-ink); color: #fff; }
.nw-qp-actions { display: grid; gap: 10px; margin-top: 24px; }
.nw-qp-add, .nw-qp-buy { padding: 14px; border-radius: var(--nw-radius); font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; border: 1px solid var(--nw-ink); }
.nw-qp-add { background: #fff; color: var(--nw-ink); }
.nw-qp-add:hover { box-shadow: inset 0 0 0 1px var(--nw-ink); }
.nw-qp-buy { background: var(--nw-ink); color: #fff; }
.nw-qp-buy:hover { background: var(--nw-ink-h); }
.nw-qp-more { display: block; margin-top: 16px; text-align: center; font-size: 13.5px; color: var(--nw-ink); text-underline-offset: 3px; }
@keyframes nwFade { from { opacity: 0; } }
@keyframes nwPop { from { opacity: 0; transform: translateY(10px) scale(.98); } }
@media (max-width: 749px) {
  .nw-qp { place-items: end stretch; padding: 0; }
  .nw-qp-panel { width: 100%; border-radius: 16px 16px 0 0; }
}

/* ---- phone-case picker ([data-dropdown], driven by product.js) ---- */
html[data-shop="new"] .nw-dd [data-dropdown] { padding: 0 !important; border: 0 !important; background: transparent !important; gap: 18px !important; }
html[data-shop="new"] .nw-dd .dd-cap { color: var(--nw-muted) !important; letter-spacing: 0 !important; text-transform: none !important; font-size: 13.5px !important; font-weight: 400 !important; }
html[data-shop="new"] .nw-dd [data-dd-summary] { color: var(--nw-faint) !important; font-size: 12.5px !important; }
html[data-shop="new"] .nw-dd [data-dd-line], html[data-shop="new"] .nw-dd [data-dd-finish] {
  color: var(--nw-ink) !important; font-family: inherit !important; text-transform: none !important;
  letter-spacing: 0 !important; font-size: 14px !important; font-weight: 400 !important;
  border-radius: 999px !important; padding: 10px 4px !important; transition: background .15s ease, color .15s ease !important;
}
html[data-shop="new"] .nw-dd [data-dd-line][aria-pressed="true"], html[data-shop="new"] .nw-dd [data-dd-finish][aria-pressed="true"] {
  background: var(--nw-ink) !important; color: #fff !important;
}
html[data-shop="new"] .nw-dd [data-dropdown] div:has(> [data-dd-line]),
html[data-shop="new"] .nw-dd [data-dropdown] div:has(> [data-dd-finish]) {
  background: var(--nw-soft) !important; border: 0 !important; border-radius: 999px !important; padding: 4px !important;
}
html[data-shop="new"] .nw-dd select { color-scheme: light !important; font-weight: 400 !important; }
html[data-shop="new"] .d-cd-opt { color: var(--nw-ink) !important; background: transparent !important; }
html[data-shop="new"] .d-cd-opt:hover { background: var(--nw-soft) !important; }
html[data-shop="new"] .d-cd-opt[aria-selected="true"] { background: var(--nw-soft) !important; font-weight: 600 !important; }
html[data-shop="new"] .d-cd-opt .d-cd-tick { color: var(--nw-ink) !important; }
html[data-shop="new"] .d-cd-list { padding: 6px !important; border-radius: 10px !important; }

/* Delivery estimator country select (product.js) */
html[data-shop="new"] [data-delivery-est] select[data-est-country] {
  appearance: none; -webkit-appearance: none; font-weight: 400 !important; padding-right: 36px !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' fill='none' stroke='%23121212' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 14px center !important;
  border-radius: var(--nw-radius) !important;
}

/* ===================================================== shop-plus.js ===== */
.nw-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Smart sticky header */
.nw-header { transition: transform .28s ease; }
html.nw-head-hide .nw-header { transform: translateY(-100%); }
.nw-pdp-media { transition: top .28s ease; }
html.nw-head-hide .nw-pdp-media { top: 24px; }

/* Predictive search */
html.nw-search-open { overflow: hidden; }
.nw-search { position: fixed; inset: 0; z-index: 130; }
.nw-search-scrim { position: absolute; inset: 0; background: rgba(0,0,0,.3); animation: nwFade .2s ease; }
.nw-search-panel { position: relative; background: #fff; max-height: 86vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,.14); animation: nwDrop .24s cubic-bezier(.2,.7,.2,1); }
@keyframes nwDrop { from { transform: translateY(-14px); opacity: 0; } }
.nw-search-bar { max-width: 860px; margin: 0 auto; display: flex; align-items: center; gap: 12px; padding: 18px var(--nw-gutter); border-bottom: 1px solid var(--nw-line); color: var(--nw-ink); }
html[data-shop="new"] .nw-search-bar input { flex: 1; border: 0 !important; box-shadow: none !important; font: inherit; font-size: 20px; padding: 8px 0; background: transparent !important; outline: none; }
.nw-search-x { width: 40px; height: 40px; border: 0; background: transparent; font-size: 26px; cursor: pointer; border-radius: 999px; color: var(--nw-ink); }
.nw-search-x:hover { background: var(--nw-soft); }
.nw-search-body { max-width: 860px; margin: 0 auto; padding: 8px var(--nw-gutter) 28px; }
.nw-search-h { margin: 20px 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--nw-muted); }
.nw-search-pop { display: flex; flex-wrap: wrap; gap: 8px; }
.nw-search-pop button, .nw-search-pop a { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--nw-line-strong); background: #fff; font: inherit; font-size: 13.5px; color: var(--nw-ink); cursor: pointer; text-decoration: none; }
.nw-search-pop button:hover, .nw-search-pop a:hover { border-color: var(--nw-ink); }
.nw-search-list { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.nw-search-all { display: inline-block; margin-top: 18px; font-size: 14px; color: var(--nw-ink); text-underline-offset: 4px; }
.nw-search-none { margin: 22px 0 0; color: var(--nw-muted); }
@media (max-width: 749px) { .nw-search-list { grid-template-columns: 1fr; } }

/* Mini product row (search, recently viewed, empty cart) */
.nw-mini { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 10px; text-decoration: none; color: var(--nw-ink); }
.nw-mini:hover, .nw-mini:focus-visible { background: var(--nw-soft); }
.nw-mini-img { flex: none; width: 56px; height: 56px; border-radius: 8px; background: var(--nw-soft); display: grid; place-items: center; overflow: hidden; }
.nw-mini-img img { width: 100%; height: 100%; object-fit: contain; padding: 5px; mix-blend-mode: multiply; }
.nw-mini-body { display: flex; flex-direction: column; min-width: 0; }
.nw-mini-name { font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nw-mini-price { font-size: 13px; color: var(--nw-muted); font-variant-numeric: tabular-nums; }
.nw-minis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 990px) { .nw-minis { grid-template-columns: 1fr 1fr; } }

/* Mobile drawer */
.nw-icons .nw-icon-btn[data-nw-search-open] { display: inline-flex; }
.nw-drawer { position: fixed; inset: 0; z-index: 125; }
.nw-drawer-scrim { position: absolute; inset: 0; background: rgba(0,0,0,.35); opacity: 0; transition: opacity .26s ease; }
.nw-drawer-panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(380px, 88vw); background: #fff; display: flex; flex-direction: column;
  transform: translateX(-100%); transition: transform .26s cubic-bezier(.2,.7,.2,1); overflow: hidden; }
html.nw-drawer-open .nw-drawer-scrim { opacity: 1; }
html.nw-drawer-open .nw-drawer-panel { transform: none; }
html.nw-drawer-open { overflow: hidden; }
.nw-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px 12px 24px; border-bottom: 1px solid var(--nw-line); }
.nw-drawer-head .nw-icon-btn { font-size: 26px; }
.nw-drawer-levels { flex: 1; display: flex; transition: transform .26s cubic-bezier(.2,.7,.2,1); }
.nw-drawer-level { flex: 0 0 100%; overflow-y: auto; padding: 8px 0 24px; }
.nw-drawer-level > a, .nw-drawer-level > button {
  display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 15px 24px;
  border: 0; background: none; font: inherit; font-size: 17px; color: var(--nw-ink); text-decoration: none; text-align: left; cursor: pointer;
}
.nw-drawer-level > a:hover, .nw-drawer-level > button:hover { background: var(--nw-soft); }
.nw-drawer-level > button span { font-size: 22px; line-height: 1; }
.nw-drawer-back { justify-content: flex-start !important; gap: 10px; font-size: 14px !important; color: var(--nw-muted) !important; border-bottom: 1px solid var(--nw-line) !important; margin-bottom: 6px; }
.nw-drawer-level > a.nw-drawer-prod { justify-content: flex-start; gap: 12px; font-size: 15px; padding: 10px 24px; }

/* Card colour dots */
.nw-dots-card { display: flex; align-items: center; gap: 6px; margin-top: 8px; padding: 0 2px; }
.nw-cdot { width: 16px; height: 16px; border-radius: 999px; border: 0; padding: 0; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); }
.nw-cdot.on, .nw-cdot:hover { box-shadow: inset 0 0 0 1px rgba(0,0,0,.15), 0 0 0 2px #fff, 0 0 0 3px var(--nw-ink); }
.nw-cdot-more { font-size: 12px; color: var(--nw-muted); text-decoration: none; margin-left: 2px; }
.nw-card-wrap { order: 0; }
.nw-card-wrap > .nw-dots-card { order: 1; }

/* Collection filters */
.nw-filter-btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--nw-ink);
  background: #fff; font: inherit; font-size: 13.5px; color: var(--nw-ink); cursor: pointer; }
.nw-filter-btn:hover { background: var(--nw-ink); color: #fff; }
.nw-toolbar { gap: 12px; }
.nw-active { display: flex; flex-wrap: wrap; gap: 8px; margin: -16px 0 24px; }
.nw-active[hidden] { display: none; }
.nw-apill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px 6px 14px; border-radius: 999px; border: 0; background: var(--nw-soft);
  font: inherit; font-size: 13px; color: var(--nw-ink); cursor: pointer; }
.nw-apill:hover { background: var(--nw-soft-2); }
.nw-apill > span[aria-hidden] { font-size: 16px; line-height: 1; }
.nw-aclear { border: 0; background: none; font: inherit; font-size: 13px; color: var(--nw-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.nw-empty { text-align: center; padding: 48px 0; color: var(--nw-muted); }
.nw-fpanel { position: fixed; inset: 0; z-index: 128; }
.nw-fpanel[hidden] { display: none; }
html.nw-fopen { overflow: hidden; }
.nw-fsheet-scrim { position: absolute; inset: 0; background: rgba(0,0,0,.35); animation: nwFade .2s ease; }
.nw-fsheet { position: absolute; top: 0; right: 0; bottom: 0; width: min(400px, 100%); background: #fff; display: flex; flex-direction: column;
  animation: nwSlideL .26s cubic-bezier(.2,.7,.2,1); }
@keyframes nwSlideL { from { transform: translateX(100%); } }
.nw-fsheet-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 14px 24px; border-bottom: 1px solid var(--nw-line); font-size: 17px; }
.nw-fsheet-head .nw-icon-btn { font-size: 26px; }
.nw-fgroups { flex: 1; overflow-y: auto; padding: 4px 24px 16px; }
.nw-fgroup { border: 0; border-bottom: 1px solid var(--nw-line); margin: 0; padding: 18px 0; }
.nw-fgroup legend { float: left; width: 100%; margin-bottom: 12px; font-size: 15px; font-weight: 600; color: var(--nw-ink); }
.nw-fopt { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 14.5px; color: var(--nw-ink); cursor: pointer; clear: both; }
.nw-fopt input { width: 18px; height: 18px; margin: 0; }
.nw-fopt .nw-fn { margin-left: auto; font-size: 12.5px; color: var(--nw-faint); font-variant-numeric: tabular-nums; }
.nw-fopt.is-zero { color: var(--nw-faint); cursor: not-allowed; }
.nw-fsizes { display: flex; flex-wrap: wrap; gap: 8px; clear: both; }
.nw-fsizes .nw-fopt { position: relative; padding: 0; }
.nw-fsizes .nw-fopt input { position: absolute; opacity: 0; }
.nw-fsizes .nw-fopt span:first-of-type { display: inline-block; min-width: 52px; text-align: center; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--nw-line-strong); }
.nw-fsizes .nw-fopt input:checked + span { background: var(--nw-ink); border-color: var(--nw-ink); color: #fff; }
.nw-fsizes .nw-fopt input:focus-visible + span { outline: 2px solid var(--nw-ink); outline-offset: 2px; }
.nw-fsizes .nw-fopt.is-zero span:first-of-type { border-style: dashed; text-decoration: line-through; }
.nw-fsizes .nw-fn { display: none; }
.nw-fsheet-foot { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; padding: 16px 24px; border-top: 1px solid var(--nw-line); }
@media (max-width: 749px) {
  .nw-fsheet { top: auto; left: 0; width: 100%; max-height: 86vh; border-radius: 16px 16px 0 0; animation-name: nwSlideU; }
  @keyframes nwSlideU { from { transform: translateY(100%); } }
  .nw-filter-btn { order: -1; }
}

/* Size guide drawer */
.nw-opt-row { display: flex; align-items: center; justify-content: space-between; }
.nw-sg-btn { border: 0; background: none; padding: 0; font: inherit; font-size: 13.5px; color: var(--nw-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.nw-side { position: fixed; inset: 0; z-index: 128; }
.nw-side-scrim { position: absolute; inset: 0; background: rgba(0,0,0,.35); opacity: 0; transition: opacity .26s ease; }
.nw-side-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(460px, 100%); background: #fff; display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .26s cubic-bezier(.2,.7,.2,1); }
html.nw-side-open .nw-side-scrim { opacity: 1; }
html.nw-side-open .nw-side-panel { transform: none; }
.nw-side-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 14px 24px; border-bottom: 1px solid var(--nw-line); font-size: 17px; }
.nw-side-head .nw-icon-btn { font-size: 26px; }
.nw-side-body { flex: 1; overflow-y: auto; padding: 16px 24px 24px; font-size: 14px; color: var(--nw-muted); }

/* Sticky add-to-cart bar */
.nw-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: rgba(255,255,255,.97);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--nw-line);
  transform: translateY(110%); transition: transform .26s cubic-bezier(.2,.7,.2,1); }
.nw-sticky.is-on { transform: none; }
.nw-sticky-in { max-width: var(--nw-wrap); margin: 0 auto; padding: 10px var(--nw-gutter); display: flex; align-items: center; gap: 14px; }
.nw-sticky-img { flex: none; width: 48px; height: 48px; border-radius: 8px; background: var(--nw-soft); display: grid; place-items: center; overflow: hidden; }
.nw-sticky-img img { width: 100%; height: 100%; object-fit: contain; padding: 4px; mix-blend-mode: multiply; }
.nw-sticky-txt { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.nw-sticky-name { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nw-sticky-meta { font-size: 13px; color: var(--nw-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nw-sticky-add { flex: none; padding: 13px 28px; }
html.nw-qp-open .nw-sticky, html.nw-side-open .nw-sticky { visibility: hidden; }
@media (max-width: 749px) { .nw-sticky-img { display: none; } .nw-sticky-add { padding: 13px 18px; } }
.nw-pdp-page .ds-launch, .nw-pdp-page .ds-payments { transition: transform .26s ease; }
body.nw-pdp-page:has(.nw-sticky.is-on) .ds-launch,
body.nw-pdp-page:has(.nw-sticky.is-on) .ds-payments { transform: translateY(-74px); }

/* Added ✓ + badge bump */
html[data-shop="new"] .nw-pdp button[data-add-sku].is-added { background: var(--nw-ink) !important; color: #fff !important; }
.nw-cart-count.bump { animation: nwBump .45s cubic-bezier(.3,1.6,.5,1); }
@keyframes nwBump { 0% { transform: scale(1); } 40% { transform: scale(1.45); } 100% { transform: scale(1); } }

/* Cart drawer: bin, undo, empty state */
html[data-shop="new"] .dq-qty button[data-nw-bin] svg { display: block; margin: auto; }
.nw-undo { position: absolute; left: 16px; right: 16px; bottom: 16px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 14px 12px 16px; border-radius: 10px; background: var(--nw-ink); color: #fff; font-size: 13.5px;
  transform: translateY(140%); opacity: 0; transition: transform .25s ease, opacity .25s ease; }
.nw-undo.is-on { transform: none; opacity: 1; }
.nw-undo span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nw-undo button { flex: none; border: 0; background: none; color: #fff; font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
html[data-shop="new"] .dq-empty { align-items: stretch !important; text-align: left !important; padding: 24px 0 !important; }
html[data-shop="new"] .dq-empty .nw-empty-t { margin: 0 0 16px !important; font-size: 18px !important; font-weight: 600; color: var(--nw-ink) !important; max-width: none !important; text-align: center; }
html[data-shop="new"] .dq-empty .nw-btn { align-self: center; }
.nw-empty-h { margin: 32px 0 8px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--nw-muted); }
.nw-empty-list { display: grid; gap: 4px; }

/* Discount links + "Have a code?" */
.nw-code-note { position: fixed; left: 50%; bottom: 24px; z-index: 140; transform: translate(-50%, 160%); padding: 12px 18px; border-radius: 999px;
  background: var(--nw-ink); color: #fff; font-size: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.2); transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.nw-code-note.is-on { transform: translate(-50%, 0); }
html[data-shop="new"] [data-co-promo].nw-promo-folded { display: none !important; }
.nw-promo-toggle { display: block; margin: 14px 0 0; border: 0; background: none; padding: 0; font: inherit; font-size: 14px; color: var(--nw-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* Old mobile link list is replaced by the drawer. */
html[data-shop="new"] .nw-mobile-links { display: none !important; }

/* fixes */
.nw-search-bar input::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
html[data-shop="new"] .dq-empty a.nw-btn { color: #fff !important; }
html[data-shop="new"] .dq-empty a.nw-mini { color: var(--nw-ink) !important; }
html[data-shop="new"] .dq-empty .nw-mini-img img { width: 100% !important; max-width: none !important; opacity: 1 !important; filter: none !important; }
.nw-mini { min-width: 0; }
.nw-minis > * { min-width: 0; }
@media (max-width: 749px) {
  .nw-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); }
  .nw-toolbar > * { min-width: 0; }
  .nw-filter-btn { justify-self: start; }
}

/* Support assistant (support-widget.js) */
html[data-shop="new"] .ds-opt { color: var(--nw-ink) !important; border-color: var(--nw-line-strong) !important; background: #fff !important; }
html[data-shop="new"] .ds-opt:hover, html[data-shop="new"] .ds-opt:focus-visible { border-color: var(--nw-ink) !important; background: var(--nw-soft) !important; }
html[data-shop="new"] .ds-opt.ds-opt-main { background: var(--nw-ink) !important; border-color: var(--nw-ink) !important; color: #fff !important; }
html[data-shop="new"] .ds-opt.ds-opt-quiet { color: var(--nw-muted) !important; }
html[data-shop="new"] .ds-topic { background: var(--nw-soft) !important; color: var(--nw-ink) !important; }
html[data-shop="new"] .ds-turn.them .ds-bubble a { color: var(--nw-ink) !important; }
html[data-shop="new"] .ds-turn.me .ds-bubble { background: var(--nw-ink) !important; color: #fff !important; }
html[data-shop="new"] .sp-choice { background: #fff !important; }
html[data-shop="new"] .sp-choice:hover, html[data-shop="new"] .sp-choice:focus-visible,
html[data-shop="new"] .sp-choice.is-on { border-color: var(--nw-ink) !important; }
html[data-shop="new"] .sp-choice.is-on { box-shadow: 0 0 0 1px var(--nw-ink) !important; }
html[data-shop="new"] .sp-choice-ico { background: var(--nw-soft) !important; }
html[data-shop="new"] .ds-new { color: var(--nw-ink) !important; border-color: var(--nw-line-strong) !important; background: #fff !important; }
html[data-shop="new"] .ds-new:hover { border-color: var(--nw-ink) !important; }
html[data-shop="new"] .ds-past-h { color: var(--nw-muted) !important; }

/* ---- Track order page (track-page.js) ---- */
.nw-track-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 48px); align-items: start; margin-top: 28px; }
.nw-track-grid[hidden] { display: none; }
.nw-tcard { border: 1px solid var(--nw-line); border-radius: 14px; padding: clamp(20px, 3vw, 32px); display: grid; gap: 10px; }
.nw-tl { font-size: 13.5px; font-weight: 500; color: var(--nw-ink); margin-top: 6px; }
html[data-shop="new"] .nw-tcard input { width: 100%; padding: 14px 14px; font: inherit; font-size: 16px; }
.nw-thint { margin: 0; font-size: 12.5px; color: var(--nw-faint); }
.nw-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: var(--nw-soft); border-radius: 999px; }
.nw-seg button { border: 0; background: transparent; padding: 10px; border-radius: 999px; font: inherit; font-size: 14px; color: var(--nw-ink); cursor: pointer; }
.nw-seg button[aria-selected="true"] { background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.1); font-weight: 600; }
.nw-tgo { margin-top: 10px; width: 100%; }
.nw-terr { margin: 4px 0 0; padding: 10px 12px; border-radius: 8px; background: #fef3f2; color: #b42318; font-size: 13.5px; }
.nw-terr[hidden] { display: none; }
.nw-tside { background: var(--nw-soft); border-radius: 14px; padding: clamp(20px, 3vw, 32px); }
.nw-tside h2 { margin: 0 0 12px; font-size: 18px; font-weight: 600; }
.nw-tside ul { margin: 0 0 20px; padding: 0; list-style: none; display: grid; gap: 12px; font-size: 14px; color: var(--nw-muted); line-height: 1.6; }
.nw-tside strong { color: var(--nw-ink); font-weight: 600; }
.nw-tresult { margin-top: 28px; }
.nw-tresult[hidden] { display: none; }
.nw-thead { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.nw-tref { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; color: var(--nw-muted); }
.nw-thead h2 { margin: 6px 0 0; font-size: clamp(30px, 4vw, 44px); font-weight: 600; letter-spacing: -.035em; }
.nw-thead p { margin: 8px 0 0; color: var(--nw-muted); max-width: 60ch; }
.nw-tnote { padding: 10px 14px; border-radius: 8px; background: var(--nw-soft); color: var(--nw-ink) !important; }
.nw-tagain { border: 0; background: none; font: inherit; font-size: 14px; color: var(--nw-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 6px 0; }
.nw-tsteps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.nw-tsteps li { position: relative; display: flex; flex-direction: column; gap: 4px; padding-top: 30px; font-size: 13.5px; color: var(--nw-faint); }
.nw-tsteps li::before { content: ""; position: absolute; top: 9px; left: 0; right: 0; height: 3px; background: var(--nw-line); }
.nw-tsteps li.done::before, .nw-tsteps li.now::before { background: var(--nw-ink); }
.nw-tsteps li.now::before { background: linear-gradient(90deg, var(--nw-ink) 50%, var(--nw-line) 50%); }
.nw-tdot { position: absolute; top: 2px; left: 0; width: 17px; height: 17px; border-radius: 999px; background: #fff; border: 3px solid var(--nw-line); z-index: 1; }
.nw-tsteps li.done .nw-tdot { background: var(--nw-ink); border-color: var(--nw-ink); }
.nw-tsteps li.now .nw-tdot { border-color: var(--nw-ink); box-shadow: 0 0 0 5px rgba(18,18,18,.08); }
.nw-tsteps li.done, .nw-tsteps li.now { color: var(--nw-ink); }
.nw-tstep { font-weight: 600; }
.nw-twhen { font-size: 12.5px; color: var(--nw-muted); font-weight: 400; }
.nw-tbox { margin-top: 28px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 18px 20px; border-radius: 12px; border: 1px solid var(--nw-line); }
.nw-tnum { font-size: 16px; font-weight: 600; margin-top: 4px; }
.nw-tnum code { font-size: 15px; background: var(--nw-soft); padding: 3px 8px; border-radius: 6px; }
.nw-tbtns { display: flex; gap: 8px; flex-wrap: wrap; }
.nw-tbtns .nw-btn { padding: 11px 18px; font-size: 14px; }
.nw-tcols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.nw-tpanel { border: 1px solid var(--nw-line); border-radius: 12px; padding: 20px; }
.nw-tpanel h3 { margin: 0 0 12px; font-size: 15px; font-weight: 600; }
.nw-trow { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; font-size: 14px; border-bottom: 1px solid var(--nw-line); font-variant-numeric: tabular-nums; }
.nw-tsum { color: var(--nw-muted); }
.nw-ttotal { border-bottom: 0; font-weight: 600; font-size: 15px; }
.nw-taddr { margin: 0; font-size: 14px; line-height: 1.7; color: var(--nw-muted); }
.nw-tupd { margin-top: 20px !important; }
.nw-ttl { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 13.5px; }
.nw-ttl li { display: flex; justify-content: space-between; gap: 12px; }
.nw-thelp { margin-top: 20px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 20px; border-radius: 12px; background: var(--nw-soft); }
.nw-thelp strong { display: block; font-size: 15px; }
.nw-thelp span { font-size: 13.5px; color: var(--nw-muted); }
@media (max-width: 860px) {
  .nw-track-grid, .nw-tcols { grid-template-columns: 1fr; }
  .nw-tsteps { grid-template-columns: 1fr; gap: 0; padding-left: 0; }
  .nw-tsteps li { padding: 0 0 18px 30px; }
  .nw-tsteps li::before { top: 17px; bottom: 0; left: 7px; right: auto; width: 3px; height: auto; }
  .nw-tsteps li:last-child::before { display: none; }
  .nw-tsteps li.now::before { background: var(--nw-line); }
}

/* Chat order lookup form (support-widget.js) */
html[data-shop="new"] .ds-track { border-color: var(--nw-line) !important; background: #fff; }
html[data-shop="new"] .ds-track label { color: var(--nw-muted) !important; }
html[data-shop="new"] .ds-track input { background: #fff !important; color: var(--nw-ink) !important; border-color: var(--nw-line-strong) !important; }
