.asym-grid-wrapper {
    width: 100%;
    position: relative;
    padding: 30px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}

.asym-grid-container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: minmax(40px, auto);
    position: relative;
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

.asym-item {
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 15px 25px rgba(0,0,0,0.15));
}

.asym-img-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-style: solid;
    border-color: #ffffff;
    transition: transform 0.3s ease-in-out, border-radius 0.3s ease-in-out;
}

.asym-img-container:hover {
    transform: scale(1.02);
}

.asym-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Individual placements & extremely organic, wavy (handdrawn style) unequal border-radius settings */

/* Bild 1 - Hauptfamilienbild (Oben/Rechts) */
.item-1 {
    grid-column: 5 / 11;
    grid-row: 1 / 6;
    z-index: 2;
}
.item-1 .asym-img-container {
    /* Highly unequal, handdrawn circular shape */
    border-radius: 43% 57% 41% 59% / 67% 40% 60% 33%;
    aspect-ratio: 1.15;
}

/* Bild 2 - Drinks (Mitte/Links) */
.item-2 {
    grid-column: 1 / 6;
    grid-row: 2 / 6;
    z-index: 4;
}
.item-2 .asym-img-container {
    /* Drastically irregular shape resembling the left image precisely */
    border-radius: 65% 35% 67% 33% / 40% 68% 32% 60%;
    aspect-ratio: 1.05;
}

/* Bild 3 - Essen (Unten/Mitte) */
.item-3 {
    grid-column: 3 / 8;
    grid-row: 5 / 9;
    z-index: 5;
}
.item-3 .asym-img-container {
    /* Liquid organic wave shape for the central bottom element */
    border-radius: 35% 65% 35% 65% / 65% 35% 65% 35%;
    aspect-ratio: 1.1;
}

/* Bild 4 - Holzschild (Unten/Rechts) */
.item-4 {
    grid-column: 7 / 12;
    grid-row: 4 / 8;
    z-index: 3;
}
.item-4 .asym-img-container {
    /* Highly asymmetric wavy shape for the wooden sign */
    border-radius: 50% 50% 30% 70% / 60% 40% 60% 40%;
    aspect-ratio: 1;
}

@media (max-width: 767px) {
    .asym-grid-container {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }
    .asym-item {
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
    .asym-img-container {
        aspect-ratio: 1.1 !important;
    }
}
