/* Kontener nadrzędny: #primary + sidebar obok siebie */
.ezasoby-page #body {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
	width: 70%;
	margin: auto;
	margin-top: 2.5em;
}

.ezasoby-page #primary {
    background-color: #ffffff;
    color: #333333;
    flex: 1 1 0%;
    min-width: 0;
}

.ezasoby-page #sidebar {
    flex: 0 0 300px;
    max-width: 300px;
}

.ezasoby-page #primary a {
    color: #0056a6;
    /* Główny niebieski akcent ze strony UCI */
}

.ezasoby-page #primary a:hover {
    color: #003d73;
    /* Ciemniejszy niebieski przy najechaniu */
}

/* Nagłówek strony (archive) */
.ezasoby-page .page-header {
    border-bottom: 1px solid #dee2e6;
    /* Jasnoszara linia */
    margin-bottom: 30px;
    padding-bottom: 20px;
}

.ezasoby-page .page-header .page-title {
    color: #212529;
    /* Bardzo ciemny szary/czarny */
    font-size: 2.5em;
    margin-bottom: 0.2em;
}

.ezasoby-page .page-header p {
    color: #6c757d;
    /* Szary tekst */
    font-size: 1.1em;
}

/* Nawigacja po literach */
.ezasoby-navigation {
    margin-bottom: 30px;
    padding: 20px;
    background-color: #f8f9fa;
    /* Bardzo jasnoszare tło */
    border: 1px solid #dee2e6;
    border-radius: 8px;
}

.ezasoby-nav-title {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.2em;
    color: #333333;
    font-weight: bold;
}

