/* artykuły */
.article-border {
    border-color: #1c2024; /* Black/dark gray */
    transition: all 0.3s ease;
}
.article-border:hover {
    border-color: #bd7405; /* Dark yellow/gold */
    box-shadow: 0 4px 6px -1px rgba(189, 116, 5, 0.1), 0 2px 4px -1px rgba(189, 116, 5, 0.06);
}
.sidebar-sticky {
    position: sticky;
    top: 1rem;
}

/* Tytuły artykułów */
.page-header h1 {
    font-size: 2.25rem !important; /* większy i wyraźny */
    font-weight: 800 !important;
    color: #1c2024 !important; /* czarny */
    line-height: 1.2 !important;
    margin-bottom: 0.75rem !important;
}

/* Szczegóły artykułu (article-info) */
.article-info {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 1rem !important;
    font-size: 0.825rem !important; /* mniejsze litery */
    color: #6b7280 !important;
    margin-bottom: 1.75rem !important;
    margin-top: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.article-info dt {
    font-weight: 700 !important;
    margin: 0 !important;
}
.article-info dd {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
}
.article-info dd::after {
    content: "•";
    margin-left: 1rem;
    color: #d1d5db;
}
.article-info dd:last-child::after {
    content: "" !important;
    margin-left: 0 !important;
}

.page-header h2,
.page-header h2 a,
.article-title,
.article-title a {
    font-size: 1.875rem !important; /* duże */
    font-weight: 800 !important;
    color: #1c2024 !important; /* czarne */
    text-decoration: none !important;
    line-height: 1.25 !important;
}
.page-header h2 a:hover,
.article-title a:hover {
    color: #bd7405 !important; /* ciemnożółty */
    text-decoration: underline !important;
}


/* breadcrumb */
/* Breadcrumbs w jednym wierszu */
/* Nadpisz domyślne style breadcrumbs */
.mod-breadcrumbs ul,
.breadcrumb,
.mod-breadcrumbs__list {
    display: flex !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.mod-breadcrumbs__item,
.breadcrumb-item {
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

.mod-breadcrumbs__item:not(:last-child):after,
.breadcrumb-item:not(:last-child):after {
    content: '/' !important;
    margin: 0 0.5rem !important;
    color: #6b7280 !important;
}

.mod-breadcrumbs__separator {
    margin: 0 0.5rem !important;
}

/* Nawigacja stron (pagenavigation) */
.pagenavigation {
    margin: 2rem 0;
    display: flex;
    justify-content: flex-start;
}

.pagenavigation .pagination {
    display: flex;
    gap: 0.75rem;
}

.pagenavigation .pagination a.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.85rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none !important;
    color: #1c2024 !important; /* Czarne */
    background-color: transparent !important;
    border: 1.5px solid #1c2024 !important; /* Sam border */
    border-radius: 0.375rem;
    transition: all 0.2s ease-in-out;
}

.pagenavigation .pagination a.btn:hover {
    color: #bd7405 !important; /* Ciemnożółty */
    border-color: #bd7405 !important;
    background-color: rgba(189, 116, 5, 0.05) !important;
}

/* Przycisk "Czytaj więcej" (Readmore) */
a.btn-secondary,
.readmore a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    color: #1c2024 !important; /* Czarne */
    background-color: transparent !important;
    border: 1.5px solid #1c2024 !important; /* Sam border */
    border-radius: 0.375rem !important;
    transition: all 0.2s ease-in-out !important;
    margin-bottom: 2rem !important; /* Odstęp na 1-2 wiersze poniżej */
}

a.btn-secondary:hover,
.readmore a:hover {
    color: #bd7405 !important; /* Ciemnożółty */
    border-color: #bd7405 !important;
    background-color: rgba(189, 116, 5, 0.05) !important;
}

/* Paginacja na blogu (kategoria) */
.pagination__wrapper .pagination,
.com-content-category-blog__pagination .pagination {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 1.5rem 0 !important;
    gap: 0 !important;
}

.pagination__wrapper .page-item,
.com-content-category-blog__pagination .page-item {
    margin: 0 !important;
    padding: 0 !important;
}

.pagination__wrapper .page-link,
.pagination__wrapper span.page-link,
.com-content-category-blog__pagination .page-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 2.25rem !important;
    height: 2.25rem !important;
    padding: 0 0.75rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #1c2024 !important; /* Czarne */
    background-color: transparent !important;
    border: 1px solid #1c2024 !important; /* Cieńsza ramka */
    border-radius: 0 !important; /* Bez zaokrąglania rogów */
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    margin-left: -1px !important; /* Zapobiega podwójnym ramkom */
}

