/*
 * /firmy w trybie ograniczonym (templates/archive-firmy-reduced.php).
 *
 * Osobny plik, ładowany tylko na tym szablonie i wyłączony z optymalizacji CSS LiteSpeed
 * (combine / UCSS), żeby stan cache UCSS i CDN nie miał wpływu na wygląd strony.
 * Kolory i typografia z motywu: var(--color-1), var(--color-2), #222222, bez zaokrągleń.
 */

.firmy-reduced-lead{
    font-size: 18px;
    color: #575760;
    margin-bottom: 25px;
}

.firmy-reduced-search{
    display: flex;
    align-items: stretch;
    max-width: 640px;
    border: 1px solid var(--color-1);
    background-color: #ffffff;
    margin-bottom: 40px;
}

.firmy-reduced-search input[type="search"]{
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    font-size: 15px;
    padding: 8px 14px;
    color: #222222;
}

.firmy-reduced-search input[type="search"]:focus{
    outline: none;
}

.firmy-reduced-search .firmy-reduced-search-submit{
    border: 0;
    border-radius: 0;
    margin: 0;
    padding: 0 22px;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

.firmy-reduced-empty{
    margin: -20px 0 40px;
    padding: 20px;
    border: 1px dashed #bfbfbf;
    color: #575760;
    text-align: center;
}

.firmy-reduced .banner-ads-container{
    margin-bottom: 50px;
}

.firmy-reduced-body{
    display: grid;
    grid-template-columns: 315px minmax(0, 1fr);
    gap: 40px;
    align-items: start;
}

/* Kolumna branż */
.firmy-reduced-nav{
    position: sticky;
    top: 70px;
}

.firmy-reduced-nav-list{
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #dddddd;
    background-color: #ffffff;
}

.firmy-reduced-nav-list li{
    margin: 0;
    padding: 0;
    list-style: none;
    background: none;
}

/* motyw dokleja znacznik do elementów list w treści - tu go nie chcemy */
.firmy-reduced-nav-list li::before,
.firmy-reduced-nav-list li::marker{
    content: none;
    display: none;
}

.firmy-reduced-nav-list li + li{
    border-top: 1px solid #dddddd;
}

.firmy-reduced-nav-list a{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    font-size: 15px;
    font-weight: 700;
    color: #222222;
    white-space: nowrap;
}

.firmy-reduced-nav-list a svg{
    width: 18px;
    height: 16px;
    flex: none;
    fill: #222222;
}

.firmy-reduced-nav-list a span{
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.firmy-reduced-nav-list a b{
    font-size: 13px;
    font-weight: 700;
    color: #575760;
    font-variant-numeric: tabular-nums;
}

.firmy-reduced-nav-list a:hover{
    color: var(--color-1);
    background-color: #f5f5f5;
}

.firmy-reduced-nav-list a:hover svg{
    fill: var(--color-1);
}

/* Sekcje branż */
.firmy-reduced-section{
    padding: 0 0 35px;
    margin-bottom: 35px;
    border-bottom: 1px solid #dddddd;
    scroll-margin-top: 70px;
}

.firmy-reduced-section:last-child{
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* kontener siatki kończy się równo z ostatnim kafelkiem, więc przyklejona lista nie zjeżdża niżej */
.firmy-reduced .firmy-reduced-section:last-child li.firmy-reduced-item:last-child{
    padding-bottom: 0;
}

.firmy-reduced-section-head{
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 14px;
    margin-bottom: 20px;
}

.firmy-reduced-section-head h2{
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 22px;
    font-weight: 700;
}

.firmy-reduced-section-head h2 a{
    color: #222222;
}

.firmy-reduced-section-head h2 a:hover{
    color: var(--color-1);
}

.firmy-reduced-section-head h2 svg{
    width: 20px;
    height: 18px;
    flex: none;
    fill: #222222;
}

.firmy-reduced-section-count{
    font-size: 15px;
    color: #575760;
}

/* Rankingi w trzech kolumnach ze strzałką, zamiast obramowanych kafelków */
.firmy-reduced-list{
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 3;
    column-gap: 30px;
}

.firmy-reduced .firmy-reduced-list li.firmy-reduced-item{
    break-inside: avoid;
    display: flex;
    align-items: flex-start;
    margin: 0;
    padding: 5px 0;
    font-size: 15px;
    list-style: none;
    background: none;
}

/*
 * Ogólna reguła list w treści (.content-area ul li:before, główny arkusz) dokleja własny
 * znacznik. Wyjątek dla tej listy jest też w głównym arkuszu, ale stary plik UCSS może go
 * nie zawierać, dlatego wyłączamy znacznik również tutaj, niezależnie od stanu cache.
 */
.content-area .firmy-reduced .firmy-reduced-list li.firmy-reduced-item::before,
.content-area .firmy-reduced .firmy-reduced-nav-list li::before{
    content: none !important;
    background: none !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

/* strzałka jak w stopce (.latest-posts-list svg) */
.firmy-reduced .firmy-reduced-list li.firmy-reduced-item .firmy-reduced-arrow{
    position: relative;
    top: 4px;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    margin-right: 10px;
    fill: #222222;
}

.firmy-reduced .firmy-reduced-list li.firmy-reduced-item a{
    color: #222222;
    font-weight: 400;
}

.firmy-reduced .firmy-reduced-list li.firmy-reduced-item a:hover{
    color: var(--color-1);
}

.firmy-reduced .firmy-reduced-list li.firmy-reduced-item[hidden]{
    display: none;
}

@media screen and (max-width: 1024px){
    .firmy-reduced-body{
        grid-template-columns: 260px minmax(0, 1fr);
        gap: 30px;
    }

    .firmy-reduced-nav-list a{
        font-size: 14px;
        padding: 10px 12px;
        white-space: normal;
    }

    .firmy-reduced-list{
        columns: 2;
    }
}

@media screen and (max-width: 767px){
    .firmy-reduced-body{
        grid-template-columns: 1fr;
    }

    .firmy-reduced-nav{
        position: static;
    }

    .firmy-reduced-nav-list{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        border: 0;
    }

    .firmy-reduced-nav-list li,
    .firmy-reduced-nav-list li + li{
        border: 1px solid #222222;
    }

    .firmy-reduced-nav-list a{
        padding: 6px 12px;
        font-size: 13px;
    }

    .firmy-reduced-nav-list a svg{
        display: none;
    }

    .firmy-reduced-search input[type="search"]{
        font-size: 15px;
        padding: 10px 12px;
    }

    .firmy-reduced-search .firmy-reduced-search-submit{
        padding: 8px 14px;
    }

    .firmy-reduced-section-head h2{
        font-size: 19px;
    }

    /* liczba rankingów pod nazwą branży */
    .firmy-reduced-section-head{
        display: block;
        margin-bottom: 16px;
    }

    .firmy-reduced-section-count{
        display: block;
        margin-top: 6px;
        font-size: 14px;
    }

    /* większa przerwa między kafelkami branż a pierwszą sekcją */
    .firmy-reduced-body{
        gap: 45px;
    }

    .firmy-reduced-list{
        columns: 1;
    }
}