.ezasoby-letters {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ezasoby-letters li a {
    color: #ffffff !important;
}

.ezasoby-letters li a,
.ezasoby-letters li span.disabled {
    display: inline-block;
    padding: 8px 12px;
    background-color: #0056a6;
    /* Niebieskie tło dla aktywnych liter */
    color: #ffffff;
    /* Biały tekst */
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    min-width: 30px;
    text-align: center;
    border: 1px solid #0056a6;
}

.ezasoby-letters li a:hover {
    background-color: #003d73;
    /* Ciemniejszy niebieski */
    border-color: #003d73;
    color: #ffffff;
}

.ezasoby-letters li span.disabled {
    background-color: #e9ecef;
    /* Jasnoszare tło dla nieaktywnych */
    color: #6c757d;
    /* Szary tekst */
    border: 1px solid #ced4da;
    cursor: default;
}

/* Wyszukiwarka */
.ezasoby-search {
    margin-bottom: 30px;
}

.ezasoby-search .search-form {
    display: flex;
    background-color: #f8f9fa;
    /* Jasnoszare tło */
    padding: 8px;
    border-radius: 8px;
    border: 1px solid #dee2e6;
}

.ezasoby-search .search-form label {
    margin: 0;
}

.ezasoby-search .search-field {
    flex-grow: 1;
    padding: 10px 15px;
    border: 1px solid #ced4da;
    /* Standardowa ramka inputu */
    background-color: #ffffff;
    /* Białe tło inputu */
    color: #333333;
    /* Ciemny tekst inputu */
    border-radius: 4px 0 0 4px;
    font-size: 1em;
}

.ezasoby-search .search-field:focus {
    outline: none;
    border-color: #0056a6;
    /* Niebieska ramka przy focusie */
    box-shadow: 0 0 0 0.2rem rgba(0, 86, 166, 0.25);
    /* Lekki cień jak w Bootstrap */
}

.ezasoby-search .search-submit {

    background-color: #0056a6;
    /* Niebieski przycisk */
    color: #ffffff;
    /* Biały tekst */
    border: 1px solid #0056a6;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    font-weight: bold;
    font-size: 1em;
}

.ezasoby-search .search-submit:hover {
    background-color: #003d73;
    /* Ciemniejszy niebieski */
    border-color: #003d73;
}

/* Lista terminów (archive) */
.ezasoby-terms-list {
    margin-top: 20px;
}

.ezasoby-letter-group {
    margin-bottom: 40px;
    padding-top: 20px;
    /* Dla kotwic */
}

.ezasoby-letter-header {
    font-size: 3em;
    color: #0056a6;
    /* Niebieski dla dużych liter */
    border-bottom: 2px solid #dee2e6;
    /* Jasnoszara linia */
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.ezasoby-terms {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 15px;
}

.ezasoby-terms li a {
    display: block;
    padding: 12px 15px;
    background-color: #f8f9fa;
    /* Jasnoszare tło dla elementów listy */
    color: #0056a6;
    /* Niebieski tekst linku */
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #dee2e6;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.ezasoby-terms li a:hover {
    background-color: #e9ecef;
    /* Nieco ciemniejsze tło przy najechaniu */
    border-color: #ced4da;
    color: #003d73;
    /* Ciemniejszy niebieski */
}

.ezasoby-term-single {
    margin-bottom: 30px;
    padding: 20px;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
}

/* Strona pojedynczego terminu (single) */
.ezasoby-term-single .entry-header {
    margin-bottom: 20px;
}

.ezasoby-term-single .entry-title {
    font-size: 2.8em;
    color: #212529;
    /* Ciemny tytuł */
    margin-bottom: 0;
}

.ezasoby-term-single .entry-content {
    font-size: 1.1em;
    line-height: 1.7;
    color: #333333;
    /* Standardowy ciemny tekst */
}

.ezasoby-term-single .entry-content p {
    margin-bottom: 1.5em;
}

.ezasoby-term-single .entry-content strong,
.ezasoby-term-single .entry-content b {
    color: #212529;
    /* Wyróżnienie pogrubionego tekstu */
}

.ezasoby-term-single .entry-footer {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #dee2e6;
    /* Jasnoszara linia */
}

.ezasoby-back-link {
    display: inline-block;
    padding: 10px 18px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
}

.ezasoby-back-link:hover {
    color: #ffffff;
}


/* Style dla wyników wyszukiwania */
.ezasoby-terms-list ul.ezasoby-terms li p.ezasoby-search-excerpt {
    font-size: 0.9em;
    color: #6c757d;
    /* Szary tekst */
    margin-top: 5px;
    margin-bottom: 0;
}

/* Jeśli wyniki wyszukiwania są w jednej kolumnie */
.ezasoby-terms-list ul.ezasoby-terms:has(p.ezasoby-search-excerpt) {
    grid-template-columns: 1fr;
    /* Jedna kolumna dla wyników wyszukiwania z fragmentami */
}

/* Poprawki dla ciemnego tła w edytorze WP (jeśli definicja jest wyświetlana w adminie) */
.wp-editor-container textarea#slownik_definicja_editor {
    background-color: #ffffff;
    /* Jasne tło dla samego textarea */
    color: #333333;
    /* Ciemny tekst dla samego textarea */
    border: 1px solid #ced4da;
}

/* Responsywność */
@media (max-width: 768px) {

    .ezasoby-page #body {
        flex-direction: column;
    }

    .ezasoby-page #sidebar {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .ezasoby-letters {
        gap: 6px;
    }

    .ezasoby-letters li a,
    .ezasoby-letters li span.disabled {
        padding: 6px 10px;
        font-size: 0.9em;
    }

    .ezasoby-terms {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

@media (max-width: 480px) {
    .ezasoby-page .page-header .page-title {
        font-size: 2em;
    }

    .ezasoby-term-single .entry-title {
        font-size: 2.2em;
    }

    .ezasoby-terms {
        grid-template-columns: 1fr;
    }

    .ezasoby-search .search-form {
        flex-direction: column;
        gap: 8px;
    }

    .ezasoby-search .search-field,
    .ezasoby-search .search-submit {
        border-radius: 4px;
    }
}