/* Search-only layout guarantees. Loaded after the legacy catalog styles. */
.suggestions .search-brand-card {
  min-height: 86px !important;
  grid-template-rows: 48px minmax(13px, auto) !important;
  overflow: hidden !important;
}

/* Dedicated search route. Search content belongs to the page, never to a popup. */
body[data-route="search"] .top-strip,
body[data-route="search"] .brand,
body[data-route="search"] .header-actions,
body[data-route="search"] .category-nav,
body[data-route="search"] .suggestions {
  display: none !important;
}

body[data-route="search"] .site-header {
  position: sticky !important;
  inset: auto !important;
  top: 0 !important;
  z-index: 90 !important;
  width: 100% !important;
  padding: max(10px, env(safe-area-inset-top, 0px)) 12px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(59, 54, 72, 0.08) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 8px 28px rgba(27, 23, 38, 0.055) !important;
  backdrop-filter: blur(18px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
}

body[data-route="search"] .header-main {
  width: min(760px, 100%) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
}

body[data-route="search"] .search {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 50px !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(88, 81, 105, 0.16) !important;
  border-radius: 8px !important;
  background: #f7f7f9 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  direction: ltr !important;
}

body[data-route="search"] .search input {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  height: 48px !important;
  padding: 0 9px !important;
  border: 0 !important;
  background: transparent !important;
  color: #18171d !important;
  direction: rtl !important;
  text-align: right !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  outline: 0 !important;
}

html[dir="ltr"] body[data-route="search"] .search input {
  direction: ltr !important;
  text-align: left !important;
}

body[data-route="search"] #searchButton,
body[data-route="search"] .search-surface-close {
  grid-row: 1 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 48px !important;
  min-height: 48px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #24222b !important;
}

body[data-route="search"] #searchButton {
  grid-column: 3 !important;
}

body[data-route="search"] .search-surface-close {
  grid-column: 1 !important;
  border-inline-end: 1px solid rgba(88, 81, 105, 0.1) !important;
}

body[data-route="search"] #app {
  min-height: calc(100svh - 70px) !important;
  background: #fff !important;
}

body[data-route="search"] .page {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
  padding: 0 12px calc(94px + env(safe-area-inset-bottom, 0px)) !important;
}

.search-page {
  min-height: calc(100svh - 72px);
}

.search-page-content {
  padding-block: 16px 30px;
}

.search-page .search-discovery,
.search-page .search-results-surface {
  padding: 0 !important;
}

.search-page .search-discovery-section + .search-discovery-section,
.search-page .search-results-surface > .search-discovery-heading:not(:first-child) {
  margin-top: 26px !important;
}

.search-page .search-discovery-heading {
  min-height: 28px;
  margin-bottom: 11px;
}

.search-page .search-discovery-heading strong {
  color: #1c1a21;
  font-size: 15px;
  font-weight: 750;
}

.search-page .search-recent-list,
.search-page .search-popular-list {
  justify-content: flex-start !important;
  gap: 8px 7px !important;
}

.search-page .search-popular-list > button,
.search-page .search-recent-chip {
  min-height: 34px !important;
  border: 1px solid #77727d !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.search-page .search-popular-list > button,
.search-page .search-recent-chip > button {
  min-height: 32px !important;
  padding: 5px 12px !important;
  color: #29262f !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.search-page .search-popular-list .nion-icon {
  display: none !important;
}

.search-page .search-brand-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.search-page .search-brand-card {
  min-height: 72px !important;
  display: grid !important;
  place-items: center !important;
  padding: 7px !important;
  border: 1px solid rgba(88, 81, 105, 0.1) !important;
  border-radius: 8px !important;
  background: #fbfbfc !important;
  box-shadow: none !important;
}

.search-page .search-brand-card .brand-logo,
.search-page .search-brand-card img {
  width: 100% !important;
  max-width: 76px !important;
  height: 50px !important;
  max-height: 50px !important;
  object-fit: contain !important;
}

.search-page .search-brand-card span {
  display: none !important;
}

.search-page .search-product-results {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

.search-missing-state {
  min-height: 78px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  margin: 2px 0 20px;
  padding: 12px 13px;
  border: 1px solid rgba(114, 99, 166, 0.14);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(111, 239, 211, 0.08), rgba(226, 161, 241, 0.08));
}

.search-missing-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #815dd0;
  box-shadow: 0 5px 16px rgba(37, 27, 66, 0.08);
}

