.ranking {
    padding: 10rem 0 4rem;

    @media (min-width: 979px) {
        padding: 4rem 0;
    }
}

.ranking__header {
    text-align: center;
    margin-bottom: 2rem;
}

.ranking__title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--aok-green);
    margin-bottom: 1.5rem;
}

.ranking__controls {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
}

.ranking__search-input {
    padding: 0.75rem 1rem;
    border: 1px solid var(--aok-grey-1);
    border-radius: 4px;
    flex: 1;
    max-width: 400px;
}

.ranking__scope-toggle {
    display: flex;
    gap: 0.5rem;
}

.ranking__scope-btn {
    padding: 0.75rem 1.25rem;
    border: 1px solid var(--aok-grey-1);
    background: var(--aok-white);
    cursor: pointer;
    font-weight: 600;
    border-radius: 4px;
}

.ranking__scope-btn.active {
    background: var(--aok-green);
    color: var(--aok-white);
    border-color: var(--aok-green);
}

.ranking__table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 2rem;
    min-width: 600px; /* oder breiter, je nach Anzahl der Spalten */
}

.ranking {
    position: relative;
    z-index: 2;
    background: var(--aok-white);
}

.ranking__table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* smoother scrolling auf iOS */
}

.ranking__table-head {
    background: transparent;
    color: var(--aok-black);
}

.ranking__table-cell {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid var(--aok-grey-1);
}

.ranking__table-cell--head {
    font-weight: bold;
    background: transparent;
    color: var(--aok-black);
}

.ranking__table-body .ranking__table-row:not(.ranking__table-row--highlighted):nth-child(odd) {
    background: var(--aok-light-blue);
}

.ranking__table-body .ranking__table-row:not(.ranking__table-row--highlighted):nth-child(even) {
    background: var(--aok-pastel-blue);
}

.ranking__table-cell--pos {
    font-weight: bold;
}

.ranking__pagination {
    margin-top: 2rem;
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

.ranking__pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    color: var(--aok-grey-3);
}

.ranking__pagination button {
    border: none;
    background: transparent;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    color: var(--aok-grey-5);
    border-radius: 4px;
    font-size: 1rem;
    font-family: inherit;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ranking__pagination button svg {
    display: block;
}

.ranking__pagination button.active {
    color: var(--aok-grass-green);
}

.ranking__pagination button:disabled {
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
}

.ranking__table-row--01 {
    background: #005e3f;
    color: var(--aok-white);
}

.ranking__table-row--02 {
    background: #007141;
    color: var(--aok-white);
}

.ranking__table-row--03 {
    background: #028440;
    color: var(--aok-white);
}

.ranking__table-row--04,
.ranking__table-row--05,
.ranking__table-row--06 {
    background: #07983e;
    color: var(--aok-white);
}

.ranking__table-row--07,
.ranking__table-row--08,
.ranking__table-row--09,
.ranking__table-row--10 {
    background: #18ab42;
    color: var(--aok-white);
}

.ranking__table-row--11,
.ranking__table-row--12,
.ranking__table-row--13,
.ranking__table-row--14,
.ranking__table-row--15 {
    background: #35bf50;
    color: var(--aok-white);
}

.ranking__school-icon {
    display: inline-flex;
    align-items: center;
    margin-left: 0.5rem;
    vertical-align: middle;
}

.ranking__school-icon svg {
    width: 20px;
    height: 20px;
    fill: var(--aok-green);
}

.ranking__search {
    position: relative;
    max-width: 620px;
    margin: 2rem auto 0;
}

.ranking__search .input__field {
    padding-left: 3rem;
    position: relative;
}

.ranking__search-icon {
    position: absolute;
    left: 14px;
    pointer-events: none;
    z-index: 1;
    top: 14px;
}
