/* Ogólne style dla stron słownika - dostosowane do uci.usz.edu.pl */
#primary {
	box-sizing: border-box;
    background-color: #ffffff; /* Białe tło */
    color: #333333; /* Ciemnoszary tekst */
	width: 70%;
	margin: auto;
	margin-top: 2rem;
}

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

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

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

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

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

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

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

.slownik-it-letters {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.slownik-it-letters li a{
	color: #ffffff !important;
}
.slownik-it-letters li a,
.slownik-it-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;
}

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

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

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

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

.slownik-it-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;
}

.slownik-it-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 */
}

.slownik-it-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;
}

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

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

.slownik-it-letter-group {
    margin-bottom: 40px;
    padding-top: 20px; /* Dla kotwic */
	scroll-margin-top: 115px;
}

.slownik-it-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;
}

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

.slownik-it-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;
}

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

.slownik-it-term-single{
	margin-bottom: 30px;
	padding: 20px;
	background-color: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 8px;
}
/* Strona pojedynczego terminu (single) */
.slownik-it-term-single .entry-header {
    margin-bottom: 20px;
}
.slownik-it-term-single .entry-title {
    font-size: 2.8em;
    color: #212529; /* Ciemny tytuł */
    margin-bottom: 0;
}

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

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

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

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

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

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


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

/* Jeśli wyniki wyszukiwania są w jednej kolumnie, a chcesz je tak zostawić */
.slownik-it-terms-list ul.slownik-it-terms:has(p.slownik-it-search-excerpt) {
    grid-template-columns: 1fr; /* Jedna kolumna dla wyników wyszukiwania z fragmentami */
}

/* Ukrywanie standardowego sidebara na stronach słownika, jeśli jest i przeszkadza */
/* .slownik-it-page #secondary { display: none; } */
/* .slownik-it-page #primary { width: 100%; max-width: 1000px; margin: 0 auto; } */

/* 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;
}
#slownik-it-modal { display: none; }
#slownik-it-modal[style*="display: flex"] { display: flex !important; }
#slownik-it-modal h2 { margin-top: 0; }
#slownik-it-modal-content { margin-top: 15px; }
#slownik-it-modal-close:hover { color: #0056a6; }

/* Responsywność dla nawigacji literowej */
@media (max-width: 768px) {
	body.slownik-it-page,
	.slownik-it-page #primary{
		width: 100% !important;
		padding: 0 5% !important;
	}
    .slownik-it-letters {
        gap: 6px;
    }
    .slownik-it-letters li a,
    .slownik-it-letters li span.disabled {
        padding: 6px 10px;
        font-size: 0.9em;
    }
    .slownik-it-terms {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

@media (max-width: 480px) {
    .slownik-it-page .page-header .page-title {
        font-size: 2em;
    }
    .slownik-it-term-single .entry-title {
        font-size: 2.2em;
    }
    .slownik-it-terms {
        grid-template-columns: 1fr;
    }
    .slownik-it-search .search-form {
        flex-direction: column;
        gap: 8px;
    }
    .slownik-it-search .search-field,
    .slownik-it-search .search-submit {
        border-radius: 4px;
    }
}