.header-search {
    position: relative;
    overflow: visible;
    margin-inline: auto;
}
.header-search input { border-radius: 5px 0 0 5px; }
.header-search > button { border-radius: 0 5px 5px 0; }
.header-search-panel[hidden] { display: none; }
.header-search-panel {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 60;
    width: 530px;
    max-width: calc(100vw - 40px);
    overflow: hidden;
    border: 1px solid #d5e5dc;
    border-radius: 16px;
    background: #fff;
    color: #2a2a32;
    box-shadow: 0 18px 45px #102b2929, 0 3px 9px #102b2914;
    text-align: left;
    animation: zifra-search-in .16s ease-out;
}
.header-search-status { margin: 0; padding: 13px 18px; background: #f1f7f3; color: #536d5e; font-size: .75rem; line-height: 1.5; }
.header-search-results { list-style: none; margin: 0; padding: 5px; max-height: min(430px, calc(100dvh - 250px)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #b6cfc0 transparent; }
.header-search-results:empty { display: none; }
.header-search-results li { margin: 0; padding: 0; }
.header-search-results .header-search-group { padding: 10px 13px; margin: 3px 0; border-radius: 7px; background: #f0f6f2; color: #476f57; font-size: .65rem; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.header-search-reason { display: block; margin-top: 6px; color: #4b795b; font-size: .6875rem; line-height: 1.5; }
.search-recommendations { padding: 28px; margin-top: 36px; border: 1px solid #d7e7dc; border-radius: 16px; background: #f3f8f4; }
.search-recommendations-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.search-recommendations h2 { margin-top: 0; }
.search-recommendations h3 { font-size: 1rem; line-height: 1.5; }
.search-recommendations p { font-size: .8125rem; line-height: 1.8; }
@media(max-width:760px) { .search-recommendations { padding: 20px; } .search-recommendations-grid { grid-template-columns: 1fr; } }
.header-search-result { display: block; padding: 12px 13px; border-radius: 10px; color: #283c32; text-decoration: none; }
.header-search-result:hover,.header-search-result[aria-selected="true"] { background: #edf7f0; color: #17633c; }
.header-search-result:focus-visible,.header-search-all:focus-visible { outline: 2px solid #398557; outline-offset: -2px; }
.search-result-kind { display: block; color: #417554; font-size: .625rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.6; }
.header-search-result strong { display: block; margin: 3px 0 4px; font-size: .875rem; line-height: 1.5; }
.header-search-description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: #69776f; font-size: .75rem; line-height: 1.65; }
.header-search-all { display: flex; justify-content: space-between; gap: 15px; padding: 14px 18px; border-top: 1px solid #e3ece6; color: #257445; font-size: .8125rem; font-weight: 700; background: #fafcfb; text-decoration: none; }
.header-search-all:hover { background: #edf7f0; }
.search-results-list > article { padding-block: 22px; border-bottom: 1px solid #dce7df; }
.search-results-list h2 { margin-top: 5px; }
@keyframes zifra-search-in { from { opacity: 0; translate: 0 -5px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 760px) {
    .header-search { margin: 0; }
    .header-search-panel { left: 0; transform: none; width: 100%; max-width: none; top: calc(100% + 8px); }
    .header-search-results { max-height: min(390px, calc(100dvh - 260px)); }
}
@media (prefers-reduced-motion: reduce) { .header-search-panel { animation: none; } }
