/* -- Modul - Rahmen Kooperationspartner -- */
:root {
    --mora_koop_bg: var(--color_f1f1f1); 
    --mora_koop_trenner: var(--color_aaa);
    --mora_koop_width: 100%;
    --mora_koop_abstand: var(--paddingl50);  
    --mora_koop_imgabstand: var(--padding1020);
    --mora_koop_imgmaxwidth: 200px;  
    --mora_koop_imgmaxheight: 90px;
    --mora_koop_resp_step: calc(var(--mora_koop_imgmaxwidth) * 3 + calc(var(--mora_koop_abstand) * 2));
    --mora_koop_transitionall03: var(--transitionall03);
    --mora_koop_logo_entsaettigt: grayscale(100%) opacity(var(--color_base_alpha050));
    --mora_koop_logo_voll: grayscale(0) opacity(var(--color_base_alpha1));
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic {
    background: var(--mora_koop_bg);
    width: calc(var(--mora_koop_width) - calc(calc(var(--mora_koop_abstand) / 1.5) * 2));
    padding: calc(var(--mora_koop_abstand) / 1.5);
    float: left;
    clear: both;
    container-type: inline-size;
    container-name: mora_koop_textpic;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery {
    width: var(--mora_koop_width);
    float: left;
    clear: both;
    margin: 0;

    display: grid;
    grid-template-columns: fit-content(var(--mora_koop_imgmaxwidth)) 1fr;
    gap: var(--mora_koop_abstand);
    align-items: center;
    align-items: stretch;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic.ce-above:has(.ce-bodytext) .ce-gallery {
    margin-bottom: calc(var(--mora_koop_abstand) / 2);
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic.ce-below:has(.ce-bodytext) .ce-gallery {
    margin-top: calc(var(--mora_koop_abstand) / 2);
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .ce-row {
    display: none;
    margin: var(--mora_koop_imgabstand) 0;
    padding: 0;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery > .ce-row:first-child {
    display: flex;
    align-items: center;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery > .ce-row .ce-column,
.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery > .ce-row .ce-column .image {
    width: var(--mora_koop_width);
    float: left;
    clear: both;
    margin: 0;
    padding: 0;
    display: block;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery > .ce-row .ce-column .image a {
    display: block;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery > .ce-row .ce-column .image a::before {
    display: none;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery > .ce-row:first-child img {
    mix-blend-mode: darken;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--mora_koop_abstand);
    row-gap: var(--mora_koop_imgabstand);

    border-left: 1px solid var(--mora_koop_trenner);
    padding-left: var(--mora_koop_abstand);
    align-items: center;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box .ce-row {
    flex-wrap: wrap;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:var(--mora_koop_imgmaxheight);
    margin: 0;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box .ce-column,
.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box .image,
.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box picture {
    display:flex;
    justify-content:center;
    align-items:center;

    width:auto;
    height:auto;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box .ce-row img {
    display: block;
    height: var(--mora_koop_imgmaxheight);
    width: auto;
    max-width: 100%;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box .ce-row img {
    filter: var(--mora_koop_logo_entsaettigt);
    transition: var(--mora_koop_transitionall03);
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box .ce-row:hover img {
    filter: var(--mora_koop_logo_voll);  
}




/* -- Wenn es einen Text gibt -- */
.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-bodytext {
    width: var(--mora_koop_width);
    float: left;
    clear: both;  
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-bodytext > p:last-of-type,
.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-bodytext > ul:last-of-type {
    margin-bottom: 0;
}

.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-bodytext > h1,
.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-bodytext > h2,
.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-bodytext > h3,
.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-bodytext > h3,
.frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-bodytext > header > * {
    margin-top: 0;
}

/* -- Responsive -- */
@container mora_koop_textpic (max-width: var(--mora_koop_resp_step)) {  
    .frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery > .ce-row:first-child {
        justify-self: center;
        margin: 0 0 var(--mora_koop_imgabstand) 0 ;
        max-width: var(--mora_koop_imgmaxwidth);
    }

    .frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box {
        border-left: 0;
        border-top: 1px solid var(--mora_koop_trenner);
        padding-left: 0;
        padding-top: var(--mora_koop_imgabstand);
        justify-content: center;
        column-gap: var(--mora_koop_imgabstand);
        row-gap: var(--mora_koop_imgabstand);
    
    }
}

@container mora_koop_textpic (max-width: calc(var(--mora_koop_imgmaxwidth) * 3)) { 
    .frame-mora_kooperationspartner > .rahmen > .ce-textpic .ce-gallery .mora_koop_box {
        --mora_koop_imgmaxheight: 60px;
    }  
}

/* -- Fallback, wenn etwas falsch ausgewählt wurde. --*/
.frame-mora_kooperationspartner > .rahmen > .ce-textpic:not(.ce-above, .ce-below),
.frame-mora_kooperationspartner > .rahmen > .ce-textpic.ce-center,
.frame-mora_kooperationspartner > .rahmen > .ce-textpic:not(:has(.ce-gallery[data-ce-columns="1"])) {
    display: none;
}

.frame-mora_kooperationspartner > .rahmen:has(.ce-textpic:not(.ce-above, .ce-below))::after,
.frame-mora_kooperationspartner > .rahmen:has(.ce-textpic.ce-center)::after,
.frame-mora_kooperationspartner > .rahmen:has(.ce-textpic > .ce-gallery:not([data-ce-columns="1"]))::after {
    content: var(--basic_fehlertext);
    display: block;
    color: var(--color_base_hightlight_1);
    margin: var(--paddingl50) 0;
    font-weight: var(--hl_fontweigt_700);
}
