/*
|--------------------------------------------------------------------------
| Global search
|--------------------------------------------------------------------------
| Farebne odlíšenie názvov skupín od jednotlivých výsledkov.
| Na širšej obrazovke sú skupiny zobrazené ako samostatné stĺpce, aby boli
| dokumenty, farnosti, formáty a ďalšie typy výsledkov viditeľné naraz.
| Bez Tailwind utility tried; cielime priamo na stabilné Filament triedy.
*/

.fi-global-search-results-ctn {
    border: 1px solid #dbe3ee;
}

.fi-global-search-result-group + .fi-global-search-result-group {
    border-top: 1px solid #dbe3ee;
}

.fi-global-search-result-group-header {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-bottom: 1px solid #bfdbfe !important;
    border-left: 3px solid #3b82f6;
    padding-top: .55rem !important;
    padding-bottom: .55rem !important;
    font-weight: 800 !important;
    letter-spacing: .015em;
}

.fi-global-search-result {
    background: #ffffff;
}

.fi-global-search-result + .fi-global-search-result {
    border-top: 1px solid #eef2f7;
}

.fi-global-search-result-link {
    border-left: 3px solid transparent;
    transition: background-color .12s ease, border-color .12s ease;
}

.fi-global-search-result-link:hover {
    background: #f8fafc !important;
    border-left-color: #93c5fd;
}

.fi-global-search-result-link:focus,
.fi-global-search-result-link:focus-visible {
    outline: none;
    background: #fef3c7 !important;
    border-left-color: #f59e0b;
}

.fi-global-search-result-heading {
    color: #111827;
    font-weight: 700 !important;
}

.fi-global-search-result-details {
    color: #64748b;
}

/*
|--------------------------------------------------------------------------
| Viacstĺpcové výsledky
|--------------------------------------------------------------------------
| Filament štandardne obmedzuje topbar vyhľadávanie na úzky panel. Rozšírime
| ho iba vtedy, keď existuje viac skupín výsledkov. Jedna skupina tak zostáva
| kompaktná, dve dostanú dva stĺpce a tri alebo viac až tri stĺpce.
*/

@media (min-width: 900px) {
    .fi-topbar .fi-global-search-results-ctn:has(.fi-global-search-result-group:nth-child(2)) {
        width: min(48rem, calc(100vw - 2rem)) !important;
        max-width: min(48rem, calc(100vw - 2rem)) !important;
        right: 0 !important;
        left: auto !important;
    }

    .fi-topbar .fi-global-search-results-ctn:has(.fi-global-search-result-group:nth-child(3)) {
        width: min(72rem, calc(100vw - 2rem)) !important;
        max-width: min(72rem, calc(100vw - 2rem)) !important;
    }

    .fi-global-search-results {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
        align-items: start;
    }

    .fi-global-search-result-group {
        min-width: 0;
        height: 100%;
    }

    .fi-global-search-result-group + .fi-global-search-result-group {
        border-top: 0;
        border-left: 1px solid #dbe3ee;
    }

    .fi-global-search-result-group-header {
        position: sticky;
        top: 0;
        z-index: 2;
    }
}

.dark .fi-global-search-results-ctn,
.dark .fi-global-search-result-group + .fi-global-search-result-group {
    border-color: #374151;
}

.dark .fi-global-search-result-group-header {
    background: #172554 !important;
    color: #bfdbfe !important;
    border-bottom-color: #1d4ed8 !important;
    border-left-color: #60a5fa;
}

.dark .fi-global-search-result {
    background: #111827;
}

.dark .fi-global-search-result + .fi-global-search-result {
    border-top-color: #1f2937;
}

.dark .fi-global-search-result-link:hover {
    background: #1f2937 !important;
    border-left-color: #60a5fa;
}

.dark .fi-global-search-result-link:focus,
.dark .fi-global-search-result-link:focus-visible {
    background: #422006 !important;
    border-left-color: #fbbf24;
}

.dark .fi-global-search-result-heading {
    color: #f9fafb;
}

.dark .fi-global-search-result-details {
    color: #cbd5e1;
}

@media (max-width: 899px) {
    .fi-global-search-results {
        display: block;
    }
}
