.mobile-catalog-search { display: none; }

.mobile-search-journey[hidden] { display: none; }

@media (max-width: 700px) {
  .mobile-search-launch {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    min-height: 68px;
    padding: 10px 13px;
    text-align: left;
  }

  .mobile-search-launch > span:nth-child(2) { display: grid; gap: 2px; }
  .mobile-search-launch strong { font: 700 1rem/1.2 var(--display); }
  .mobile-search-launch small { color: rgb(255 255 255 / .68); font-size: .7rem; font-weight: 500; }
  .mobile-search-launch__icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; background: rgb(255 255 255 / .09); }

  .transaction-system .filter-sticky { position: sticky; top: var(--header-h); padding: 9px 0 10px; background: rgb(255 255 255 / .97); box-shadow: 0 8px 24px rgb(16 24 42 / .08); }
  .transaction-system .filter-bar { display: none; }
  .mobile-catalog-search { display: grid; gap: 8px; }
  .mobile-catalog-search__main {
    width: 100%;
    min-height: 58px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 11px;
    padding: 8px 12px;
    border: 1px solid #c9d2df;
    border-radius: 11px;
    background: white;
    color: var(--navy-950);
    text-align: left;
    box-shadow: 0 5px 18px rgb(16 24 42 / .06);
  }
  .mobile-catalog-search__main > i:first-child { color: var(--gold-700); font-size: 1.25rem; }
  .mobile-catalog-search__main > i:last-child { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; background: var(--navy-950); color: #f6cf67; }
  .mobile-catalog-search__main span { min-width: 0; display: grid; gap: 2px; }
  .mobile-catalog-search__main strong { font: 700 .9rem/1.15 var(--display); }
  .mobile-catalog-search__main small { overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-filter-rail { display: flex; gap: 7px; overflow-x: auto; padding: 0 1px 2px; scrollbar-width: none; }
  .mobile-filter-rail::-webkit-scrollbar { display: none; }
  .mobile-filter-rail button { flex: 0 0 auto; min-height: 36px; display: inline-flex; align-items: center; gap: 5px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 8px; background: white; color: var(--navy-800); font-size: .72rem; font-weight: 700; }
  .mobile-filter-rail button.is-active { border-color: var(--navy-950); background: var(--navy-950); color: #f5cf68; }
  .mobile-filter-rail button b { min-width: 18px; height: 18px; display: inline-grid; place-items: center; border-radius: 50%; background: #f2bd36; color: var(--navy-950); font-size: .62rem; }

  .mobile-search-journey {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    overflow: hidden;
    background: #f7f9fc;
    color: var(--navy-950);
  }
  .msj-header { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; min-height: 64px; padding: max(8px, env(safe-area-inset-top)) 12px 8px; border-bottom: 1px solid var(--line); background: white; }
  .msj-header button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--navy-950); font-size: 1.15rem; }
  .msj-title { min-width: 0; display: grid; gap: 1px; text-align: center; }
  .msj-title strong { font: 700 .98rem/1.15 var(--display); }
  .msj-title small { color: var(--muted); font-size: .66rem; }
  .msj-progress { height: 3px; background: #e3e8f0; }
  .msj-progress span { display: block; width: var(--progress, 20%); height: 100%; background: var(--gold-gradient); transition: width 200ms var(--ease); }
  .msj-body { overflow-y: auto; overscroll-behavior: contain; padding: 24px 16px 120px; }
  .msj-intro { margin-bottom: 22px; }
  .msj-eyebrow { margin: 0 0 7px; color: var(--gold-700); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
  .msj-intro h2 { margin: 0; font: 750 clamp(1.55rem, 7vw, 2rem)/1.05 var(--display); letter-spacing: -.04em; }
  .msj-intro p:last-child { margin: 9px 0 0; color: var(--muted); font-size: .88rem; line-height: 1.5; }
  .msj-options { display: grid; gap: 9px; }
  .msj-option-group { display: grid; gap: 9px; margin-top: 20px; }
  .msj-option-group:first-child { margin-top: 0; }
  .msj-group-title { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  .msj-location-context { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; margin-bottom: 13px; padding: 10px 12px; border: 1px solid #d8be78; border-radius: 10px; background: #fffaf0; }
  .msj-location-context > i:first-child { color: var(--gold-700); font-size: 1.15rem; }
  .msj-location-context > i:last-child { color: #12734d; font-size: 1rem; }
  .msj-location-context span { display: grid; gap: 1px; }
  .msj-location-context small { color: var(--muted); font-size: .64rem; }
  .msj-location-context strong { font: 700 .83rem var(--display); }
  .msj-option { position: relative; width: 100%; min-height: 58px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid var(--line-strong); border-radius: 11px; background: white; color: var(--navy-950); text-align: left; }
  .msj-option__icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; background: var(--surface-blue); color: var(--gold-700); font-size: 1.15rem; }
  .msj-option > span:nth-child(2) { display: grid; gap: 2px; }
  .msj-option strong { font: 700 .92rem/1.2 var(--display); }
  .msj-option small { color: var(--muted); font-size: .7rem; line-height: 1.25; }
  .msj-option.is-selected { border-color: var(--navy-950); box-shadow: inset 3px 0 #d99d08; }
  .msj-option.is-selected::after { content: "✓"; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--navy-950); color: #f5cd62; font-size: .72rem; font-weight: 800; }
  .msj-option:not(.is-selected)::after { content: ""; width: 22px; height: 22px; border: 1px solid #c7d0dd; border-radius: 50%; }
  .msj-search { position: relative; margin-bottom: 14px; }
  .msj-search i { position: absolute; left: 13px; top: 50%; translate: 0 -50%; color: var(--gold-700); }
  .msj-search input { width: 100%; height: 48px; padding: 0 13px 0 40px; border: 1px solid var(--line-strong); border-radius: 10px; background: white; color: var(--navy-950); font: 600 .86rem var(--body); outline: none; }
  .msj-search input:focus { border-color: var(--gold-700); box-shadow: 0 0 0 3px rgb(209 151 10 / .12); }
  .msj-chip-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .msj-chip { min-height: 46px; padding: 9px 10px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--navy-800); font-size: .76rem; font-weight: 700; }
  .msj-chip.is-selected { border-color: var(--navy-950); background: var(--navy-950); color: #f5cf68; }
  .msj-section-label { display: block; margin: 22px 0 9px; color: var(--navy-950); font: 700 .87rem var(--display); }
  .msj-range { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
  .msj-range input { min-width: 0; height: 48px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 9px; background: white; font: 600 .82rem var(--body); }
  .msj-review { display: grid; gap: 1px; border-block: 1px solid var(--line); }
  .msj-review div { display: grid; grid-template-columns: 105px 1fr auto; align-items: center; gap: 10px; min-height: 55px; padding: 8px 2px; border-bottom: 1px solid var(--line); }
  .msj-review div:last-child { border-bottom: 0; }
  .msj-review span { color: var(--muted); font-size: .73rem; }
  .msj-review strong { font-size: .82rem; text-align: right; }
  .msj-review button { border: 0; background: transparent; color: var(--gold-700); font-size: .72rem; font-weight: 700; }
  .msj-zero-advice { display: grid; gap: 7px; margin-top: 18px; padding: 15px; border: 1px solid #dbc785; border-radius: 11px; background: #fffbef; }
  .msj-zero-advice strong { font: 700 .88rem var(--display); }
  .msj-zero-advice p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.45; }
  .msj-zero-advice > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 3px; }
  .msj-zero-advice button { min-height: 34px; padding: 0 10px; border: 1px solid #caa43c; border-radius: 7px; background: white; color: var(--navy-900); font-size: .68rem; font-weight: 750; }
  .msj-sell-card { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; }
  .msj-sell-card i { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 16px; border-radius: 10px; background: var(--navy-950); color: #f5cf68; font-size: 1.35rem; }
  .msj-sell-card strong { display: block; margin-bottom: 7px; font: 700 1rem var(--display); }
  .msj-sell-card p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
  .msj-footer { position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr; gap: 10px; padding: 12px 16px max(12px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: white; box-shadow: 0 -12px 30px rgb(16 24 42 / .08); }
  .msj-footer button { min-height: 48px; border-radius: 9px; font-weight: 750; }
  .msj-clear { padding: 0 12px; border: 0; background: transparent; color: var(--muted); }
  .msj-next { border: 1px solid #bd8000; background: var(--gold-gradient); color: var(--navy-950); box-shadow: 0 10px 24px rgb(190 129 0 / .22); }
  .msj-next:disabled { border-color: #d7dce4; background: #e8ebf0; color: #7c8798; box-shadow: none; cursor: not-allowed; }
  body.mobile-search-open { overflow: hidden; }
}

@media (min-width: 701px) {
  .mobile-search-journey { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .msj-progress span { transition: none; }
}
