/* Responsive styles for max-width: 768px */
@media (max-width: 768px) {
    .intro-container {
        width: 45%;
        margin-bottom: 1rem;
        border-bottom: 3px dotted var(--lgbblau);
    }

    .intro-container > h1 {
        font-size: 1.1rem;
    }

    .intro-container > p {
        font-size: 0.9rem;
    }

    #map {
        width: 100%;
        height: 70vh;
    }

    .map-width-button {
        display: none;
    }

    .layer-switcher-container {
        width: 50px;
        height: 50px;
        border-radius: 5px;
    }

    #type2-legend {
        bottom: 45px;
        right: 10px;
        border-radius: 15px;
        padding: 6px 4px 6px 4px;
    }

    #type2-legend ul {
        gap: 2.5px;
    }

    #type2-legend li {
        width: 35px;
    }

    #type2-legend li span {
        font-size: 0.6rem;
        margin-top: 8px;
        width: 100%;
    }

    #type2-legend li img {
        width: 20px;
        height: 20px;
    }

    .ol-popup {
        right: 60px;
        top: 30px;
        width: 80%;
    }

    .popup-header h2 {
        font-size: 1rem;
    }

    .popup-body p {
        font-size: 0.8rem;
    }

    .popup-icon {
        width: 25px;
        height: 25px;
    }

    #kategorien-bereich {
        padding-bottom: 1rem;
    }
    
    #kategorien-big-box {
        width: 100%;
        margin-bottom: 1rem;
    }
    
    #kategorien-big-box h1 {
        font-size: 1rem;
        padding-top: 0;
        padding-bottom: 0;
    }
    
    #kategorien-small-box h1 {
        font-size: 1.2rem;
        margin: 0;
        text-align: center;
        padding-top: 1rem;
        padding-bottom: .5rem;
        word-break: break-word;
        overflow-wrap: break-word;
        white-space: normal;
    }
    
    #kategorien-layout {
        display: block;
        justify-content: center; 
    }
    
    .category-box {
        padding: 10px; 
        margin-bottom: 15px;
        border: 1px solid var(--lgbblau);
        border-radius: 10px;
        background-color: var(--weiss);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    
    .category-box h1 {
        font-size: 1rem;
    }

    .first-column .category-item,
    .second-column .category-item {
        flex-direction: row;
    }

    .first-column,
    .second-column {
        flex: 1;
    }

    .second-column .category-name {
        text-align: right;
    }

    .second-column .category-number {
        padding-right: .1rem;

    }
    
    .column {
        width: 100%;
    }

    .column:nth-child(2n) {
        margin-left: 0;
        margin-right: .8rem;
    }
    
    .auflistung {
        text-align: center;
        margin-right: auto;
        margin-left: auto;
    }
    
    .auflistung li {
        padding: .2rem 0 .1rem 0;
        transition: transform 0.3s ease;
        padding-bottom: .25rem;
    }
    
    .auflistung-small,
    .auflistung-big {
        list-style-type: none;
        padding-left: 0;
        display: inline-table;
        text-align: left;
    }
    
    .auflistung-big {
        display: block;
        flex-direction: column;
        width: auto;
    }

    .auflistung-small {
        margin: 0;
    }

    #gathering-category .auflistung-small li {
        width: 100%;

    }
    
    #shelter-category .auflistung-small li {
        width: 100%;

    }

    .overall-header {
        text-align: center;
        width: 10%;
        margin: 1rem 0;
        padding-left: 1rem;
        padding-right: 1rem;
        font-size: 1rem;
        text-transform: uppercase;
    }

    #overall-category {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 1rem;
    }

    #overall-category h1 {
        margin-bottom: 1rem;
        text-align: center;
    }

    #overall-category .auflistung-big {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
    }

    #overall-category .auflistung-big li {
        width: auto;
        padding: 0.5rem;
        text-align: center;
    }

    #footer {
        font-size: .8rem;
    }
    
    #footer-nav {
        display: inline;
        float: right;
        margin-right: .5rem;
    }
    
    #footer-nav a {
        text-decoration: none;
    }
    
    #footer-nav a:link {
        color: white;
    }
    
    #footer-nav a:visited {
        color: white;
    }
    
    #footer-nav a:active {
        color: white;
    }
    
    #footer-nav a:hover {
        color: #F0F0F0;
        text-shadow: 0 0 2px #fff;
    }


    #wir-bereich .col-3 {
        display: flex;
        flex-direction: column;
        padding: 0;
        text-align: center;
        height: 550px;
        justify-content: center;
        align-items: center;
        margin-bottom: 2rem;
    }
    
    #wir-bereich .col-3:first-of-type {
        padding-left: 0;
    }
    
    #wir-bereich .col-3:last-of-type {
        padding-right: 0;
    }
    
    #wir-bereich article {
        font-size: 1rem;
        margin-bottom: .5rem;
    }
    
    #wir-bereich p {
        margin: 0 0 .5rem 0;
    }
    
    #wir-img {
        margin: 0;
        width: 160px;
        height: 260px;
        background: url(../img/IMG_1910_mobil.jpg);
        background-size: 160px;
        max-width: calc(100% - 30px);
    }
}

/* Responsive styles for max-width: 576px */
@media (max-width: 576px) {
    .intro-container {
        width: 55%;
        border-bottom: 5px dotted var(--lgbblau);
    }

    .intro-container > h1 {
        font-size: 1rem;
    }

    .intro-container > p {
        font-size: 0.8rem;
    }

    #map {
        height: 60vh;
    }

    #type2-legend {
        right: 5px;
    }
}

/* Responsive styles for max-width: 1024px */
@media (max-width: 1024px) {
    #map {
        width: 100%;
    }

    .intro-container {
        width: 25%;
    }

    .intro-container > h1 {
        font-size: 1.3rem;
    }
}
