.search-overlay{position:fixed;inset:0;z-index:2000;background:rgba(13,44,44,.55);
  display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;
  opacity:0;pointer-events:none;transition:opacity .2s}
.search-overlay.open{opacity:1;pointer-events:auto}
.search-panel{width:min(640px,92vw);background:#fff;border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden;
  transform:translateY(-12px);transition:transform .2s}
.search-overlay.open .search-panel{transform:none}
.search-bar{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid #e8f5f5}
.search-bar svg{flex-shrink:0;color:#009b9f}
.search-input{flex:1;border:0;outline:0;font:600 1.05rem/1.4 Urbanist,Lato,sans-serif;
  color:#0d2c2c;background:transparent}
.search-close{background:0;border:0;font-size:1.5rem;line-height:1;color:#0d2c2c;
  cursor:pointer;padding:0 4px}
.search-results{list-style:none;margin:0;padding:6px 0;max-height:52vh;overflow:auto}
.search-results li a{display:block;padding:10px 18px;color:#0d2c2c;text-decoration:none;
  font:500 .98rem/1.4 Lato,sans-serif}
.search-results li a:hover{background:#e8f5f5}
.search-results .search-cat{color:#007a7d;font-size:.74rem;margin-right:8px;
  text-transform:uppercase;letter-spacing:.05em}
.search-empty{padding:18px;color:#6b7280;font:.95rem Lato}
@media(max-width:560px){.search-overlay{padding-top:8vh}}