.pagination__wrapper .page-item:first-child .page-link,
.com-content-category-blog__pagination .page-item:first-child .page-link {
    margin-left: 0 !important;
}

/* Element aktywny */
.pagination__wrapper .page-item.active .page-link,
.com-content-category-blog__pagination .page-item.active .page-link {
    background-color: #1c2024 !important; /* Czarne tło */
    color: #f2bc5a !important; /* Złoty/żółty tekst */
    border-color: #1c2024 !important;
}

/* Hover */
.pagination__wrapper .page-link:hover,
.com-content-category-blog__pagination .page-link:hover {
    color: #bd7405 !important; /* Ciemnożółty */
    border-color: #bd7405 !important;
    background-color: rgba(189, 116, 5, 0.05) !important;
    z-index: 2 !important;
}

/* Disabled */
.pagination__wrapper .page-item.disabled .page-link,
.com-content-category-blog__pagination .page-item.disabled .page-link {
    color: #9ca3af !important;
    border-color: #d1d5db !important;
    cursor: not-allowed !important;
    background-color: #f9fafb !important;
}

/* Gwarantowane wyświetlanie strzałek paginacji za pomocą CSS (w przypadku braku czcionki ikon) */
.icon-angle-left,
.icon-angle-right,
.icon-angle-double-left,
.icon-angle-double-right {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-family: inherit !important;
}

.icon-angle-left::before,
.icon-angle-right::before,
.icon-angle-double-left::before,
.icon-angle-double-left::after,
.icon-angle-double-right::before,
.icon-angle-double-right::after {
    content: "" !important;
    display: inline-block !important;
    width: 6px;
    height: 6px;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
}

/* Pojedyncza w lewo */
.icon-angle-left::before {
    transform: rotate(-45deg);
    margin-left: 2px;
}

/* Pojedyncza w prawo */
.icon-angle-right::before {
    transform: rotate(135deg);
    margin-right: 2px;
}

/* Podwójna w lewo */
.icon-angle-double-left::before,
.icon-angle-double-left::after {
    transform: rotate(-45deg);
}
.icon-angle-double-left::after {
    margin-left: -2px !important;
}

/* Podwójna w prawo */
.icon-angle-double-right::before,
.icon-angle-double-right::after {
    transform: rotate(135deg);
}
.icon-angle-double-right::after {
    margin-left: -2px !important;
}

/* Wcięcia i odstępy dla list (ul, ol) w treści artykułów */
.prose ul,
main ul,
#main-content ul {
    padding-left: 1.75rem !important;
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
    list-style-type: square !important; /* Domyślny typ punktora */
}

.prose ol,
main ol,
#main-content ol {
    padding-left: 1.75rem !important;
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
    list-style-type: decimal !important;
}

.prose li,
main li,
#main-content li {
    margin-bottom: 0.35rem !important;
}
/* porawka dla list w paginacji */
/* === PAGINACJA - POPRAWKI === */

/* Reset dla wszystkich elementów paginacji - usunięcie kropek */
.pagination__wrapper .pagination,
.com-content-category-blog__pagination .pagination,
.pagination__wrapper ul,
.com-content-category-blog__pagination ul,
.pagination__wrapper li,
.com-content-category-blog__pagination li,
.pagination__wrapper .page-item,
.com-content-category-blog__pagination .page-item {
    list-style: none !important;
    list-style-type: none !important;
}

.pagination__wrapper .pagination,
.com-content-category-blog__pagination .pagination {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 1.5rem 0 !important;
    gap: 0 !important;
}

.pagination__wrapper .page-item,
.com-content-category-blog__pagination .page-item {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    list-style: none !important;
}

/* Ukrycie kropek na liściach paginacji (fallback) */
.pagination__wrapper .pagination li::before,
.com-content-category-blog__pagination .pagination li::before,
.pagination__wrapper .page-item::before,
.com-content-category-blog__pagination .page-item::before {
    content: "" !important;
    display: none !important;
}


