.site-search { padding: 155px 0 80px; min-height: 65vh; }
.site-search__heading { max-width: 740px; margin-bottom: 32px; }
.site-search__heading h1 { font-size: clamp(30px, 5vw, 48px); letter-spacing: -.035em; }
.site-search__heading p, .site-search__result p { color: #515969; }
.site-search__form { display: flex; align-items: end; gap: 16px; padding: 24px; border: 1px solid #e1e5eb; border-radius: 20px; background: #fff; box-shadow: 0 8px 32px #18203008; }
.site-search__query { flex: 1; min-width: 0; }
.site-search__form label { display: block; color: #303846; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.site-search__form input, .site-search__form select { width: 100%; height: 50px; border: 1px solid #c8ced7; border-radius: 10px; background: #fff; padding: 0 14px; color: #182030; }
.site-search__form button { height: 50px; border-radius: 10px; padding: 0 30px; background: #d91821; color: #fff; font-weight: 600; }
.site-search :focus-visible { outline: 3px solid #a81219; outline-offset: 3px; }
.site-search__results-title { font-size: 21px; margin: 36px 0 20px; overflow-wrap: anywhere; }
.site-search__result { padding: 24px; margin-bottom: 14px; background: #fff; border: 1px solid #e1e5eb; border-radius: 16px; overflow-wrap: anywhere; }
.site-search__type { color: #a81219; font-size: 12px; font-weight: 700; }
.site-search__result h3 { font-size: 21px; line-height: 1.4; margin: 8px 0; }
.site-search__result h3 a:hover { text-decoration: underline; }
.site-search__result p { margin: 0; }
.site-search__document { color: #626b79; font-size: 13px; }
.site-search__message { padding: 32px 0; color: #515969; }
.site-search__pagination { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 28px; }
.site-search__pagination a { padding: 10px 18px; border-radius: 10px; border: 1px solid #c8ced7; background: white; }
@media (max-width: 767px) {
    .site-search { padding-top: 120px; }
    .site-search__form { flex-direction: column; align-items: stretch; padding: 18px; }
    .site-search__result { padding: 18px; }
}
