/* KABANCHIK NEWS — accessible search overlay */
.kn-toplinks .kn-search-trigger {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; padding: 0; border: 0;
    background: transparent; color: #163963; cursor: pointer;
    vertical-align: middle;
}
.kn-toplinks .kn-search-trigger:hover { color: #2362a0; }
.kn-toplinks .kn-search-trigger:focus-visible,
.kn-search-modal button:focus-visible,
.kn-search-modal input:focus-visible { outline: 3px solid #e8b94a; outline-offset: 3px; }
.kn-search-modal[hidden] { display: none !important; }
.kn-search-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 24px; }
.kn-search-backdrop { position: absolute; inset: 0; background: rgba(10, 25, 45, .76); }
.kn-search-dialog { position: relative; z-index: 1; width: min(100%, 760px); max-height: calc(100dvh - 48px); overflow-y: auto; background: #f5f8fb; border: 1px solid #dfe7ef; border-radius: 14px; box-shadow: 0 24px 90px rgba(0,0,0,.24); padding: 40px; }
.kn-search-close { position: absolute; right: 13px; top: 13px; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: #243b58; cursor: pointer; }
.kn-search-close:hover { background: #e5edf4; }
.kn-search-dialog-inner { text-align: center; }
.kn-search-eyebrow { display: block; margin: 0 0 13px; font-size: 11px; letter-spacing: .11em; font-weight: 750; color: #557398; }
.kn-search-dialog h2 { margin: 0 0 14px; font-size: clamp(29px, 4vw, 44px); line-height: 1.13; color: #142b4b; }
.kn-search-dialog p { max-width: 555px; margin: 0 auto 27px; color: #607794; font-size: 15px; line-height: 1.7; }
.kn-search-form { display: flex; align-items: stretch; width: 100%; max-width: 620px; margin: 0 auto; gap: 10px; }
.kn-search-form input[type="search"] { min-width: 0; flex: 1; height: 52px; box-sizing: border-box; border: 1px solid #cad6e3; background: #fff; border-radius: 6px; padding: 0 15px; font: inherit; font-size: 16px; color: #152c4c; }
.kn-search-form button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; border: 0; border-radius: 6px; background: #193c69; color: #fff; padding: 0 23px; font: inherit; font-weight: 700; cursor: pointer; }
.kn-search-form button[type="submit"]:hover { background: #24548e; }
body.kn-search-lock { overflow: hidden; }
@media (max-width: 600px) {
    .kn-search-modal { padding: 16px; }
    .kn-search-dialog { padding: 52px 16px 16px; border-radius: 11px; max-height: calc(100dvh - 32px); }
    .kn-search-dialog p { font-size: 14px; margin-bottom: 20px; }
    .kn-search-form { flex-direction: column; }
    .kn-search-form input[type="search"], .kn-search-form button[type="submit"] { width: 100%; height: 48px; min-height: 48px; }
}

/* Search results page */
.kn-search-results { max-width: 1080px; padding-top: 42px; padding-bottom: 75px; }
.kn-search-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 27px; color: #687d96; font-size: 13px; }
.kn-search-breadcrumbs a { color: #28578c; text-decoration: none; }
.kn-search-results-head h1 { color: #182c49; font-size: clamp(28px, 3vw, 40px); line-height: 1.2; margin: 0 0 12px; }
.kn-search-results-head p { margin: 0 0 26px; color: #647a94; line-height: 1.6; }
.kn-search-form-results { max-width: 100%; margin: 0 0 26px; }
.kn-search-items { display: flex; flex-direction: column; gap: 0; background: #fff; border: 1px solid #e2e9f0; border-radius: 8px; padding: 0 18px; }
.kn-search-item { display: flex; align-items: flex-start; gap: 20px; padding: 18px 0; border-bottom: 1px solid #e8edf3; }
.kn-search-item:last-child { border-bottom: 0; }
.kn-search-item-image { display: block; flex: 0 0 132px; width: 132px; height: 90px; overflow: hidden; border-radius: 6px; background: #e8eef5; }
.kn-search-item-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kn-search-item-placeholder { display: block; width: 100%; height: 100%; background: #e8eef5; }
.kn-search-item-content { flex: 1; min-width: 0; }
.kn-search-item-content h2 { font-size: 19px; line-height: 1.35; margin: 0 0 12px; }
.kn-search-item-content h2 a { text-decoration: none; color: #182c49; }
.kn-search-item-content h2 a:hover { color: #28578c; }
.kn-search-item-meta { display: flex; flex-wrap: wrap; gap: 8px; color: #7a8ba0; font-size: 12px; }
.kn-search-empty { padding: 32px 26px; background: #fff; border: 1px solid #e2e9f0; border-radius: 8px; }
.kn-search-empty h2 { margin: 0 0 8px; font-size: 22px; }
.kn-search-empty p { margin: 0; color: #687d96; }
.kn-search-pagination { margin-top: 26px; }
.kn-search-pagination ul { display: flex; gap: 8px; padding: 0; margin: 0; list-style: none; flex-wrap: wrap; }
.kn-search-pagination a, .kn-search-pagination span { display: inline-block; padding: 9px 13px; border: 1px solid #dce5ee; border-radius: 4px; background: #fff; text-decoration: none; color: #193c69; }
.kn-search-pagination .current { background: #193c69; color: #fff; }
@media (max-width: 600px) {
    .kn-search-results { padding-top: 24px; padding-bottom: 45px; }
    .kn-search-items { padding: 0 12px; }
    .kn-search-item { gap: 12px; }
    .kn-search-item-image { flex-basis: 90px; width: 90px; height: 68px; }
    .kn-search-item-content h2 { font-size: 15px; }
}
