.site-search { display: flex; gap: .6rem; margin: 1.2rem auto 0; max-width: 40rem; }
.site-search input { flex: 1; min-width: 0; padding: .85rem 1.1rem; font: inherit; font-size: 1.05rem; color: inherit;
  border-radius: 999px; border: 1px solid rgba(40, 60, 100, .22); background: rgba(255, 255, 255, .78); }
.site-search input:focus { outline: 2px solid #b7791f; outline-offset: 2px; }
.search-hits { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; counter-reset: hit; }
.search-hit { display: block; padding: 1rem 1.2rem 1rem 3.4rem; text-decoration: none; color: inherit; position: relative; }
.search-hit::before { counter-increment: hit; content: counter(hit); position: absolute; left: 1rem; top: 1rem;
  width: 1.7rem; height: 1.7rem; border-radius: 50%; display: grid; place-items: center;
  font-size: .8rem; font-weight: 700; color: #7a4d0b; background: rgba(183, 121, 31, .16); }
.search-hit h3 { margin: 0 0 .25rem; font-size: 1.08rem; }
.search-hit p { margin: 0 0 .35rem; font-size: .93rem; opacity: .86; line-height: 1.5; }
.search-path { font-size: .78rem; color: #1d6b4a; word-break: break-all; }
.search-hit:hover h3 { text-decoration: underline; }
@media (max-width: 560px) { .site-search { flex-direction: column; } .search-hit { padding-left: 1.1rem; padding-top: 3rem; } }
