/*
 * The header search with the Lots | Suppliers tabs (TZ registry-search, mock artifacts/registry-search/index.html).
 * Loaded only under registry_search_tabs_enabled (or ?preview=regsearch) on the apex header: every rule here is
 * scoped to .rst-hd / .rst / .rst-sheet / .rst-scrim, which only _search_tabs.php and wholesale-search-tabs.js print.
 * The mock's classes carry the rst- prefix (.hd -> .rst-hd, .bar -> .rst-bar, .row -> .rst-r ...); values are the mock's.
 */
.rst-hd, .rst-sheet { --rst-brand: #3f2a9c; --rst-ink: #17142b; --rst-muted: #6a6580; --rst-line: #e9e6f0; --rst-sand: #f6f3ee; --rst-soft: #f4f1fb; --rst-hov: #ebe9ef; --rst-hov2: #dedbe4; --rst-row: #f4f3f6; }
.rst, .rst-sheet { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.rst *, .rst-sheet * { box-sizing: border-box; }
/* the mock's bare `button` reset, at element weight: every .rst-* rule below still wins over it */
:where(.rst, .rst-sheet) button { font: inherit; color: inherit; margin: 0; }
.rst svg, .rst-sheet svg { display: block; flex: none; }
/* the sheet itself too: its own `display: flex` below beats the UA [hidden], so a closed sheet stayed on screen (iPhone 2026-11-12) */
.rst [hidden], .rst-sheet[hidden], .rst-sheet [hidden] { display: none !important; }
.rst a, .rst-sheet a { text-decoration: none; color: inherit; }
.rst { display: none; }

/* ── desktop (1025 and up) ─────────────────────────────────────── */
@media (min-width: 1025px) {
  .rst { display: contents; }
  .wm-header--apex.rst-hd { grid-template-columns: 1fr auto 1fr; grid-template-rows: 80px auto; align-content: start; gap: 0 16px; height: 164px; padding: 0 40px; border-bottom: 1px solid var(--rst-line); }
  .wm-header--apex.rst-hd > .wm-wordmark { grid-column: 1; grid-row: 1; justify-self: start; }
  .wm-header--apex.rst-hd > .wma-nav { grid-column: 3; grid-row: 1; justify-self: end; }
  .wm-header--apex.rst-hd > :not(.wm-wordmark):not(.wma-nav):not(.rst) { grid-row: 1; }

  /* the Lots | Suppliers tabs (Airbnb Stays / Experiences) */
  .rst-tabs { grid-column: 2; grid-row: 1; display: flex; gap: 6px; justify-self: center; align-self: center; }
  .rst-tab { position: relative; display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 16px; border: 0; border-radius: 14px; background: none; color: var(--rst-muted); font-size: 15px; font-weight: 500; line-height: 1.45; cursor: pointer; text-decoration: none; white-space: nowrap; transition: color .15s, background .15s; }
  .rst-row { grid-column: 1 / -1; grid-row: 2; display: flex; justify-content: center; padding: 0 0 18px; }
  .rst-mini { grid-column: 2; grid-row: 1; }

  /* compact pill on scroll (the apex script sets .is-mini past 24px) */
  .wm-header--apex.rst-hd.is-mini:not(.rst-open) { grid-template-rows: 64px; height: 65px; box-shadow: 0 1px 12px rgba(23, 20, 43, .09); }
  .wm-header--apex.rst-hd.is-mini:not(.rst-open) .rst-tabs, .wm-header--apex.rst-hd.is-mini:not(.rst-open) .rst-row { display: none; }
  .wm-header--apex.rst-hd.is-mini:not(.rst-open) .rst-mini { display: flex; }
  /* the page below keeps its place: 164 = 65 + 99 (with the category row shown again on the way up: 111 + 53) */
  body:not(:has(form[data-wma-hero])) .wm-header--apex.rst-hd.is-mini:not(.rst-open) { margin-bottom: 99px; }
  body:not(:has(form[data-wma-hero])) .wm-header--apex.rst-hd.is-mini.is-cb:not(.rst-open) { height: 111px; margin-bottom: 53px; }
  .wm-header--apex.rst-hd.is-mini.is-cb:not(.rst-open) > * { margin-top: 9px; }
  .wm-header--apex.rst-hd.is-mini.rst-open { height: 164px; margin-bottom: 0; }
  /* a results page (?q= on /lots) stays compact from the first paint (.is-res): it keeps the 84px place the old
     header gave it (65 + 19), and opening the bar lays the 164px header over the page instead of pushing it down */
  body:not(:has(form[data-wma-hero])) .wm-header--apex.rst-hd.is-res:not(.rst-open) { margin-bottom: 19px; }
  .wm-header--apex.rst-hd.is-res.rst-open { margin-bottom: -80px; }
  /* so does a page that asks for the compact header from the top (data-wma-compact, the chrome's $compactHeader:
     the resell page): it was laid out under the old 65 + 19 header */
  body:not(:has(form[data-wma-hero])) .wm-header--apex.rst-hd[data-wma-compact]:not(.rst-open) { margin-bottom: 19px; }
  .wm-header--apex.rst-hd[data-wma-compact].rst-open { margin-bottom: -80px; }

  /* the home: its hero carries the search, so the header shows none at the top (as before) */
  body:has(form[data-wma-hero]) .wm-header--apex.rst-hd:not(.is-mini):not(.rst-open) { grid-template-rows: 84px; height: 84px; padding: 0 40px; }
  body:has(form[data-wma-hero]) .wm-header--apex.rst-hd:not(.is-mini):not(.rst-open) .rst-tabs,
  body:has(form[data-wma-hero]) .wm-header--apex.rst-hd:not(.is-mini):not(.rst-open) .rst-row { display: none; }
  body:has(form[data-wma-hero]) .wm-header--apex.rst-hd.is-mini.rst-open { margin-bottom: -80px; }
  body:has(form[data-wma-hero]) .wm-header--apex.rst-hd:not(.is-mini).rst-open { margin-bottom: -80px; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .wm-header--apex.rst-hd { padding: 0 24px; }
  .wm-header--apex.rst-hd .wm-header-cta .wm-btn-ghost { display: none; }
}

.rst-tab .rst-ti { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: var(--rst-row); color: var(--rst-muted); transition: transform .2s ease, background .15s, color .15s; }
.rst-tab::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 0; height: 2px; border-radius: 2px; background: transparent; transition: background .15s; }
.rst-tab:hover { color: var(--rst-ink); }
.rst-tab:hover .rst-ti { transform: scale(1.06); background: var(--rst-hov); color: var(--rst-ink); }
.rst-tab:hover::after { background: var(--rst-hov2); }
.rst-tab[aria-selected="true"] { color: var(--rst-ink); font-weight: 600; }
.rst-tab[aria-selected="true"] .rst-ti { background: var(--rst-soft); color: var(--rst-brand); }
.rst-tab[aria-selected="true"]::after { background: var(--rst-ink); }
.rst-tab:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 2px; }

/* the pill */
.rst-bar { position: relative; display: flex; align-items: center; width: min(820px, 100%); height: 66px; margin: 0; border: 1px solid var(--rst-line); border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 12px rgba(0, 0, 0, .05); color: var(--rst-ink); font-size: 14px; line-height: 1.45; transition: background .2s, box-shadow .2s, opacity .18s, transform .2s ease; }
.rst-bar.is-open { background: var(--rst-hov); border-color: var(--rst-hov); }
.rst-segs { display: contents; }
.rst-segs[hidden] { display: none !important; }
.rst-seg { position: relative; display: grid; grid-template-rows: 15px 18px; align-content: center; align-self: stretch; min-width: 0; padding: 14px 24px; border: 0; border-radius: 999px; background: none; color: var(--rst-ink); text-align: left; line-height: 1.25; cursor: pointer; transition: background .15s, box-shadow .15s; }
.rst-seg b { display: block; font-size: 12px; line-height: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rst-seg small, .rst-seg .rst-ph { display: block; font-size: 14px; line-height: 18px; color: var(--rst-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rst-seg small.set { color: var(--rst-ink); font-weight: 500; }
.rst-seg.rst-q { cursor: text; padding-left: 32px; }
.rst-seg.rst-q input { grid-row: 2; grid-column: 1; width: 100%; min-width: 0; height: 18px; margin: 0; padding: 0; border: 0; outline: 0; background: transparent; box-shadow: none; font: inherit; font-size: 14px; line-height: 18px; color: var(--rst-ink); text-overflow: ellipsis; -webkit-appearance: none; appearance: none; }
.rst-seg.rst-q input::placeholder { color: transparent; }
.rst-seg.rst-q input::-webkit-search-cancel-button { display: none; }
.rst-seg.rst-q .rst-ph { grid-row: 2; grid-column: 1; pointer-events: none; }
.rst-seg.rst-q:has(input:not(:placeholder-shown)) .rst-ph { visibility: hidden; }
.rst-seg.rst-q .rst-x { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); display: none; place-items: center; width: 24px; height: 24px; border: 0; border-radius: 50%; background: #e6e3ea; color: var(--rst-ink); cursor: pointer; padding: 0; }
.rst-seg.rst-q .rst-x:hover { background: #dcd8e2; }
.rst-seg.rst-q .rst-x:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 1px; }
.rst-seg.rst-q.is-on:has(input:not(:placeholder-shown)) .rst-x { display: grid; }
.rst-seg.rst-q.is-on:has(input:not(:placeholder-shown)) { padding-right: 46px; }
.rst-s-where { flex: 1.6 1 0; }
.rst-s-what { flex: 1.2 1 0; }
.rst-s-q { flex: 1.7 1 0; }
.rst-s-ship, .rst-s-fmt { flex: 1 1 0; }
.rst-seg.rst-last { padding-right: 72px; }
.rst-bar.is-open .rst-seg.rst-last { padding-right: 140px; }
.rst-bar.is-open .rst-seg.rst-q.is-on { flex-grow: 2.4; }
.rst-seg:hover { background: var(--rst-hov); }
.rst-bar.is-open .rst-seg:hover { background: var(--rst-hov2); }
.rst-seg.is-on, .rst-bar.is-open .rst-seg.is-on:hover { background: #fff; box-shadow: 0 6px 20px rgba(23, 20, 43, .14); }
.rst-seg:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: -2px; }
.rst-sd { flex: none; width: 1px; height: 32px; background: var(--rst-line); transition: opacity .15s; }
.rst-bar.is-open .rst-sd { background: #d6d3dd; }
.rst-sd.off { opacity: 0; }
.rst-go { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); z-index: 2; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; min-width: 48px; padding: 0; border: 0; border-radius: 999px; background: var(--rst-brand); color: #fff !important; cursor: pointer; transition: padding .2s ease, filter .15s, box-shadow .15s; }
.rst-go span:last-child { display: none; font-size: 15px; font-weight: 600; }
.rst-bar.is-open .rst-go { padding: 0 20px; }
.rst-bar.is-open .rst-go span:last-child { display: inline; }
.rst-go:hover { filter: brightness(.88); box-shadow: 0 4px 12px rgba(63, 42, 156, .3); }
.rst-go:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 2px; }

/* panels */
.rst-pan { position: absolute; top: calc(100% + 12px); left: 0; z-index: 46; width: 820px; max-width: calc(100vw - 32px); max-height: min(720px, calc(100vh - 200px)); overflow-y: auto; padding: 16px; background: #fff; border-radius: 32px; box-shadow: 0 8px 28px rgba(0, 0, 0, .22); color: var(--rst-ink); text-align: left; font-size: 14px; line-height: 1.45; }
.rst-pan.rst-pr { left: auto; right: 0; width: 400px; max-height: min(600px, calc(100vh - 200px)); }
.rst-cap { display: flex; justify-content: space-between; align-items: baseline; margin: 0; padding: 8px 16px 10px; font: 600 11.5px/1 Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing: .07em; text-transform: uppercase; color: var(--rst-muted); }
.rst-cap.rst-cap-l { margin-top: 8px; }
.rst-cols { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.rst-cols > div + div { border-left: 1px solid var(--rst-line); padding-left: 8px; }
.rst-cols > div:first-child { padding-right: 8px; }
.rst-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 8px; }
.rst-r { display: flex; align-items: center; gap: 14px; width: 100%; padding: 9px 16px; border: 0; border-radius: 16px; background: none; font-size: 14.5px; text-align: left; color: var(--rst-ink); cursor: pointer; transition: background .12s; }
.rst-r:hover, .rst-r.hi { background: var(--rst-row); }
.rst-r:focus-visible, .rst-r.kb { outline: 2px solid var(--rst-brand); outline-offset: -2px; background: var(--rst-hov); }
.rst-r .rst-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--rst-soft); color: var(--rst-ink); font: 600 12.5px/1 Inter, sans-serif; letter-spacing: .02em; }
.rst-r .rst-ic.rst-cc { background: var(--rst-sand); color: var(--rst-ink); }
.rst-r .rst-ic.rst-img { background-size: cover; background-position: center; }
.rst-r .rst-tx { display: grid; min-width: 0; line-height: 1.3; }
.rst-r .rst-tx > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rst-r small { color: var(--rst-muted); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rst-r mark { background: none; color: inherit; font-weight: 700; }
.rst-r.rst-chk { justify-content: space-between; padding: 10px 16px; }
.rst-r.rst-chk[aria-checked="true"] { font-weight: 600; }
.rst-r.rst-chk[aria-checked="true"]::after { content: ""; flex: none; width: 8px; height: 14px; margin: -4px 4px 0 12px; border-right: 2px solid var(--rst-ink); border-bottom: 2px solid var(--rst-ink); transform: rotate(45deg); }
.rst-r.rst-opt { display: grid; justify-content: stretch; padding: 10px 44px 10px 16px; position: relative; line-height: 1.35; }
.rst-r.rst-opt b { font-weight: 600; }
.rst-r.rst-opt[aria-pressed="true"]::after { content: ""; position: absolute; right: 20px; top: 50%; width: 8px; height: 14px; margin-top: -9px; border-right: 2px solid var(--rst-ink); border-bottom: 2px solid var(--rst-ink); transform: rotate(45deg); }
.rst-more { display: inline-flex; margin: 4px 16px 6px; padding: 6px 0; border: 0; background: none; font-size: 13.5px; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; cursor: pointer; color: var(--rst-ink); border-radius: 6px; }
.rst-cap .rst-more { margin: 0; padding: 0; font-size: 12.5px; letter-spacing: 0; text-transform: none; }
.rst-more:hover { color: var(--rst-brand); }
.rst-more:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 2px; }
/* the bridge: the registry hands the visitor to the marketplace (and back) */
.rst-bridge { display: flex; align-items: center; gap: 12px; width: 100%; margin: 10px 0 0; padding: 12px 16px; border: 0; border-radius: 16px; background: none; font-size: 14.5px; font-weight: 600; color: var(--rst-brand); text-align: left; cursor: pointer; position: relative; transition: background .12s; }
.rst a.rst-bridge, .rst-sheet a.rst-bridge { color: var(--rst-brand); }   /* the Browse rows are links: `.rst a` would inherit the ink */
.rst-bridge::before { content: ""; position: absolute; left: 16px; right: 16px; top: -6px; height: 1px; background: var(--rst-line); }
.rst-bridge .rst-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--rst-soft); color: var(--rst-brand); }
.rst-bridge .rst-ar { margin-left: auto; flex: none; transition: transform .15s; }
.rst-bridge small { display: block; font-weight: 400; font-size: 12.5px; color: var(--rst-muted); }
.rst-bridge:hover, .rst-bridge.hi { background: var(--rst-row); }
.rst-bridge:hover .rst-ar, .rst-bridge.hi .rst-ar { transform: translateX(3px); }
.rst-bridge:focus-visible, .rst-bridge.kb { outline: 2px solid var(--rst-brand); outline-offset: -2px; background: var(--rst-hov); }
/* the bridge waiting for its answer (wholesale-search-tabs.js act sup-go): dimmed words, a turning arrow, aria-busy */
.rst-bridge.rst-busy { cursor: progress; }
.rst-bridge.rst-busy > span:not(.rst-ar) { opacity: .6; }
.rst-bridge.rst-busy .rst-ar, .rst-bridge.rst-busy:hover .rst-ar { transform: none; }
.rst-bridge .rst-spin svg { display: block; animation: rst-spin .8s linear infinite; }
@keyframes rst-spin { to { transform: rotate(360deg); } }
.rst-foot { display: flex; align-items: center; gap: 10px; width: 100%; margin: 8px 0 0; padding: 12px 16px; border: 0; border-radius: 16px; background: none; font-size: 14.5px; font-weight: 600; text-align: left; cursor: pointer; color: var(--rst-ink); }
.rst-foot em { margin-left: auto; font-style: normal; color: var(--rst-muted); font-weight: 500; font-size: 13px; }
.rst-foot:hover, .rst-foot.hi { background: var(--rst-row); }
.rst-foot:focus-visible, .rst-foot.kb { outline: 2px solid var(--rst-brand); outline-offset: -2px; background: var(--rst-hov); }
.rst-covs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; padding: 0 16px 6px; }
.rst-cov { display: grid; gap: 7px; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; font-size: 13px; font-weight: 500; color: var(--rst-ink); border-radius: 12px; min-width: 0; }
.rst-cov i { display: block; aspect-ratio: 1; border-radius: 12px; background: var(--rst-row) center / cover no-repeat; transition: transform .2s ease, box-shadow .2s; }
.rst-cov span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rst-cov:hover i { transform: scale(1.03); box-shadow: 0 6px 16px rgba(23, 20, 43, .16); }
.rst-cov:focus-visible, .rst-cov.kb { outline: 2px solid var(--rst-brand); outline-offset: 3px; }
.rst-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 2px 16px 8px; }
.rst-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid var(--rst-line); border-radius: 999px; background: #fff; font-size: 13.5px; font-weight: 500; cursor: pointer; color: var(--rst-ink); transition: border-color .15s, background .15s; }
.rst-chip:hover { border-color: var(--rst-ink); }
.rst-chip[aria-pressed="true"] { background: var(--rst-ink); border-color: var(--rst-ink); color: #fff; }
.rst-chip:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 2px; }
.rst-sfield { position: relative; display: flex; align-items: center; gap: 10px; margin: 0 0 8px; padding: 11px 16px; border: 1px solid var(--rst-line); border-radius: 16px; color: var(--rst-muted); transition: border-color .15s, box-shadow .15s; }
.rst-sfield:hover { border-color: var(--rst-hov2); }
.rst-sfield:focus-within { border-color: var(--rst-ink); box-shadow: 0 0 0 1px var(--rst-ink); }
.rst-sfield input { flex: 1; min-width: 0; height: auto; margin: 0; padding: 0; border: 0; outline: 0; background: none; box-shadow: none; font: inherit; font-size: 14px; color: var(--rst-ink); }
.rst-sfield input::placeholder { color: var(--rst-muted); }
.rst-empty { margin: 0; padding: 4px 16px 8px; color: var(--rst-muted); }
.rst-clist { list-style: none; margin: 0; padding: 0; }
/* lots inside the supplier search: a slice of the catalogue */
.rst-lstrip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 0 16px 4px; }
.rst-lc { display: grid; align-content: start; gap: 6px; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; color: var(--rst-ink); border-radius: 12px; min-width: 0; }
.rst-lc i { display: block; aspect-ratio: 4 / 3; border-radius: 12px; background: var(--rst-row) center / cover no-repeat; transition: transform .2s ease, box-shadow .2s; }
.rst-lc i.rst-print { padding: 6%; }   /* the standard card's print frame: photo 1 whole in the middle 88% (wholesale-apex-card.css) */
.rst-lc:hover i { transform: scale(1.03); box-shadow: 0 6px 16px rgba(23, 20, 43, .16); }
.rst-lc:focus-visible, .rst-lc.kb { outline: 2px solid var(--rst-brand); outline-offset: 3px; }
.rst-lc b { font-size: 14px; font-weight: 700; line-height: 1.45; }
.rst-lc span { font-size: 12.5px; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.rst-lc small { font-size: 12px; line-height: 1.45; color: var(--rst-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* the panel while its answer is on the way (wholesale-search-tabs.js skeleton()): a caption bar and the strip's four
   photos in grey, one soft pulse; nothing in it is read or reached */
.rst-skel { padding: 8px 16px 4px; }
.rst-skel b { display: block; width: 38%; height: 12px; margin: 4px 0 14px; border-radius: 6px; }
.rst-skel span { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.rst-skel i { display: block; aspect-ratio: 4 / 3; border-radius: 12px; }
.rst-skel b, .rst-skel i { background: var(--rst-row); animation: rst-skel 1.2s ease-in-out infinite alternate; }
@keyframes rst-skel { from { opacity: 1; } to { opacity: .55; } }
.rst-mlist .rst-skel { padding: 8px 8px 4px; }
.rst-mlist .rst-skel span { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* compact pill on scroll */
.rst-mini { display: none; align-items: center; align-self: center; height: 48px; padding: 0 7px 0 6px; border: 1px solid var(--rst-line); border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .04); white-space: nowrap; justify-self: center; transition: box-shadow .2s ease; }
.rst-mini:hover { box-shadow: 0 2px 4px rgba(0, 0, 0, .08), 0 8px 22px rgba(23, 20, 43, .16); }
.rst-mini button { display: inline-flex; align-items: center; gap: 8px; max-width: 220px; height: 30px; padding: 0 14px; border: 0; background: none; font-size: 13.5px; font-weight: 600; color: var(--rst-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; border-radius: 999px; }
.rst-mini button + button { border-left: 1px solid var(--rst-line); border-radius: 0; }
.rst-mini button.rst-dim { color: var(--rst-muted); font-weight: 500; }
.rst-mini button.rst-md { color: var(--rst-brand); }
.rst-mini button:hover { background: var(--rst-row); }
.rst-mini button:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 2px; border-radius: 999px; }
.rst-mini .rst-mgo { display: inline-flex; justify-content: center; height: 34px; min-width: 34px; margin-left: 8px; padding: 0; border-left: 0 !important; border-radius: 999px !important; background: var(--rst-brand); color: #fff; }
.rst-mini .rst-mgo:hover { background: var(--rst-brand); filter: brightness(.88); }

.rst-scrim { position: fixed; inset: 0; z-index: 44; background: rgba(23, 20, 43, .3); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.rst-scrim.on { opacity: 1; pointer-events: auto; }

/* ── phone and tablet (up to 1024): the pinned pill opens the full-screen sheet ── */
.rst-sheet { position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; background: #f4f3f6; color: var(--rst-ink); font-size: 14px; line-height: 1.45; -webkit-font-smoothing: antialiased; animation: rst-sh-in .22s ease; }
@keyframes rst-sh-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
html.rst-lock, html.rst-lock body { overflow: hidden; }
.rst-shtop { display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; gap: 8px; padding: 12px 14px 4px; }
.rst-cir { flex: none; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--rst-line); border-radius: 50%; background: #fff; color: var(--rst-ink); cursor: pointer; transition: background .15s, border-color .15s, box-shadow .15s; }
.rst-cir:hover { background: var(--rst-soft); border-color: var(--rst-hov2); }
.rst-cir:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 2px; }
.rst-shtabs { display: flex; justify-content: center; gap: 4px; }
.rst-shtabs .rst-tab { position: relative; display: inline-flex; align-items: center; height: 48px; padding: 0 12px; border: 0; border-radius: 14px; background: none; color: var(--rst-muted); font-size: 15px; font-weight: 500; gap: 8px; cursor: pointer; transition: color .15s, background .15s; }
.rst-shtabs .rst-tab .rst-ti { width: 32px; height: 32px; border-radius: 10px; }
.rst-shtabs .rst-tab[aria-selected="true"] { color: var(--rst-ink); font-weight: 600; }
.rst-shtabs .rst-tab:hover { color: var(--rst-ink); }
.rst-shtabs .rst-tab::after { left: 12px; right: 12px; }
.rst-shbody { flex: 1; overflow-y: auto; padding: 10px 12px 16px; display: grid; align-content: start; gap: 12px; }
.rst-mc { background: #fff; border-radius: 24px; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 14px rgba(23, 20, 43, .08); }
.rst-mc + .rst-mc { margin-top: 12px; }
.rst-mcc { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 58px; padding: 0 20px; border: 0; border-radius: 24px; background: none; font-size: 14px; cursor: pointer; text-align: left; transition: background .15s; }
.rst-mcc span { color: var(--rst-muted); }
.rst-mcc b { font-weight: 600; max-width: 62%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rst-mcc:hover { background: var(--rst-row); }
.rst-mcc:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: -2px; }
.rst-mcx { padding: 20px 16px 10px; }
.rst-mcx h2 { margin: 0 4px 14px; font: 600 22px/1.2 Poppins, Inter, sans-serif; color: var(--rst-ink); }
.rst-mfield { position: relative; display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 14px; border: 1px solid #d6d3dd; border-radius: 14px; color: var(--rst-muted); transition: border-color .15s, box-shadow .15s; }
.rst-mfield:hover { border-color: var(--rst-muted); }
.rst-mfield:focus-within { border-color: var(--rst-ink); box-shadow: 0 0 0 1px var(--rst-ink); }
.rst-mfield input { flex: 1; min-width: 0; height: auto; margin: 0; padding: 0; border: 0; outline: 0; background: none; box-shadow: none; font: inherit; font-size: 16px; color: var(--rst-ink); caret-color: var(--rst-brand); -webkit-appearance: none; appearance: none; }
.rst-mfield input::placeholder { color: var(--rst-muted); }
/* The site keyboard ring (.wm input:focus-visible in wholesale-market.css) outweighs the field rules above; the field's own ink border is the focus mark, as in the mockup. */
:is(.rst, .rst-sheet) :is(.rst-mfield, .rst-sfield, .rst-seg) input:focus-visible { outline: 0; }
.rst-mfield input::-webkit-search-cancel-button { display: none; }
.rst-mfield .rst-x { display: none; place-items: center; width: 22px; height: 22px; border: 0; padding: 0; border-radius: 50%; background: #e6e3ea; cursor: pointer; }
.rst-mfield:has(input:not(:placeholder-shown)) .rst-x { display: grid; }
.rst-mfield .rst-x:hover { background: #dcd8e2; }
.rst-mfield .rst-x:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 1px; }
.rst-mlist { margin: 10px -4px 0; }
.rst-mlist .rst-r { padding: 8px 8px; gap: 12px; font-size: 14px; }
.rst-mlist .rst-r .rst-ic, .rst-mlist .rst-bridge .rst-ic { width: 36px; height: 36px; }
.rst-mlist .rst-cap { padding: 10px 8px 8px; font-size: 10.5px; }
.rst-mlist .rst-cols, .rst-mlist .rst-grid2 { grid-template-columns: 1fr; }
.rst-mlist .rst-cols > div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--rst-line); margin-top: 6px; padding-top: 4px; }
.rst-mlist .rst-cols > div:first-child { padding-right: 0; }
.rst-mlist .rst-covs { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 8px 6px; }
.rst-mlist .rst-lstrip { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 8px 4px; }
.rst-mlist .rst-bridge, .rst-mlist .rst-foot { padding: 10px 8px; font-size: 14px; }
.rst-mlist .rst-bridge::before { left: 8px; right: 8px; }
.rst-mlist .rst-more { margin-left: 8px; }
.rst-mlist .rst-cap .rst-more { margin-left: 0; }
.rst-mlist .rst-chips { padding: 2px 8px 8px; }
.rst-mlist .rst-r.rst-opt, .rst-mlist .rst-r.rst-chk { padding: 10px 40px 10px 8px; }
.rst-mlist .rst-r.rst-chk { padding-right: 8px; }
.rst-mlist .rst-empty { padding: 4px 8px 8px; }
.rst-mlist .rst-sfield { margin: 0 8px 8px; }
.rst-shfoot { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; background: #fff; border-top: 1px solid var(--rst-line); }
.rst-clr { padding: 8px 4px; border: 0; background: none; font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; border-radius: 8px; color: var(--rst-ink); }
.rst-clr:hover { background: var(--rst-row); }
.rst-clr:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 2px; }
.rst-mgo2 { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 22px; border: 0; border-radius: 12px; background: var(--rst-brand); color: #fff !important; font-size: 16px; font-weight: 600; cursor: pointer; transition: filter .15s; }
.rst-mgo2:hover { filter: brightness(.88); }
.rst-mgo2:focus-visible { outline: 2px solid var(--rst-brand); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .rst-hd, .rst-hd *, .rst-sheet, .rst-sheet *, .rst-scrim { transition: none !important; animation: none !important; }
  .rst-skel b, .rst-skel i, .rst-bridge .rst-spin svg { animation: none !important; }
}
