.hero-landing:has(#ih-search) { overflow: visible; }
.ih-search { position: relative; max-width: 560px; margin: 1.6rem auto 2rem; width: 100%; z-index: 30; }
.ih-search-box { display: flex; align-items: center; background: #fff; border: 2px solid #e6e6ec; border-radius: 999px; padding: .55rem .9rem; box-shadow: 0 6px 24px rgba(0,0,0,.06); transition: border-color .15s, box-shadow .15s; }
.ih-search-box:focus-within { border-color: var(--green, #25d366); box-shadow: 0 8px 28px rgba(37,211,102,.18); }
.ih-search-box i.fa-magnifying-glass, .ih-search-box i.fa-search { color: #888; margin-right: .55rem; font-size: .95rem; }
.ih-search input { flex: 1; border: 0; outline: 0; font: inherit; font-size: 1rem; background: transparent; color: #15171c; min-width: 0; }
.ih-search input::placeholder { color: #888; opacity: 1; }
.ih-search-clear { background: transparent; border: 0; color: #aaa; font-size: 1rem; cursor: pointer; padding: 0 .25rem; display: none; }
.ih-search-clear.show { display: inline-block; }
.ih-search-results { position: absolute; left: 0; right: 0; top: calc(100% + .4rem); background: #fff; border: 1px solid #e6e6ec; border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.18); max-height: 380px; overflow-y: auto; z-index: 1000; display: none; }
.ih-search-results.show { display: block; }
.ih-search-results .res-empty { padding: 1rem; color: #888; font-size: .92rem; text-align: center; }
.ih-search-results .res-suggest { padding: .6rem 1rem .9rem; color: #555; font-size: .88rem; border-top: 1px dashed #ececf2; }
.ih-search-results .res-suggest strong { color: var(--green, #25d366); cursor: pointer; }
.ih-search-results a.res { display: flex; align-items: center; gap: .8rem; padding: .65rem .9rem; color: inherit; text-decoration: none; border-bottom: 1px solid #f3f3f7; }
.ih-search-results a.res:last-child { border-bottom: 0; }
.ih-search-results a.res:hover, .ih-search-results a.res.active { background: #f7f8fb; }
.ih-search-results .res-ico { width: 34px; height: 34px; border-radius: 8px; background: var(--green-bg, #e8f9ee); color: var(--green, #25d366); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ih-search-results .res-ico.dry { background: var(--purple-bg, #efe6fb); color: var(--purple, #7c4dd6); }
.ih-search-results .res-ico.iron { background: var(--blue-light, #e6f0fb); color: var(--blue, #2a78d4); }
.ih-search-results .res-ico.exp { background: var(--orange-bg, #ffeede); color: var(--orange, #ff8a1a); }
.ih-search-results .res-text { flex: 1; min-width: 0; }
.ih-search-results .res-name { font-weight: 600; font-size: .96rem; color: #15171c; }
.ih-search-results .res-name em { font-style: normal; background: #fff7c2; padding: 0 2px; border-radius: 3px; }
.ih-search-results .res-svc { font-size: .82rem; color: #666; }
.ih-search-results .res-price { font-weight: 700; color: #15171c; white-space: nowrap; font-size: .95rem; }
.ih-search-results .res-add { background: var(--green, #25d366); color: #fff; border: 0; width: 34px; height: 34px; border-radius: 50%; cursor: pointer; flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: transform .12s, background .12s; }
.ih-search-results .res-add:hover { background: #1ebe5d; transform: scale(1.08); }
.ih-search-results .res-add[disabled] { background: #d9d9e0; color: #fff; cursor: not-allowed; }
.ih-search-results .res-arrow { color: #aaa; font-size: .9rem; flex-shrink: 0; padding: 0 .15rem; }
@media (max-width: 600px) {
  .ih-search { margin: 1.2rem auto 1.6rem; }
  .ih-search-box { padding: .5rem .75rem; }
  .ih-search-results { max-height: 60vh; }
}
