/* ========================= */
/* FILTRY + WYNIKI */
/* ========================= */

.layout {
    display: grid;
    grid-template-columns: 500px 1fr;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}


/* ========================= */
/* LEWA STRONA */
/* ========================= */

.filters {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: 20px;
    align-self: start;
}


.filter-card {
    background: rgba(255,255,255,0.75);
    border-radius: 10px;
    padding: 20px;

    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    backdrop-filter: blur(5px);
}


.filter-card h2 {
    text-align:center;

    font-size:1.8rem;
    font-style:italic;

    color:#003366;

    margin-bottom:20px;
}


/* ========================= */
/* EDYCJE */
/* ========================= */

#editions {

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:10px;

}


#editions label {

    white-space:nowrap;

}



/* ========================= */
/* TEMATY */
/* ========================= */


#topics {

    display:flex;

    flex-direction:column;

    gap:8px;

}


#topics label {

    white-space:nowrap;

}



/* ========================= */
/* ETAPY */
/* ========================= */


.stages-card {

    width:100%;

}


.stages-card .checkbox-grid {

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}



/* ========================= */
/* EDYCJE + TEMATY */
/* ========================= */


.bottom-filters {

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}


/* ========================= */
/* CHECKBOXY */
/* ========================= */


.checkbox-grid label {

    cursor:pointer;

    font-size:1rem;

}


.checkbox-grid input {

    accent-color:#003366;

}


/* ========================= */
/* TRYB AND */
/* ========================= */


.mode {

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    color:#003366;

    font-weight:bold;

}



/* ========================= */
/* PRAWA STRONA */
/* ========================= */


.results-section {

    background:rgba(255,255,255,0.75);

    border-radius:10px;

    padding:25px;

    box-shadow:0 4px 10px rgba(0,0,0,0.05);

    backdrop-filter:blur(5px);

}



.results-bar {

    margin-bottom:25px;

}



.counter {

    font-size:1.2rem;

    color:#444;

}


.counter strong {

    color:#003366;

    font-size:1.5rem;

}

/* ========================= */
/* LISTA WYNIKÓW */
/* ========================= */


.results {

    display:flex;

    flex-direction:column;

    gap:12px;

}



/* ========================= */
/* POJEDYNCZA KARTA */
/* ========================= */


.task-card {

    background:rgba(255,255,255,0.75);

    border-radius:10px;

    padding:16px;

    border-left:4px solid #003366;

    box-shadow:
        0 3px 8px rgba(0,0,0,0.05);

    transition:0.2s;

}



.task-card:hover {

    background:white;

    transform:translateY(-2px);

    box-shadow:
        0 6px 14px rgba(0,0,0,0.1);

}



/* ========================= */
/* GÓRNY WIERSZ */
/* ========================= */


.task-header {

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:8px;

}



.task-number {

    color:#003366;

    font-size:1rem;

    font-weight:bold;

}



.task-meta {

    color:#666;

    font-size:0.85rem;

}



.separator {

    margin:0 5px;

}



/* ========================= */
/* TYTUŁ ZADANIA */
/* ========================= */


.task-link {

    display:block;

    color:#003366;

    text-decoration:none;

    font-size:1.1rem;

    font-weight:bold;

    line-height:1.35;

    margin-bottom:12px;

}



.task-link:hover {

    color:#001f3f;

}



/* ========================= */
/* TAGI TEMATÓW */
/* ========================= */


.task-topics {

    margin-top:5px;

}



.tags {

    display:flex;

    flex-wrap:wrap;

    gap:6px;

}



.tag {

    display:inline-block;

    background:#003366;

    color:white;

    padding:4px 9px;

    border-radius:12px;

    font-size:0.8rem;

    line-height:1.2;

}



/* ========================= */
/* UWAGI */
/* ========================= */


.task-comment {

    margin-top:12px;

    padding-top:10px;

    border-top:1px solid rgba(0,0,0,0.1);

    color:#555;

    font-size:0.85rem;

    font-style:italic;

}



.task-comment strong {

    color:#003366;

    font-style:normal;

}



/* ========================= */
/* BRAK WYNIKÓW */
/* ========================= */


.no-results {

    background:rgba(255,255,255,0.75);

    padding:16px;

    border-radius:10px;

    text-align:center;

    color:#555;

}



/* ========================= */
/* TYTUŁ WYSZUKIWARKI */
/* ========================= */


.tytulwyszukiwarka {

    max-width:1200px;

    margin:0 auto;

    padding:50px 20px 30px;

    text-align:center;

}



.tytulwyszukiwarka h1 {

    margin:0 0 15px;

    font-family:Arial,sans-serif;

    font-size:2.5rem;

    font-style:italic;

    font-weight:bold;

    color:#003366;

}



