.header-search { display: inline-flex; align-items: center; gap: .35rem; color: #123f32; font-weight: 700; text-decoration: none; white-space: nowrap; }
.header-search > span:first-child { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid rgba(18, 63, 50, .28); border-radius: 50%; font-size: 1.35rem; }
.header-search:hover > span:first-child, .header-search[aria-current="page"] > span:first-child { background: #123f32; color: #fff; }
.search-page { max-width: 940px; margin-inline: auto; }
.search-page-form { padding: clamp(1.2rem, 3vw, 2rem); border-radius: 22px; background: #f4f0e5; }
.search-page-form label { display: block; margin-bottom: .55rem; color: #123f32; font-weight: 800; }
.search-page-form > div { display: flex; gap: .75rem; }
.search-page-form input { flex: 1; min-width: 0; padding: .9rem 1rem; border: 1px solid rgba(18, 63, 50, .3); border-radius: 12px; background: #fff; color: #102d25; font: inherit; }
.search-page-form input:focus { outline: 3px solid rgba(205, 157, 52, .3); border-color: #123f32; }
.search-summary { display: flex; gap: .45rem; margin: 2rem 0 1rem; color: #49635b; }
.search-summary strong { color: #123f32; }
.search-results { display: grid; gap: .8rem; }
.search-result { position: relative; display: block; padding: 1.15rem 1.3rem; border: 1px solid rgba(18, 63, 50, .14); border-radius: 16px; background: #fff; color: inherit; text-decoration: none; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.search-result:hover { transform: translateY(-2px); border-color: rgba(18, 63, 50, .4); box-shadow: 0 10px 25px rgba(18, 63, 50, .08); }
.search-result-type { display: block; margin-bottom: .25rem; color: #8a6818; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.search-result strong { color: #123f32; font-size: 1.15rem; }
.search-result p { margin: .35rem 5rem 0 0; color: #536b64; }
.search-result-link { position: absolute; right: 1.3rem; bottom: 1.15rem; color: #123f32; font-weight: 800; }
@media (max-width: 1150px) { .header-search-label { display: none; } }
@media (max-width: 600px) { .search-page-form > div { flex-direction: column; } .search-page-form .button { width: 100%; } .search-result p { margin-right: 0; } .search-result-link { position: static; display: block; margin-top: .65rem; } }
