/* Shared shopper search. Suggestions stay in layout, never covering page content. */
.home-nav.has-header-search { height:auto; }
.has-header-search .nav-inner { display:grid; grid-template-columns:auto minmax(220px,1fr) auto; align-items:start; gap:18px; padding-block:16px; }
.has-header-search .nav-leading { gap:24px; min-height:48px; }
.has-header-search .nav-actions { min-height:48px; }
.header-product-search { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; min-width:0; margin:0; padding:3px; border:1px solid #748acb42; border-radius:16px; background:#ffffff08; color:#f6f8ff; }
.header-product-search:focus-within { border-color:#7298ff; box-shadow:0 0 0 3px #7298ff1a; }
.header-product-search input[type="search"] { min-width:0; width:100%; height:44px; padding:0 12px; border:0; outline:0; background:transparent; color:inherit; font:inherit; font-size:16px; }
.header-product-search input::placeholder { color:#9aa7c5; opacity:1; }
.header-product-search > button { width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:11px; background:#1261d5; color:white; cursor:pointer; }
.header-product-search > button svg { width:21px; height:21px; }
.header-product-search > button:focus-visible { outline:2px solid #a9c3ff; outline-offset:2px; }
.header-product-search .search-suggestions { position:static; grid-column:1/-1; width:100%; min-width:0; max-height:min(320px,40dvh); margin-top:6px; box-shadow:none; }
.header-product-search .search-suggestion-option { grid-template-columns:42px minmax(0,1fr); gap:4px 10px; }
.header-product-search .search-suggestion-image { grid-row:1/3; width:42px; height:48px; }
.header-product-search .search-suggestion-price { grid-column:2; }
html[data-theme="light"] .header-product-search { background:#f3f6fc; border-color:#ced8ea; color:#162440; }
html[data-theme="light"] .header-product-search input::placeholder { color:#61718c; }
@media(max-width:1280px) {
  .has-header-search .nav-inner { grid-template-columns:minmax(0,1fr) auto; gap:10px 16px; padding-block:10px; }
  .header-product-search { grid-column:1/-1; grid-row:2; }
}
@media(max-width:600px) {
  .has-header-search .nav-inner { gap:8px; padding-inline:12px; }
  .has-header-search .nav-leading { gap:0; }
}
@media(max-width:360px) {
  .has-header-search .nav-inner { padding-inline:8px; gap:6px; }
}