.search-missing-state > span:last-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.search-missing-state strong {
  color: #1d1a23;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
}

.search-missing-state small {
  color: #797480;
  font-size: 11px;
  font-weight: 450;
  line-height: 1.55;
}

.search-result-group {
  display: grid;
  gap: 10px;
  margin: 0 0 24px;
}

.search-result-group + .search-result-group {
  padding-top: 18px;
  border-top: 1px solid rgba(73, 66, 88, 0.09);
}

.search-result-group .search-discovery-heading {
  margin-bottom: 0;
}

.search-result-count {
  min-width: 28px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(123, 93, 211, 0.09);
  color: #7654ca;
  font-size: 11px;
  font-weight: 750;
}

.search-results-sentinel {
  width: 100%;
  min-height: 52px;
  margin-top: 2px;
  border: 0;
  border-radius: 8px;
  background: transparent;
}

.search-results-sentinel:not(.is-loading) .home-catalog-spinner {
  display: none;
}

html[data-theme="dark"] .search-result-group + .search-result-group {
  border-top-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .search-result-count {
  background: rgba(197, 155, 242, 0.13);
  color: #cfacf4;
}

.search-page .search-query-suggestion {
  width: 100% !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 10px 3px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(86, 80, 98, 0.11) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #24212b !important;
  box-shadow: none !important;
  text-align: start !important;
}

.search-page .search-query-suggestion small {
  margin-inline-start: auto !important;
  color: #98939f !important;
}

.search-page .search-query-suggestion::after,
.search-page .suggestion-product::after {
  display: none !important;
}

.search-page .suggestion-product {
  min-height: 86px !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 11px !important;
  padding: 8px 3px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(86, 80, 98, 0.1) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.search-page .suggestion-product-image {
  width: 72px !important;
  height: 72px !important;
  border-radius: 7px !important;
}

.search-route-title {
  margin: 2px 0 12px !important;
}

html[data-theme="dark"] body[data-route="search"] .site-header,
html[data-theme="dark"] body[data-route="search"] #app {
  background: #0d0e13 !important;
}

html[data-theme="dark"] body[data-route="search"] .site-header {
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] body[data-route="search"] .search {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: #17181f !important;
}

html[data-theme="dark"] body[data-route="search"] .search input,
html[data-theme="dark"] body[data-route="search"] #searchButton,
html[data-theme="dark"] body[data-route="search"] .search-surface-close,
html[data-theme="dark"] .search-page .search-discovery-heading strong {
  color: #f6f5f8 !important;
}

html[data-theme="dark"] .search-page .search-popular-list > button,
html[data-theme="dark"] .search-page .search-recent-chip,
html[data-theme="dark"] .search-page .search-brand-card {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: #17181f !important;
}

html[data-theme="dark"] .search-page .search-popular-list > button,
html[data-theme="dark"] .search-page .search-recent-chip > button {
  color: #f3f2f6 !important;
}

html[data-theme="dark"] .search-page .search-query-suggestion,
html[data-theme="dark"] .search-page .suggestion-product-copy strong {
  color: #f3f2f6 !important;
}

html[data-theme="dark"] .search-missing-state {
  border-color: rgba(255, 255, 255, 0.1);
  background: #17181f;
}

html[data-theme="dark"] .search-missing-icon {
  background: #24252d;
  color: #c59bf2;
  box-shadow: none;
}

html[data-theme="dark"] .search-missing-state strong {
  color: #f5f4f8;
}

html[data-theme="dark"] .search-missing-state small {
  color: #aaa6b1;
}

@media (max-width: 640px) {
  body[data-route="search"] .footer {
    display: none !important;
  }

  .search-page-content {
    padding-top: 14px;
  }

  .search-page .search-brand-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Search speed pass: use the storefront product card everywhere, with two cards per mobile row. */
.search-page .search-product-results,
body[data-route="search"] .search-product-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(176px, 1fr)) !important;
  align-items: stretch !important;
  gap: 10px !important;
}

