/**
 * Vistore experience layer.
 * Isolated from the legacy stylesheet so forms, filters and controls keep one
 * predictable final cascade across desktop and mobile.
 */

.vistore-theme [hidden] {
  display: none !important;
}

/* Nuru marketplace assistant */
.vistore-nuru {
  position: fixed;
  z-index: 1200;
  right: 22px;
  bottom: 22px;
  width: min(390px, calc(100vw - 28px));
  pointer-events: none;
  font-family: inherit;
}

.vistore-nuru > * { pointer-events: auto; }

.vistore-nuru__launcher {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  min-height: 58px;
  padding: 8px 15px 8px 8px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 19px;
  color: #fff;
  background: linear-gradient(135deg, #073f31 0%, #08775b 56%, #11966f 100%);
  box-shadow: 0 18px 45px rgba(5, 64, 48, .28), 0 5px 14px rgba(16,24,40,.15);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}

.vistore-nuru__launcher:hover,
.vistore-nuru__launcher:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 22px 50px rgba(5, 64, 48, .34), 0 6px 16px rgba(16,24,40,.18);
}

.vistore-nuru__launcher-icon,
.vistore-nuru__mark {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #073f31;
  background: linear-gradient(145deg, #f5d77c, #fff3bc);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}

.vistore-nuru__launcher-icon svg { width: 35px; height: 35px; }
.vistore-nuru__launcher-copy { display: grid; text-align: left; line-height: 1.15; }
.vistore-nuru__launcher-copy small { color: rgba(255,255,255,.7); font-size: 10px; font-weight: 700; }
.vistore-nuru__launcher-copy strong { margin-top: 3px; color: #fff; font-size: 13px; font-weight: 850; }
.vistore-nuru__launcher > i,
.vistore-nuru__mark > i { position: absolute; width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: #3bd671; }
.vistore-nuru__launcher > i { top: 7px; right: 7px; }
.vistore-nuru__mark > i { right: -2px; bottom: -2px; }

.vistore-nuru__panel {
  overflow: hidden;
  border: 1px solid rgba(7,63,49,.13);
  border-radius: 23px;
  color: #15231f;
  background: #fff;
  box-shadow: 0 28px 80px rgba(16,24,40,.23), 0 8px 24px rgba(7,63,49,.12);
  transform-origin: bottom right;
  animation: vistore-nuru-in .25s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes vistore-nuru-in {
  from { opacity: 0; transform: translateY(12px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.vistore-nuru__header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 72px;
  padding: 11px 12px 11px 14px;
  color: #fff;
  background:
    radial-gradient(circle at 78% -40%, rgba(244,208,105,.5), transparent 50%),
    linear-gradient(120deg, #073f31, #08684f 72%, #0e8060);
}

.vistore-nuru__mark { width: 43px; height: 43px; }
.vistore-nuru__mark svg { width: 36px; height: 36px; }
.vistore-nuru__header > div { display: grid; min-width: 0; }
.vistore-nuru__header strong { font-size: 16px; font-weight: 900; letter-spacing: -.02em; }
.vistore-nuru__header small { margin-top: 2px; color: rgba(255,255,255,.67); font-size: 10.5px; font-weight: 650; }
.vistore-nuru__header > button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-left: auto;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: rgba(255,255,255,.1);
  cursor: pointer;
}
.vistore-nuru__header > button:hover { background: rgba(255,255,255,.18); }
.vistore-nuru__header > button svg { width: 18px; }

.vistore-nuru__messages {
  min-height: 252px;
  max-height: min(480px, calc(100dvh - 245px));
  overflow-y: auto;
  padding: 15px 13px;
  overscroll-behavior: contain;
  background:
    linear-gradient(rgba(255,255,255,.92), rgba(255,255,255,.96)),
    radial-gradient(circle at 10% 10%, #e7f8f1, transparent 45%),
    linear-gradient(135deg, #fffaf0, #f4fbf7);
}

.vistore-nuru__message { display: flex; align-items: flex-end; gap: 7px; margin-bottom: 11px; }
.vistore-nuru__message > span {
  display: grid;
  flex: 0 0 27px;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 9px;
  color: #fff;
  background: #08775b;
  font-size: 11px;
  font-weight: 900;
}
.vistore-nuru__message > span svg { width: 24px; height: 24px; }
.vistore-nuru__message > div { min-width: 0; max-width: calc(100% - 34px); }
.vistore-nuru__message p {
  margin: 0;
  padding: 10px 12px;
  border-radius: 15px 15px 15px 5px;
  color: #263a34;
  background: #edf7f3;
  font-size: 12.5px;
  line-height: 1.55;
  white-space: pre-line;
}
.vistore-nuru__message--user { justify-content: flex-end; }
.vistore-nuru__message--user > div { max-width: 82%; }
.vistore-nuru__message--user p { border-radius: 15px 15px 5px 15px; color: #fff; background: #123c32; }
.vistore-nuru__message.is-loading p { color: #587068; animation: vistore-nuru-pulse 1.1s ease-in-out infinite; }
@keyframes vistore-nuru-pulse { 50% { opacity: .55; } }

.vistore-nuru-bot { overflow: visible; fill: none; stroke: #075f49; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.vistore-nuru-bot__head { fill: #fff4c9; stroke: #075f49; }
.vistore-nuru-bot__screen { fill: #075f49; stroke: none; }
.vistore-nuru-bot__eyes { fill: #f9d875; stroke: none; transform-box: fill-box; transform-origin: center; animation: vistore-nuru-blink 4.8s ease-in-out infinite; }
.vistore-nuru-bot__smile { stroke: #f9d875; stroke-width: 1.7; }
.vistore-nuru-bot__shine { fill: #fff; stroke: none; opacity: .9; }
.vistore-nuru-bot__antenna circle { fill: #f3c84f; stroke: #075f49; animation: vistore-nuru-signal 1.8s ease-out infinite; transform-box: fill-box; transform-origin: center; }
.vistore-nuru__launcher .vistore-nuru-bot { animation: vistore-nuru-float 2.8s ease-in-out infinite; }
@keyframes vistore-nuru-blink { 0%, 43%, 47%, 100% { transform: scaleY(1); } 45% { transform: scaleY(.12); } }
@keyframes vistore-nuru-signal { 0%, 45% { transform: scale(1); } 65% { transform: scale(1.45); } 82%, 100% { transform: scale(1); } }
@keyframes vistore-nuru-float { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(1.5deg); } }

.vistore-nuru__prompts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 4px 0 2px 34px; }
.vistore-nuru__prompts button {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 43px;
  padding: 8px 9px;
  border: 1px solid #dbe9e3;
  border-radius: 12px;
  color: #21483d;
  background: #fff;
  font-size: 10.5px;
  font-weight: 760;
  text-align: left;
  cursor: pointer;
}
.vistore-nuru__prompts button:hover { border-color: #7cc6ad; background: #f3fbf8; }
.vistore-nuru__prompts svg { flex: 0 0 auto; width: 16px; color: #08775b; }

.vistore-nuru__results { display: grid; gap: 6px; margin-top: 8px; }
.vistore-nuru__understood { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.vistore-nuru__understood span { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 7px; border-radius: 8px; color: #315b4f; background: #fff; box-shadow: inset 0 0 0 1px #cde2da; font-size: 8.5px; font-weight: 800; text-transform: capitalize; }
.vistore-nuru__understood span[data-kind="location"]::before { content: ""; width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; background: #e0a82f; }
.vistore-nuru__understood span[data-kind="price"] { color: #8a5b08; background: #fff8e7; box-shadow: inset 0 0 0 1px #edd59d; text-transform: none; }
.vistore-nuru__result-card { overflow: hidden; border: 1px solid #e1ebe7; border-radius: 11px; background: #fff; }
.vistore-nuru__result {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 6px;
  border: 0;
  border-radius: 0;
  color: #162a24;
  background: #fff;
  text-decoration: none;
}
.vistore-nuru__result-card:hover { border-color: #7cc6ad; box-shadow: 0 5px 14px rgba(7,63,49,.08); }
.vistore-nuru__result img,
.vistore-nuru__result-placeholder { width: 44px; height: 44px; border-radius: 9px; object-fit: cover; background: #e8f5ef; }
.vistore-nuru__result-placeholder { display: grid; place-items: center; color: #08775b; font-weight: 900; }
.vistore-nuru__result > span:nth-child(2) { display: grid; min-width: 0; }
.vistore-nuru__result strong { overflow: hidden; color: #17251f; font-size: 11px; font-weight: 820; text-overflow: ellipsis; white-space: nowrap; }
.vistore-nuru__result small { overflow: hidden; margin-top: 3px; color: #6a7d76; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.vistore-nuru__result b { padding: 5px 7px; border-radius: 8px; color: #08775b; background: #eaf7f2; font-size: 9px; }
.vistore-nuru__contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 38px;
  margin-top: 9px;
  padding: 8px 11px;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(120deg, #08775b, #0d8f69);
  font-size: 10.5px;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}
.vistore-nuru__contact:hover { color: #fff; background: #075f49; }
.vistore-nuru__contact--compact { min-height: 31px; margin: 0; border-top: 1px solid #e5efeb; border-radius: 0; color: #08775b; background: #f4faf7; font-size: 9.5px; }
.vistore-nuru__contact--compact:hover { color: #064d3c; background: #e9f7f1; }

.vistore-nuru__actions,
.vistore-nuru__followups { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.vistore-nuru__actions a,
.vistore-nuru__followups button {
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid #b8d9cc;
  border-radius: 9px;
  color: #08684f;
  background: #fff;
  font-size: 9.5px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.vistore-nuru__followups { margin: 0 0 10px 34px; }
.vistore-nuru__followups button { position: relative; width: 100%; min-height: 35px; padding: 8px 28px 8px 10px; border-color: #c6ddd5; border-radius: 11px; color: #174e3f; background: linear-gradient(100deg, #fff, #f6fbf9); text-align: left; }
.vistore-nuru__followups button::after { content: ""; position: absolute; top: 50%; right: 13px; width: 6px; height: 6px; border-top: 2px solid #0a7a5b; border-right: 2px solid #0a7a5b; transform: translateY(-50%) rotate(45deg); }
.vistore-nuru__followups button:hover { border-color: #65b497; transform: translateX(2px); }

.vistore-nuru__composer {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 10px 11px 8px;
  border-top: 1px solid #e6eeeb;
  background: #fff;
}
.vistore-nuru__composer textarea {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 42px;
  max-height: 96px;
  resize: none;
  padding: 11px 12px;
  border: 1px solid #d5e4de;
  border-radius: 13px;
  outline: 0;
  color: #17251f;
  background: #f8fbfa;
  font: inherit;
  font-size: 12px;
  line-height: 1.45;
}
.vistore-nuru__composer textarea:focus { border-color: #2c9c78; box-shadow: 0 0 0 3px rgba(44,156,120,.12); background: #fff; }
.vistore-nuru__composer > button {
  display: grid;
  flex: 0 0 42px;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: #08775b;
  cursor: pointer;
}
.vistore-nuru__composer > button:disabled { opacity: .45; cursor: wait; }
.vistore-nuru__composer > button svg { width: 18px; }
.vistore-nuru__notice { margin: 0; padding: 0 13px 10px; color: #899891; background: #fff; font-size: 8.5px; text-align: center; }
.vistore-message-composer__draft-note { grid-column: 1 / -1; display: flex; align-items: center; gap: 7px; margin: 0; padding: 8px 10px; border-radius: 10px; color: #075f49; background: #eaf7f2; font-size: 10px; font-weight: 750; }
.vistore-message-composer__draft-note svg { width: 15px; height: 15px; }

/* Keep the document itself as the desktop scroll container so the two-level
   navigation can remain visible without freezing the page content. */
@media (min-width: 721px) {
  html { overflow-x: clip; overflow-y: auto; }
  body.vistore-theme { overflow-x: clip; overflow-y: visible; }
  body.vistore-theme .vistore-header { position: sticky; top: 0; }
  body.vistore-theme .vistore-main-menu { position: sticky; top: var(--vs-header-height, 72px); }
}

@media (max-width: 720px) {
  .vistore-nuru { right: 9px; bottom: calc(78px + env(safe-area-inset-bottom)); width: calc(100vw - 18px); }
  .page-item .vistore-nuru,
  .vistore-item-detail .vistore-nuru { bottom: calc(79px + env(safe-area-inset-bottom)); }
  .vistore-nuru__launcher { min-height: 52px; border-radius: 17px; padding: 6px 12px 6px 6px; }
  .vistore-nuru__launcher-icon { width: 40px; height: 40px; border-radius: 12px; }
  .vistore-nuru__launcher-copy small { display: none; }
  .vistore-nuru__panel { border-radius: 20px; }
  .vistore-nuru__messages { min-height: 230px; max-height: calc(100dvh - 285px); }
}

@media (max-width: 390px) {
  .vistore-nuru__prompts { grid-template-columns: 1fr; }
  .vistore-nuru__messages { padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .vistore-nuru__panel { animation: none; }
  .vistore-nuru__message.is-loading p { animation: none; }
  .vistore-nuru-bot,
  .vistore-nuru-bot__eyes,
  .vistore-nuru-bot__antenna circle { animation: none !important; }
}

/* Mobile navigation and messaging are defined once at the end of this layer. */

/* Dedicated marketplace spaces. Attribute Studio remains the field owner. */
.vistore-primary-links--spaces .vistore-primary-links__rail {
    gap: 8px;
    min-height: 48px;
}

.vistore-primary-links--spaces a {
    flex: 0 0 auto;
}

.vistore-primary-links__space {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 10px;
    color: var(--vs-text);
    font-size: 12px;
    font-weight: 800;
}

.vistore-primary-links__space svg,
.vistore-primary-links__more svg {
    width: 17px;
    height: 17px;
}

.vistore-primary-links__space--jobs svg { color: var(--vs-purple-strong); }
.vistore-primary-links__space--vehicles svg { color: #087f72; }
.vistore-primary-links__space--real_estate svg { color: var(--vs-warning-strong); }
.vistore-primary-links__space:hover { background: var(--vs-fill); color: var(--vs-ink); }

.vistore-section--spaces {
    padding-top: 18px;
}

.vistore-space-spotlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.vistore-space-spotlight {
    --card-accent: #155eef;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--vs-line);
    border-radius: 20px;
    background: var(--vs-surface);
}

.vistore-space-spotlight--jobs { --card-accent: #6d28d9; }
.vistore-space-spotlight--vehicles { --card-accent: #087f72; }
.vistore-space-spotlight--real_estate { --card-accent: #b54708; }

.vistore-space-spotlight__head {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 20px;
    gap: 11px;
    align-items: start;
    padding: 17px 16px 13px;
    color: var(--vs-ink);
    background: linear-gradient(145deg, color-mix(in srgb, var(--card-accent) 9%, white), var(--vs-surface) 68%);
}

.vistore-space-spotlight__head > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    color: #fff;
    background: var(--card-accent);
}

.vistore-space-spotlight__head > span svg { width: 22px; height: 22px; }
.vistore-space-spotlight__head > svg { width: 18px; color: var(--card-accent); }
.vistore-space-spotlight__head small { color: var(--card-accent); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.vistore-space-spotlight__head h3 { margin: 2px 0 4px; font-size: 20px; line-height: 1.08; }
.vistore-space-spotlight__head p { margin: 0; color: var(--vs-muted); font-size: 11.5px; line-height: 1.4; }

.vistore-space-spotlight__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    padding: 0 12px 12px;
}

.vistore-space-spotlight__items a { min-width: 0; color: var(--vs-text); font-size: 10px; font-weight: 700; }
.vistore-space-spotlight__items img { width: 100%; aspect-ratio: 1.15; object-fit: cover; border-radius: 10px; background: var(--vs-fill); }
.vistore-space-spotlight__items span { display: block; padding-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vistore-space-spotlight__cta { display: flex; align-items: center; justify-content: space-between; padding: 11px 15px; border-top: 1px solid var(--vs-line); color: var(--card-accent); font-size: 11.5px; font-weight: 900; }
.vistore-space-spotlight__cta svg { width: 16px; }

.vistore-space-page {
    --space-color: #155eef;
    background: var(--vs-bg);
    min-height: 70vh;
}

.vistore-space-hero {
    padding: 34px 0 30px;
    color: #fff;
    background: radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--space-color) 58%, white), transparent 25%), linear-gradient(135deg, #101828, color-mix(in srgb, var(--space-color) 68%, #101828));
}

.vistore-space-hero__inner {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(480px, 1.2fr);
    gap: 34px;
    align-items: center;
}

.vistore-space-hero__copy { max-width: 500px; }
.vistore-space-hero__icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 16px; border-radius: 14px; color: var(--space-color); background: var(--vs-surface); }
.vistore-space-hero__icon svg { width: 25px; height: 25px; }
.vistore-space-hero .vistore-eyebrow { color: rgba(255,255,255,.72); }
.vistore-space-hero h1 { margin: 6px 0 10px; max-width: 590px; color: #fff; font-size: clamp(31px, 4vw, 50px); line-height: 1.02; letter-spacing: -.045em; }
.vistore-space-hero__copy > p { margin: 0; max-width: 510px; color: rgba(255,255,255,.75); font-size: 15px; line-height: 1.55; }
.vistore-space-hero__actions { display: flex; align-items: center; gap: 16px; margin-top: 20px; }
.vistore-space-hero__actions > a:not(.vistore-button) { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-size: 12px; font-weight: 800; }
.vistore-space-hero__actions svg { width: 17px; }

.vistore-space-search {
    padding: 18px;
    color: var(--vs-ink);
    border-radius: 22px;
    background: var(--vs-surface);
    box-shadow: 0 20px 55px rgba(16,24,40,.22);
}

.vistore-space-search__primary {
    display: grid;
    grid-template-columns: 1fr .72fr auto;
    gap: 9px;
    align-items: end;
}

.vistore-space-search label > span { display: block; margin-bottom: 6px; color: var(--vs-text); font-size: 10px; font-weight: 900; }
.vistore-space-search__primary label > div { display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 12px; border: 1px solid var(--vs-line-strong); border-radius: 12px; background: var(--vs-surface); }
.vistore-space-search__primary label svg { flex: 0 0 auto; width: 18px; color: var(--space-color); }
.vistore-space-search input,
.vistore-space-search select { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; }
.vistore-space-search__primary .vistore-button { min-height: 46px; padding-inline: 18px; background: var(--space-color); }

.vistore-space-search__filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid var(--vs-line);
}

.vistore-space-filter > input,
.vistore-space-filter > select,
.vistore-space-filter__range input {
    min-height: 39px;
    padding: 0 10px;
    border: 1px solid var(--vs-line);
    border-radius: 10px;
    background: var(--vs-surface-subtle);
    font-size: 11px;
}

.vistore-space-filter__range { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.vistore-space-search__notice { grid-column: 1 / -1; display: flex; gap: 9px; align-items: center; padding: 10px 12px; border-radius: 10px; color: var(--vs-muted); background: var(--vs-surface-subtle); font-size: 11px; }
.vistore-space-search__notice svg { width: 18px; color: var(--space-color); }
.vistore-space-facets { grid-column: 1 / -1; display: grid; gap: 9px; }
.vistore-space-facets > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.vistore-space-facets strong { flex: 0 0 90px; color: rgba(255,255,255,.72); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.vistore-space-facets > div > span { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.vistore-space-facets a { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 5px 9px; border-radius: 10px; color: #fff; background: rgba(255,255,255,.1); font-size: 11px; font-weight: 800; }
.vistore-space-facets a:hover { background: rgba(255,255,255,.18); }
.vistore-space-facets small { color: rgba(255,255,255,.62); font-size: 9px; }

.vistore-space-content { padding-top: 30px; padding-bottom: 50px; }
.vistore-space-block + .vistore-space-block { margin-top: 34px; }
.vistore-space-categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.vistore-space-categories > a { display: grid; grid-template-columns: 50px minmax(0, 1fr) 18px; gap: 11px; align-items: center; min-width: 0; padding: 11px; border: 1px solid var(--vs-line); border-radius: 16px; color: var(--vs-ink); background: var(--vs-surface); }
.vistore-space-categories > a:hover { border-color: color-mix(in srgb, var(--space-color) 40%, var(--vs-line)); box-shadow: 0 8px 25px rgba(16,24,40,.07); }
.vistore-space-categories > a > span { width: 50px; height: 50px; }
.vistore-space-categories > a > span img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; }
.vistore-space-categories strong,
.vistore-space-categories small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vistore-space-categories strong { font-size: 13px; }
.vistore-space-categories small { margin-top: 3px; color: var(--vs-muted); font-size: 10.5px; }
.vistore-space-categories > a > svg { width: 17px; color: var(--space-color); }

.vistore-space-listings { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.vistore-space-card { min-width: 0; }
.vistore-space-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 1.32; border-radius: 16px; background: var(--vs-line); }
.vistore-space-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.vistore-space-card:hover img { transform: scale(1.025); }
.vistore-space-card__media strong { position: absolute; right: 8px; bottom: 8px; padding: 6px 9px; border-radius: 9px; color: #fff; background: rgba(16,24,40,.84); font-size: 13px; backdrop-filter: blur(8px); }
.vistore-space-card > div { padding: 9px 2px 0; }
.vistore-space-card h3 { margin: 0 0 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.vistore-space-card h3 a { color: var(--vs-ink); }
.vistore-space-card > div > span { display: flex; align-items: center; gap: 4px; color: var(--vs-muted); font-size: 10.5px; }
.vistore-space-card > div > span svg { width: 13px; color: var(--space-color); }

@media (max-width: 900px) {
    .vistore-space-spotlights { grid-template-columns: 1fr; }
    .vistore-space-hero__inner { grid-template-columns: 1fr; gap: 24px; }
    .vistore-space-hero__copy { max-width: 650px; }
    .vistore-space-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vistore-space-listings { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .vistore-primary-links--spaces .vistore-primary-links__rail { overflow-x: auto; scrollbar-width: none; }
    .vistore-primary-links--spaces .vistore-primary-links__rail::-webkit-scrollbar { display: none; }
    .vistore-primary-links__space { min-height: 32px; padding: 6px 9px; font-size: 10.5px; }
    .vistore-primary-links__more { margin-left: 0; }
    .vistore-section--spaces { padding-top: 10px; }
    .vistore-space-spotlight__head { grid-template-columns: 42px minmax(0, 1fr) 18px; padding: 14px; }
    .vistore-space-spotlight__head h3 { font-size: 18px; }
    .vistore-space-hero { padding: 24px 0 20px; }
    .vistore-space-hero h1 { font-size: 31px; }
    .vistore-space-hero__copy > p { font-size: 13px; }
    .vistore-space-search { padding: 12px; border-radius: 17px; }
    .vistore-space-search__primary { grid-template-columns: 1fr; }
    .vistore-space-facets > div { align-items: flex-start; flex-direction: column; gap: 6px; }
    .vistore-space-facets strong { flex-basis: auto; }
    .vistore-space-search__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vistore-space-search__primary .vistore-button { width: 100%; }
    .vistore-space-content { padding-top: 22px; }
    .vistore-space-categories { grid-template-columns: 1fr 1fr; gap: 8px; }
    .vistore-space-categories > a { grid-template-columns: 42px minmax(0, 1fr); padding: 8px; }
    .vistore-space-categories > a > span { width: 42px; height: 42px; }
    .vistore-space-categories > a > svg { display: none; }
    .vistore-space-listings { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 9px; }
    .vistore-space-card__media { border-radius: 13px; }
}

/* Premium project spaces 1.0.46. The home and global header stay uncluttered. */
.vistore-space-page--jobs { --space-color: #1f4f8f !important; --space-deep: #102e54; --space-soft: #e4f0ff; }
.vistore-space-page--vehicles { --space-color: #245a20 !important; --space-deep: #123b20; --space-soft: #e5f2df; }
.vistore-space-page--real_estate { --space-color: #8a6800 !important; --space-deep: #493700; --space-soft: var(--vs-warning-soft); }

.vistore-space-switcher {
    position: sticky;
    top: var(--vistore-header-height, 72px);
    z-index: 18;
    padding: 9px 0;
    border-bottom: 1px solid var(--vs-line);
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(16px);
}

.vistore-space-switcher .vistore-container {
    display: flex;
    justify-content: center;
    gap: 6px;
}

.vistore-space-switcher a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 126px;
    min-height: 38px;
    padding: 7px 14px;
    border: 1px solid var(--vs-line);
    border-radius: 6px;
    color: var(--vs-text);
    background: var(--vs-surface);
    font-size: 12px;
    font-weight: 850;
}

.vistore-space-switcher a:hover { color: var(--vs-ink); border-color: var(--vs-soft); }
.vistore-space-switcher a.is-active { color: #fff; border-color: var(--space-color); background: var(--space-color); }
.vistore-space-switcher svg { width: 17px; height: 17px; }

.vistore-space-page .vistore-space-hero {
    padding: 38px 0 34px;
    background:
        radial-gradient(circle at 92% 8%, rgba(255,255,255,.16), transparent 26%),
        linear-gradient(128deg, var(--space-deep), var(--space-color));
}

.vistore-space-page .vistore-space-hero__inner {
    grid-template-columns: minmax(280px, .9fr) minmax(520px, 1.1fr);
    gap: clamp(28px, 5vw, 68px);
}

.vistore-space-page .vistore-space-hero__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.vistore-space-page .vistore-space-hero__meta .vistore-space-hero__icon {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    margin: 0;
    border-radius: 6px;
}

.vistore-space-page .vistore-space-hero__meta .vistore-eyebrow { margin: 0; }
.vistore-space-page .vistore-space-hero__meta strong {
    margin-left: auto;
    padding: 5px 8px;
    border-radius: 6px;
    color: #fff;
    background: rgba(255,255,255,.12);
    font-size: 10px;
}

.vistore-space-page .vistore-space-hero h1 {
    max-width: 620px;
    margin: 0 0 12px;
    font-size: clamp(34px, 4vw, 54px);
}

.vistore-space-page .vistore-space-hero__actions .vistore-button--primary {
    color: var(--space-deep);
    background: var(--vs-surface);
}

.vistore-space-page .vistore-space-search {
    padding: 20px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 6px;
    box-shadow: 0 24px 64px rgba(3,15,28,.25);
}

.vistore-space-search__heading { margin-bottom: 16px; }
.vistore-space-search__heading strong { display: block; color: var(--vs-ink); font-size: 18px; }
.vistore-space-search__heading span { display: block; margin-top: 3px; color: var(--vs-muted); font-size: 11px; }
.vistore-space-page .vistore-space-search__primary label > div,
.vistore-space-page .vistore-space-filter > input,
.vistore-space-page .vistore-space-filter > select,
.vistore-space-page .vistore-space-filter__range input { border-radius: 6px; }
.vistore-space-page .vistore-space-search__primary .vistore-button { border-radius: 6px; background: var(--space-color); }

.vistore-space-page .vistore-space-facets { margin-top: 16px; }
.vistore-space-page .vistore-space-facets a { border-radius: 6px; }
.vistore-space-page .vistore-space-content { padding-top: 38px; }
.vistore-space-page .vistore-section-heading p { margin: 5px 0 0; color: var(--vs-muted); font-size: 12px; }
.vistore-space-page .vistore-space-categories { gap: 8px; }
.vistore-space-page .vistore-space-categories > a {
    min-height: 82px;
    border-radius: 6px;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.vistore-space-page .vistore-space-categories > a:hover { transform: translateY(-2px); }
.vistore-space-page .vistore-space-categories > a > span img { border-radius: 6px; }
.vistore-space-page .vistore-space-card__media { border-radius: 6px; }
.vistore-space-page .vistore-space-card__media strong { border-radius: 6px; background: var(--space-deep); }

@media (max-width: 900px) {
    .vistore-space-page .vistore-space-hero__inner { grid-template-columns: 1fr; }
    .vistore-space-page .vistore-space-hero__copy { max-width: 700px; }
}

@media (max-width: 620px) {
    .vistore-space-switcher { top: var(--vistore-header-height-mobile, 60px); padding: 7px 0; }
    .vistore-space-switcher .vistore-container { justify-content: stretch; gap: 4px; padding-inline: 8px; }
    .vistore-space-switcher a { flex: 1 1 0; min-width: 0; min-height: 36px; padding: 6px 5px; font-size: 10.5px; }
    .vistore-space-switcher a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .vistore-space-page .vistore-space-hero { padding: 24px 0 22px; }
    .vistore-space-page .vistore-space-hero__meta { margin-bottom: 15px; }
    .vistore-space-page .vistore-space-hero__meta strong { display: none; }
    .vistore-space-page .vistore-space-hero h1 { font-size: 32px; }
    .vistore-space-page .vistore-space-search { padding: 14px; border-radius: 6px; }
    .vistore-space-page .vistore-space-search__filters { grid-template-columns: 1fr 1fr; }
    .vistore-space-page .vistore-space-content { padding-top: 24px; }
    .vistore-space-page .vistore-space-categories > a { min-height: 68px; }
}

.vistore-theme :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(21, 94, 239, .22);
  outline-offset: 2px;
}

.vistore-button,
.vistore-theme button:not(.vistore-card__image-link) {
  -webkit-tap-highlight-color: transparent;
}

.vistore-button {
  position: relative;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}

.vistore-button:hover {
  transform: translateY(-1px);
}

.vistore-button--primary:hover {
  box-shadow: 0 9px 22px rgba(21, 94, 239, .22);
}

.vistore-button.is-loading {
  pointer-events: none;
  opacity: .72;
}

/* Publishing and editing: one real step at a time. */
.vistore-publish-page {
  max-width: min(var(--vs-container), 1120px);
  padding-bottom: 52px;
}

.vistore-publish-header {
  overflow: hidden;
  margin: 14px 0 22px;
  border: 1px solid var(--vs-primary-soft);
  border-radius: 22px;
  padding: clamp(20px, 3vw, 32px);
  background:
    radial-gradient(circle at 92% 5%, rgba(21, 94, 239, .12), transparent 34%),
    linear-gradient(135deg, #fff, var(--vs-primary-soft));
}

.vistore-publish-header h1 {
  max-width: 760px;
  margin: 5px 0 7px;
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.vistore-publish-header p {
  max-width: 660px;
  font-size: 13px;
}

.vistore-publish-layout {
  grid-template-columns: 238px minmax(0, 1fr);
  gap: 22px;
}

.vistore-publish-steps {
  top: calc(var(--vs-header-height) + 24px);
  overflow: hidden;
  border-color: var(--vs-line-strong);
  border-radius: 18px;
  padding: 9px;
  gap: 3px;
  box-shadow: 0 12px 34px rgba(16, 24, 40, .07);
}

.vistore-publish-steps__summary {
  margin: 2px 3px 9px;
  border-bottom: 1px solid var(--vs-line-soft);
  padding: 8px 6px 13px;
  display: grid;
  gap: 8px;
  color: var(--vs-muted);
  font-size: 11px;
  font-weight: 750;
}

.vistore-publish-steps__summary > b {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2f8;
}

.vistore-publish-steps__summary i {
  width: 16.666%;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--vs-primary), #4b8cff);
  transition: width .25s ease;
}

.vistore-publish-steps button {
  width: 100%;
  min-height: 58px;
  border: 0;
  border-radius: 12px;
  padding: 8px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 9px;
  color: var(--vs-text);
  text-align: left;
  background: transparent;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.vistore-publish-steps button:disabled {
  cursor: default;
  opacity: .54;
}

.vistore-publish-steps button > span {
  width: 34px;
  height: 34px;
  grid-row: 1 / 3;
  border: 1px solid #dbe4ef;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: var(--vs-muted);
  background: var(--vs-surface);
  font-size: 11px;
  font-weight: 850;
}

.vistore-publish-steps button strong {
  align-self: end;
  font-size: 12px;
  line-height: 1.2;
}

.vistore-publish-steps button small {
  align-self: start;
  overflow: hidden;
  color: var(--vs-soft);
  font-size: 9.5px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vistore-publish-steps button.is-active {
  color: #0b49bd;
  background: #eff5ff;
}

.vistore-publish-steps button.is-active > span {
  border-color: var(--vs-primary);
  color: #fff;
  background: var(--vs-primary);
  box-shadow: 0 6px 14px rgba(21, 94, 239, .22);
}

.vistore-publish-steps button.is-complete > span {
  border-color: #abefc6;
  color: var(--vs-success-strong);
  background: var(--vs-success-soft);
}

.vistore-publish-form {
  display: block;
}

.vistore-publish-section {
  min-height: 450px;
  border-color: #dfe5ed;
  border-radius: 20px;
  padding: clamp(19px, 3vw, 30px);
  box-shadow: 0 12px 36px rgba(16, 24, 40, .055);
}

.vistore-publish-section + .vistore-publish-section:not([hidden]) {
  min-height: 0;
  margin-top: 13px;
}

.vistore-publish-section > header {
  margin-bottom: 23px;
  border-bottom: 1px solid var(--vs-line-soft);
  padding-bottom: 18px;
}

.vistore-publish-section > header > span {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg, var(--vs-primary), #4a86ff);
  box-shadow: 0 7px 16px rgba(21, 94, 239, .2);
}

.vistore-publish-section > header h2 {
  font-size: 21px;
  letter-spacing: -.02em;
}

.vistore-publish-section > header p {
  max-width: 650px;
  font-size: 12px;
  line-height: 1.55;
}

.vistore-publish-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  border: 1px solid var(--vs-line-strong);
  border-radius: 12px;
  padding: 10px 12px;
  color: var(--vs-ink);
  background: var(--vs-surface);
  box-shadow: 0 1px 2px rgba(16, 24, 40, .035);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.vistore-publish-form textarea {
  min-height: 175px;
  resize: vertical;
}

.vistore-publish-form :where(input, select, textarea):focus {
  border-color: var(--vs-primary);
  background: var(--vs-surface);
  box-shadow: 0 0 0 4px rgba(21, 94, 239, .1);
  outline: 0;
}

.vistore-publish-form .vistore-field-invalid {
  border-color: var(--vs-danger) !important;
  box-shadow: 0 0 0 4px rgba(217, 45, 32, .09) !important;
}

.vistore-discount-editor {
  margin: 14px 0 0;
  border: 1px solid #c7ead8;
  border-radius: 14px;
  padding: 13px;
  background: linear-gradient(135deg, #f2fcf6, #fbfffc);
}

.vistore-discount-editor > legend {
  padding: 0 6px;
  color: #087443;
  font-size: 12px;
  font-weight: 850;
}

.vistore-discount-editor__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #123c29;
  font-size: 13px;
  font-weight: 780;
  cursor: pointer;
}

.vistore-discount-editor__toggle input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  accent-color: #079455;
}

.vistore-discount-editor__fields {
  margin-top: 12px;
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(0, 1fr);
  align-items: end;
  gap: 12px;
}

.vistore-discount-editor__fields[hidden] {
  display: none;
}

.vistore-discount-editor__fields > label {
  display: grid;
  gap: 6px;
}

.vistore-discount-editor__fields > label > span {
  color: #26513b;
  font-size: 11px;
  font-weight: 760;
}

.vistore-discount-editor__copy {
  min-height: 48px;
  display: grid;
  align-content: center;
  gap: 3px;
}

.vistore-discount-editor__copy small {
  color: #517262;
  font-size: 10.5px;
  line-height: 1.4;
}

.vistore-discount-editor__copy strong {
  color: #067647;
  font-size: 12px;
}

.vistore-step-tip,
.vistore-filter-category-hint,
.vistore-search-recovery {
  border: 1px solid var(--vs-primary-soft);
  border-radius: 13px;
  padding: 11px 12px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--vs-text);
  background: var(--vs-primary-soft);
}

.vistore-step-tip {
  margin-top: 18px;
}

.vistore-step-tip > .vistore-icon,
.vistore-filter-category-hint > .vistore-icon,
.vistore-search-recovery > .vistore-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: var(--vs-primary);
}

.vistore-step-tip p,
.vistore-filter-category-hint p,
.vistore-search-recovery p {
  margin: 0;
  display: grid;
  gap: 2px;
  font-size: 11px;
  line-height: 1.4;
}

.vistore-step-tip p span,
.vistore-filter-category-hint p span,
.vistore-search-recovery p span {
  color: var(--vs-muted);
}

.vistore-photo-uploader {
  min-height: 175px;
  border: 1.5px dashed #aebfd6;
  border-radius: 16px;
  padding: 18px;
  background: linear-gradient(180deg, var(--vs-surface-subtle), var(--vs-primary-soft));
}

.vistore-native-video-upload {
  margin-top: 15px;
  border-radius: 16px;
}

.vistore-publish-review__card {
  overflow: hidden;
  border: 1px solid var(--vs-line-strong);
  border-radius: 17px;
  display: grid;
  grid-template-columns: minmax(190px, .75fr) minmax(0, 1.25fr);
  background: var(--vs-surface);
  box-shadow: 0 8px 24px rgba(16, 24, 40, .055);
}

.vistore-publish-review__visual {
  min-height: 210px;
  padding: 22px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  color: var(--vs-muted);
  background: linear-gradient(145deg, var(--vs-primary-soft), var(--vs-primary-soft));
  text-align: center;
  font-size: 11px;
}

.vistore-publish-review__visual .vistore-icon {
  width: 36px;
  height: 36px;
  color: var(--vs-primary);
}

.vistore-publish-review__content {
  min-width: 0;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 9px;
}

.vistore-publish-review__content > span {
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--vs-primary-strong);
  background: var(--vs-primary-soft);
  font-size: 10px;
  font-weight: 780;
}

.vistore-publish-review__content h3 {
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  color: var(--vs-ink);
  font-size: 15px;
  line-height: 1.18;
  text-overflow: ellipsis;
}

.vistore-publish-review__content strong {
  color: var(--vs-primary);
  font-size: 20px;
}

.vistore-publish-review__content p {
  margin: 0;
  color: var(--vs-muted);
  font-size: 11px;
}

.vistore-publish-checklist {
  margin-top: 15px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.vistore-publish-checklist span {
  min-height: 52px;
  border: 1px solid var(--vs-line);
  border-radius: 12px;
  padding: 9px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--vs-text);
  background: var(--vs-surface-subtle);
  font-size: 10px;
  line-height: 1.35;
}

.vistore-publish-checklist .vistore-icon {
  width: 16px;
  flex: 0 0 16px;
  color: var(--vs-success);
}

.vistore-publish-actions {
  position: sticky;
  z-index: 35;
  bottom: 12px;
  margin-top: 14px;
  border: 1px solid rgba(215, 223, 234, .95);
  border-radius: 17px;
  padding: 10px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  color: var(--vs-text);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 15px 38px rgba(16, 24, 40, .13);
  backdrop-filter: blur(14px);
}

.vistore-publish-actions p {
  justify-self: center;
  display: grid;
  gap: 1px;
  text-align: center;
}

.vistore-publish-actions p strong {
  color: var(--vs-text);
  font-size: 11px;
}

.vistore-publish-actions p span {
  color: var(--vs-soft);
  font-size: 9px;
}

.vistore-publish-actions [data-vistore-step-previous] .vistore-icon {
  transform: rotate(180deg);
}

/* Search and category plugin filters. */
.vistore-search-layout {
  grid-template-columns: 292px minmax(0, 1fr);
  gap: 22px;
}

.vistore-search-sidebar {
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .065);
}

.vistore-search-sidebar__header {
  min-height: 60px;
  padding: 13px 16px;
  background: linear-gradient(180deg, var(--vs-surface), var(--vs-surface-subtle));
}

.vistore-search-sidebar__header h2 {
  font-size: 17px;
}

.vistore-filter-form {
  padding: 16px;
  gap: 16px;
}

.vistore-filter-group {
  min-width: 0;
  gap: 7px;
}

.vistore-filter-form :where(input, select, textarea) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 45px !important;
  border: 1px solid var(--vs-line-strong) !important;
  border-radius: 11px !important;
  padding: 9px 11px !important;
  color: var(--vs-ink) !important;
  background-color: var(--vs-surface) !important;
  font-size: 12px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .035) !important;
}

.vistore-filter-form :where(input, select, textarea):focus {
  border-color: var(--vs-primary) !important;
  box-shadow: 0 0 0 4px rgba(21, 94, 239, .1) !important;
  outline: 0 !important;
}

.vistore-filter-dynamic,
.vistore-filter-dynamic > *,
.vistore-filter-dynamic form,
.vistore-filter-dynamic fieldset {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.vistore-filter-dynamic {
  display: grid;
  gap: 12px;
}

.vistore-filter-dynamic :where(.row, .form-row, .control-row, .form-group-row) {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 11px !important;
}

.vistore-filter-dynamic :where(.control-group, .form-group, .field, label) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}

.vistore-filter-dynamic :where(.control-label, label) {
  display: grid !important;
  gap: 6px !important;
  color: var(--vs-text) !important;
  font-size: 11px !important;
  font-weight: 720 !important;
  line-height: 1.3 !important;
}

.vistore-filter-dynamic :where(.controls, .input-box) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}

.vistore-filter-category-hint {
  padding: 10px;
}

.vistore-search-recovery {
  margin-bottom: 13px;
}

.vistore-filter-form__actions {
  padding-top: 2px;
}

/* Language belongs to the footer, not the primary shopping actions. */
.vistore-footer-languages {
  margin-top: 17px;
  display: grid;
  gap: 8px;
}

.vistore-footer-languages > span {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #d0d5dd;
  font-size: 10px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.vistore-footer-languages > span .vistore-icon {
  width: 15px;
  height: 15px;
}

.vistore-footer-languages > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.vistore-footer-languages a {
  min-height: 34px;
  border: 1px solid var(--vs-text);
  border-radius: 9px;
  padding: 6px 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #d0d5dd;
  background: #1d2939;
  font-size: 10px;
  font-weight: 800;
}

.vistore-footer-languages a small {
  color: var(--vs-soft);
  font-size: 9px;
  font-weight: 600;
}

.vistore-footer-languages a.is-current {
  border-color: #84adff;
  color: #fff;
  background: #1849a9;
}

.vistore-footer-languages a.is-current small {
  color: #e4e7ec;
}

@media (max-width: 960px) {
  .vistore-publish-layout {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 15px;
  }

  .vistore-publish-steps button small {
    display: none;
  }

  .vistore-publish-steps button {
    min-height: 50px;
    grid-template-rows: 1fr;
  }
}

@media (max-width: 720px) {
  .vistore-publish-page {
    width: calc(100% - 18px);
    padding-top: 8px;
    padding-bottom: 102px;
  }

  .vistore-publish-page .vistore-breadcrumbs {
    display: none;
  }

  .vistore-publish-header {
    margin: 7px 0 10px;
    border-radius: 17px;
    padding: 16px;
  }

  .vistore-publish-header h1 {
    font-size: 23px;
  }

  .vistore-publish-header p {
    font-size: 10.5px;
    line-height: 1.45;
  }

  .vistore-publish-layout {
    display: block;
  }

  .vistore-publish-steps {
    position: sticky;
    z-index: 45;
    top: 4px;
    margin-bottom: 9px;
    border-radius: 15px;
    padding: 7px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 4px;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(12px);
  }

  .vistore-publish-steps__summary {
    grid-column: 1 / -1;
    margin: 0 2px 4px;
    border: 0;
    padding: 3px 2px 6px;
    gap: 5px;
    font-size: 9px;
  }

  .vistore-publish-steps button {
    min-height: 39px;
    padding: 2px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    place-items: center;
  }

  .vistore-publish-steps button > span {
    width: 31px;
    height: 31px;
    grid-row: auto;
    border-radius: 10px;
  }

  .vistore-publish-steps button strong,
  .vistore-publish-steps button small {
    display: none;
  }

  .vistore-publish-section {
    min-height: 0;
    border-radius: 16px;
    padding: 15px;
  }

  .vistore-publish-section > header {
    margin-bottom: 16px;
    padding-bottom: 13px;
    gap: 9px;
  }

  .vistore-publish-section > header > span {
    width: 37px;
    height: 37px;
    border-radius: 11px;
  }

  .vistore-publish-section > header h2 {
    font-size: 17px;
  }

  .vistore-publish-section > header p {
    font-size: 10px;
  }

  .vistore-publish-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
    min-height: 46px;
    border-radius: 11px;
    font-size: 16px;
  }

  .vistore-price-input,
  .vistore-form-grid,
  .vistore-form-grid--2 {
    grid-template-columns: 1fr;
  }

  .vistore-publish-review__card {
    grid-template-columns: 1fr;
  }

  .vistore-publish-review__visual {
    min-height: 130px;
  }

  .vistore-publish-review__content {
    padding: 17px;
  }

  .vistore-publish-checklist {
    grid-template-columns: 1fr;
  }

  .vistore-publish-security {
    margin-bottom: 88px;
    justify-content: flex-start;
  }

  .vistore-publish-actions {
    position: fixed;
    z-index: 320;
    right: 8px;
    bottom: calc(68px + env(safe-area-inset-bottom));
    left: 8px;
    margin: 0;
    border-radius: 15px;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 7px;
  }

  .vistore-publish-actions p {
    display: none;
  }

  .vistore-publish-actions [data-vistore-step-next],
  .vistore-publish-actions [data-vistore-publish-submit] {
    width: 100%;
  }

  .vistore-search-sidebar {
    max-height: min(91dvh, 820px);
    border-radius: 22px 22px 0 0;
  }

  .vistore-filter-form {
    overflow-x: hidden;
    padding: 13px 15px max(18px, env(safe-area-inset-bottom));
  }

  .vistore-filter-dynamic :where(.row, .form-row, .control-row, .form-group-row) {
    grid-template-columns: 1fr !important;
  }

  .vistore-filter-form__actions {
    margin: 0 -2px;
    padding: 10px 2px 2px;
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

/* Home mobile: do not leave a dead band after the premium rail. */
@media (max-width: 720px) {
  .vistore-section-heading > a {
    font-size: 10px;
  }

  .vistore-section-heading > a::before {
    content: none !important;
  }

  .vistore-section--premium {
    padding-bottom: 0 !important;
  }

  .vistore-section--premium .vistore-premium-carousel__all {
    display: none !important;
  }

  .vistore-section--premium .vistore-section-heading__cta--premium {
    display: inline-flex !important;
    min-height: 30px;
    margin: 0;
    padding: 5px 0 5px 8px;
    color: var(--vs-primary) !important;
    background: transparent !important;
    font-size: 10px;
    font-weight: 800;
  }

  .vistore-section--premium + .vistore-section--latest {
    padding-top: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vistore-button,
  .vistore-publish-steps button,
  .vistore-publish-steps__summary i {
    transition: none;
  }
}

/* Osclass keeps every locale field in the request, but the editor exposes only
   the active site language. This prevents duplicate FR/EN writing panels. */
[data-vistore-language-tabs] .tabbernav,
[data-vistore-language-tabs] .tabbertab:not(.tabbertab--site-locale) {
  display: none !important;
}

[data-vistore-language-tabs] .tabbertab--site-locale {
  display: block !important;
}

[data-vistore-language-tabs] .tabbertab--site-locale > h2 {
  display: none !important;
}

.vistore-category-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.vistore-category-picker > [hidden] {
  display: none !important;
}

/* Vistore 1.0.15 — unified commerce controls and readable type scale. */
.vistore-theme {
  --vs-control-height: 44px;
  --vs-control-radius: 12px;
  --vs-control-font: 13.5px;
}

.vistore-theme h1 { font-size: clamp(27px, 2.45vw, 33px); }
.vistore-theme h2 { font-size: clamp(21px, 1.9vw, 26px); }
.vistore-theme h3 { font-size: 15px; }

.vistore-button,
.vistore-theme .btn,
.vistore-theme .button,
.vistore-theme button.ui-button {
  isolation: isolate;
  min-height: var(--vs-control-height);
  border-radius: var(--vs-control-radius);
  padding: 10px 16px;
  gap: 8px;
  font-size: var(--vs-control-font);
  font-weight: 750;
  letter-spacing: -.01em;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  transition: transform .16s ease, color .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.vistore-button::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.18) 48%, transparent 76%);
  content: "";
  opacity: 0;
  transform: translateX(-32%);
  transition: opacity .18s ease, transform .28s ease;
  pointer-events: none;
}

.vistore-button > * { position: relative; z-index: 1; }

.vistore-button:hover::after { opacity: 1; transform: translateX(30%); }
.vistore-button:hover { transform: translateY(-2px); }
.vistore-button:active { transform: translateY(0) scale(.985); }
.vistore-button:disabled,
.vistore-button[aria-disabled="true"] {
  cursor: not-allowed;
  filter: saturate(.35);
  opacity: .55;
  transform: none;
  box-shadow: none;
}

.vistore-button .vistore-icon { width: 18px; height: 18px; flex-basis: 18px; }

.vistore-button--primary {
  border-color: color-mix(in srgb, var(--vs-primary) 82%, #081f55);
  background: linear-gradient(135deg, color-mix(in srgb, var(--vs-primary) 88%, var(--vs-surface)), var(--vs-primary) 52%, color-mix(in srgb, var(--vs-primary) 82%, #000));
  box-shadow: 0 7px 17px color-mix(in srgb, var(--vs-primary) 22%, transparent), inset 0 1px rgba(255,255,255,.18);
}

.vistore-button--primary:hover {
  border-color: color-mix(in srgb, var(--vs-primary) 72%, #000);
  background: linear-gradient(135deg, var(--vs-primary), color-mix(in srgb, var(--vs-primary) 78%, #000));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--vs-primary) 28%, transparent), inset 0 1px rgba(255,255,255,.16);
}

.vistore-button--outline {
  border-color: var(--vs-line-strong);
  color: #243047 !important;
  background: linear-gradient(var(--vs-surface), var(--vs-surface-subtle));
  box-shadow: 0 2px 6px rgba(16,24,40,.055);
}

.vistore-button--outline:hover {
  border-color: color-mix(in srgb, var(--vs-primary) 48%, var(--vs-line-strong));
  color: var(--vs-primary) !important;
  background: var(--vs-primary-soft);
  box-shadow: 0 7px 17px rgba(16,24,40,.08);
}

.vistore-button--ghost {
  border-color: transparent;
  color: #526075 !important;
  background: transparent;
  box-shadow: none;
}

.vistore-button--ghost:hover { color: var(--vs-primary) !important; background: var(--vs-primary-soft); }

.vistore-button--danger {
  border-color: #f2b8b4;
  color: var(--vs-danger-strong) !important;
  background: linear-gradient(var(--vs-danger-soft), var(--vs-danger-soft));
}

.vistore-button--danger:hover { border-color: #e98d87; background: var(--vs-danger-soft); }
.vistore-button--small { min-height: 36px; border-radius: 10px; padding: 7px 12px; font-size: 12.5px; }
.vistore-button--large { min-height: 52px; border-radius: 14px; padding: 13px 19px; font-size: 14.5px; }

/* Brand action: distinct without becoming a flat green rectangle. */
.vistore-button--whatsapp {
  min-height: 52px;
  justify-content: flex-start;
  border: 1px solid #087238;
  padding: 7px 10px;
  color: #fff !important;
  background: linear-gradient(135deg, #0d8642 0%, #0a7f3d 48%, #08783a 100%);
  box-shadow: 0 8px 20px rgba(8, 120, 58, .25), inset 0 1px rgba(255,255,255,.24);
}

.vistore-button--whatsapp:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #0a7f3d, #056d34);
  box-shadow: 0 12px 27px rgba(5, 109, 52, .32), inset 0 1px rgba(255,255,255,.22);
}

.vistore-button--whatsapp .vistore-button__icon {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 11px;
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  background: rgba(0,78,35,.16);
  box-shadow: inset 0 1px rgba(255,255,255,.15);
}

.vistore-button--whatsapp .vistore-button__icon .vistore-icon { width: 21px; height: 21px; }
.vistore-button--whatsapp .vistore-button__copy { min-width: 0; display: grid; flex: 1; gap: 1px; text-align: left; }
.vistore-button--whatsapp .vistore-button__copy strong { color: inherit; font-size: 13.5px; line-height: 1.1; }
.vistore-button--whatsapp .vistore-button__copy small { color: rgba(255,255,255,.82); font-size: 10.5px; font-weight: 600; line-height: 1.2; }
.vistore-button--whatsapp > .vistore-icon:last-child { width: 16px; opacity: .85; }

.vistore-seller-card__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.vistore-seller-card__actions > :first-child { grid-column: 1 / -1; }
.vistore-seller-card__actions > .vistore-button--whatsapp { grid-column: 1 / -1; }
.vistore-seller-card__actions .vistore-button { min-height: 44px; font-size: 12.5px; }

/* Search submits use the same tactile language without changing Osclass markup. */
.vistore-live-search > button,
.vistore-header-search > button,
.vistore-drawer-search > button,
.vistore-error-page form > button {
  border: 1px solid color-mix(in srgb, var(--vs-primary) 80%, #081f55);
  color: #fff;
  background: linear-gradient(135deg, color-mix(in srgb, var(--vs-primary) 88%, var(--vs-surface)), var(--vs-primary) 58%, color-mix(in srgb, var(--vs-primary) 80%, #000));
  box-shadow: 0 7px 17px color-mix(in srgb, var(--vs-primary) 22%, transparent);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.vistore-live-search > button:hover,
.vistore-header-search > button:hover,
.vistore-drawer-search > button:hover,
.vistore-error-page form > button:hover { transform: translateY(-1px); filter: brightness(.98); box-shadow: 0 10px 22px color-mix(in srgb, var(--vs-primary) 27%, transparent); }
.vistore-live-search > button:active,
.vistore-header-search > button:active,
.vistore-drawer-search > button:active,
.vistore-error-page form > button:active { transform: scale(.98); }

/* Small category counts must remain readable on white and tinted cards. */
.vistore-category-tile small {
  color: #59667a;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

.vistore-category-tile:hover small { color: var(--vs-text); }
.vistore-card__title { font-size: 14px; line-height: 1.35; }
.vistore-card__meta { color: #5d6878; font-size: 12px; }
.vistore-card__category { font-size: 11px; }
.vistore-filter-group > label,
.vistore-filter-group > legend,
.vistore-field > span { color: var(--vs-text); font-size: 13px; font-weight: 700; }
.vistore-seller-card__facts > span { color: #4a586d; font-size: 12px; }
.vistore-seller-card__profile-link strong { font-size: 13px; }
.vistore-seller-card__profile-link small { color: var(--vs-muted); font-size: 11.5px; }

@media (max-width: 720px) {
  .vistore-theme h1 { font-size: clamp(23px, 6.6vw, 27px); }
  .vistore-theme h2 { font-size: clamp(19px, 5.4vw, 22px); }
  .vistore-theme h3 { font-size: 15px; }
  .vistore-button { min-height: 44px; padding: 9px 13px; font-size: 13px; }
  .vistore-category-tile small { font-size: 11px; }
  .vistore-seller-card__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vistore-seller-card__actions > .vistore-button--whatsapp { min-height: 50px; }
  .vistore-item-mobile-actions .vistore-button--whatsapp { min-height: 50px; justify-content: center; padding: 6px 10px; }
  .vistore-item-mobile-actions .vistore-button--whatsapp .vistore-button__icon { width: 34px; height: 34px; flex-basis: 34px; }
  .vistore-item-mobile-actions .vistore-button--whatsapp .vistore-button__copy { flex: 0 1 auto; }
  .vistore-item-mobile-actions .vistore-button--whatsapp .vistore-button__copy small { display: none; }
}

/* Vistore 1.0.16 — canonical search, listing detail and media gallery layer. */
.vistore-theme.vistore-item-detail .vistore-item-layout {
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
}

.vistore-theme.vistore-item-detail .vistore-item-header h1 {
  max-width: none;
  margin: 0;
  font-size: clamp(19px, 1.65vw, 22px);
  line-height: 1.23;
  letter-spacing: -.022em;
}

/* Compact retail-style summary, built only from real listing data. */
.vistore-theme.vistore-item-detail .vistore-item-header__eyebrow {
  display: none;
}

.vistore-theme.vistore-item-detail .vistore-item-header__title-row {
  margin-top: 7px;
}

.vistore-theme.vistore-item-detail .vistore-item-header__price-box {
  margin-top: 6px;
  border: 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 7px 14px;
}

.vistore-theme.vistore-item-detail .vistore-item-header__price-box > span {
  display: none;
}

.vistore-theme.vistore-item-detail .vistore-item-header__price {
  color: var(--vs-ink);
  font-size: clamp(29px, 2.35vw, 35px);
  font-weight: 850;
  line-height: 1.05;
  letter-spacing: -.055em;
}

.vistore-theme.vistore-item-detail .vistore-item-header__discount {
  display: grid;
  gap: 1px;
  color: var(--vs-muted);
  font-size: 11px;
  line-height: 1.35;
}

.vistore-theme.vistore-item-detail .vistore-item-header__discount del {
  color: var(--vs-text);
  text-decoration-thickness: 1.5px;
}

.vistore-theme.vistore-item-detail .vistore-item-header__discount-badge,
.vistore-card__discount {
  min-height: 24px;
  border-radius: 999px;
  padding: 4px 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #087443;
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  box-shadow: 0 4px 10px rgba(5, 84, 48, .18);
}

.vistore-card__discount {
  background: #d92d20;
  box-shadow: 0 4px 10px rgba(153, 27, 27, .2);
}

.vistore-theme.vistore-item-detail .vistore-item-header__meta {
  margin-top: 9px;
  border-top: 0;
  padding-top: 0;
  gap: 0;
}

.vistore-theme.vistore-item-detail .vistore-item-header__meta span {
  min-height: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

.vistore-theme.vistore-item-detail .vistore-item-header__meta span + span::before {
  content: '';
  width: 1px;
  height: 13px;
  margin: 0 8px;
  background: var(--vs-line-strong);
}

.vistore-theme.vistore-item-detail .vistore-item-section h2,
.vistore-theme.vistore-item-detail .vistore-seller-card h2,
.vistore-theme.vistore-item-detail .vistore-contact-card h2 {
  font-size: clamp(18px, 1.55vw, 21px);
  line-height: 1.3;
}

.vistore-theme.vistore-item-detail .vistore-item-section h3,
.vistore-theme.vistore-item-detail .vistore-item-aside h3 {
  font-size: 15px;
  line-height: 1.35;
}

.vistore-theme.vistore-item-detail .vistore-item-header__meta {
  font-size: 12px;
  line-height: 1.4;
}

.vistore-theme.vistore-item-detail .vistore-item-description {
  font-size: 15px;
  line-height: 1.7;
}

/* Quiet item hierarchy: content is separated by spacing and typography. */
.vistore-theme.vistore-item-detail .vistore-item-header,
.vistore-theme.vistore-item-detail .vistore-item-section,
.vistore-theme.vistore-item-detail .vistore-owner-actions {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.vistore-theme.vistore-item-detail .vistore-item-section {
  padding: 18px 0;
  border-top: 1px solid var(--vs-line-soft);
  border-radius: 0;
}

.vistore-theme.vistore-item-detail .vistore-item-section__heading {
  margin-bottom: 10px;
}

.vistore-theme.vistore-item-detail .vistore-item-section--description .vistore-item-section__heading > span {
  display: none;
}

@media (max-width: 640px) {
  .vistore-category-picker { grid-template-columns: 1fr; gap: 10px; }
}

/* Listing cards rely on image, spacing and type hierarchy instead of a box
   around every result. Controls and transactional forms keep their borders. */
.vistore-theme .vistore-card {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.vistore-theme .vistore-card:hover {
  border-color: transparent;
  box-shadow: none;
}

.vistore-theme .vistore-card__image {
  margin: 0;
}

.vistore-theme.vistore-item-detail .vistore-gallery__stage {
  min-height: 0;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  background: #edf1f5;
}

.vistore-theme.vistore-item-detail .vistore-gallery__slide[data-kind="image"] > button img,
.vistore-theme.vistore-item-detail .vistore-gallery__slide:not([data-kind]) > img {
  object-fit: cover;
}

.vistore-live-search.nocsrf {
  border-color: rgba(255,255,255,.7);
  background:
    linear-gradient(135deg, rgba(255,255,255,.86), rgba(247,250,255,.68)),
    rgba(255,255,255,.72);
  box-shadow: 0 18px 46px rgba(16,24,40,.16), inset 0 1px 0 rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(22px) saturate(165%);
  backdrop-filter: blur(22px) saturate(165%);
}

.vistore-live-search.nocsrf:focus-within {
  border-color: color-mix(in srgb, var(--vs-primary) 35%, rgba(255,255,255,.78));
  box-shadow: 0 21px 52px rgba(16,24,40,.18), 0 0 0 4px color-mix(in srgb, var(--vs-primary) 9%, transparent), inset 0 1px 0 rgba(255,255,255,.96);
}

.vistore-live-search.nocsrf .vistore-live-search__results {
  border-color: rgba(255,255,255,.76);
  background: rgba(255,255,255,.88);
  box-shadow: 0 24px 54px rgba(16,24,40,.2), inset 0 1px 0 rgba(255,255,255,.94);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  backdrop-filter: blur(24px) saturate(150%);
}

.vistore-section--personalized {
  transition: opacity .22s ease, transform .22s ease;
}

.vistore-section--personalized.is-dismissing {
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
}

.vistore-recent-searches {
  border: 1px solid rgba(208,213,221,.72);
  border-radius: 16px;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(247,249,253,.92));
  box-shadow: 0 8px 25px rgba(16,24,40,.065);
}

.vistore-recent-searches .vistore-section-heading h2 { font-size: 18px; }
.vistore-recent-searches__chips a { min-height: 40px; font-size: 12px; }

.vistore-lightbox {
  position: fixed;
  z-index: 2000;
  inset: 0;
  padding: 0;
  display: grid;
  place-items: center;
  visibility: hidden;
  pointer-events: none;
  background: #090d14;
}

.vistore-lightbox.is-open { visibility: visible; pointer-events: auto; }
.vistore-lightbox__backdrop { position: absolute; inset: 0; border: 0; background: rgba(5,8,13,.98); }

.vistore-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  padding: 12px 18px 14px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 10px;
  color: #fff;
  background: radial-gradient(circle at 50% 40%, #18202c 0%, #0b1018 54%, #070a0f 100%);
}

.vistore-lightbox__toolbar {
  min-width: 0;
  min-height: 48px;
  padding-inline: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.vistore-lightbox__toolbar > div { min-width: 0; display: grid; gap: 2px; }
.vistore-lightbox__toolbar strong { overflow: hidden; font-size: 14px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.vistore-lightbox__toolbar span { color: rgba(255,255,255,.68); font-size: 11px; }

.vistore-lightbox__stage {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.28);
}

.vistore-lightbox__stage > img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  opacity: 1;
  transition: opacity .16s ease;
}

.vistore-lightbox__stage > img.is-loading { opacity: .36; }

.vistore-lightbox__close,
.vistore-lightbox__previous,
.vistore-lightbox__next {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 13px;
  color: #fff;
  background: rgba(13,18,27,.68);
  box-shadow: 0 8px 22px rgba(0,0,0,.24);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.vistore-lightbox__close { position: static; }
.vistore-lightbox__previous,
.vistore-lightbox__next { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); }
.vistore-lightbox__previous { left: 14px; }
.vistore-lightbox__next { right: 14px; }
.vistore-lightbox__previous .vistore-icon { transform: rotate(180deg); }

.vistore-lightbox__thumbs {
  max-width: min(100%, 920px);
  margin-inline: auto;
  padding: 2px 2px 4px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.vistore-lightbox__thumbs button {
  width: 72px;
  min-width: 72px;
  height: 54px;
  border: 2px solid transparent;
  border-radius: 10px;
  padding: 2px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  scroll-snap-align: center;
}

.vistore-lightbox__thumbs button.is-active { border-color: var(--vs-surface); }
.vistore-lightbox__thumbs img { width: 100%; height: 100%; border-radius: 6px; object-fit: cover; }

@media (max-width: 980px) {
  .vistore-theme.vistore-item-detail .vistore-item-layout { display: block; }
  .vistore-theme.vistore-item-detail .vistore-gallery__stage { min-height: 0; aspect-ratio: 16 / 9; }
}

@media (max-width: 720px) {
  .vistore-discount-editor { padding: 11px; }
  .vistore-discount-editor__fields { grid-template-columns: 1fr; gap: 8px; }
  .vistore-discount-editor__copy { min-height: 0; }
  .vistore-theme.vistore-item-detail .vistore-item-header h1 { font-size: clamp(18px, 5vw, 20px); line-height: 1.28; }
  .vistore-theme.vistore-item-detail .vistore-item-header__price { font-size: clamp(27px, 8vw, 31px); }
  .vistore-theme.vistore-item-detail .vistore-item-header__discount { font-size: 10px; }
  .vistore-theme.vistore-item-detail .vistore-item-header__discount-badge { min-height: 22px; font-size: 10px; }
  .vistore-theme.vistore-item-detail .vistore-item-header__meta span + span::before { margin: 0 6px; }
  .vistore-theme.vistore-item-detail .vistore-item-section h2,
  .vistore-theme.vistore-item-detail .vistore-seller-card h2,
  .vistore-theme.vistore-item-detail .vistore-contact-card h2 { font-size: 18px; }
  .vistore-theme.vistore-item-detail .vistore-item-section h3,
  .vistore-theme.vistore-item-detail .vistore-item-aside h3 { font-size: 15px; }
  .vistore-theme.vistore-item-detail .vistore-item-header__meta { font-size: 11.5px; }
  .vistore-theme.vistore-item-detail .vistore-item-description { font-size: 14px; line-height: 1.65; }
  .vistore-live-search.nocsrf { background: rgba(255,255,255,.82); -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%); }
  .vistore-recent-searches { margin-inline: -2px; border-radius: 14px; padding: 12px; }
  .vistore-lightbox__dialog { padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)); gap: 7px; }
  .vistore-lightbox__toolbar { min-height: 44px; padding-inline: 4px; }
  .vistore-lightbox__toolbar strong { font-size: 12.5px; }
  .vistore-lightbox__stage { border-radius: 13px; }
  .vistore-lightbox__close,
  .vistore-lightbox__previous,
  .vistore-lightbox__next { width: 42px; min-width: 42px; height: 42px; min-height: 42px; border-radius: 12px; }
  .vistore-lightbox__previous { left: 7px; }
  .vistore-lightbox__next { right: 7px; }
  .vistore-lightbox__thumbs button { width: 62px; min-width: 62px; height: 47px; }
}

/* Legacy 1.0.19 hero rules are intentionally disabled. The active component
   is consolidated once below so earlier mobile overrides cannot win. */
@media not all {
.vistore-home-discovery {
  position: relative;
  z-index: 8;
  padding: 0;
}

.vistore-home-discovery--with-slider {
  z-index: 14;
  margin-top: -122px;
  margin-bottom: 28px;
}

.vistore-home-discovery--with-slider > .vistore-container {
  width: min(calc(100% - 64px), 980px);
  padding-inline: 0;
}

.vistore-home-discovery--standalone {
  margin-top: 18px;
}

.vistore-home-discovery--standalone > .vistore-container {
  position: relative;
  overflow: hidden;
  border: 1px solid #dce6f5;
  border-radius: 24px;
  padding: clamp(26px, 4vw, 48px);
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--vs-primary) 17%, transparent), transparent 33%),
    radial-gradient(circle at 9% 100%, color-mix(in srgb, var(--vs-accent) 11%, transparent), transparent 29%),
    linear-gradient(135deg, var(--vs-surface-subtle) 0%, #fff 52%, var(--vs-primary-soft) 100%);
  box-shadow: 0 16px 44px rgba(16, 24, 40, .08);
}

.vistore-home-discovery .vistore-live-search {
  width: min(100%, 880px);
  margin-inline: auto;
}

.vistore-home-discovery--with-slider .vistore-live-search {
  min-height: 64px;
  border-color: rgba(255, 255, 255, .82);
  border-radius: 18px;
  padding: 6px 6px 6px 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(247,250,255,.84));
  box-shadow: 0 18px 44px rgba(4, 14, 34, .25), inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter: blur(22px) saturate(165%);
}

.vistore-home-discovery__quick {
  width: min(100%, 880px);
  margin: 10px auto 0;
}

.vistore-home-discovery--with-slider .vistore-home-discovery__quick {
  width: max-content;
  max-width: 100%;
  min-height: 38px;
  margin-top: 8px;
  border-color: rgba(255,255,255,.2);
  border-radius: 13px;
  padding: 3px 6px 3px 12px;
  color: rgba(255,255,255,.76);
  background: rgba(5,16,38,.68);
  box-shadow: 0 12px 28px rgba(4,14,34,.22), inset 0 1px rgba(255,255,255,.08);
  backdrop-filter: blur(16px) saturate(135%);
}

.vistore-home-discovery--with-slider .vistore-home-discovery__quick-label {
  min-height: 28px;
  border-right-color: rgba(255,255,255,.18);
  color: #fff;
}

.vistore-home-discovery--with-slider .vistore-home-discovery__quick a { min-height: 29px; color: rgba(255,255,255,.86); }
.vistore-home-discovery--with-slider .vistore-home-discovery__quick a:hover { color: #fff; background: rgba(255,255,255,.12); }

.vistore-promo-slider {
  width: min(calc(100% - 32px), var(--vs-container));
  margin: 18px auto 0;
  isolation: isolate;
}

.vistore-promo-slider__viewport {
  min-height: clamp(430px, 38vw, 510px) !important;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 26px !important;
  background: #08152c;
  box-shadow: 0 24px 64px rgba(9, 20, 42, .2);
}

.vistore-promo-slider__slide--item {
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 46%, rgba(75, 140, 255, .3), transparent 26%),
    radial-gradient(circle at 18% 85%, rgba(255, 107, 53, .18), transparent 27%),
    linear-gradient(118deg, #07142c 0%, #0d2a5f 48%, var(--vs-primary) 100%);
}

.vistore-promo-slider__atmosphere,
.vistore-promo-slider__atmosphere i {
  position: absolute;
  pointer-events: none;
}

.vistore-promo-slider__atmosphere { inset: 0; overflow: hidden; }
.vistore-promo-slider__atmosphere i { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.vistore-promo-slider__atmosphere i:nth-child(1) { width: 380px; height: 380px; right: -90px; top: -150px; }
.vistore-promo-slider__atmosphere i:nth-child(2) { width: 210px; height: 210px; left: 42%; bottom: -120px; background: rgba(255,255,255,.035); }
.vistore-promo-slider__atmosphere i:nth-child(3) { width: 8px; height: 8px; left: 48%; top: 18%; border: 0; background: var(--vs-surface); box-shadow: 80px 95px 0 rgba(255,255,255,.5), -65px 165px 0 rgba(255,255,255,.35); }

.vistore-promo-slider__slide--item .vistore-promo-slider__content--item {
  position: absolute;
  inset: 0;
  width: auto;
  padding: clamp(38px, 5vw, 66px) clamp(44px, 6vw, 90px) 132px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 72px);
  color: #fff;
}

.vistore-promo-slider__slide--item .vistore-promo-slider__copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.vistore-promo-slider__slide--item .vistore-promo-slider__eyebrow {
  margin: 0 0 12px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  padding: 7px 11px;
  color: #e6efff;
  background: rgba(255,255,255,.1);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.vistore-promo-slider__slide--item h2 {
  max-width: 15ch;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
  color: #fff;
  font-size: clamp(30px, 3.65vw, 52px);
  line-height: 1.08;
  letter-spacing: -.045em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-wrap: balance;
}

.vistore-promo-slider__meta {
  margin: 18px 0 22px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}

.vistore-promo-slider__location,
.vistore-promo-slider__price {
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 11px;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  background: rgba(5, 16, 38, .32);
  backdrop-filter: blur(12px);
}

.vistore-promo-slider__location { max-width: 100%; font-size: 12px; }
.vistore-promo-slider__location .vistore-icon { width: 16px; height: 16px; }
.vistore-promo-slider__price { font-size: 18px; font-weight: 800; }

.vistore-promo-slider__slide--item .vistore-promo-slider__media {
  position: relative;
  z-index: 1;
  width: 100%;
  height: clamp(250px, 27vw, 350px);
  overflow: visible;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 26px;
  padding: clamp(12px, 1.4vw, 18px);
  display: block;
  background: rgba(255,255,255,.1);
  box-shadow: 0 28px 54px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.2);
  transform: rotate(1.2deg);
  backdrop-filter: blur(14px);
}

.vistore-promo-slider__slide--item .vistore-promo-slider__media picture {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-radius: 18px;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--vs-surface);
}

.vistore-promo-slider__slide--item .vistore-promo-slider__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.01) !important;
  transition: transform 5.8s cubic-bezier(.2,.7,.2,1) !important;
}

.vistore-promo-slider__slide--item.is-active .vistore-promo-slider__media img { transform: scale(1.055) !important; }
.vistore-promo-slider__media-glow { position: absolute; z-index: 0; inset: 13% -8% -9% 9%; border-radius: 50%; background: rgba(77,139,255,.42); filter: blur(42px); }

.vistore-promo-slider__slide [data-slider-layer] {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity .55s ease, transform .7s cubic-bezier(.2,.7,.2,1);
}

.vistore-promo-slider__slide.is-active [data-slider-layer] { opacity: 1; transform: translate3d(0, 0, 0); }
.vistore-promo-slider__slide.is-active .vistore-promo-slider__media { transition-delay: .12s; }

.vistore-promo-slider__slide--custom > picture { position: absolute; inset: 0; }
.vistore-promo-slider__slide--custom > picture img { object-fit: cover; }
.vistore-promo-slider__slide--custom .vistore-promo-slider__content {
  inset: auto auto 132px clamp(28px, 5vw, 72px);
  width: min(520px, calc(100% - 56px));
  min-height: 0;
  padding: 0;
  align-items: flex-start;
  justify-content: flex-end;
}
.vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__content { left: 50%; align-items: center; transform: translateX(-50%); text-align: center; }
.vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__content { right: clamp(28px, 5vw, 72px); left: auto; align-items: flex-end; text-align: right; }
.vistore-promo-slider__slide--custom .vistore-button { box-shadow: 0 12px 26px rgba(4,14,34,.24); }
.vistore-promo-slider__progress { border-radius: 0 0 26px 26px !important; }

.vistore-promo-slider__controls {
  top: 18px;
  right: 18px;
  bottom: auto;
  left: auto;
  transform: none;
}

.vistore-promo-slider__arrow,
.vistore-promo-slider__pause {
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  background: rgba(6,17,38,.56);
  box-shadow: 0 10px 25px rgba(0,0,0,.16);
  backdrop-filter: blur(12px);
}

.vistore-promo-slider__arrow:hover,
.vistore-promo-slider__pause:hover { background: rgba(6,17,38,.78); }

/* One button language, with size controlled only by its context/modifier. */
.vistore-button,
.vistore-theme .btn,
.vistore-theme .button,
.vistore-theme button.ui-button {
  min-height: 44px;
  border-radius: 12px;
  padding: 10px 15px;
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.15;
}

.vistore-button--small { min-height: 36px; border-radius: 10px; padding: 7px 11px; font-size: 12px; }
.vistore-button--large { min-height: 52px; border-radius: 14px; padding: 12px 18px; font-size: 14px; }

@media (max-width: 820px) {
  .vistore-promo-slider__slide--item .vistore-promo-slider__content--item {
    padding: 34px 40px 52px;
    grid-template-columns: minmax(0, .95fr) minmax(300px, 1.05fr);
    gap: 28px;
  }
  .vistore-promo-slider__slide--item h2 { font-size: clamp(27px, 4.3vw, 38px); }
}

@media (max-width: 720px) {
  .vistore-home-discovery--with-slider { margin-top: -101px; margin-bottom: 16px; }
  .vistore-home-discovery--with-slider > .vistore-container { width: calc(100% - 26px); }
  .vistore-home-discovery--standalone { margin-top: 9px; }
  .vistore-home-discovery--standalone > .vistore-container { width: calc(100% - 18px); border-radius: 18px; padding: 22px 13px 16px; }
  .vistore-home-discovery__quick { margin-top: 7px; }

  .vistore-promo-slider { width: calc(100% - 4px) !important; margin-top: 6px !important; }
  .vistore-promo-slider__viewport { height: clamp(310px, 88vw, 350px); min-height: 0 !important; border-radius: 18px !important; }
  .vistore-promo-slider__progress { border-radius: 0 0 19px 19px !important; }
  .vistore-promo-slider__slide--item .vistore-promo-slider__content--item {
    padding: 50px 14px 106px;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    grid-template-rows: 1fr;
    align-items: center;
    gap: 10px;
  }
  .vistore-promo-slider__slide--item .vistore-promo-slider__copy { align-items: flex-start; }
  .vistore-promo-slider__slide--item .vistore-promo-slider__eyebrow { display: none; }
  .vistore-promo-slider__slide--item h2 { max-width: 15ch; font-size: clamp(17px, 5vw, 21px); line-height: 1.16; -webkit-line-clamp: 3; }
  .vistore-promo-slider__meta { margin: 8px 0 9px; gap: 5px; }
  .vistore-promo-slider__location,
  .vistore-promo-slider__price { min-height: 28px; border-radius: 8px; padding: 5px 7px; }
  .vistore-promo-slider__location { display: none; }
  .vistore-promo-slider__price { font-size: 12px; }
  .vistore-promo-slider__slide--item .vistore-button--large { min-height: 37px; border-radius: 10px; padding: 7px 9px; font-size: 11px; }
  .vistore-promo-slider__slide--item .vistore-promo-slider__media { height: min(39vw, 145px); border-radius: 15px; padding: 6px; transform: rotate(.8deg); }
  .vistore-promo-slider__slide--item .vistore-promo-slider__media picture { border-radius: 10px; }
  .vistore-promo-slider__arrow { display: none; }
  .vistore-promo-slider__controls { top: 11px; right: 11px; bottom: auto; left: auto; transform: none; }
  .vistore-promo-slider__dots { padding: 3px; }
  .vistore-promo-slider__dots button { width: 25px; height: 23px; }
  .vistore-promo-slider__dots button.is-active { width: 34px; }
  .vistore-promo-slider__slide--custom .vistore-promo-slider__content,
  .vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__content,
  .vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__content {
    inset: 17px auto auto 17px;
    width: auto;
    max-width: calc(100% - 34px);
    min-height: 0;
    padding: 0;
    align-items: flex-start;
    transform: none;
    text-align: left;
  }
  .vistore-promo-slider__slide--custom .vistore-promo-slider__content > span,
  .vistore-promo-slider__slide--custom .vistore-promo-slider__content h2,
  .vistore-promo-slider__slide--custom .vistore-promo-slider__content p { display: none; }
  .vistore-promo-slider__slide--custom .vistore-button { min-height: 38px; border-radius: 10px; padding: 8px 12px; font-size: 11.5px; }
  .vistore-home-discovery--with-slider .vistore-live-search { min-height: 54px; border-radius: 15px; padding: 5px 5px 5px 13px; grid-template-columns: 19px minmax(0,1fr) 44px; gap: 5px; }
  .vistore-home-discovery--with-slider .vistore-live-search > input[type="search"] { min-height: 42px !important; font-size: 13px; }
  .vistore-home-discovery--with-slider .vistore-live-search > button { min-width: 44px; min-height: 44px; border-radius: 11px; }
  .vistore-home-discovery--with-slider .vistore-home-discovery__quick { width: 100%; min-height: 37px; margin-top: 6px; padding: 3px 4px 3px 9px; }
  .vistore-home-discovery--with-slider .vistore-home-discovery__quick-label { min-height: 27px; padding-right: 8px; font-size: 9.5px; }
  .vistore-home-discovery--with-slider .vistore-home-discovery__quick a { min-height: 27px; padding-inline: 8px; font-size: 9.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .vistore-promo-slider__slide [data-slider-layer],
  .vistore-promo-slider__slide picture img { transition: none !important; transform: none !important; }
}
}

/* Vistore 1.0.21 — edge-to-edge campaigns and borderless boosted listings. */
.vistore-promo-slider {
  position: relative;
  isolation: isolate;
  width: min(calc(100% - 32px), var(--vs-container));
  margin: 18px auto 0;
  padding-bottom: 0;
}

.vistore-promo-slider__viewport {
  position: relative;
  height: clamp(430px, 38vw, 510px);
  min-height: 0 !important;
  overflow: hidden;
  border: 0;
  border-radius: 30px !important;
  background: #050509;
  box-shadow: 0 26px 72px rgba(4, 4, 12, .34), 0 0 38px rgba(124, 58, 237, .13), inset 0 0 0 1px rgba(255,255,255,.06);
}

.vistore-promo-slider__slide {
  overflow: hidden;
  padding: 0;
  background:
    radial-gradient(circle at 13% 16%, rgba(217, 70, 239, .14), transparent 31%),
    radial-gradient(circle at 88% 87%, rgba(79, 70, 229, .18), transparent 35%),
    linear-gradient(135deg, #020207 0%, #090912 55%, #06060b 100%);
}

.vistore-promo-slider__atmosphere,
.vistore-promo-slider__atmosphere i { position: absolute; pointer-events: none; }
.vistore-promo-slider__atmosphere { inset: 0; overflow: hidden; }
.vistore-promo-slider__atmosphere i:first-child { inset: -28% auto auto -12%; width: 52%; aspect-ratio: 1; border-radius: 50%; background: rgba(217, 70, 239, .12); filter: blur(70px); }
.vistore-promo-slider__atmosphere i:nth-child(2) { inset: auto -9% -48% auto; width: 50%; aspect-ratio: 1; border-radius: 50%; background: rgba(79, 70, 229, .18); filter: blur(76px); }
.vistore-promo-slider__atmosphere i:nth-child(3) { inset: 0; border: 0; background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.025) 50%, transparent 62%); transform: translateX(-100%); }
.vistore-promo-slider__slide.is-active .vistore-promo-slider__atmosphere i:nth-child(3) { animation: vistore-slider-sheen 5.8s ease .25s both; }

@keyframes vistore-slider-sheen {
  0%, 18% { transform: translateX(-100%); }
  62%, 100% { transform: translateX(100%); }
}

.vistore-promo-slider__frame {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 0;
  border-radius: inherit;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  background: linear-gradient(130deg, #070711, #0d0b1d);
  box-shadow: none;
}

.vistore-promo-slider__frame--custom { display: block; background: #050509; }
.vistore-promo-slider__slide--custom::after { content: none; }

.vistore-promo-slider__media {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: block;
  background: #12121b;
}

.vistore-promo-slider__media picture,
.vistore-promo-slider__media img { width: 100%; height: 100%; display: block; }
.vistore-promo-slider__media img {
  object-fit: cover;
  transform: scale(1.015);
  transition: transform 6.4s cubic-bezier(.2,.72,.2,1);
}
.vistore-promo-slider__slide.is-active .vistore-promo-slider__media img { transform: scale(1.065); }
.vistore-promo-slider__frame--item .vistore-promo-slider__media,
.vistore-promo-slider__frame--item .vistore-promo-slider__media:hover {
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: #12121b;
  box-shadow: none;
  transform: none;
  backdrop-filter: none;
}
.vistore-promo-slider__frame--item .vistore-promo-slider__media picture {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
}
.vistore-promo-slider__frame--item .vistore-promo-slider__media img {
  object-fit: cover;
  transform: scale(1.015) !important;
}
.vistore-promo-slider__slide--item.is-active .vistore-promo-slider__media img { transform: scale(1.065) !important; }
.vistore-promo-slider__frame--item .vistore-promo-slider__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 64%, rgba(9,8,20,.52) 84%, #0d0b1d 100%);
  pointer-events: none;
}

.vistore-promo-slider__frame--custom .vistore-promo-slider__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #050509;
}
.vistore-promo-slider__frame--custom .vistore-promo-slider__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,4,12,.82) 0%, rgba(3,4,12,.55) 34%, rgba(3,4,12,.12) 68%, rgba(3,4,12,.04) 100%),
    linear-gradient(0deg, rgba(3,4,12,.34), transparent 50%);
  pointer-events: none;
}
.vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__media::after {
  background: linear-gradient(90deg, rgba(3,4,12,.28), rgba(3,4,12,.6) 50%, rgba(3,4,12,.28));
}
.vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__media::after {
  background:
    linear-gradient(270deg, rgba(3,4,12,.82) 0%, rgba(3,4,12,.55) 34%, rgba(3,4,12,.12) 68%, rgba(3,4,12,.04) 100%),
    linear-gradient(0deg, rgba(3,4,12,.34), transparent 50%);
}

.vistore-promo-slider__copy {
  position: relative;
  min-width: 0;
  padding: clamp(30px, 4vw, 58px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  color: #fff;
}

.vistore-promo-slider__frame--custom .vistore-promo-slider__copy {
  position: absolute;
  z-index: 2;
  inset-block: 0;
  left: clamp(34px, 6vw, 82px);
  width: min(520px, calc(100% - 68px));
  padding: 0;
}
.vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__copy {
  right: 34px;
  left: 34px;
  width: auto;
  align-items: center;
  text-align: center;
}
.vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__copy {
  right: clamp(34px, 6vw, 82px);
  left: auto;
  align-items: flex-end;
  text-align: right;
}

.vistore-promo-slider__eyebrow {
  margin: 0 0 16px;
  border: 1px solid rgba(168, 85, 247, .65);
  border-radius: 999px;
  padding: 7px 12px;
  color: #f5efff;
  background: linear-gradient(135deg, rgba(124,58,237,.96), rgba(79,70,229,.88));
  box-shadow: 0 8px 24px rgba(124,58,237,.28);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
}

.vistore-promo-slider__slide .vistore-promo-slider__copy h2 {
  max-width: 18ch;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
  color: #fff;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.1;
  letter-spacing: -.035em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.vistore-promo-slider__copy p {
  max-width: 48ch;
  margin: 14px 0 0;
  display: -webkit-box;
  overflow: hidden;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.vistore-promo-slider__meta { width: 100%; margin: 18px 0; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.vistore-promo-slider__location,
.vistore-promo-slider__price {
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 11px;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  background: rgba(255,255,255,.065);
  backdrop-filter: blur(12px);
}
.vistore-promo-slider__slide--item .vistore-promo-slider__price { margin: 0; font-size: 19px; }
.vistore-promo-slider__location { min-width: 0; max-width: 100%; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.vistore-promo-slider__location .vistore-icon { width: 15px; height: 15px; flex: 0 0 auto; }
.vistore-promo-slider__price {
  position: relative;
  overflow: hidden;
  font-size: 19px;
  font-weight: 800;
  transform-origin: left center;
}
.vistore-promo-slider__price::after {
  content: "";
  position: absolute;
  inset: -35% auto -35% -60%;
  width: 42%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
  transform: skewX(-18deg);
  pointer-events: none;
}
.vistore-promo-slider__slide.is-active .vistore-promo-slider__price {
  animation: vistore-price-pop .62s cubic-bezier(.2,.8,.2,1) .42s both;
}
.vistore-promo-slider__slide.is-active .vistore-promo-slider__price::after {
  animation: vistore-price-shine .82s ease .94s both;
}
@keyframes vistore-price-pop {
  0% { opacity: 0; transform: translateY(12px) scale(.92); }
  68% { opacity: 1; transform: translateY(-2px) scale(1.025); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes vistore-price-shine {
  from { left: -60%; }
  to { left: 128%; }
}
.vistore-promo-slider__price--mobile { display: none; }

.vistore-promo-slider__cta {
  width: min(100%, 460px);
  min-height: 54px;
  border: 1px solid rgba(174, 117, 255, .72) !important;
  border-radius: 14px !important;
  justify-content: center;
  color: #fff !important;
  background: linear-gradient(100deg, #4f19ff 0%, #6d28d9 52%, #3f19ff 100%) !important;
  background-size: 180% 100% !important;
  box-shadow: 0 14px 30px rgba(79,25,255,.28), inset 0 1px rgba(255,255,255,.18) !important;
  font-size: 15px !important;
  transition: transform .2s ease, background-position .35s ease, box-shadow .2s ease !important;
}
.vistore-promo-slider__cta:hover { transform: translateY(-2px); background-position: 100% 0 !important; box-shadow: 0 18px 36px rgba(79,25,255,.38), inset 0 1px rgba(255,255,255,.2) !important; }

.vistore-promo-slider__slide [data-slider-layer] { opacity: 0; transform: translate3d(0, 22px, 0); transition: opacity .52s ease, transform .68s cubic-bezier(.2,.72,.2,1); }
.vistore-promo-slider__slide.is-active [data-slider-layer] { opacity: 1; transform: translate3d(0,0,0); }
.vistore-promo-slider__slide.is-active .vistore-promo-slider__copy { transition-delay: .1s; }

.vistore-promo-slider__arrow { border: 1px solid rgba(255,255,255,.18); color: #fff; background: rgba(4,4,10,.64); box-shadow: 0 10px 26px rgba(0,0,0,.22); backdrop-filter: blur(12px); }
.vistore-promo-slider__arrow:hover { background: rgba(76,29,149,.82); }
.vistore-promo-slider__controls { position: absolute; z-index: 5; left: 50%; bottom: 12px; display: flex; align-items: center; gap: 2px; transform: translateX(-50%); }
.vistore-promo-slider__dots { position: static; padding: 0; display: flex; align-items: center; gap: 0; transform: none; }
.vistore-promo-slider__dots button { position: relative; width: 24px; height: 24px; min-height: 24px; border: 0; border-radius: 999px; padding: 0; background: transparent; opacity: 1; transition: width .18s ease; }
.vistore-promo-slider__dots button::after { content: ""; position: absolute; top: 50%; left: 50%; width: 6px; height: 6px; border-radius: 999px; background: var(--vs-surface); opacity: .52; box-shadow: 0 1px 4px rgba(0,0,0,.4); transform: translate(-50%, -50%); transition: width .18s ease, opacity .18s ease, background .18s ease; }
.vistore-promo-slider__dots button.is-active { width: 28px; background: transparent; box-shadow: none; }
.vistore-promo-slider__dots button.is-active::after { width: 16px; background: var(--vs-surface); opacity: 1; box-shadow: 0 1px 5px rgba(0,0,0,.48); }
.vistore-promo-slider__pause { width: 28px; min-width: 28px; height: 28px; min-height: 28px; border: 0; padding: 0; color: var(--vs-muted); background: transparent; box-shadow: none; }
.vistore-promo-slider__pause .vistore-icon { width: 14px; height: 14px; }
.vistore-promo-slider__progress { height: 2px; border-radius: 0 0 30px 30px !important; background: transparent; }
.vistore-promo-slider__progress i { background: linear-gradient(90deg, #d946ef, #6d28d9, #4f46e5); }

.vistore-home-discovery { position: relative; z-index: 8; padding: 0; }
.vistore-home-discovery--with-slider { margin: -2px 0 26px; }
.vistore-home-discovery--with-slider > .vistore-container { width: min(calc(100% - 64px), 980px); padding-inline: 0; }
.vistore-home-discovery--standalone > .vistore-container { padding: 14px; }
.vistore-home-discovery--with-slider .vistore-live-search {
  min-height: 64px;
  border: 1px solid rgba(168,85,247,.6);
  border-radius: 20px;
  padding: 6px 6px 6px 18px;
  background: linear-gradient(135deg, rgba(13,12,21,.94), rgba(25,22,35,.9));
  box-shadow: 0 16px 42px rgba(38,18,63,.22), 0 0 24px rgba(168,85,247,.08), inset 0 1px rgba(255,255,255,.1);
  backdrop-filter: blur(22px) saturate(145%);
}
.vistore-home-discovery--with-slider .vistore-live-search__icon { color: #fff; }
.vistore-home-discovery--with-slider .vistore-live-search input[type="search"] { color: #fff; }
.vistore-home-discovery--with-slider .vistore-live-search input[type="search"]::placeholder { color: rgba(255,255,255,.54); }
.vistore-home-discovery--with-slider .vistore-home-discovery__quick { width: max-content; max-width: 100%; min-height: 38px; margin: 8px auto 0; border-color: rgba(109,40,217,.18); border-radius: 13px; padding: 3px 6px 3px 12px; color: var(--vs-muted); background: rgba(255,255,255,.9); box-shadow: 0 10px 28px rgba(16,24,40,.08); backdrop-filter: blur(14px); }

.vistore-premium-carousel { overflow: hidden; }
.vistore-listing-grid--premium { scroll-behavior: smooth; overscroll-behavior-inline: contain; }

@media (max-width: 720px) {
  .vistore-promo-slider { width: min(calc(100% - 18px), var(--vs-container)); margin-top: 8px; padding-bottom: 0; }
  .vistore-promo-slider__viewport { height: clamp(300px, 82vw, 330px); border-radius: 20px !important; }
  .vistore-promo-slider__slide { padding: 0; }
  .vistore-promo-slider__frame--item { border: 0; border-radius: 19px; grid-template-columns: 1fr; grid-template-rows: minmax(0, 58%) minmax(0, 42%); }
  .vistore-promo-slider__frame--item .vistore-promo-slider__media { border-radius: 19px 19px 0 0; }
  .vistore-promo-slider__frame--item .vistore-promo-slider__media::after { background: linear-gradient(to bottom, transparent 58%, rgba(8,7,18,.52) 84%, #0d0b1d 100%); }
  .vistore-promo-slider__frame--custom { border-radius: 19px; }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__media::after,
  .vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__media::after,
  .vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__media::after {
    background: linear-gradient(0deg, rgba(3,4,12,.88) 0%, rgba(3,4,12,.48) 38%, rgba(3,4,12,.04) 72%);
  }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__copy {
    inset: auto 15px 15px;
    width: auto;
    padding: 0;
    align-items: flex-start;
    justify-content: flex-end;
    text-align: left;
  }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__copy h2 { max-width: 18ch; font-size: clamp(21px, 6.2vw, 26px); white-space: normal; }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__copy p { display: -webkit-box; max-width: 36ch; margin-top: 7px; font-size: 11px; -webkit-line-clamp: 1; }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__cta { width: auto; min-width: 142px; }
  .vistore-promo-slider__copy { padding: 12px 14px 14px; justify-content: space-between; }
  .vistore-promo-slider__frame--item .vistore-promo-slider__copy { padding-bottom: 40px; }
  .vistore-promo-slider__eyebrow,
  .vistore-promo-slider__copy p,
  .vistore-promo-slider__meta { display: none; }
  .vistore-promo-slider__copy h2 { max-width: 100%; display: block; overflow: hidden; font-size: 16px; line-height: 1.25; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
  .vistore-promo-slider__slide--item .vistore-promo-slider__price--mobile { position: absolute; z-index: 2; left: 12px; bottom: 10px; min-height: 36px; margin: 0; border-color: rgba(255,255,255,.18); border-radius: 11px; padding: 7px 10px; display: inline-flex; color: #fff; background: rgba(5,5,12,.7); box-shadow: 0 8px 20px rgba(0,0,0,.2); font-size: 15px; backdrop-filter: blur(14px); }
  .vistore-promo-slider__price--desktop { display: none; }
  .vistore-promo-slider__cta { width: 100%; min-height: 44px; border-radius: 12px !important; font-size: 13px !important; }
  .vistore-promo-slider__arrow,
  .vistore-promo-slider__pause { display: none; }
  .vistore-promo-slider__controls { bottom: 8px; }
  .vistore-promo-slider__dots { gap: 0; }
  .vistore-promo-slider__dots button { width: 22px; height: 22px; min-height: 22px; }
  .vistore-promo-slider__dots button.is-active { width: 26px; }
  .vistore-promo-slider__dots button.is-active::after { width: 14px; }
  .vistore-promo-slider__progress { border-radius: 0 0 22px 22px !important; }
  .vistore-home-discovery--with-slider { margin: 0 0 16px; }
  .vistore-home-discovery--with-slider > .vistore-container { width: calc(100% - 26px); }
  .vistore-home-discovery--with-slider .vistore-live-search { min-height: 54px; border-radius: 16px; padding: 5px 5px 5px 13px; grid-template-columns: 19px minmax(0,1fr) 44px; gap: 5px; }
  .vistore-home-discovery--with-slider .vistore-live-search > input[type="search"] { min-height: 42px !important; font-size: 13px; }
  .vistore-home-discovery--with-slider .vistore-live-search > button { min-width: 44px; min-height: 44px; border-radius: 12px; }
  .vistore-home-discovery--with-slider .vistore-home-discovery__quick { width: 100%; min-height: 36px; margin-top: 6px; padding: 3px 4px 3px 9px; }
}

@media (max-width: 390px) {
  .vistore-promo-slider__viewport { height: clamp(278px, 80vw, 302px); }
  .vistore-promo-slider__frame--item { grid-template-rows: minmax(0, 57%) minmax(0, 43%); }
  .vistore-promo-slider__copy { padding: 11px 12px 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .vistore-promo-slider__slide [data-slider-layer],
  .vistore-promo-slider__media img,
  .vistore-promo-slider__atmosphere i,
  .vistore-promo-slider__price,
  .vistore-promo-slider__price::after { animation: none !important; transition: none !important; transform: none !important; }
}

/* Vistore 1.0.34 — hybrid premium surface system.
   One major surface structures a task or content group. Nested content uses
   spacing and separators, while interactive and transactional choices keep a
   visible boundary. */
body.vistore-theme {
  background: var(--vs-fill);
}

.vistore-theme :where(.vistore-section, .vistore-search-header) {
  border: 0;
  background: transparent;
  box-shadow: none;
}

/* Listing cards stay light: the media, price and typography form the card. */
.vistore-theme .vistore-card,
.vistore-theme .vistore-card:hover {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.vistore-theme .vistore-card__body {
  margin: 0;
  border-radius: 0 0 12px 12px;
  background: var(--vs-surface);
}

.vistore-theme .vistore-listing-grid:not(.is-list) .vistore-card__body {
  padding: 7px 8px 8px;
}

.vistore-theme .vistore-listing-grid.is-list .vistore-card__body {
  margin: 0;
  border-radius: 0;
  background: transparent;
}

/* Detail page: gallery, title, description, attributes and comments belong to
   one content sheet instead of several competing boxes. */
.vistore-theme.vistore-item-detail .vistore-item-content {
  overflow: hidden;
  border: 1px solid var(--vs-separator);
  border-radius: 20px;
  padding: 8px 20px 20px;
  gap: 0;
  background: var(--vs-surface);
  box-shadow: 0 8px 26px rgba(16, 24, 40, .045);
}

.vistore-theme.vistore-item-detail .vistore-item-content > .vistore-gallery {
  margin: 0 -12px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.vistore-theme.vistore-item-detail .vistore-item-content > .vistore-item-header,
.vistore-theme.vistore-item-detail .vistore-item-content > .vistore-item-section,
.vistore-theme.vistore-item-detail .vistore-item-content > .vistore-owner-actions {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.vistore-theme.vistore-item-detail .vistore-item-content > .vistore-item-header {
  padding: 22px 0 20px;
}

.vistore-theme.vistore-item-detail .vistore-item-content > .vistore-item-section,
.vistore-theme.vistore-item-detail .vistore-item-content > .vistore-plugin-sections {
  margin: 0;
  border-top: 1px solid var(--vs-separator);
  padding: 22px 0;
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card,
.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-contact-card,
.vistore-theme.vistore-item-detail .vistore-owner-actions {
  border: 1px solid var(--vs-separator);
  background: var(--vs-surface);
  box-shadow: 0 6px 20px rgba(16, 24, 40, .04);
}

.vistore-theme.vistore-item-detail .vistore-item-aside :where(
  .vistore-contact-panel,
  .vistore-rating-panel,
  .vistore-report-panel
) {
  border-color: var(--vs-separator);
  background: var(--vs-surface);
  box-shadow: none;
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-safety-card {
  border: 1px solid var(--vs-accent-soft);
  background: var(--vs-warning-soft);
  box-shadow: none;
}

.vistore-theme .vistore-comment {
  border: 0;
  border-bottom: 1px solid var(--vs-separator);
  background: transparent;
  box-shadow: none;
}

/* Forms and account tools use calm white surfaces. Their controls retain
   stronger borders and focus rings for accessibility. */
.vistore-theme :where(
  .vistore-publish-section,
  .vistore-account-section,
  .vistore-form-card,
  .vistore-content-card
) {
  border: 1px solid var(--vs-separator);
  background: var(--vs-surface);
  box-shadow: 0 6px 22px rgba(16, 24, 40, .035);
}

.vistore-theme .vistore-publish-header {
  border: 0;
  border-radius: 0;
  padding-inline: 0;
  background: transparent;
  box-shadow: none;
}

.vistore-theme :where(.vistore-publish-steps, .vistore-search-sidebar, .vistore-user-sidebar) {
  border: 1px solid var(--vs-separator);
  background: var(--vs-surface);
  box-shadow: 0 6px 22px rgba(16, 24, 40, .04);
}

.vistore-theme .vistore-search-sidebar__header {
  background: var(--vs-surface);
}

.vistore-theme .vistore-business-information {
  border: 1px solid var(--vs-separator);
  border-radius: 14px;
  background: var(--vs-surface-subtle);
  box-shadow: none;
}

.vistore-theme .vistore-monetization .vistore-offer-section {
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

/* Offer and gateway boundaries are functional: they show what can be selected
   and which price or payment method belongs to each action. */
.vistore-theme :where(.vistore-offer-card, .vistore-gateway-picker, .vistore-payment-notice) {
  border-color: var(--vs-separator);
  box-shadow: none;
}

.vistore-theme :where(.vistore-badge, .vistore-pro-badge, .vistore-verified-badge) {
  border: 0;
  box-shadow: none;
}

@media (max-width: 720px) {
  .vistore-theme .vistore-listing-grid:not(.is-list) .vistore-card__body {
    padding: 6px 7px 7px;
  }

  .vistore-theme.vistore-item-detail .vistore-item-content {
    border-radius: 16px;
    padding: 6px 14px 16px;
    box-shadow: none;
  }

  .vistore-theme.vistore-item-detail .vistore-item-content > .vistore-gallery {
    margin: 0 -8px;
  }

  .vistore-theme.vistore-item-detail .vistore-item-content > .vistore-item-header {
    padding: 17px 0 16px;
  }

  .vistore-theme.vistore-item-detail .vistore-item-content > .vistore-item-section,
  .vistore-theme.vistore-item-detail .vistore-item-content > .vistore-plugin-sections {
    padding: 18px 0;
  }

  .vistore-theme .vistore-publish-header {
    padding: 10px 0;
  }

  .vistore-theme .vistore-search-sidebar {
    box-shadow: 0 -14px 34px rgba(16, 24, 40, .12);
  }
}

/* Vistore 1.0.35 — one discoverable search and a calm primary link rail. */
.vistore-theme .vistore-header__main {
  gap: 16px;
}

.vistore-theme .vistore-header-search {
  width: 100%;
  max-width: 620px;
}

.vistore-theme .vistore-header-search input {
  min-height: 44px;
  border-color: #dfe3e8 !important;
  background: var(--vs-bg) !important;
}

.vistore-theme .vistore-header-search:focus-within input {
  border-color: var(--vs-primary) !important;
  background: var(--vs-surface) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--vs-primary) 14%, transparent);
}

.vistore-theme .vistore-header-search > button {
  top: 2px;
  right: 2px;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
}

.vistore-primary-links {
  position: relative;
  z-index: 22;
  border-bottom: 1px solid var(--vs-separator);
  background: var(--vs-surface);
}

.vistore-primary-links__rail {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.vistore-primary-links__rail::-webkit-scrollbar {
  display: none;
}

.vistore-primary-links__rail > a {
  min-height: 36px;
  border-radius: 9px;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 6px;
  color: var(--vs-text);
  font-size: 12px;
  font-weight: 720;
  line-height: 1;
  white-space: nowrap;
}

.vistore-primary-links__rail > a:hover,
.vistore-primary-links__rail > a:focus-visible {
  color: var(--vs-primary);
  background: var(--vs-primary-soft);
}

.vistore-primary-links__all {
  color: var(--vs-ink) !important;
  font-weight: 820 !important;
}

.vistore-primary-links__all .vistore-icon,
.vistore-primary-links__more .vistore-icon {
  width: 16px;
  height: 16px;
}

.vistore-primary-links__more {
  margin-left: auto;
  color: var(--vs-primary) !important;
}

@media (max-width: 980px) {
  .vistore-theme .vistore-header-search {
    max-width: none;
  }

  .vistore-primary-links__rail {
    width: 100%;
    padding-inline: 12px;
  }

  .vistore-primary-links__more {
    margin-left: 0;
  }
}

@media (max-width: 820px) {
  :root {
    --vs-header-height: 118px;
  }

  .vistore-theme .vistore-header__main {
    width: min(calc(100% - 18px), var(--vs-container));
    min-height: var(--vs-header-height);
    padding-block: 8px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    grid-template-rows: 44px 48px;
    gap: 6px 8px;
  }

  .vistore-theme .vistore-header__menu {
    grid-column: 1;
    grid-row: 1;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }

  .vistore-theme .vistore-header__brand {
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    overflow: hidden;
  }

  .vistore-theme .vistore-header-actions {
    grid-column: 3;
    grid-row: 1;
    margin-left: 0;
  }

  .vistore-theme .vistore-header-actions > :not(.vistore-header__publish) {
    display: none !important;
  }

  .vistore-theme .vistore-header__publish {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border-radius: 13px;
    padding: 0;
  }

  .vistore-theme .vistore-header__publish span {
    display: none;
  }

  .vistore-theme .vistore-header-search {
    grid-column: 1 / -1;
    grid-row: 2;
    display: block;
    min-width: 0;
  }

  .vistore-theme .vistore-header-search input {
    width: 100%;
    height: 48px;
    min-height: 48px;
    padding-inline: 16px 52px !important;
    border-radius: 14px !important;
    font-size: 16px;
  }

  .vistore-theme .vistore-header-search > button {
    top: 2px;
    right: 2px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border-radius: 11px;
  }

  .vistore-theme .vistore-live-search__results--header {
    right: 0;
    left: 0;
    min-width: 0;
    width: 100%;
  }

  .vistore-primary-links__rail {
    min-height: 42px;
  }

  .vistore-primary-links__rail > a {
    min-height: 34px;
    padding: 7px 9px;
    font-size: 11px;
  }
}

@media (max-width: 420px) {
  .vistore-theme .vistore-brand > img {
    max-width: 132px;
  }

  .vistore-theme .vistore-brand__word {
    font-size: 18px;
  }
}

/* Vistore 1.0.39 — measured slider containment and a compact item sidebar. */
.vistore-slider-shell {
  min-width: 0;
  margin-top: 18px;
}

.vistore-slider-shell > .vistore-promo-slider,
.vistore-slider-shell > .vistore-external-slider {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* The legacy 5/2 aspect ratio must not derive the viewport width from its
   fixed desktop height. Its width always follows the site container. */
.vistore-slider-shell > .vistore-promo-slider > .vistore-promo-slider__viewport {
  width: 100% !important;
  max-width: 100% !important;
}

.vistore-slider-shell > .vistore-external-slider {
  min-width: 0;
  overflow: hidden;
}

.vistore-slider-shell > .vistore-external-slider :where(img, iframe, video) {
  max-width: 100%;
}

/* Vistore 1.5.12 - per-slide art direction with the proven mobile layout. */
.vistore-promo-slider__viewport {
  height: clamp(400px, 35vw, 470px);
  background: #091626;
  box-shadow: 0 24px 64px rgba(17, 32, 39, .16), inset 0 0 0 1px rgba(255, 255, 255, .75);
}

.vistore-promo-slider__slide {
  --slider-surface: #071c31;
  --slider-surface-soft: #12385b;
  --slider-accent: #6ee7d8;
  --slider-accent-2: #4ca6ff;
  --slider-ink: #f7fbff;
  --slider-muted: #b9cee2;
  --slider-font: "Avenir Next", "Century Gothic", Futura, sans-serif;
}

.vistore-promo-slider__style--2 {
  --slider-surface: #31111c;
  --slider-surface-soft: #642838;
  --slider-accent: #ffca72;
  --slider-accent-2: #ff6b7a;
  --slider-ink: #fff9f2;
  --slider-muted: #e7c8c6;
  --slider-font: Georgia, "Times New Roman", serif;
}

.vistore-promo-slider__style--3 {
  --slider-surface: #10251f;
  --slider-surface-soft: #275444;
  --slider-accent: #d7f35a;
  --slider-accent-2: #59d8a3;
  --slider-ink: #f8ffe7;
  --slider-muted: #c5d8cd;
  --slider-font: "Century Gothic", Futura, "Avenir Next", sans-serif;
}

.vistore-promo-slider__frame--custom .vistore-promo-slider__media::after,
.vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__media::after,
.vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__media::after {
  content: none;
  background: none;
}

.vistore-promo-slider__frame--item .vistore-promo-slider__media::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  background: linear-gradient(90deg, transparent 68%, color-mix(in srgb, var(--slider-surface) 10%, transparent) 78%, color-mix(in srgb, var(--slider-surface) 68%, transparent) 92%, var(--slider-surface) 100%);
  pointer-events: none;
}

.vistore-promo-slider__frame--item {
  background:
    radial-gradient(circle at 94% 8%, color-mix(in srgb, var(--slider-accent-2) 31%, transparent), transparent 38%),
    radial-gradient(circle at 72% 112%, color-mix(in srgb, var(--slider-accent) 22%, transparent), transparent 43%),
    linear-gradient(135deg, var(--slider-surface-soft) 0%, var(--slider-surface) 58%, color-mix(in srgb, var(--slider-surface) 88%, #000) 100%);
}

.vistore-promo-slider__frame--item .vistore-promo-slider__copy {
  padding: clamp(28px, 3.2vw, 44px);
  justify-content: center;
}

@media (min-width: 721px) {
  .vistore-promo-slider__frame--item .vistore-promo-slider__media,
  .vistore-promo-slider__frame--item .vistore-promo-slider__media:hover {
    z-index: 1;
    width: calc(100% + clamp(110px, 12vw, 170px));
    max-width: none;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 64%, rgba(0, 0, 0, .92) 72%, rgba(0, 0, 0, .46) 87%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 64%, rgba(0, 0, 0, .92) 72%, rgba(0, 0, 0, .46) 87%, transparent 100%);
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__media::after { content: none; }
  .vistore-promo-slider__frame--item .vistore-promo-slider__copy { position: relative; z-index: 2; }
}

.vistore-promo-slider__frame--custom .vistore-promo-slider__copy {
  inset-block: auto;
  top: 50%;
  width: min(500px, calc(100% - 96px));
  min-height: 0;
  border: 0;
  border-radius: 24px;
  padding: clamp(24px, 3vw, 40px) clamp(58px, 5vw, 84px) clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  color: var(--slider-ink);
  background: linear-gradient(90deg, color-mix(in srgb, var(--slider-surface) 96%, transparent) 0%, color-mix(in srgb, var(--slider-surface-soft) 90%, transparent) 64%, transparent 100%);
  box-shadow: none;
  opacity: 0;
  transform: translate3d(0, -44%, 0) scale(.96);
  transition: opacity .5s ease .08s, transform .9s cubic-bezier(.16, .82, .25, 1) .08s;
  backdrop-filter: blur(7px) saturate(125%);
}

.vistore-promo-slider__slide--custom.is-active .vistore-promo-slider__copy {
  opacity: 1;
  transform: translate3d(0, -50%, 0) scale(1);
}

.vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__copy {
  right: auto;
  left: 50%;
  width: min(560px, calc(100% - 96px));
  padding-inline: clamp(30px, 4vw, 54px);
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--slider-surface) 96%, transparent) 0%, color-mix(in srgb, var(--slider-surface-soft) 88%, transparent) 60%, transparent 100%);
  transform: translate3d(-50%, -44%, 0) scale(.96);
}

.vistore-promo-slider__slide--custom.align-center.is-active .vistore-promo-slider__copy {
  transform: translate3d(-50%, -50%, 0) scale(1);
}

.vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__copy {
  right: clamp(34px, 6vw, 82px);
  left: auto;
  padding-right: clamp(24px, 3vw, 40px);
  padding-left: clamp(58px, 5vw, 84px);
  background: linear-gradient(270deg, color-mix(in srgb, var(--slider-surface) 96%, transparent) 0%, color-mix(in srgb, var(--slider-surface-soft) 90%, transparent) 64%, transparent 100%);
}

.vistore-promo-slider__slide--custom.is-action-only .vistore-promo-slider__copy {
  width: auto;
  min-width: 0;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.vistore-promo-slider__slide--custom.is-action-only .vistore-promo-slider__eyebrow,
.vistore-promo-slider__slide--custom.is-action-only .vistore-promo-slider__copy h2,
.vistore-promo-slider__slide--custom.is-action-only .vistore-promo-slider__copy p { display: none; }

.vistore-promo-slider__slide .vistore-promo-slider__copy h2 {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  font-family: var(--slider-font);
  font-size: clamp(24px, 2.55vw, 36px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.04em;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: none;
}

.vistore-promo-slider__slide--custom .vistore-promo-slider__copy h2,
.vistore-promo-slider__slide--item .vistore-promo-slider__copy h2 {
  color: var(--slider-ink);
  background: linear-gradient(100deg, var(--slider-ink) 0 34%, var(--slider-accent) 48%, var(--slider-accent-2) 63%, var(--slider-ink) 78% 100%);
  background-size: 240% 100%;
  background-position: 100% 0;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vistore-promo-slider__eyebrow {
  border-color: color-mix(in srgb, var(--slider-accent) 46%, transparent);
  color: var(--slider-surface);
  background: var(--slider-accent);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--slider-accent) 22%, transparent);
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.vistore-promo-slider__copy p {
  max-width: 43ch;
  color: var(--slider-muted);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -.01em;
}

.vistore-promo-slider__slide--item .vistore-promo-slider__copy {
  color: var(--slider-ink);
}

.vistore-promo-slider__location,
.vistore-promo-slider__price {
  min-height: 42px;
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
  backdrop-filter: blur(14px) saturate(135%);
}

.vistore-promo-slider__location {
  border-color: color-mix(in srgb, var(--slider-accent) 32%, transparent);
  color: var(--slider-ink);
  background: color-mix(in srgb, var(--slider-surface-soft) 78%, transparent);
}

.vistore-promo-slider__location .vistore-icon { color: var(--slider-accent); }

.vistore-promo-slider__price {
  border-color: color-mix(in srgb, var(--slider-accent) 78%, #fff);
  color: var(--slider-surface);
  background: linear-gradient(120deg, var(--slider-accent), color-mix(in srgb, var(--slider-accent) 62%, #fff));
  box-shadow: 0 12px 30px color-mix(in srgb, var(--slider-accent) 25%, transparent);
}

.vistore-promo-slider__cta {
  width: auto;
  min-width: 190px;
  border-color: rgba(230, 248, 171, .58) !important;
  border-radius: 999px !important;
  padding-inline: 22px !important;
  color: var(--slider-surface) !important;
  background: linear-gradient(100deg, var(--slider-accent) 0%, color-mix(in srgb, var(--slider-accent) 58%, #fff) 52%, var(--slider-accent-2) 100%) !important;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--slider-accent-2) 28%, transparent), inset 0 1px rgba(255, 255, 255, .35) !important;
  align-self: flex-start;
  margin-top: 2px;
}

.vistore-promo-slider__slide [data-slider-layer] {
  opacity: 0;
  filter: none;
  transform: translate3d(0, 18px, 0);
  transition: opacity .48s ease, transform .72s cubic-bezier(.16, .82, .25, 1), clip-path .72s cubic-bezier(.16, .82, .25, 1);
}

.vistore-promo-slider__slide.align-right [data-slider-layer]:not(.vistore-promo-slider__media) {
  transform: translate3d(0, 18px, 0);
}

.vistore-promo-slider__slide.align-center [data-slider-layer]:not(.vistore-promo-slider__media) {
  transform: translate3d(0, 18px, 0);
}

.vistore-promo-slider__slide [data-slider-layer="title"] { clip-path: inset(0 0 100% 0); transform: translate3d(0, 24px, 0); }

.vistore-promo-slider__slide .vistore-promo-slider__media[data-slider-layer] {
  opacity: 1;
  filter: saturate(.82);
  clip-path: inset(5% 4% round 30px);
  transform: scale(1.015);
  transition: clip-path 1s cubic-bezier(.16, .82, .25, 1), filter 1.1s ease, transform 1.4s cubic-bezier(.16, .82, .25, 1);
}

.vistore-promo-slider__slide [data-slider-layer="eyebrow"] { transition-delay: 0s; }
.vistore-promo-slider__slide [data-slider-layer="title"] { transition-delay: .07s; }
.vistore-promo-slider__slide [data-slider-layer="text"] { transition-delay: .15s; }
.vistore-promo-slider__slide [data-slider-layer="meta"] { transition-delay: .21s; }
.vistore-promo-slider__slide [data-slider-layer="cta"] { transition-delay: .29s; }
.vistore-promo-slider__slide.is-active [data-slider-layer] { opacity: 1; filter: none; transform: translate3d(0, 0, 0); }
.vistore-promo-slider__slide.is-active [data-slider-layer="title"] { clip-path: inset(0); }
.vistore-promo-slider__slide.is-active [data-slider-layer="title"] { animation: vistore-slider-title-spectrum 1.45s cubic-bezier(.16, .82, .25, 1) .08s both; }
.vistore-promo-slider__slide.is-active .vistore-promo-slider__location { animation: vistore-slider-badge-in .58s cubic-bezier(.2, .86, .3, 1.25) .2s both; }
.vistore-promo-slider__slide.is-active .vistore-promo-slider__price--desktop { animation: vistore-slider-badge-in .58s cubic-bezier(.2, .86, .3, 1.25) .34s both; }
.vistore-promo-slider__slide.is-active .vistore-promo-slider__media[data-slider-layer] { clip-path: inset(0 round 0); transform: scale(1); }
.vistore-promo-slider__slide.is-active .vistore-promo-slider__media { transition-delay: 0s; }

@keyframes vistore-slider-title-spectrum {
  0% { opacity: 0; background-position: 100% 0; transform: translate3d(0, 26px, 0); letter-spacing: -.075em; }
  55% { opacity: 1; }
  100% { opacity: 1; background-position: 0 0; transform: translate3d(0, 0, 0); letter-spacing: -.04em; }
}

@keyframes vistore-slider-badge-in {
  0% { opacity: 0; transform: translate3d(18px, 0, 0) scale(.82); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

.vistore-promo-slider__media img,
.vistore-promo-slider__frame--item .vistore-promo-slider__media img,
.vistore-promo-slider__slide.is-active .vistore-promo-slider__media img,
.vistore-promo-slider__slide--item.is-active .vistore-promo-slider__media img {
  transform: scale(1.005) !important;
}

.vistore-promo-slider__arrow {
  width: 48px;
  height: 48px;
  border-color: rgba(20, 36, 31, .12);
  border-radius: 50%;
  color: #15221e;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 12px 32px rgba(17, 35, 29, .16);
  transition: transform .24s ease, background .24s ease, border-color .24s ease;
}

.vistore-promo-slider__arrow:hover {
  border-color: rgba(215, 243, 90, .78);
  background: rgba(23, 76, 184, .88);
}

.vistore-promo-slider__arrow.is-prev:hover { transform: translateX(-3px); }
.vistore-promo-slider__arrow.is-next:hover { transform: translateX(3px); }

.vistore-promo-slider__controls {
  right: 28px;
  bottom: 22px;
  left: auto;
  gap: 12px;
  border: 1px solid rgba(20, 36, 31, .1);
  border-radius: 999px;
  padding: 4px 8px 4px 12px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 10px 28px rgba(17, 35, 29, .13);
  transform: none;
  backdrop-filter: blur(12px);
}

.vistore-promo-slider__counter {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: #86918d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

.vistore-promo-slider__counter b { color: #15221e; font-size: 16px; letter-spacing: -.02em; }
.vistore-promo-slider__counter i { color: #b1bab7; font-style: normal; }
.vistore-promo-slider__counter em { font-style: normal; }
.vistore-promo-slider__dots { gap: 2px; }
.vistore-promo-slider__dots button::after { width: 18px; height: 2px; border-radius: 99px; background: #b6c0bc; box-shadow: none; }
.vistore-promo-slider__dots button.is-active { width: 34px; }
.vistore-promo-slider__dots button.is-active::after { width: 28px; background: #d7f35a; box-shadow: 0 0 12px rgba(215, 243, 90, .5); }
.vistore-promo-slider__progress { height: 3px; }
.vistore-promo-slider__progress i { background: linear-gradient(90deg, #b9e33c, #d7f35a, #4f8fff); }

@media (max-width: 720px) {
  .vistore-promo-slider { width: min(calc(100% - 18px), var(--vs-container)); margin-top: 8px; padding-bottom: 0; }
  .vistore-promo-slider__viewport { height: clamp(300px, 82vw, 330px); border-radius: 20px !important; }
  .vistore-promo-slider__slide { padding: 0; }
  .vistore-promo-slider__frame--item {
    position: relative;
    display: block;
    border: 0;
    border-radius: 19px;
    background: linear-gradient(180deg, #b4bed0 0%, #9daac1 100%);
  }
  .vistore-promo-slider__slide--item .vistore-promo-slider__frame--item .vistore-promo-slider__media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: -34px;
    left: 0;
    width: 100%;
    height: 350px !important;
    padding: 0;
    overflow: hidden;
    border-radius: 19px;
    transform: none;
    background: #9daac1;
    box-shadow: none;
  }
  .vistore-promo-slider__slide--item .vistore-promo-slider__frame--item .vistore-promo-slider__media picture { border-radius: 19px; }
  .vistore-promo-slider__slide--item .vistore-promo-slider__frame--item .vistore-promo-slider__media::after {
    background: linear-gradient(to bottom, rgba(3, 4, 12, .04) 0%, transparent 42%, rgba(34, 62, 108, .12) 68%, rgba(34, 62, 108, .28) 100%);
  }
  .vistore-promo-slider__frame--item .vistore-promo-slider__copy {
    position: absolute;
    z-index: 3;
    inset: auto 14px 42px;
    padding: 0;
    justify-content: flex-end;
    align-items: flex-start;
    color: #fff;
    background: transparent;
  }
  .vistore-promo-slider__slide--item .vistore-promo-slider__copy h2 {
    max-width: 100%;
    display: block;
    overflow: hidden;
    color: #fff;
    font-family: "Avenir Next", "Century Gothic", Futura, sans-serif;
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: none;
    animation: none;
    -webkit-text-fill-color: #fff;
  }
  .vistore-promo-slider__frame--custom { border-radius: 19px; }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__media::after,
  .vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__media::after,
  .vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__media::after {
    background: linear-gradient(0deg, rgba(3, 4, 12, .88) 0%, rgba(3, 4, 12, .48) 38%, rgba(3, 4, 12, .04) 72%);
  }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__copy {
    inset: auto 15px 15px;
    width: auto;
    border: 0;
    border-radius: 0;
    padding: 0;
    align-items: flex-start;
    justify-content: flex-end;
    text-align: left;
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .vistore-promo-slider__slide--custom.is-active .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-center.is-active .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-right.is-active .vistore-promo-slider__copy { opacity: 1; transform: translate3d(0, 0, 0); }
  .vistore-promo-slider__slide--custom.is-action-only .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-center.is-action-only .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-right.is-action-only .vistore-promo-slider__copy {
    inset: auto auto 15px 15px;
    width: auto;
    border: 0;
    border-radius: 999px;
    padding: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__copy h2 {
    max-width: 18ch;
    color: #fff;
    font-family: "Avenir Next", "Century Gothic", Futura, sans-serif;
    font-size: clamp(21px, 6.2vw, 26px);
    line-height: 1.02;
    white-space: normal;
    background: none;
    animation: none;
    -webkit-text-fill-color: #fff;
  }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__copy p {
    max-width: 36ch;
    margin-top: 7px;
    display: -webkit-box;
    overflow: hidden;
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  .vistore-promo-slider__frame--custom .vistore-promo-slider__cta { width: auto; min-width: 142px; min-height: 44px; }
  .vistore-promo-slider__eyebrow,
  .vistore-promo-slider__slide--item .vistore-promo-slider__copy p,
  .vistore-promo-slider__meta { display: none; }
  .vistore-promo-slider__slide--item .vistore-promo-slider__price--mobile {
    position: absolute;
    z-index: 2;
    left: 12px;
    top: 12px;
    bottom: auto;
    min-height: 36px;
    margin: 0;
    border-color: rgba(255, 255, 255, .18);
    border-radius: 11px;
    padding: 7px 10px;
    display: inline-flex;
    color: #fff;
    background: rgba(5, 5, 12, .7);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
    font-size: 15px;
    backdrop-filter: blur(14px);
  }
  .vistore-promo-slider__price--desktop { display: none; }
  .vistore-promo-slider__slide--item .vistore-promo-slider__cta {
    width: auto;
    min-width: 118px;
    min-height: 34px;
    border-radius: 999px !important;
    padding-inline: 14px !important;
    font-size: 11px !important;
  }
  .vistore-promo-slider__cta {
    color: #fff !important;
    background: linear-gradient(100deg, #1959dd 0%, #306fe8 52%, #1546b3 100%) !important;
    box-shadow: 0 12px 26px rgba(12, 61, 167, .3) !important;
  }
  .vistore-promo-slider__arrow,
  .vistore-promo-slider__pause { display: none; }
  .vistore-promo-slider__controls {
    z-index: 5;
    right: auto;
    bottom: 8px;
    left: 50%;
    gap: 0;
    border: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    transform: translateX(-50%);
    backdrop-filter: none;
  }
  .vistore-promo-slider__counter { display: none; }
  .vistore-promo-slider__dots { gap: 0; }
  .vistore-promo-slider__dots button { width: 22px; height: 22px; min-height: 22px; }
  .vistore-promo-slider__dots button::after { width: 10px; height: 2px; background: rgba(255, 255, 255, .52); }
  .vistore-promo-slider__dots button.is-active { width: 26px; }
  .vistore-promo-slider__dots button.is-active::after { width: 14px; background: #d7f35a; }
  .vistore-promo-slider__progress { border-radius: 0 0 22px 22px !important; }
  .vistore-promo-slider__slide [data-slider-layer] { clip-path: none; filter: none; transform: translate3d(0, 12px, 0); }
  .vistore-promo-slider__slide.is-active [data-slider-layer] { transform: translate3d(0, 0, 0); }
}

@media (max-width: 390px) {
  .vistore-promo-slider__viewport { height: clamp(278px, 80vw, 302px); }
  .vistore-promo-slider__frame--item .vistore-promo-slider__copy { inset: auto 12px 40px; padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .vistore-promo-slider__slide [data-slider-layer],
  .vistore-promo-slider__slide--custom .vistore-promo-slider__copy { clip-path: none !important; filter: none !important; }
}

.vistore-theme.vistore-item-detail .vistore-item-aside {
  align-self: start;
  gap: 10px;
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card {
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 10px 28px rgba(16, 24, 40, .055);
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__rating {
  padding-block: 8px;
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding-block: 10px 0;
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__facts > span {
  min-height: 42px;
  padding: 6px;
  align-items: flex-start;
  gap: 5px;
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__actions > :first-child {
  grid-column: auto;
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__actions > :only-child,
.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__actions > .vistore-button--whatsapp {
  grid-column: 1 / -1;
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__profile-link {
  min-height: 52px;
  margin-top: 10px;
}

.vistore-theme.vistore-item-detail .vistore-item-aside__tools {
  overflow: hidden;
  border: 1px solid var(--vs-separator);
  border-radius: 16px;
  background: var(--vs-surface);
}

.vistore-theme.vistore-item-detail .vistore-item-aside__tools > details {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vistore-theme.vistore-item-detail .vistore-item-aside__tools > details + details {
  border-top: 1px solid var(--vs-separator) !important;
}

.vistore-theme.vistore-item-detail .vistore-item-aside__tools > details > summary {
  min-height: 48px;
  padding: 9px 12px;
}

.vistore-theme.vistore-item-detail .vistore-item-aside__tools > details[open] > summary {
  background: var(--vs-surface-subtle);
}

.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-safety-card {
  border-radius: 14px;
  padding: 11px 12px;
}

@media (min-width: 981px) {
  .vistore-theme.vistore-item-detail .vistore-item-layout {
    grid-template-columns: minmax(0, 1fr) clamp(300px, 24vw, 320px);
    gap: 20px;
  }

  .vistore-theme.vistore-item-detail .vistore-item-aside {
    top: calc(var(--vs-header-height) + 54px);
    max-height: none;
    padding-right: 0;
    overflow: visible;
    overscroll-behavior: auto;
    scrollbar-gutter: auto;
  }
}

@media (max-width: 720px) {
  .vistore-slider-shell {
    margin-top: 8px;
  }

  .vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card {
    border-radius: 16px;
    padding: 13px;
  }

  .vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vistore-theme.vistore-item-detail .vistore-item-aside__tools {
    border-radius: 14px;
  }
}

/* Vistore 1.0.40 — compact marketplace controls, mobile header and seller card. */
.vistore-seller-card__facts,
.vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vistore-follow-form .vistore-button--follow {
  width: 100%;
  min-height: 40px;
  justify-content: flex-start;
  gap: 8px;
  border: 1px solid #b9cdfb;
  border-radius: 11px;
  padding: 6px 8px;
  color: #134dbd;
  background: linear-gradient(180deg, var(--vs-surface) 0%, var(--vs-primary-soft) 100%);
  box-shadow: 0 3px 9px rgba(21, 94, 239, .08);
}

.vistore-follow-form .vistore-button--follow > .vistore-icon {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 8px;
  padding: 6px;
  color: #fff;
  background: linear-gradient(135deg, #3979f5, var(--vs-primary));
  box-shadow: 0 4px 9px rgba(21, 94, 239, .22);
}

.vistore-follow-form .vistore-button--follow > span {
  min-width: 0;
  flex: 1 1 auto;
  text-align: left;
}

.vistore-follow-form .vistore-button--follow > small {
  min-width: 23px;
  border: 0;
  border-radius: 999px;
  padding: 3px 6px;
  color: #49617f;
  background: #e9eff9;
  font-size: 9.5px;
  line-height: 1.2;
  text-align: center;
}

.vistore-follow-form .vistore-button--follow:hover {
  border-color: #76a1f7;
  color: #0b46bc;
  background: var(--vs-surface);
  box-shadow: 0 7px 16px rgba(21, 94, 239, .14);
}

.vistore-follow-form .vistore-button--follow.is-following {
  border-color: #a8dfc4;
  color: var(--vs-success-strong);
  background: linear-gradient(180deg, var(--vs-surface) 0%, #f1fbf6 100%);
}

.vistore-follow-form .vistore-button--follow.is-following > .vistore-icon {
  background: linear-gradient(135deg, #18a968, #07864f);
  box-shadow: 0 4px 9px rgba(3, 152, 85, .2);
}

.vistore-theme.vistore-item-detail .vistore-item-aside__tools .vistore-contact-panel > div {
  padding: 0 !important;
}

.vistore-theme.vistore-item-detail .vistore-contact-card.is-embedded {
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 13px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vistore-contact-card.is-embedded .vistore-recaptcha {
  width: 100%;
  min-height: 74px;
  overflow: hidden;
}

.vistore-contact-card.is-embedded .vistore-recaptcha .g-recaptcha {
  width: 324px;
  transform: scale(.94);
  transform-origin: top left;
}

.vistore-contact-card.is-embedded :where(input, select, textarea) {
  width: 100% !important;
  max-width: 100% !important;
}

@media (min-width: 821px) {
  .vistore-theme .vistore-button {
    min-height: 40px;
    border-radius: 10px;
    padding: 8px 13px;
    font-size: 12.5px;
  }

  .vistore-theme .vistore-header__publish {
    height: 42px;
    min-height: 42px;
  }

  .vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__actions .vistore-button:not(.vistore-button--whatsapp) {
    min-height: 38px;
    padding: 6px 8px;
    border-radius: 10px;
  }
}

@media (max-width: 820px) {
  :root {
    --vs-header-height: 98px;
  }

  .vistore-theme .vistore-header__main {
    width: 100%;
    max-width: none;
    min-height: var(--vs-header-height);
    padding: 6px 11px 7px;
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    grid-template-rows: 40px 42px;
    gap: 4px 8px;
  }

  .vistore-theme .vistore-header__menu,
  .vistore-theme .vistore-header__publish {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    border-radius: 11px;
  }

  .vistore-theme .vistore-header__menu {
    border-color: var(--vs-line);
    color: #26364d;
    background: var(--vs-surface-subtle);
    box-shadow: none;
  }

  .vistore-theme .vistore-header__brand {
    justify-self: center;
  }

  .vistore-theme .vistore-header__brand .vistore-brand {
    max-width: 100%;
  }

  .vistore-theme .vistore-header__brand .vistore-brand > img {
    width: auto;
    height: 29px;
    max-width: 145px;
  }

  .vistore-theme .vistore-header-search input {
    height: 42px;
    min-height: 42px;
    border: 1px solid var(--vs-line) !important;
    border-radius: 11px !important;
    padding: 0 44px 0 13px !important;
    background: var(--vs-surface-subtle) !important;
    font-size: 14px;
    box-shadow: inset 0 1px 2px rgba(16, 24, 40, .025);
  }

  .vistore-theme .vistore-header-search > button {
    top: 3px;
    right: 3px;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    border-radius: 9px;
    box-shadow: 0 4px 10px rgba(21, 94, 239, .17);
  }

  /* The home header only shows the menu and search field on one row. */
  .vistore-theme .vistore-header--home .vistore-header__main {
    min-height: 59px;
    grid-template-rows: 46px;
  }

  .vistore-primary-links__rail {
    min-height: 38px;
    padding-inline: 11px;
  }

  .vistore-primary-links__rail > a {
    min-height: 31px;
    padding: 6px 8px;
    font-size: 10.5px;
  }

  .vistore-theme.vistore-item-detail .vistore-item-aside .vistore-seller-card__actions .vistore-button:not(.vistore-button--whatsapp) {
    min-height: 40px;
    padding: 7px 8px;
  }

  .vistore-push-optin {
    left: 10px;
    bottom: calc(74px + env(safe-area-inset-bottom));
    width: calc(100vw - 20px);
    grid-template-columns: 38px minmax(0, 1fr) 28px;
    gap: 8px;
    padding: 10px;
    border-radius: 15px;
  }

  .vistore-push-optin > span {
    width: 38px;
    height: 38px;
    border-radius: 11px;
  }

  .vistore-push-optin > div strong {
    font-size: 12.5px;
  }

  .vistore-push-optin > div small {
    font-size: 10.5px;
  }

  .vistore-push-optin > .vistore-button {
    grid-column: 2;
    width: max-content;
    min-height: 34px;
    justify-self: start;
    padding: 6px 10px;
    font-size: 11px;
  }

  .vistore-push-optin > .vistore-icon-button {
    grid-column: 3;
    grid-row: 1;
    width: 28px;
    height: 28px;
  }
}

@media (max-width: 380px) {
  .vistore-contact-card.is-embedded .vistore-recaptcha .g-recaptcha {
    transform: scale(.86);
  }
}

/* Messaging 1.0.42: the thread scrolls; the reply box never leaves the shell. */
.vistore-messenger__conversation {
  min-height: 0;
  overflow: hidden;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.vistore-message-stream {
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  justify-content: flex-start;
  gap: 7px;
  padding: 15px 18px 18px;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}

.vistore-conversation-context {
  flex: 0 0 auto;
  margin-bottom: 7px;
}

.vistore-message {
  flex: 0 0 auto;
}

.vistore-message > div {
  max-width: min(68%, 560px);
  padding: 8px 11px 6px;
  line-height: 1.42;
}

.vistore-message footer {
  min-height: 12px;
}

.vistore-conversation-bottom {
  position: relative;
  z-index: 3;
  min-width: 0;
  max-height: min(46dvh, 390px);
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, auto) auto;
  border-top: 1px solid var(--vs-line);
  background: var(--vs-surface);
  box-shadow: 0 -8px 22px rgba(16, 24, 40, .045);
}

.vistore-conversation-bottom .vistore-message-composer {
  position: relative;
  bottom: auto;
  min-height: 64px;
  border-top: 0;
  padding: 9px 12px max(9px, env(safe-area-inset-bottom));
}

.vistore-conversation-bottom .vistore-buyer-rating {
  margin: 0 12px 9px;
  border-color: var(--vs-line-soft);
  border-radius: 11px;
  box-shadow: none;
}

.vistore-conversation-bottom .vistore-buyer-rating summary {
  min-height: 38px;
  padding: 6px 10px;
}

.vistore-conversation-bottom .vistore-buyer-rating summary small {
  display: none;
}

.vistore-conversation-bottom .vistore-buyer-rating[open] {
  max-height: min(30dvh, 240px);
  overflow-y: auto;
}

@media (max-width: 720px) {
  body.vistore-chat-conversation {
    overflow: hidden;
  }

  body.vistore-chat-conversation .vistore-messenger__conversation {
    height: 100%;
    min-height: 0;
  }

  body.vistore-chat-conversation .vistore-message-stream {
    padding: 11px 9px 13px;
    scrollbar-gutter: auto;
  }

  .vistore-message > div {
    max-width: 84%;
  }

  .vistore-conversation-bottom {
    max-height: 52dvh;
  }

  .vistore-conversation-bottom .vistore-message-composer {
    padding: 7px 8px max(7px, env(safe-area-inset-bottom));
  }

  .vistore-conversation-bottom .vistore-buyer-rating {
    margin: 0 8px 7px;
  }
}

/* One-to-one audio and video calls. */
.vistore-conversation-header__calls {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
}

.vistore-conversation-header__calls button {
  width: 38px;
  min-width: 38px;
  height: 38px;
  border: 0;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: var(--vs-primary);
  background: color-mix(in srgb, var(--vs-primary) 8%, var(--vs-surface));
  cursor: pointer;
  transition: transform .18s ease, background .18s ease;
}

.vistore-conversation-header__calls button:hover {
  background: color-mix(in srgb, var(--vs-primary) 14%, var(--vs-surface));
  transform: translateY(-1px);
}

.vistore-conversation-header__calls button:disabled {
  opacity: .4;
  cursor: not-allowed;
  transform: none;
}

.vistore-conversation-header__calls .vistore-icon {
  width: 19px;
  height: 19px;
}

.vistore-conversation-header__calls + .vistore-conversation-header__item {
  margin-left: 3px;
}

body.vistore-call-open {
  overflow: hidden;
}

.vistore-call-layer[hidden] {
  display: none !important;
}

.vistore-call-layer {
  position: fixed;
  z-index: 10050;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
}

.vistore-call-layer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 10, 24, .72);
  backdrop-filter: blur(12px);
}

.vistore-call-panel {
  position: relative;
  width: min(420px, 100%);
  min-height: min(590px, calc(100dvh - 36px));
  max-height: calc(100dvh - 36px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 26px;
  display: grid;
  grid-template-rows: auto minmax(260px, 1fr) auto;
  color: #fff;
  background: radial-gradient(circle at 50% 18%, #263657 0, #101827 44%, #080d18 100%);
  box-shadow: 0 34px 90px rgba(0, 0, 0, .42);
}

.vistore-call-layer.is-video .vistore-call-panel {
  width: min(780px, 100%);
}

.vistore-call-panel > header {
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 3px;
  padding: 22px 20px 12px;
  text-align: center;
}

.vistore-call-panel > header > span {
  color: #a8b2c7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.vistore-call-panel > header strong {
  max-width: 90%;
  overflow: hidden;
  font-size: 22px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vistore-call-panel > header small {
  color: #cbd5e1;
  font-size: 12px;
}

.vistore-call-layer.has-error .vistore-call-panel > header small {
  color: #fda29b;
}

.vistore-call-stage {
  position: relative;
  min-height: 0;
  overflow: hidden;
  display: grid;
  place-items: center;
}

.vistore-call-stage__avatar {
  display: grid;
  place-items: center;
}

.vistore-call-stage__avatar .vistore-avatar {
  width: 124px;
  height: 124px;
  border: 4px solid rgba(255, 255, 255, .16);
  font-size: 32px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .3);
}

.vistore-call-layer.is-incoming .vistore-call-stage__avatar {
  animation: vistore-call-pulse 1.8s ease-in-out infinite;
}

@keyframes vistore-call-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.045); }
}

.vistore-call-stage__remote {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #050912;
}

.vistore-call-layer:not(.is-video) .vistore-call-stage__remote {
  width: 1px;
  height: 1px;
  opacity: 0;
}

.vistore-call-stage__local {
  position: absolute;
  z-index: 2;
  right: 16px;
  bottom: 14px;
  width: min(150px, 27%);
  aspect-ratio: 3 / 4;
  border: 2px solid rgba(255, 255, 255, .55);
  border-radius: 16px;
  object-fit: cover;
  background: #111827;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
}

.vistore-call-layer:not(.is-video) .vistore-call-stage__local {
  display: none;
}

.vistore-call-actions {
  z-index: 3;
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 14px 20px max(20px, env(safe-area-inset-bottom));
  background: linear-gradient(180deg, rgba(8, 13, 24, 0), rgba(8, 13, 24, .96) 28%);
}

.vistore-call-actions[hidden] {
  display: none !important;
}

.vistore-call-actions button {
  min-width: 64px;
  border: 0;
  display: grid;
  justify-items: center;
  gap: 6px;
  color: #fff;
  background: transparent;
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
}

.vistore-call-actions button .vistore-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  padding: 16px;
  background: rgba(255, 255, 255, .14);
  transition: transform .16s ease, background .16s ease;
}

.vistore-call-actions button:hover .vistore-icon {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, .22);
}

.vistore-call-actions button.is-off .vistore-icon {
  color: var(--vs-ink);
  background: var(--vs-surface);
}

.vistore-call-actions button.is-reject .vistore-icon,
.vistore-call-actions button.is-end .vistore-icon {
  transform: rotate(135deg);
  background: #d92d20;
}

.vistore-call-actions button.is-accept .vistore-icon {
  background: #12b76a;
}

.vistore-call-actions--incoming {
  gap: 62px;
}

@media (max-width: 720px) {
  .vistore-conversation-header__calls {
    gap: 4px;
  }

  .vistore-conversation-header__calls button {
    width: 34px;
    min-width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .vistore-conversation-header__calls + .vistore-conversation-header__item {
    display: none;
  }

  .vistore-call-layer {
    padding: 0;
  }

  .vistore-call-panel,
  .vistore-call-layer.is-video .vistore-call-panel {
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .vistore-call-panel > header {
    padding-top: max(22px, env(safe-area-inset-top));
  }

  .vistore-call-stage__local {
    right: 12px;
    bottom: 10px;
    width: 29%;
    border-radius: 13px;
  }

  .vistore-call-actions {
    min-height: 112px;
    gap: 16px;
    padding-inline: 12px;
  }

  .vistore-call-actions--incoming {
    gap: 54px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vistore-call-layer.is-incoming .vistore-call-stage__avatar {
    animation: none;
  }
}
/* Professional category verticals: calm surfaces, strong hierarchy, minimal chrome. */
.vistore-vertical-editor{margin-top:24px}.vistore-vertical-panel{padding:22px;border-radius:20px;background:linear-gradient(145deg,var(--vs-primary-soft) 0%,var(--vs-surface) 62%);box-shadow:inset 0 0 0 1px rgba(21,94,239,.09)}.vistore-vertical-panel[hidden]{display:none!important}.vistore-vertical-panel>header{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.vistore-vertical-panel>header>span{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:14px;color:var(--vs-primary);background:var(--vs-primary-soft)}.vistore-vertical-panel>header svg{width:21px;height:21px}.vistore-vertical-panel h3{margin:0 0 4px;font-size:18px}.vistore-vertical-panel p{margin:0;color:var(--vistore-muted,var(--vs-muted));font-size:13px;line-height:1.5}.vistore-vertical-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vistore-vertical-fields .vistore-field{margin:0}.vistore-vertical-fields .vistore-field--wide{grid-column:1/-1}.vistore-vertical-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:0;overflow:hidden;border-radius:16px;background:var(--vs-fill)}.vistore-vertical-specs>div{min-height:76px;padding:15px 16px;background:var(--vs-surface)}.vistore-vertical-specs dt{margin:0 0 7px;color:var(--vs-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.vistore-vertical-specs dd{margin:0;color:var(--vs-ink);font-size:15px;font-weight:800}.vistore-job-apply form{margin-top:18px}.vistore-job-apply__status{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:14px;background:var(--vs-success-soft);color:var(--vs-success-strong)}.vistore-job-manage{margin:0 0 18px}.vistore-applications-page{padding-top:26px;padding-bottom:64px}.vistore-application-columns{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:22px}.vistore-application-lane{min-width:0}.vistore-application-lane>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 14px}.vistore-application-lane>header>div{display:flex;align-items:center;gap:10px}.vistore-application-lane>header span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:10px;background:var(--vs-primary-soft);color:var(--vs-primary);font-size:12px;font-weight:900}.vistore-application-lane h2,.vistore-application-lane p{margin:0}.vistore-application-lane>header p{color:var(--vs-muted);font-size:12px}.vistore-application-card{display:block;margin-bottom:12px;padding:18px;border-radius:18px;background:var(--vs-surface);box-shadow:0 10px 32px rgba(16,24,40,.07);color:inherit;text-decoration:none}.vistore-application-card__top{display:flex;justify-content:space-between;gap:16px}.vistore-application-card__top small{color:var(--vs-primary);font-weight:800}.vistore-application-card__top h3{margin:5px 0 0;font-size:17px}.vistore-application-card__top>span{align-self:flex-start;padding:6px 9px;border-radius:999px;background:var(--vs-fill);color:var(--vs-text);font-size:11px;font-weight:800}.vistore-application-card__top>span[data-status=accepted],.vistore-application-card__top>span[data-status=shortlisted]{background:var(--vs-success-soft);color:var(--vs-success-strong)}.vistore-application-card__top>span[data-status=rejected]{background:var(--vs-danger-soft);color:var(--vs-danger-strong)}.vistore-application-card__contact{display:flex;flex-wrap:wrap;gap:12px;margin:13px 0}.vistore-application-card__contact a{display:inline-flex;align-items:center;gap:6px;color:var(--vs-text);font-size:12px}.vistore-application-card__contact svg{width:15px}.vistore-application-card>p{color:var(--vs-text);line-height:1.65}.vistore-application-card__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}.vistore-application-card__actions form{display:flex;gap:8px;min-width:0}.vistore-application-card__actions select{min-width:0}.vistore-empty-compact{display:grid;place-items:center;min-height:150px;border-radius:18px;background:var(--vs-surface-subtle);color:var(--vs-muted);text-align:center}.vistore-empty-compact svg{width:28px}.vistore-empty-compact p{margin-top:8px}
@media(max-width:820px){.vistore-vertical-fields,.vistore-application-columns{grid-template-columns:1fr}.vistore-vertical-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.vistore-application-lane>header{align-items:flex-start;flex-direction:column;gap:5px}.vistore-application-card__actions{align-items:stretch;flex-direction:column}.vistore-application-card__actions form{display:grid;grid-template-columns:1fr auto}}
@media(max-width:520px){.vistore-vertical-panel{padding:16px;border-radius:16px}.vistore-vertical-fields,.vistore-vertical-specs{grid-template-columns:1fr}.vistore-application-card{padding:15px}.vistore-application-card__top{align-items:flex-start}.vistore-application-card__contact{display:grid}}

/* Homepage gateway: a clear route to each specialist marketplace. */
.vistore-section--space-gateway {
  padding-top: 8px;
}

.vistore-space-gateway__heading p {
  max-width: 600px;
  margin: 7px 0 0;
  color: var(--vistore-muted, var(--vs-muted));
  font-size: 13px;
  line-height: 1.55;
}

.vistore-space-gateway {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.vistore-space-gateway__card {
  --space-accent: #155eef;
  --space-deep: #102e54;
  position: relative;
  min-width: 0;
  min-height: 210px;
  overflow: hidden;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  color: #fff;
  background:
    radial-gradient(circle at 94% 8%, rgba(255, 255, 255, .2) 0, transparent 42%),
    linear-gradient(145deg, var(--space-deep), var(--space-accent));
  box-shadow: 0 14px 34px rgba(16, 24, 40, .12);
  text-decoration: none;
  isolation: isolate;
  transition: transform .2s ease, box-shadow .2s ease;
}

.vistore-space-gateway__card::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -52px;
  bottom: -72px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 50%;
}

.vistore-space-gateway__card--jobs {
  --space-accent: #155eef;
  --space-deep: #102e54;
}

.vistore-space-gateway__card--vehicles {
  --space-accent: #16803c;
  --space-deep: #123b20;
}

.vistore-space-gateway__card--real_estate {
  --space-accent: #9b7800;
  --space-deep: #493700;
}

.vistore-space-gateway__card:hover,
.vistore-space-gateway__card:focus-visible {
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 20px 42px rgba(16, 24, 40, .18);
}

.vistore-space-gateway__card:focus-visible {
  outline: 3px solid var(--vs-surface);
  outline-offset: -5px;
}

.vistore-space-gateway__icon {
  width: 42px;
  height: 42px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
}

.vistore-space-gateway__icon svg {
  width: 21px;
  height: 21px;
}

.vistore-space-gateway__copy {
  display: grid;
  gap: 4px;
  margin-top: 22px;
}

.vistore-space-gateway__copy small {
  color: rgba(255, 255, 255, .72);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.vistore-space-gateway__copy strong {
  color: #fff;
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1.05;
}

.vistore-space-gateway__copy > span {
  max-width: 34ch;
  color: rgba(255, 255, 255, .78);
  font-size: 12px;
  line-height: 1.45;
}

.vistore-space-gateway__action {
  width: fit-content;
  margin-top: auto;
  padding-top: 18px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}

.vistore-space-gateway__action svg {
  width: 15px;
  transition: transform .2s ease;
}

.vistore-space-gateway__card:hover .vistore-space-gateway__action svg,
.vistore-space-gateway__card:focus-visible .vistore-space-gateway__action svg {
  transform: translateX(3px);
}

@media (max-width: 820px) {
  .vistore-space-gateway {
    grid-template-columns: 1fr;
  }

  .vistore-space-gateway__card {
    min-height: 176px;
  }
}

@media (max-width: 520px) {
  .vistore-section--space-gateway {
    padding-top: 2px;
  }

  .vistore-space-gateway {
    grid-template-columns: repeat(3, minmax(82%, 1fr));
    gap: 8px;
    margin-inline: -4px;
    padding-inline: 4px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .vistore-space-gateway::-webkit-scrollbar {
    display: none;
  }

  .vistore-space-gateway__card {
    min-height: 190px;
    padding: 17px;
    scroll-snap-align: start;
  }
}

/* 1.0.49 — compact specialist search experiences. */
.vistore-space-gateway__card {
  background-image:
    linear-gradient(90deg, var(--space-deep) 0%, rgba(10, 22, 35, .82) 48%, rgba(10, 22, 35, .18) 100%),
    var(--space-image);
  background-position: center;
  background-size: cover;
}

.vistore-space-gateway__card--jobs {
  --space-image: url('../images/spaces/jobs.webp');
}

.vistore-space-gateway__card--vehicles {
  --space-image: url('../images/spaces/vehicles.webp');
}

.vistore-space-gateway__card--real_estate {
  --space-image: url('../images/spaces/real-estate.webp');
}

.vistore-space-gateway__card::after {
  right: -60px;
  bottom: -92px;
  width: 220px;
  height: 220px;
  background: rgba(255, 255, 255, .04);
}

.vistore-space-search-stage {
  position: relative;
  padding: 14px 0 18px;
  background-image:
    linear-gradient(90deg, rgba(5, 14, 26, .94) 0%, rgba(5, 14, 26, .7) 46%, rgba(5, 14, 26, .22) 100%),
    var(--space-art);
  background-position: center;
  background-size: cover;
  isolation: isolate;
}

.vistore-space-search-stage::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(5, 14, 26, .35));
}

.vistore-space-search-intro {
  min-height: 62px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  color: #fff;
}

.vistore-space-search-intro small {
  display: block;
  margin-bottom: 3px;
  color: rgba(255, 255, 255, .7);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vistore-space-search-intro h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1;
  letter-spacing: -.035em;
}

.vistore-space-search-intro p {
  max-width: 600px;
  margin: 4px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  line-height: 1.35;
}

.vistore-space-search-intro > strong {
  align-self: center;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 6px;
  color: #fff;
  background: rgba(0, 0, 0, .22);
  font-size: 10px;
  white-space: nowrap;
}

.vistore-space-search--premium {
  width: 100%;
  margin-top: 6px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 6px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
  backdrop-filter: blur(14px);
}

.vistore-space-search--premium .vistore-space-search__primary {
  grid-template-columns: minmax(180px, 1.35fr) minmax(150px, .95fr) minmax(145px, .85fr) minmax(145px, .85fr) auto;
  gap: 6px;
}

.vistore-space-search--premium .vistore-space-search__primary label {
  position: relative;
}

.vistore-space-search--premium .vistore-space-search__primary label > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.vistore-space-search--premium .vistore-space-search__primary label > div,
.vistore-space-search--premium .vistore-space-filter > input,
.vistore-space-search--premium .vistore-space-filter > select,
.vistore-space-search--premium .vistore-space-filter__range {
  border-radius: 6px;
}

.vistore-space-search--premium .vistore-space-search__primary label > div,
.vistore-space-search--premium .vistore-space-search__primary .vistore-button {
  min-height: 42px;
}

.vistore-space-search__advanced {
  margin-top: 7px;
  border-top: 1px solid var(--vs-line);
}

.vistore-space-search__advanced > summary {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 2px 0;
  color: var(--vs-text);
  cursor: pointer;
  list-style: none;
  font-size: 11px;
  font-weight: 850;
}

.vistore-space-search__advanced > summary::-webkit-details-marker { display: none; }
.vistore-space-search__advanced > summary span { display: inline-flex; align-items: center; gap: 6px; }
.vistore-space-search__advanced > summary svg { width: 15px; height: 15px; color: var(--space-color); }
.vistore-space-search__advanced > summary > svg:last-child { transition: transform .2s ease; }
.vistore-space-search__advanced[open] > summary > svg:last-child { transform: rotate(90deg); }

.vistore-space-search--premium .vistore-space-search__advanced .vistore-space-search__filters {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 0;
  padding-top: 7px;
}

.vistore-space-search--premium [data-vistore-city-select]:disabled {
  color: var(--vs-soft);
  cursor: not-allowed;
}

.vistore-space-results {
  padding-top: 18px;
  padding-bottom: 66px;
}

.vistore-space-block--results {
  margin: 0;
}

.vistore-space-block--results .vistore-section-heading p {
  margin: 5px 0 0;
  color: var(--vs-muted);
  font-size: 12px;
}

.vistore-filter-dynamic > .vistore-space-filter {
  display: grid !important;
  gap: 6px;
}

.vistore-filter-dynamic > .vistore-space-filter > span:first-child {
  color: var(--vs-text);
  font-size: 12px;
  font-weight: 750;
}

.vistore-filter-dynamic > .vistore-space-filter > input,
.vistore-filter-dynamic > .vistore-space-filter > select,
.vistore-filter-dynamic > .vistore-space-filter .vistore-space-filter__range input {
  width: 100%;
  min-height: 42px;
  border-radius: 6px;
  background: var(--vs-surface);
}

@media (max-width: 1050px) {
  .vistore-space-search--premium .vistore-space-search__primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vistore-space-search--premium .vistore-space-search__primary .vistore-button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .vistore-space-search-stage {
    padding: 10px 4px 12px;
    background-position: 64% center;
  }

  .vistore-space-search-intro {
    min-height: 54px;
    grid-template-columns: minmax(0, 1fr);
  }

  .vistore-space-search-intro h1 {
    font-size: 23px;
  }

  .vistore-space-search-intro p {
    display: none;
  }

  .vistore-space-search-intro > strong {
    display: none;
  }

  .vistore-space-search--premium {
    padding: 7px;
  }

  .vistore-space-search--premium .vistore-space-search__primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .vistore-space-search--premium .vistore-space-search__primary label:first-child {
    grid-column: 1 / -1;
  }

  .vistore-space-search--premium .vistore-space-search__advanced .vistore-space-search__filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vistore-space-results {
    padding-inline: 4px;
  }

}

/* Mobile promo rail: adverts and boosted listings keep their own image ratio. */
@media (max-width: 720px) {
  .vistore-slider-shell > .vistore-promo-slider {
    width: calc(100% - 4px) !important;
    margin: 6px auto 0 !important;
  }

  .vistore-slider-shell > .vistore-promo-slider > .vistore-promo-slider__viewport {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 7 / 5 !important;
    min-height: 0 !important;
    border-radius: 6px !important;
    background: #08111f;
    transition: aspect-ratio .22s ease;
  }

  .vistore-slider-shell > .vistore-promo-slider > .vistore-promo-slider__viewport:has(.vistore-promo-slider__slide--custom.is-active) {
    aspect-ratio: 16 / 9 !important;
  }

  .vistore-slider-shell > .vistore-promo-slider > .vistore-promo-slider__viewport:has(.vistore-promo-slider__slide--item.is-active) {
    aspect-ratio: 7 / 5 !important;
  }

  .vistore-promo-slider__frame,
  .vistore-promo-slider__frame--item,
  .vistore-promo-slider__frame--custom,
  .vistore-promo-slider__media,
  .vistore-promo-slider__media picture,
  .vistore-promo-slider__media img {
    border-radius: 6px !important;
  }

  .vistore-promo-slider__frame--item {
    display: block;
    height: 100%;
    border: 0;
    background: #0b1220;
  }

  .vistore-promo-slider__frame--custom {
    position: relative;
    display: block;
    height: 100%;
    overflow: hidden;
    border: 0;
    background: #08111f;
  }

  .vistore-promo-slider__frame--custom .vistore-promo-slider__media {
    position: absolute;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0;
    transform: none !important;
  }

  .vistore-promo-slider__frame--custom .vistore-promo-slider__media picture,
  .vistore-promo-slider__frame--custom .vistore-promo-slider__media img {
    width: 100% !important;
    height: 100% !important;
  }

  .vistore-promo-slider__frame--custom .vistore-promo-slider__media img,
  .vistore-promo-slider__slide--item.is-active .vistore-promo-slider__media img {
    object-fit: cover;
    transform: none !important;
  }

  .vistore-promo-slider__frame--custom .vistore-promo-slider__media::after,
  .vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__media::after,
  .vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__media::after {
    background: linear-gradient(180deg, transparent 48%, rgba(3, 8, 17, .08) 64%, rgba(3, 8, 17, .66) 100%);
  }

  .vistore-promo-slider__frame--custom .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-center .vistore-promo-slider__copy,
  .vistore-promo-slider__slide--custom.align-right .vistore-promo-slider__copy {
    position: absolute;
    z-index: 4;
    inset: auto auto 10px 10px;
    width: auto;
    min-height: 0;
    padding: 0;
    align-items: flex-start;
    justify-content: flex-end;
    transform: none;
    text-align: left;
  }

  .vistore-promo-slider__frame--custom .vistore-promo-slider__copy > :not(.vistore-button):not(.vistore-promo-slider__cta) {
    display: none !important;
  }

  .vistore-promo-slider__frame--custom .vistore-button,
  .vistore-promo-slider__frame--custom .vistore-promo-slider__cta {
    width: auto;
    min-height: 34px;
    border-radius: 6px !important;
    padding: 7px 11px;
    box-shadow: 0 6px 16px rgba(5, 39, 112, .3) !important;
    font-size: 11px !important;
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__media {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0;
    transform: none !important;
  }

  .vistore-promo-slider__slide--item .vistore-promo-slider__frame--item .vistore-promo-slider__media {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__media picture,
  .vistore-promo-slider__frame--item .vistore-promo-slider__media img {
    width: 100% !important;
    height: 100% !important;
    object-position: center;
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__media::after {
    background: linear-gradient(180deg, rgba(4, 10, 20, .06) 34%, rgba(4, 10, 20, .2) 55%, rgba(4, 10, 20, .82) 100%);
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__copy {
    position: absolute;
    z-index: 4;
    right: 12px;
    bottom: 12px;
    left: 12px;
    display: block;
    padding: 0;
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__eyebrow,
  .vistore-promo-slider__frame--item .vistore-promo-slider__copy p,
  .vistore-promo-slider__frame--item .vistore-promo-slider__meta,
  .vistore-promo-slider__frame--item .vistore-promo-slider__price--desktop {
    display: none !important;
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__copy h2 {
    max-width: calc(100% - 112px);
    margin: 0;
    display: -webkit-box;
    overflow: hidden;
    color: #fff;
    font-size: 14px;
    line-height: 1.28;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .72);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__price--mobile {
    top: 10px;
    bottom: auto;
    left: 10px;
    min-height: 27px;
    border-radius: 6px;
    padding: 5px 7px;
    font-size: 11px;
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__cta {
    position: absolute;
    right: 0;
    bottom: 0;
    width: auto;
    min-width: 104px;
    min-height: 34px;
    border-radius: 6px !important;
    padding: 7px 9px;
    color: #fff !important;
    background: #155eef !important;
    box-shadow: 0 6px 16px rgba(5, 39, 112, .32) !important;
    font-size: 10.5px !important;
  }

  .vistore-promo-slider__frame--item .vistore-promo-slider__cta .vistore-icon {
    width: 14px;
    height: 14px;
  }

  .vistore-promo-slider__controls,
  .vistore-promo-slider__progress {
    display: none !important;
  }

  /* Keep the slide navigation visible without restoring the large desktop
     controls that previously crowded the mobile card. */
  .vistore-promo-slider__controls {
    position: absolute;
    z-index: 6;
    right: auto;
    bottom: -3px;
    left: 50%;
    display: flex !important;
    gap: 0;
    transform: translateX(-50%);
  }

  .vistore-promo-slider__counter,
  .vistore-promo-slider__pause {
    display: none !important;
  }

  .vistore-promo-slider__dots {
    display: flex !important;
    align-items: center;
    gap: 1px;
    min-height: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
  }

  .vistore-promo-slider__dots button,
  .vistore-promo-slider__dots button.is-active {
    display: block !important;
    width: 20px;
    height: 20px;
    min-height: 20px;
    border: 0;
    border-radius: 999px;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  .vistore-promo-slider__dots button::after {
    width: 5px;
    height: 5px;
    background: rgba(255, 255, 255, .7);
  }

  .vistore-promo-slider__dots button.is-active::after {
    width: 13px;
    background: #fff;
  }

  .vistore-promo-slider__progress {
    display: block !important;
    height: 2px;
  }
}

/* The chat shell owns its viewport. The message list is the only scroll area;
   the composer stays in normal flow and can never be hidden below the panel. */
body.vistore-chat-screen .vistore-messages-page {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

body.vistore-chat-screen .vistore-messenger {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

body.vistore-chat-screen .vistore-messenger__inbox,
body.vistore-chat-screen .vistore-messenger__conversation {
  min-height: 0;
}

body.vistore-chat-screen .vistore-messenger__inbox {
  overflow: hidden;
  grid-template-rows: auto minmax(0, 1fr);
}

body.vistore-chat-screen .vistore-thread-list {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

body.vistore-chat-screen .vistore-messenger__conversation {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body.vistore-chat-screen .vistore-conversation-header {
  flex: 0 0 auto;
}

body.vistore-chat-screen .vistore-message-stream {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

body.vistore-chat-screen .vistore-conversation-bottom {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  min-width: 0;
  max-height: min(42dvh, 360px);
  overflow: hidden auto;
  background: var(--vs-surface);
}

body.vistore-chat-screen .vistore-message-composer {
  position: relative;
  inset: auto;
  display: grid;
  visibility: visible;
  opacity: 1;
  min-height: 66px;
  border-top: 1px solid var(--vs-line);
  background: var(--vs-surface);
}

@media (min-width: 721px) {
  body.vistore-chat-screen {
    min-height: 100dvh;
  }

  body.vistore-chat-screen .vistore-messages-page {
    height: min(760px, calc(100dvh - 140px));
    min-height: 500px;
    padding-block: 18px 32px;
  }
}

@media (max-width: 720px) {
  body.vistore-chat-screen {
    min-height: 100dvh;
    overflow: hidden;
    overscroll-behavior: none;
  }

  body.vistore-chat-screen .vistore-main {
    min-height: 0;
    padding-bottom: 0;
  }

  body.vistore-chat-screen .vistore-widget-area--header,
  body.vistore-chat-screen .vistore-header__nav,
  body.vistore-chat-screen .vistore-primary-links,
  body.vistore-chat-screen .vistore-header__brand,
  body.vistore-chat-screen .vistore-header-actions {
    display: none !important;
  }

  body.vistore-chat-screen .vistore-header {
    margin-bottom: 0;
  }

  body.vistore-chat-screen .vistore-header__main {
    width: 100%;
    min-height: 58px !important;
    padding: 6px 11px !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-rows: 44px !important;
    gap: 8px !important;
  }

  body.vistore-chat-screen .vistore-header__menu {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }

  body.vistore-chat-screen .vistore-header-search {
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: 44px;
    min-height: 44px;
  }

  body.vistore-chat-screen .vistore-header-search input {
    height: 44px;
    min-height: 44px;
  }

  body.vistore-chat-screen .vistore-messages-page {
    height: calc(100dvh - 58px);
    padding: 0;
    grid-template-rows: auto minmax(0, 1fr);
  }

  body.vistore-chat-screen .vistore-messenger__conversation {
    display: none;
  }

  body.vistore-chat-screen .vistore-messenger.has-conversation .vistore-messenger__inbox {
    display: none;
  }

  body.vistore-chat-screen .vistore-messenger.has-conversation .vistore-messenger__conversation {
    display: flex;
  }

  body.vistore-chat-conversation .vistore-messages-page {
    grid-template-rows: minmax(0, 1fr);
  }

  body.vistore-chat-conversation .vistore-messages-heading,
  body.vistore-chat-conversation .vistore-footer,
  body.vistore-chat-conversation .vistore-footer-cta,
  body.vistore-chat-conversation .vistore-mobile-nav {
    display: none !important;
  }

  body.vistore-chat-conversation .vistore-messenger,
  body.vistore-chat-conversation .vistore-messenger__conversation {
    height: 100%;
    min-height: 0;
    border: 0;
    border-radius: 0;
  }

  body.vistore-chat-conversation .vistore-conversation-header {
    min-height: 62px;
    padding: 7px 9px;
  }

  body.vistore-chat-screen .vistore-message-stream {
    padding: 11px 9px 13px;
    scrollbar-gutter: auto;
  }

  body.vistore-chat-screen .vistore-conversation-bottom {
    max-height: 42dvh;
  }

  body.vistore-chat-screen .vistore-message-composer {
    padding: 8px 9px max(8px, env(safe-area-inset-bottom));
  }
}

/* Keep the fixed mobile navigation independent from page scrolling. */
@media (max-width: 720px) {
  .vistore-mobile-nav {
    position: fixed !important;
    z-index: 250;
    inset: auto 0 0 !important;
    transform: translate3d(0, 0, 0);
    contain: layout style;
    isolation: isolate;
    overscroll-behavior: none;
    touch-action: none;
    background: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .vistore-mobile-nav > a,
  .vistore-mobile-nav > button {
    -webkit-user-drag: none;
    user-select: none;
    -webkit-user-select: none;
    gap: 3px;
    font-size: 10.5px;
    font-weight: 760;
    line-height: 1.05;
  }

  .vistore-mobile-nav .vistore-icon {
    width: 25px;
    height: 25px;
    stroke-width: 2;
  }

  .vistore-mobile-nav__publish > span {
    width: 48px;
    height: 48px;
  }

  .vistore-mobile-nav__publish > span .vistore-icon {
    width: 26px;
    height: 26px;
  }

  .vistore-mobile-nav__publish em {
    font-size: 10.5px;
    font-weight: 760;
  }

  .vistore-drawer__nav .vistore-drawer-nav-logout {
    border-color: #f7c9c5;
    color: #b42318;
    background: #fff7f6;
  }

  .vistore-drawer__nav .vistore-drawer-nav-logout:hover,
  .vistore-drawer__nav .vistore-drawer-nav-logout:focus-visible {
    border-color: #f04438;
    color: #912018;
    background: #fff0ee;
  }
}