.tytulwyszukiwarka p {

    margin:0;

    font-family:Arial,sans-serif;

    font-size:1.2rem;

    font-style:italic;

    color:#555;

    line-height:1.6;

}



/* ========================= */
/* NAGŁÓWEK TEMATÓW */
/* ========================= */


.topics-card .filter-header {

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:10px;

}


.topics-card .filter-header h2 {

    margin:0;

}



/* ========================= */
/* LINKI WYNIKÓW */
/* ========================= */


.results a {

    display:block;

    background:rgba(255,255,255,0.75);

    border-radius:10px;

    padding:15px 20px;

    color:#003366;

    text-decoration:none;

    font-size:1.05rem;

    font-weight:bold;

    box-shadow:0 4px 10px rgba(0,0,0,0.05);

    transition:all 0.25s ease;

    border-left:4px solid #003366;

}



.results a:hover {

    transform:translateY(-3px);

    background:white;

    box-shadow:0 8px 18px rgba(0,0,0,0.12);

    color:#001f3f;

}


/* ========================= */
/* RESPONSYWNOŚĆ */
/* ========================= */


/* TABLETY */

@media(max-width:600px){


    .layout {

        display:grid;

        grid-template-columns:1fr;

        gap:20px;

        padding:40px 20px;

    }



    /* wyłączamy przyklejanie filtrów */

    .filters {

        position:static;

        width:100%;

    }



    .results-section {

        width:100%;

    }



    /* wyniki nie blokują filtrów */

    .results {

        max-height:none;

        overflow:visible;

    }



    .bottom-filters {

        grid-template-columns:1fr;

    }







/* TELEFONY */

@media(max-width:600px){


    .layout {

        display:flex;

        flex-direction:column;

        gap:20px;

        padding:25px 15px;

    }



    /* kolejność elementów */

    .filters {

        order:1;

        position:static;

        width:100%;

    }



    .results-section {

        order:2;

        width:100%;

        padding:15px;

    }



    .filter-card {

        padding:15px;

    }



    .filter-card h2 {

        font-size:1.4rem;

    }



    /* edycje */

    #editions {

        grid-template-columns:1fr;

    }



    #editions label {

        white-space:normal;

    }



    /* tematy */

    #topics {

        gap:10px;

    }



    #topics label {

        white-space:normal;

    }



    /* etapy */

    .stages-card .checkbox-grid {

        flex-direction:column;

        gap:8px;

    }



    /* nagłówek */

    .tytulwyszukiwarka {

        padding:30px 15px 20px;

    }



    .tytulwyszukiwarka h1 {

        font-size:2rem;

    }



    .tytulwyszukiwarka p {

        font-size:1rem;

    }



    /* karty wyników */

    .task-card {

        padding:14px;

    }



    .task-header {

        flex-direction:column;

        align-items:flex-start;

        gap:5px;

    }



    .task-link {

        font-size:1rem;

    }



    .tag {

        font-size:0.75rem;

        padding:4px 8px;

    }


}


/* BARDZO MAŁE TELEFONY */

@media(max-width:400px){


    .layout {

        padding:20px 10px;

    }



    .results-section {

        padding:10px;

    }



    .filter-card {

        padding:12px;

    }



    .tytulwyszukiwarka h1 {

        font-size:1.7rem;

    }


}
}
@media(max-width:600px){

    .layout {
        display:flex;
        flex-direction:column;
        gap:20px;
        padding:25px 15px;
    }


    /* kolejność elementów */
    .filters {
        order:1;
        position:static;
        width:100%;
    }


    .results-section {
        order:2;
        width:100%;
        padding:15px;
    }


    .filter-card {
        padding:15px;
    }


    .filter-card h2 {
        font-size:1.4rem;
    }


    /* EDYCJE + TEMATY OBOK SIEBIE */
    .bottom-filters {
        grid-template-columns:1fr 1fr;
        gap:15px;
    }


    /* EDYCJE - dwie kolumny */
    #editions {
        grid-template-columns:repeat(2,1fr);
        gap:8px;
    }


    #editions label {
        white-space:normal;
        font-size:0.9rem;
    }


    /* TEMATY */
    #topics {
        gap:8px;
    }


    #topics label {
        white-space:normal;
        font-size:0.9rem;
    }


    /* etapy */
    .stages-card .checkbox-grid {
        flex-direction:column;
        gap:8px;
    }


    /* nagłówek */
    .tytulwyszukiwarka {
        padding:30px 15px 20px;
    }


    .tytulwyszukiwarka h1 {
        font-size:2rem;
    }


    .tytulwyszukiwarka p {
        font-size:1rem;
    }


    /* karty wyników */
    .task-card {
        padding:14px;
    }


    .task-header {
        flex-direction:column;
        align-items:flex-start;
        gap:5px;
    }


    .task-link {
        font-size:1rem;
    }


    .tag {
        font-size:0.75rem;
        padding:4px 8px;
    }
}