/* =====================================================================
   STRONA KONTAKTU (com-contact) 
   ===================================================================== */

.com-contact {
    max-width: 1100px;
    margin: 2rem auto;
    padding: 0 1rem;
}

/* Układ dwukolumnowy na desktopie */
@media (min-width: 992px) {
    .com-contact {
        display: grid;
        grid-template-columns: 1fr 1.75fr;
        gap: 1.5rem 2.5rem; /* Pierwsza wartość to gap w pionie - zmniejszamy go by H2 i formularz nie były zbyt rozstrzelone */
        align-items: start;
    }
    .com-contact .page-header {
        grid-column: 1 / -1;
    }
    
    /* Dodajemy klasę info do definicji, żeby objęła poprawne rzędy na siatce grid */
    .com-contact > .com-contact__container,
    .com-contact > .com-contact__info {
        grid-column: 1;
        grid-row: 2 / span 2; /* Lewa kolumna ma zajmować 2 wiersze */
    }
    
    .com-contact > h2:nth-of-type(2) {
        grid-column: 2;
        grid-row: 2; /* H2 wymuszamy w pierwszym dostępnym wierszu obok info */
        margin-top: 0 !important;
    }
    
    .com-contact > .com-contact__form {
        grid-column: 2;
        grid-row: 3; /* Formularz ląduje tuż pod H2 w prawej kolumnie */
    }
}
/* Nagłówki sekcji */
.com-contact h2 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #1c2024 !important;
    margin-bottom: 1rem !important;
    border-bottom: 2px solid #bd7405;
    padding-bottom: 0.5rem;
}

/* Blok danych adresowych */
.com-contact__info {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    margin-bottom: 2rem;
}

.com-contact__address {
    margin: 0;
}

.com-contact__address dt {
    display: block; /* Resetuje zachowanie z domyślnego inline/float */
    text-align: left;
    color: #bd7405 !important;
    font-size: 1.25rem;
    margin-bottom: 0.25rem; /* Mniejszy odstęp pod ikoną dla lepszego wizualnego powiązania z tekstem */
}

.com-contact__address dd {
    margin-left: 0; /* Resetujemy margines lewy (tekst wraca na krawędź) */
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
    color: #374151;
    line-height: 1.5;
}

.com-contact__address dd a {
    color: #1c2024 !important;
    text-decoration: underline;
}
.com-contact__address dd a:hover {
    color: #bd7405 !important;
}


/* ============================================================
   FORULARZ KONTAKTOWY 
   ============================================================ */

