/* Listen-Layout: Sektionen, innerer Container, Text/Bilder-Spalten */

.okm-section {
    background-color: transparent; /* Grundzustand, Farben über .left/.right */
}

.okm-section .inner {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    padding: 3rem 2rem;
}

/* Text/Bilder nebeneinander, Richtung umdrehen bei .right */

.okm-text,
.okm-bilder {
    flex: 1;
}

.okm-section.right .inner {
    flex-direction: row-reverse;
}

/* Hintergrundfarben je nach Ausrichtung */

.okm-section.left {
    background-color: var(--e-global-color-d2d4ab6);
}

.okm-section.right {
    background-color: var(--e-global-color-e1516cb);
}

/* Galerie: 4 Bilder in 2 Reihen */

.okm-bilder {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.okm-bilder img {
    width: calc(50% - 0.75rem); /* zwei pro Reihe */
    height: auto;
    display: block;
    border-radius: 4px;
}

/* Nächstes-Angebot / Details */

.okm-next,
.okm-details {
    margin: 2rem 0;
}

.okm-details-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.okm-details-text,
.okm-details-bilder {
    flex: 1;
}

/* Buttons & Links */

.okm-cta .okm-button,
.okm-link {
    display: inline-block;
    padding: 0.6rem 1.2rem;
    background: #333;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
}

/* Terminboxen */

.okm-termin-box {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 8px;
    margin: 1rem 0 2rem 0;
    border-left: 4px solid #007cba;
}

.okm-termin-item {
    margin: 0.5rem 0;
    font-size: 1.1em;
}

.okm-termin-kompakt {
    background: #e9ecef;
    padding: 0.8rem;
    border-radius: 4px;
    margin: 1rem 0;
    font-weight: 500;
}

.okm-termin-kompakt span {
    margin-right: 1rem;
}

/* Homepage-Produktbox (#okm) */

.w30p {
    width: 30%;
    padding: 20px 0 20px 20px;
}

.w70p {
    width: 70%;
    padding: 20px;
}

#okm li.product {
    text-align: center;
    background-color: #fff;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    border-radius: 24px;
    padding: 0 0 20px 0;
}

#okm h2.woocommerce-loop-product__title {
    font-family: 'Open Sans';
    font-weight: normal;
    font-size: 20px;
    color: #5C5B59;
    padding: 0 20px;
}

#okm .button {
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    fill: var(--e-global-color-text);
    color: var(--e-global-color-text);
    background-color: var(--e-global-color-primary);
    border-radius: 23px;
}

#okm .woocommerce ul.products li.product a img {
    border-radius: 24px 24px 0 0;
}

#okm .button.okm-link {
    float: right;
}

#okm .amount {
    font-size: 1.6em !important;
}


.okm-two-col {
    padding: 3rem 0;
}
.okm-two-col-inner {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    gap: 2rem;
    align-items: flex-start;
}
.okm-col {
    flex: 1 1 50%;
}

h1.okm-title{
    text-align:center;
    padding: 10%;
}

@media (max-width: 768px) {
    /* Alle Listensektionen, egal ob left oder right */
    .okm-section .inner,
    .okm-liste .okm-section .inner {
        flex-direction: column !important;
        gap: 1.5rem;
        padding: 2rem 1.5rem;
    }

    .okm-section .okm-text,
    .okm-section .okm-bilder,
    .okm-liste .okm-section .okm-text,
    .okm-liste .okm-section .okm-bilder {
        flex: 1 1 100%;
        width: 100%;
    }

    .okm-section .okm-bilder img,
    .okm-liste .okm-section .okm-bilder img {
        width: 100%;
    }
}
/* Desktop / Standard (falls noch nicht gesetzt) */
.okm-details-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.okm-details-text,
.okm-details-bilder {
    flex: 1 1 50%;
}

/* Responsive: Detailseite einspaltig untereinander */
@media (max-width: 768px) {
    .okm-details-layout {
        flex-direction: column;
    }

    .okm-details-text,
    .okm-details-bilder {
        flex: 1 1 100%;
        width: 100%;
    }

    .okm-details-bilder img {
        width: 100%;
        height: auto;
        display: block;
    }
}
