.product-search-home { position: relative; z-index: 20; }
.product-search-section {
  position: relative;
  isolation: isolate;
  padding: 34px clamp(18px, 4vw, 48px) 28px;
  border: 1px solid var(--border-light);
  border-radius: 28px;
  background: linear-gradient(115deg, #f3f6eb 0%, #fffefa 48%, #f5efe0 100%);
  box-shadow: var(--shadow-soft);
}
.product-search-section::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 58% 0 0;
  border-radius: inherit;
  background: radial-gradient(ellipse at 70% 40%, rgba(210, 160, 82, .12), transparent 68%);
}
.product-search-intro { margin-bottom: 16px; }
.product-search-intro > span { color: #9a7440; font-size: .78rem; font-weight: 800; }
.product-search-intro h1 { margin-top: 2px; color: var(--text-dark); font-family: 'Lalezar', cursive; font-size: 1.65rem; font-weight: 400; }
.product-search-form { position: relative; z-index: 5; }
.product-search-label { display: block; margin-bottom: 7px; color: var(--text-body); font-size: .83rem; font-weight: 700; }
.product-search-control { position: relative; display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 7px 17px; border: 1px solid #ddd9ca; border-radius: 17px; background: #fff; box-shadow: 0 8px 22px rgba(42, 59, 36, .07); }
.product-search-control > .fa-magnifying-glass { flex: 0 0 auto; color: var(--primary-hover); font-size: 1.05rem; }
.product-search-control input { min-width: 0; flex: 1; padding: 8px 0; border: 0; outline: 0; background: transparent; color: var(--text-dark); font: inherit; font-size: .95rem; }
.product-search-control input::placeholder { color: #a0a394; }
.product-search-control input:focus-visible { outline: 0; }
.product-search-control:focus-within { border-color: var(--primary-hover); box-shadow: 0 0 0 3px rgba(126, 169, 102, .14), 0 8px 22px rgba(42, 59, 36, .07); }
.product-search-control > button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 12px; background: var(--text-dark); color: #fff; font-size: .87rem; font-weight: 800; }
.product-search-control > button:hover { background: var(--primary-hover); }
.product-search-hint { min-height: 22px; margin-top: 7px; color: var(--text-muted); font-size: .77rem; }
.product-search-suggestions[hidden] { display: none; }
.product-search-suggestions:not([hidden]) { position: absolute; top: calc(100% + 8px); inset-inline: 0; display: grid; max-height: min(390px, 60vh); overflow-y: auto; padding: 7px; border: 1px solid var(--border-light); border-radius: 16px; background: #fff; box-shadow: 0 18px 40px rgba(42, 59, 36, .16); }
.product-search-suggestion { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-width: 0; padding: 9px; border-radius: 11px; color: var(--text-dark); text-align: right; }
.product-search-suggestion + .product-search-suggestion { border-top: 1px solid #f0eee7; }
.product-search-suggestion:hover, .product-search-suggestion:focus-visible { outline: 0; background: var(--primary-light); }
.product-search-suggestion img { width: 56px; height: 56px; border-radius: 10px; background: #f5f3ec; object-fit: cover; }
.product-search-suggestion-copy { display: grid; min-width: 0; gap: 2px; }
.product-search-suggestion-copy strong { overflow: hidden; font-size: .87rem; text-overflow: ellipsis; white-space: nowrap; }
.product-search-suggestion-copy small { overflow: hidden; color: var(--text-muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.product-search-suggestion-price { color: var(--text-body); font-size: .75rem; font-weight: 800; white-space: nowrap; }
.product-search-suggestion-empty { padding: 16px 12px; color: var(--text-muted); font-size: .85rem; text-align: center; }
.search-page { padding-top: 32px; }
.search-page-form { margin-bottom: 42px; }
.search-results-query { margin-top: 5px; color: var(--text-muted); font-size: .88rem; }
.search-empty { grid-column: 1 / -1; padding: 40px 20px; border: 1px dashed var(--primary-border); border-radius: 18px; color: var(--text-body); text-align: center; }
.search-page .search-results { min-height: 45vh; }
@media (max-width: 600px) {
  .product-search-section { padding: 23px 16px 18px; border-radius: 22px; }
  .product-search-intro h1 { font-size: 1.4rem; }
  .product-search-control { gap: 9px; min-height: 56px; padding: 6px 12px; }
  .product-search-control input { font-size: .84rem; }
  .product-search-control > button { min-height: 42px; gap: 6px; padding: 0 12px; font-size: .78rem; }
  .product-search-control > button .fa-arrow-left { display: none; }
  .product-search-suggestion { grid-template-columns: 46px minmax(0, 1fr); gap: 9px; }
  .product-search-suggestion img { width: 46px; height: 46px; }
  .product-search-suggestion-price { grid-column: 2; }
  .search-page { padding-top: 20px; }
  .search-page-form { margin-bottom: 30px; }
}