/* Karta formularza */
.com-contact__form {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1.5rem 1.5rem 2rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.com-contact__form form {
    width: 100% !important;
    max-width: 100% !important;
}

/* Legenda i nagłówki formularza */
.com-contact__form legend {
    font-size: 1.15rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 1.5rem;
    display: block;
    width: 100%;
    border-bottom: 2px solid #e5e7eb;
    padding-bottom: 0.75rem;
}

/* Grupy pól - układ pionowy, czytelny */
.com-contact__form .control-group {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 1.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
}

/* Etykiety */
.com-contact__form .control-label {
    font-weight: 600;
    font-size: 0.9rem;
    color: #374151;
    margin-bottom: 0.4rem;
    display: block;
    width: 100% !important;
}

/* Pola formularza - pełna szerokość */
.com-contact__form .controls {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
}

/* Wszystkie pola wejściowe, textarea, select */
.com-contact__form .form-control {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.65rem 0.85rem !important;
    font-size: 0.9rem !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    background-color: #ffffff !important;
    color: #1c2024 !important;
    box-shadow: none !important;
    transition: all 0.2s ease-in-out !important;
    box-sizing: border-box !important;
}

.com-contact__form .form-control:focus {
    outline: none !important;
    border-color: #bd7405 !important;
    box-shadow: 0 0 0 3px rgba(189, 116, 5, 0.15) !important;
}

/* Textarea - zachowanie proporcji */
.com-contact__form textarea.form-control {
    min-height: 120px !important;
    resize: vertical !important;
}

/* Pola wymagane i komunikaty */
.com-contact__form .required {
    font-weight: 700;
}
.com-contact__form .star {
    color: #dc2626 !important;
    margin-left: 0.25rem;
}

/* Komunikat o polach wymaganych */
.com-contact__form .field-spacer {
    font-size: 0.85rem;
    color: #6b7280;
    margin-bottom: 0.5rem !important;
}
.com-contact__form .field-spacer .text .red {
    color: #dc2626 !important;
    font-weight: 700;
}
.com-contact__form .field-spacer .control-label {
    font-weight: 400;
    color: #6b7280;
}
.com-contact__form .field-spacer .controls {
    display: none !important;
}

/* Checkbox - poprawne wyświetlanie */
.com-contact__form .form-check {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0 !important;
    margin: 0 !important;
}

.com-contact__form .form-check-inline {
    display: flex !important;
    align-items: center !important;
}

.com-contact__form .form-check-input {
    width: 1.15rem !important;
    height: 1.15rem !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 0.25rem !important;
    accent-color: #bd7405 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

/* Etykieta przy checkboxie - jeśli jest */
.com-contact__form .form-check-label {
    font-size: 0.9rem;
    color: #374151;
    cursor: pointer;
}

/* Przycisk wyślij */
.com-contact__form button.btn-primary {
    background-color: #1c2024 !important;
    color: #f2bc5a !important;
    border: 1px solid #1c2024 !important;
    padding: 0.65rem 2rem !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    border-radius: 0.375rem !important;
    cursor: pointer;
    transition: all 0.2s ease-in-out !important;
    width: auto !important;
    min-width: 150px !important;
}

.com-contact__form button.btn-primary:hover {
    background-color: #bd7405 !important;
    color: #ffffff !important;
    border-color: #bd7405 !important;
}

/* Przycisk - pełna szerokość na małych ekranach */
@media (max-width: 575px) {
    .com-contact__form button.btn-primary {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ============================================================
   MOBILNE - DOSTOSOWANIE DO MAŁYCH EKRANÓW
   ============================================================ */

@media (max-width: 767px) {
    .com-contact {
        padding: 0 0.75rem;
        margin: 1rem auto;
    }

    .com-contact__form {
        padding: 1.25rem 1rem 1.5rem;
    }

    .com-contact__info {
        padding: 1.25rem;
    }

    .com-contact__address dt {
        font-size: 1rem;
        margin-bottom: 0.75rem;
    }

    .com-contact__address dd {
        font-size: 0.85rem;
    }

    .com-contact__form .form-control {
        font-size: 0.85rem !important;
        padding: 0.55rem 0.7rem !important;
    }

    .com-contact h2 {
        font-size: 1.25rem !important;
    }
}

/* ============================================================
   MAłe tablety (768-991) - układ nadal w jednej kolumnie
   ============================================================ */
@media (min-width: 768px) and (max-width: 991px) {
    .com-contact {
        padding: 0 1.25rem;
    }
    .com-contact__form {
        padding: 1.5rem;
    }
}

/* ============================================================
   BARDZO MAŁE EKRANY
   ============================================================ */
@media (max-width: 399px) {
    .com-contact__form {
        padding: 1rem 0.75rem 1.25rem;
    }
    .com-contact__form .form-control {
        font-size: 0.8rem !important;
        padding: 0.45rem 0.6rem !important;
    }
    .com-contact__address dt {
        font-size: 0.9rem;
    }
    .com-contact__address dd {
        font-size: 0.8rem;
    }
}

/* ============================================================
   WYSZUKIWARKA (com_finder) - STYLE
   ============================================================ */

/* Główny kontener wyszukiwarki */
.com-finder {
    max-width: 100%;
    margin: 0 auto;
}

/* Formularz wyszukiwania */
.com-finder__form {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1.5rem 1.5rem 1.75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Pole wyszukiwania - grupa input + przyciski */
.com-finder__form .input-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    width: 100% !important;
    align-items: stretch !important;
}

/* Input tekstowy */
.com-finder__form #q,
.com-finder__form .awesomplete input {
    flex: 1 1 200px !important;
    min-width: 180px !important;
    padding: 0.65rem 1rem !important;
    font-size: 0.95rem !important;
    border: 2px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    background-color: #ffffff !important;
    color: #1c2024 !important;
    transition: all 0.2s ease-in-out !important;
    outline: none !important;
    height: auto !important;
}

.com-finder__form #q:focus,
.com-finder__form .awesomplete input:focus {
    border-color: #bd7405 !important;
    box-shadow: 0 0 0 3px rgba(189, 116, 5, 0.15) !important;
}

/* Przyciski wyszukiwania - wspólne style */
.com-finder__form .input-group .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    padding: 0.65rem 1.25rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    border-radius: 0.375rem !important;
    border: 2px solid transparent !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    height: auto !important;
    min-height: 44px !important; /* WCAG - minimum 44px */
}

/* Przycisk "Szukaj" - główny */
.com-finder__form .btn-primary {
    background-color: #1c2024 !important;
    color: #f2bc5a !important;
    border-color: #1c2024 !important;
}

.com-finder__form .btn-primary:hover {
    background-color: #bd7405 !important;
    color: #ffffff !important;
    border-color: #bd7405 !important;
}

.com-finder__form .btn-primary:focus-visible {
    outline: 3px solid #bd7405 !important;
    outline-offset: 2px !important;
}

/* Przycisk "Zaawansowane" - wtórny */
.com-finder__form .btn-secondary {
    background-color: transparent !important;
    color: #1c2024 !important;
    border-color: #1c2024 !important;
}

.com-finder__form .btn-secondary:hover {
    background-color: rgba(189, 116, 5, 0.08) !important;
    color: #bd7405 !important;
    border-color: #bd7405 !important;
}

.com-finder__form .btn-secondary:focus-visible {
    outline: 3px solid #bd7405 !important;
    outline-offset: 2px !important;
}

/* Ikony w przyciskach */
.com-finder__form .icon-search,
.com-finder__form .icon-search-plus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

/* ============================================================
   WYSZUKIWARKA - SEKCJA ZAAWANSOWANA
   ============================================================ */

/* Karta zaawansowanego wyszukiwania */
.com-finder__advanced {
    margin-top: 1.5rem !important;
    border-top: 1px solid #e5e7eb !important;
    padding-top: 1.5rem !important;
}

/* Tips - wskazówki */
.com-finder__tips {
    background-color: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.375rem !important;
    padding: 0 !important;
    margin-bottom: 1.25rem !important;
}

.com-finder__tips .card-body {
    padding: 1rem 1.25rem !important;
}

.com-finder__tips p {
    margin-bottom: 0.5rem !important;
    font-size: 0.9rem !important;
    color: #374151 !important;
    line-height: 1.6 !important;
}

.com-finder__tips p:last-child {
    margin-bottom: 0 !important;
}

.com-finder__tips strong {
    color: #1c2024 !important;
}

/* Filtry - grupy pól */
.com-finder__filter {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
}

@media (min-width: 640px) {
    .com-finder__filter {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (min-width: 992px) {
    .com-finder__filter {
        grid-template-columns: 1fr 1fr 1fr !important;
    }
}

.com-finder__filter .filter-branch {
    display: contents !important;
}

.com-finder__filter .control-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.25rem !important;
}

.com-finder__filter .control-label {
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    color: #374151 !important;
}

.com-finder__filter .control-label label {
    margin: 0 !important;
}

.com-finder__filter .controls {
    width: 100% !important;
}

/* Select - wybór filtrów */
.com-finder__filter .form-select {
    width: 100% !important;
    padding: 0.55rem 0.85rem !important;
    font-size: 0.9rem !important;
    border: 2px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    background-color: #ffffff !important;
    color: #1c2024 !important;
    appearance: auto !important;
    transition: all 0.2s ease-in-out !important;
    min-height: 44px !important;
}

.com-finder__filter .form-select:focus {
    border-color: #bd7405 !important;
    box-shadow: 0 0 0 3px rgba(189, 116, 5, 0.15) !important;
    outline: none !important;
}

/* ============================================================
   WYSZUKIWARKA - MOBILNE
   ============================================================ */

@media (max-width: 575px) {
    .com-finder__form {
        padding: 1rem !important;
    }

    .com-finder__form .input-group {
        flex-direction: column !important;
        gap: 0.5rem !important;
    }

    .com-finder__form #q,
    .com-finder__form .awesomplete input {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: unset !important;
    }

    .com-finder__form .input-group .btn {
        width: 100% !important;
        justify-content: center !important;
    }

    .com-finder__filter {
        grid-template-columns: 1fr !important;
    }

    .com-finder__tips .card-body {
        padding: 0.75rem 1rem !important;
    }

    .com-finder__tips p {
        font-size: 0.85rem !important;
    }
}

/* ============================================================
   WYSZUKIWARKA - TRYB WYSOKIEGO KONTRASTU
   ============================================================ */

.high-contrast .com-finder__form {
    background-color: #000 !important;
    border-color: #fff !important;
}

.high-contrast .com-finder__form #q,
.high-contrast .com-finder__form .awesomplete input {
    background-color: #000 !important;
    border-color: #ffff00 !important;
    color: #fff !important;
}

.high-contrast .com-finder__form .btn-primary {
    background-color: #ffff00 !important;
    color: #000 !important;
    border-color: #ffff00 !important;
}

.high-contrast .com-finder__form .btn-secondary {
    border-color: #ffff00 !important;
    color: #ffff00 !important;
}

.high-contrast .com-finder__form .btn-primary:hover,
.high-contrast .com-finder__form .btn-secondary:hover {
    background-color: #000 !important;
    color: #ffff00 !important;
    border-color: #ffff00 !important;
}

.high-contrast .com-finder__tips {
    background-color: #000 !important;
    border-color: #ffff00 !important;
}

.high-contrast .com-finder__tips p {
    color: #fff !important;
}

.high-contrast .com-finder__tips strong {
    color: #ffff00 !important;
}

.high-contrast .com-finder__filter .form-select {
    background-color: #000 !important;
    border-color: #ffff00 !important;
    color: #fff !important;
}

.high-contrast .com-finder__filter .form-select option {
    background-color: #000 !important;
    color: #fff !important;
}

.high-contrast .com-finder__filter .control-label {
    color: #ffff00 !important;
}
/* ============================================================
   MODUŁ WYSZUKIWARKI W NAGŁÓWKU (mod_finder) - POPRAWIONY
   ============================================================ */

/* Moduł wyszukiwarki - wersja nagłówkowa */
.mod-finder {
    display: inline-flex !important;
    align-items: center !important;
    max-width: 280px !important;
    width: 100% !important;
}

/* Kontener z polem i ikoną */
.mod-finder .awesomplete {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    position: relative !important;
}

/* Pole wyszukiwania - widoczna ramka */
.mod-finder .form-control {
    color: #1c2024 !important;
    background: #fff !important;
    border: 1.5px solid #d1d5db !important;
}

.mod-finder .form-control:hover {
    border-color: #9ca3af !important;
}

.mod-finder .form-control:focus {
    border-color: #bd7405 !important;
    box-shadow: 0 0 0 3px rgba(189,116,5,.15) !important;
}

.mod-finder .form-control::placeholder {
    color: #6b7280 !important;
}

/* Ikona lupy - większa i jaśniejsza */
.mod-finder .form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='rgba(255,5,255,0.7)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.85rem center !important;
    background-size: 18px !important;
    padding-right: 2.8rem !important;
}

/* Hover - wyraźniejszy efekt */
.mod-finder .form-control:hover {
    background-color: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
}

.mod-finder label.finder {
    display: none;
}
/* ============================================================
   WYSZUKIWARKA W NAGŁÓWKU - WARIANT JASNY (header-light)
   ============================================================ */

.header-light .mod-finder .form-control {
    background-color: rgba(0, 0, 0, 0.05) !important;
    border-color: rgba(0, 0, 0, 0.25) !important;
    color: #1c2024 !important;
}

.header-light .mod-finder .form-control::placeholder {
    color: rgba(0, 0, 0, 0.4) !important;
}

.header-light .mod-finder .form-control:focus {
    background-color: rgba(0, 0, 0, 0.07) !important;
    border-color: #bd7405 !important;
    box-shadow: 0 0 0 3px rgba(189, 116, 5, 0.15) !important;
}

.header-light .mod-finder .form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='rgba(0,0,0,0.5)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") !important;
}

.header-light .mod-finder .form-control:hover {
    background-color: rgba(0, 0, 0, 0.08) !important;
    border-color: rgba(0, 0, 0, 0.4) !important;
}

/* ============================================================
   WYSZUKIWARKA W NAGŁÓWKU - RESPONSYWNOŚĆ
   ============================================================ */

@media (max-width: 767px) {
    .mod-finder {
        max-width: 200px !important;
    }
    
    .mod-finder .form-control {
        font-size: 0.8rem !important;
        padding: 0.35rem 2.2rem 0.35rem 0.85rem !important;
        height: 36px !important;
        background-size: 16px !important;
        background-position: right 0.7rem center !important;
    }
}

@media (max-width: 575px) {
    .mod-finder {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .mod-finder .form-control {
        font-size: 0.85rem !important;
        padding: 0.4rem 2.5rem 0.4rem 1rem !important;
        height: 42px !important;
        background-size: 18px !important;
        background-position: right 0.85rem center !important;
    }
}

/* ============================================================
   WYSZUKIWARKA W NAGŁÓWKU - TRYB WYSOKIEGO KONTRASTU
   ============================================================ */

.high-contrast .mod-finder .form-control {
    background-color: #000 !important;
    border-color: #ffff00 !important;
    border-width: 2px !important;
    color: #fff !important;
}

.high-contrast .mod-finder .form-control::placeholder {
    color: #ffff00 !important;
}

.high-contrast .mod-finder .form-control:focus {
    outline: 3px solid #ffff00 !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

.high-contrast .mod-finder .form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffff00' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") !important;
}

/* ============================================================
   UKRYCIE TYTUŁU MENU PRZY ZACHOWANIU IKONY
   ============================================================ */

/* Dla elementu menu z klasą fa-house - ukrycie tekstu */
#navbar .mod-menu a.fa-house,
#navbar .mod-list a.fa-house,
#navbar .nav a.fa-house {
    font-size: 0 !important; /* Ukrycie tekstu */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
}

/* Przywrócenie rozmiaru ikony - Font Awesome 6 */
#navbar .mod-menu a.fa-house::before,
#navbar .mod-list a.fa-house::before,
#navbar .nav a.fa-house::before {
    font-size: 1.25rem !important; /* Rozmiar ikony */
    line-height: 1 !important;
}

/* Jeśli używasz Font Awesome 5 */
#navbar .mod-menu a.fa-house .fas,
#navbar .mod-menu a.fa-house .fa-solid,
#navbar .mod-list a.fa-house .fas,
#navbar .mod-list a.fa-house .fa-solid,
#navbar .nav a.fa-house .fas,
#navbar .nav a.fa-house .fa-solid {
    font-size: 1.25rem !important;
}