.search-page .search-result-skeletons {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.search-page .search-result-skeletons i {
  height: 292px !important;
  border-radius: 8px !important;
}

@media (max-width: 640px) {
  .search-page .search-product-results,
  body[data-route="search"] .search-product-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 0 !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .product-card {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 292px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    overflow: hidden !important;
    contain: paint !important;
    isolation: isolate !important;
    border: 1px solid rgba(18, 18, 24, 0.07) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 7px 18px rgba(18, 18, 24, 0.055) !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .product-media {
    position: relative !important;
    z-index: 1 !important;
    flex: 0 0 auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: clamp(118px, 34vw, 142px) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 8px 8px 0 0 !important;
    background: linear-gradient(180deg, #fff 0%, #fbfbfd 100%) !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .product-media img {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: block !important;
    padding: 8px !important;
    object-fit: contain !important;
    transform: none !important;
    z-index: 0 !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .sale-badge {
    inset-block-start: 7px !important;
    inset-inline-start: 7px !important;
    max-width: calc(100% - 48px) !important;
    padding: 4px 7px !important;
    border-radius: 999px !important;
    font-size: 8.7px !important;
    line-height: 1.1 !important;
    z-index: 4 !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .fav-button {
    inset-block-start: 7px !important;
    inset-inline-end: 7px !important;
    width: 29px !important;
    min-width: 29px !important;
    height: 29px !important;
    margin: 0 !important;
    z-index: 4 !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .fav-button span {
    display: none !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .product-body {
    position: relative !important;
    z-index: 2 !important;
    flex: 1 1 auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 8px 8px 6px !important;
    background: #fff !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .brand-name {
    min-height: 12px !important;
    overflow: hidden !important;
    color: #85858f !important;
    font-size: 8.9px !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .product-name {
    min-height: 28px !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    color: #15151a !important;
    font-size: 10.2px !important;
    font-weight: 750 !important;
    line-height: 1.32 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .rating-row {
    min-height: 17px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    overflow: hidden !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .rating-pill {
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 9px !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .product-color-swatches {
    min-height: 15px !important;
    max-height: 15px !important;
    gap: 3px !important;
    overflow: hidden !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .price-row {
    min-height: 17px !important;
    gap: 4px !important;
    margin-top: auto !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .price {
    font-size: 13.2px !important;
    line-height: 1.15 !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .old-price,
  body[data-route="search"] :is(.search-product-list, .search-product-results) .stock {
    font-size: 8.5px !important;
    line-height: 1.15 !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .stock {
    min-height: 10px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .product-actions {
    position: relative !important;
    z-index: 2 !important;
    flex: 0 0 auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: stretch !important;
    padding: 0 8px 8px !important;
    background: #fff !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) :is(.add-button, .cart-control) {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 30px !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .add-button {
    justify-content: center !important;
    gap: 5px !important;
    padding: 6px 8px !important;
    font-size: 9.1px !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .cart-control {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 4px 6px !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .cart-added-label {
    min-width: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: 8.4px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .cart-stepper {
    position: static !important;
    min-width: 58px !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 3px !important;
    transform: none !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .cart-count-button {
    width: 17px !important;
    min-width: 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    font-size: 10px !important;
  }

  body[data-route="search"] :is(.search-product-list, .search-product-results) .cart-control strong {
    min-width: 12px !important;
    font-size: 9.8px !important;
  }

  html[data-theme="dark"] body[data-route="search"] :is(.search-product-list, .search-product-results) .product-card,
  html[data-theme="dark"] body[data-route="search"] :is(.search-product-list, .search-product-results) :is(.product-body, .product-actions) {
    border-color: rgba(255, 255, 255, 0.09) !important;
    background: #11121a !important;
  }

  html[data-theme="dark"] body[data-route="search"] :is(.search-product-list, .search-product-results) .product-media {
    background: linear-gradient(180deg, #181923, #12131b) !important;
  }

  html[data-theme="dark"] body[data-route="search"] :is(.search-product-list, .search-product-results) :is(.product-name, .price) {
    color: #f7f7fb !important;
  }
}

.suggestions .search-brand-card .brand-logo,
.suggestions .search-brand-card img {
  width: 100% !important;
  max-width: 82px !important;
  height: 46px !important;
  max-height: 46px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

.suggestions .search-brand-card span {
  position: static !important;
  height: auto !important;
  min-height: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

@media (max-width: 640px) {
  .suggestions .search-brand-card {
    min-height: 78px !important;
    grid-template-rows: 42px minmax(13px, auto) !important;
  }

  .suggestions .search-brand-card .brand-logo,
  .suggestions .search-brand-card img {
    max-width: 70px !important;
    height: 40px !important;
    max-height: 40px !important;
  }
}

/* Mobile search is a dedicated storefront surface, inspired by leading beauty apps. */
.search-surface-close {
  display: none !important;
}

@media (max-width: 640px) {
  body.search-surface-open {
    overflow: hidden !important;
  }

  body.search-surface-open::before {
    z-index: 120 !important;
    background: rgba(16, 15, 22, 0.32) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
  }

  body.search-surface-open .site-header,
  html[data-theme="dark"] body.search-surface-open .site-header {
    position: fixed !important;
    inset: 0 !important;
    z-index: 130 !important;
    height: 100svh !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  body.search-surface-open .header-main,
  body.search-surface-open[data-route="home"] .header-main {
    position: static !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  body.search-surface-open .brand,
  body.search-surface-open .header-actions {
    display: none !important;
  }

  body.search-surface-open .search,
  body.search-surface-open[data-route="home"] .search,
  html[data-theme="dark"] body.search-surface-open .search {
    position: fixed !important;
    inset: calc(env(safe-area-inset-top, 0px) + 48px) 10px auto 10px !important;
    z-index: 145 !important;
    width: auto !important;
    height: 50px !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(96, 89, 114, 0.2) !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, 0.99) !important;
    box-shadow: 0 18px 50px rgba(20, 17, 29, 0.18) !important;
    overflow: visible !important;
    pointer-events: auto !important;
    direction: ltr !important;
    animation: nion-mobile-search-bar-in 180ms cubic-bezier(.2,.8,.2,1) both;
  }

  body.search-surface-open .search input,
  body.search-surface-open[data-route="home"] .search input {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 48px !important;
    padding: 0 8px !important;
    color: #1b1a20 !important;
    direction: rtl !important;
    text-align: right !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  html[dir="ltr"] body.search-surface-open .search input,
  html[dir="ltr"] body.search-surface-open[data-route="home"] .search input {
    direction: ltr !important;
    text-align: left !important;
  }

  body.search-surface-open #searchButton,
  body.search-surface-open[data-route="home"] #searchButton {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 0 !important;
    color: #28252f !important;
  }

  body.search-surface-open .search-surface-close {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 48px !important;
    min-height: 48px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-inline-end: 1px solid rgba(96, 89, 114, 0.1) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #28252f !important;
  }

  body.search-surface-open .suggestions,
  body.search-surface-open[data-route="home"] .suggestions,
  html[data-theme="dark"] body.search-surface-open .suggestions {
    position: fixed !important;
    inset: calc(env(safe-area-inset-top, 0px) + 106px) 10px auto 10px !important;
    z-index: 140 !important;
    width: auto !important;
    max-width: none !important;
    height: min(680px, calc(100svh - env(safe-area-inset-top, 0px) - 118px)) !important;
    max-height: calc(100svh - env(safe-area-inset-top, 0px) - 118px) !important;
    padding: 0 !important;
    border: 1px solid rgba(96, 89, 114, 0.15) !important;
    border-radius: 0 0 8px 8px !important;
    background: #fff !important;
    box-shadow: 0 26px 62px rgba(20, 17, 29, 0.2) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin;
    pointer-events: auto !important;
    animation: nion-mobile-search-sheet-in 200ms cubic-bezier(.2,.8,.2,1) both !important;
  }

  .search-discovery,
  .search-results-surface {
    padding: 15px 13px 24px !important;
  }

  .search-discovery-section + .search-discovery-section,
  .search-results-surface > .search-discovery-heading:not(:first-child) {
    margin-top: 20px !important;
  }

  .search-discovery-heading {
    min-height: 25px !important;
    margin-bottom: 10px !important;
  }

  .search-discovery-heading strong {
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  .search-recent-list,
  .search-popular-list {
    justify-content: center !important;
    gap: 7px 6px !important;
  }

  .search-popular-list > button,
  .search-recent-chip {
    min-height: 31px !important;
    border: 1px solid #6d6973 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .search-popular-list > button,
  .search-recent-chip > button {
    min-height: 29px !important;
    padding: 4px 11px !important;
    color: #28262d !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
  }

  .search-popular-list .nion-icon {
    display: none !important;
  }

  .search-brand-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .suggestions .search-brand-card {
    min-height: 70px !important;
    grid-template-rows: 50px !important;
    padding: 6px !important;
    border: 1px solid rgba(98, 91, 118, 0.1) !important;
    border-radius: 8px !important;
    background: #fbfbfc !important;
    box-shadow: none !important;
  }

  .suggestions .search-brand-card .brand-logo,
  .suggestions .search-brand-card img {
    max-width: 74px !important;
    height: 48px !important;
    max-height: 48px !important;
  }

  .suggestions .search-brand-card span {
    display: none !important;
  }

  .search-query-list {
    margin-bottom: 8px !important;
  }

  .suggestions .search-query-suggestion {
    min-height: 42px !important;
    padding: 8px 3px !important;
    border-bottom-color: rgba(86, 80, 98, 0.12) !important;
  }

  .search-product-results {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .suggestions .suggestion-product,
  .suggestion-product {
    min-height: 82px !important;
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 7px 3px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(86, 80, 98, 0.1) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .suggestion-product-image {
    width: 68px !important;
    height: 68px !important;
    border-radius: 7px !important;
  }

  .suggestion-product-copy strong {
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  .suggestion-price-row b {
    font-size: 12px !important;
  }

  html[data-theme="dark"] body.search-surface-open .search,
  html[data-theme="dark"] body.search-surface-open .suggestions {
    border-color: rgba(255,255,255,.11) !important;
    background: #111218 !important;
  }

  html[data-theme="dark"] body.search-surface-open .search input,
  html[data-theme="dark"] body.search-surface-open #searchButton,
  html[data-theme="dark"] body.search-surface-open .search-surface-close {
    color: #f7f6fa !important;
  }

  html[data-theme="dark"] .search-popular-list > button,
  html[data-theme="dark"] .search-recent-chip,
  html[data-theme="dark"] .suggestions .search-brand-card {
    border-color: rgba(255,255,255,.14) !important;
    background: #181921 !important;
  }

  @keyframes nion-mobile-search-bar-in {
    from { opacity: 0; transform: translateY(-7px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes nion-mobile-search-sheet-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

/* Keep live and submitted results aligned with the storefront card grid. */
@media (max-width: 640px) {
  .search-page .search-product-results,
  body[data-route="search"] .search-product-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 8px !important;
    padding-inline: 0 !important;
  }

  .search-page .suggestion-all-results {
    position: static !important;
    bottom: auto !important;
    margin-bottom: 0 !important;
    scroll-margin-bottom: calc(132px + env(safe-area-inset-bottom));
  }
}