/* Alternatywnie - ukrycie tekstu przez przesunięcie */
#navbar .mod-menu a.fa-house {
    text-indent: -9999px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
}

/* Przywrócenie ikony (działa z text-indent) */
#navbar .mod-menu a.fa-house::before {
    text-indent: 0 !important;
    display: inline-block !important;
}

/* ============================================================
   DODATKOWO - ZABEZPIECZENIE DLA RÓŻNYCH WERSJI
   ============================================================ */

/* Dla Joomla - jeśli tytuł jest w osobnym span */
#navbar .mod-menu a.fa-house span,
#navbar .mod-list a.fa-house span,
#navbar .nav a.fa-house span {
    display: none !important;
}

/* Dla podmenu - jeśli element ma dzieci */
#navbar .mod-menu li.fa-house > a,
#navbar .mod-list li.fa-house > a,
#navbar .nav li.fa-house > a {
    font-size: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
}

#navbar .mod-menu li.fa-house > a::before,
#navbar .mod-list li.fa-house > a::before,
#navbar .nav li.fa-house > a::before {
    font-size: 1.25rem !important;
}

/* ============================================================
   DODATKOWA OPCJA - SPECJALNA KLASA
   ============================================================ */

/* Jeśli chcesz użyć własnej klasy zamiast fa-house */
#navbar .mod-menu a.menu-home-icon,
#navbar .mod-list a.menu-home-icon,
#navbar .nav a.menu-home-icon {
    font-size: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
}

#navbar .mod-menu a.menu-home-icon .fa-house,
#navbar .mod-menu a.menu-home-icon .fas,
#navbar .mod-menu a.menu-home-icon .fa-solid {
    font-size: 1.25rem !important;
}