/* MovitaMed: scoped components; existing header/footer styles remain untouched. */
.mm-treatment-overview,.mm-prices{color:var(--mm-text,#222222)}
.mm-treatment-accordion{border:1px solid var(--mm-line,#ded9d4);border-radius:5px;background:#fff;overflow:hidden}
.mm-treatment-item+.mm-treatment-item{border-top:1px solid var(--mm-line,#ded9d4)}
.mm-treatment-item summary{display:flex;align-items:center;gap:24px;padding:22px 28px;cursor:pointer;list-style:none;min-height:90px}
.mm-treatment-item summary::-webkit-details-marker{display:none}
.mm-treatment-item summary::marker{content:''}
.mm-treatment-item summary:hover{background:var(--mm-cream,#f9f7f5)}
.mm-treatment-item summary:focus-visible{outline:3px solid #ab7d54;outline-offset:-4px}
.mm-treatment-item__title{flex:1;min-width:0;font:600 var(--mm-subheading-size,18px)/1.45 var(--body-fonts,Poppins,sans-serif);color:var(--mm-brown,#462d18)}
.mm-treatment-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:64px;border-radius:50%;background:#f3efe9}
.mm-treatment-icon img{display:block;width:44px!important;height:44px!important;object-fit:contain}
.mm-treatment-chevron{flex:0 0 10px;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 4px 6px 12px;transition:transform .2s}
.mm-treatment-item[open] .mm-treatment-chevron{transform:rotate(225deg);margin-bottom:0}
.mm-treatment-item__body{padding:0 34px 28px 116px;font-size:var(--mm-body-size,16px);line-height:var(--mm-body-line-height,1.6);color:var(--mm-text,#222222)}
.mm-treatment-item__body>p:first-child{margin-top:0}
.mm-applications{font-size:var(--mm-body-size,16px);line-height:1.6;margin-top:16px;color:var(--mm-text,#222222)}
.mm-applications>strong{display:block;color:var(--mm-brown,#462d18);font-weight:600;margin-bottom:8px}
.movitamed-site .mm-applications ul{display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;margin:0;list-style:none}
.movitamed-site .mm-applications li{position:relative;margin:0;padding:0 0 0 21px;list-style:none;color:var(--mm-text,#222222)}
.movitamed-site .mm-applications li::before{content:'✓';position:absolute;left:0;top:.35em;width:14px;height:14px;display:grid;place-items:center;background:var(--mm-brown,#462d18);border-radius:50%;color:#fff;font:10px/1 Arial,sans-serif}
.movitamed-site .mm-applications li::marker{content:''}
.movitamed-site .mm-treatment-more{margin-top:24px}
.mm-prices__panel{background:var(--mm-cream,#f9f7f5);padding:32px;border-radius:5px}
.movitamed-site .mm-prices__panel h2{font-size:var(--mm-subheading-size,18px);line-height:1.4;margin:0 0 18px}
.mm-prices__panel>p{font-size:var(--mm-body-size,16px);line-height:var(--mm-body-line-height,1.6)}
.mm-price-table{width:100%;border-collapse:collapse;margin:22px 0;font-size:16px;table-layout:fixed;background:#fff}
.mm-price-table th,.mm-price-table td{padding:13px 20px;border:1px solid var(--mm-line,#ded9d4);text-align:left;overflow-wrap:anywhere;line-height:1.5}
.mm-price-table thead th{background:var(--mm-blue,#0a2d4e);color:white;font-size:13px;letter-spacing:.05em;text-transform:uppercase;font-weight:500}
.mm-price-table tbody th{font-weight:400;color:var(--mm-text,#222222)}
.mm-price-table td{font-weight:600;color:var(--mm-text,#222222)}
.mm-price-table td,.mm-price-table thead th:last-child{text-align:center}
.mm-price-notes{display:flex;align-items:flex-start;gap:14px;margin:24px 0;font-size:14px;line-height:1.7;color:var(--mm-text,#222222)}
.mm-price-notes>span{font-size:23px;color:var(--mm-brown,#462d18);line-height:1.2}
.mm-price-notes p{margin:0 0 8px;font-size:inherit;line-height:inherit}
.mm-booking-panel{display:flex;align-items:center;gap:22px;padding:24px;border:1px solid var(--mm-line,#ded9d4);border-radius:4px;margin-top:30px}
.mm-booking-panel__text{flex:1;min-width:0}
.mm-booking-panel__text p{font-size:13px;line-height:1.6;margin:0 0 6px;color:var(--mm-text,#222222)}
.mm-booking-panel__text strong{color:var(--mm-text,#222222);font-size:18px}
/* Lokale Linkfarben verhindern blaue Schrift auf blauem Button
   durch die allgemeinere TYPO3-Erscheinungsbild-Regel. */
body.movitamed-site :is(.mm-treatment-more, .mm-treatment-booking) {
    --mm-frame-link: #fff;
    --mm-frame-hover: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    max-width: 100%;
    padding: 14px 22px;
    border: 1px solid var(--mm-blue, #0a2d4e);
    border-radius: 0;
    background: var(--mm-blue, #0a2d4e);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    text-transform: none;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, border-color .2s;
}
body.movitamed-site :is(.mm-treatment-more, .mm-treatment-booking):is(:hover, :focus-visible) {
    background: var(--mm-brown, #462d18);
    border-color: var(--mm-brown, #462d18);
    color: #fff;
    text-decoration: none;
}
body.movitamed-site :is(.mm-treatment-more, .mm-treatment-booking):focus-visible {
    outline: 3px solid var(--mm-blue, #0a2d4e);
    outline-offset: 3px;
}
body.movitamed-site :is(.mm-treatment-more, .mm-treatment-booking) > span {
    color: inherit;
}
/* Zwei Anwendungsbereiche pro Zeile, auf kleinen Bildschirmen einer.
   Nur das Behandlungs-Accordion; Sliderlisten behalten ihr Layout. */
body.movitamed-site .mm-treatment-item__body .mm-applications ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 28px;
    margin: 0 !important; /* Negativen Inline-Einzug aus dem RTE aufheben. */
    padding: 0;
    list-style: none;
}
body.movitamed-site .mm-treatment-item__body .mm-applications li {
    min-width: 0;
    margin: 0;
    padding-left: 23px;
    overflow-wrap: break-word;
}
@media (max-width: 767px) {
    body.movitamed-site .mm-treatment-item__body .mm-applications ul {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.movitamed-site :is(.mm-treatment-more, .mm-treatment-booking) {
        transition: none;
    }
}
.ak-treatment-slider__card h3 .mm-treatment-icon{flex-basis:48px;width:48px;height:48px}
.ak-treatment-slider__card h3 .mm-treatment-icon img{width:34px!important;height:34px!important}
.ak-treatment-slider__card h3 .mm-slider-title{flex:1;min-width:0;font:inherit;flex-shrink:1}
.ak-treatment-slider__card .mm-applications{padding:0 24px 24px;margin-top:0}
.ak-treatment-slider__card .mm-applications ul{display:block}
.ak-treatment-slider__card .mm-applications li{margin-top:7px}
.mm-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:54px;align-items:start;padding-block:0}
.mm-detail-content{min-width:0}
/* Textlisten mit Punkten; Navigation und .mm-applications behalten ihre Icons. */
.movitamed-site .mm-detail-content ul:not([class]):not(:where(.mm-applications ul, .mm-treatment-subnav ul)),
.movitamed-site .mm-detail-content ul:is(.list-normal,.list-check){list-style:disc;padding-left:1.4em;margin:0 0 24px}
.movitamed-site .mm-detail-content ul:not([class]):not(:where(.mm-applications ul, .mm-treatment-subnav ul))>li,
.movitamed-site .mm-detail-content ul:is(.list-normal,.list-check)>li{list-style:disc;padding-left:0;margin-bottom:6px}
.movitamed-site .mm-detail-content ul:not([class]):not(:where(.mm-applications ul, .mm-treatment-subnav ul))>li::marker,
.movitamed-site .mm-detail-content ul:is(.list-normal,.list-check)>li::marker{content:normal;color:currentColor}
/* Überschreibt den negativen Einzug aus dem Texteditor. */
.movitamed-site .mm-detail-content ul.list-check{margin-left:0!important}
.movitamed-site .mm-detail-content .frame{width:100%;max-width:100%;margin-left:0;margin-right:0}
.movitamed-site .mm-detail-content .frame-fullwidth{padding-inline:0}
.mm-treatment-subnav{background:var(--mm-cream,#f9f7f5);padding:26px;position:sticky;top:150px}
.movitamed-site .mm-treatment-subnav h2{font-size:var(--mm-subheading-size,18px);margin:0 0 20px}
.mm-treatment-subnav ul{padding:0;margin:0;list-style:none}
.mm-treatment-subnav li{padding:0;margin:0;list-style:none;border-top:1px solid var(--mm-line,#ded9d4)}
.mm-treatment-subnav li::before{content:none}
.movitamed-site .mm-treatment-subnav a{display:block;color:var(--mm-text,#222222);font:500 14px/1.5 Poppins,sans-serif;padding:15px 0;text-decoration:none}
.movitamed-site .mm-treatment-subnav a[aria-current=page]{color:var(--mm-brown,#462d18);font-weight:600;text-decoration:underline;text-underline-offset:5px}
.mm-detail-content .mm-booking-panel{flex-wrap:wrap}
.mm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:991px){.mm-detail-grid{grid-template-columns:minmax(0,1fr) 245px;gap:30px}.mm-booking-panel{flex-wrap:wrap}.mm-booking-panel .mm-treatment-booking{margin-left:86px}.mm-detail-content .mm-prices__panel{padding:22px}.mm-detail-content .mm-booking-panel .mm-treatment-booking{margin-left:0;width:100%}}
@media(max-width:767px){.mm-treatment-item summary{padding:18px 16px;gap:13px;min-height:80px}.mm-treatment-icon{flex-basis:48px;width:48px;height:48px}.mm-treatment-icon img{width:34px!important;height:34px!important}.mm-treatment-chevron{margin-left:2px}.mm-treatment-item__body{padding:0 20px 24px}.movitamed-site .mm-applications ul{gap:8px 16px}.mm-prices__panel{padding:22px 16px}.mm-price-table th,.mm-price-table td{padding:12px 10px;font-size:14px}.mm-price-table thead th{font-size:11px;letter-spacing:0}.mm-booking-panel{padding:18px;gap:15px}.mm-booking-panel .mm-treatment-booking{width:100%;margin-left:0}.mm-booking-panel__text strong{font-size:16px}.mm-detail-grid{display:flex;flex-direction:column;gap:28px;padding-block:0}.mm-treatment-subnav{position:static;width:100%;order:-1;padding:18px 22px}.movitamed-site .mm-treatment-subnav h2{margin-bottom:12px}.movitamed-site .mm-treatment-subnav a{padding:11px 0}.mm-detail-content{width:100%}}
@media(prefers-reduced-motion:reduce){.mm-treatment-chevron{transition:none}}
@media print{.mm-treatment-item::details-content{display:block}.mm-treatment-item__body{display:block}.mm-treatment-subnav,.mm-treatment-booking{display:none}}

/* Bild + Text, gleiche Höhe.
   Bereits aktiv für den bestehenden Zweispalter #c41.
   Wiederverwendbar: dem gesamten Zweispalten-Element die Klasse mm-image-text geben.
   Voraussetzung: links ein Element „Nur Bilder“ mit einem Bild; rechts der Text.
   Aussenabstände weiterhin am Zweispalten-Element über TYPO3 einstellen. */
body.movitamed-site .frame:is(.mm-image-text, #c41) {
    --mm-image-position: 50% 50%;
    --mm-image-text-gap: 24px;
}

/* Der innere Container darf die vorhandene Inhaltsspalte nicht erneut einrücken. */
body.movitamed-site .frame:is(.mm-image-text, #c41) > .container {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 0;
}

body.movitamed-site .frame:is(.mm-image-text, #c41) > :is(.container, div) > .row,
body.movitamed-site .frame:is(.mm-image-text, #c41) > .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    gap: var(--mm-image-text-gap);
    margin: 0;
}

body.movitamed-site .frame:is(.mm-image-text, #c41) > :is(.container, div) > .row > .ce-col,
body.movitamed-site .frame:is(.mm-image-text, #c41) > .row > .ce-col {
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 0;
    margin: 0;
}

/* Nur die beiden direkten Spalten dieses Elements erfassen. */
body.movitamed-site .frame:is(.mm-image-text, #c41) > :is(.container, div) > .row > .ce-col:first-child,
body.movitamed-site .frame:is(.mm-image-text, #c41) > .row > .ce-col:first-child {
    position: relative;
    min-height: 280px;
}
body.movitamed-site .frame:is(.mm-image-text, #c41) > :is(.container, div) > .row > .ce-col:last-child,
body.movitamed-site .frame:is(.mm-image-text, #c41) > .row > .ce-col:last-child {
    display: flex;
    flex-direction: column;
}
body.movitamed-site .frame:is(.mm-image-text, #c41) .ce-col:last-child > .frame:only-child {
    flex: 1;
}

/* Das Bild nimmt keinen eigenen Höhenbedarf ein: der Text bestimmt die Zeilenhöhe. */
body.movitamed-site .frame:is(.mm-image-text, #c41) .ce-col:first-child > .frame-type-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
body.movitamed-site .frame:is(.mm-image-text, #c41) .ce-col:first-child > .frame-type-image :is(.gallery-row, .gallery-item, figure, picture, figure a) {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    padding: 0;
}
body.movitamed-site .frame:is(.mm-image-text, #c41) .ce-col:first-child > .frame-type-image img {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: var(--mm-image-position);
    border-radius: 0;
}

/* In der schmalen Inhaltsansicht Bild über Text, statt zwei schmaler Spalten. */
@media (max-width: 991px) {
    body.movitamed-site .frame:is(.mm-image-text, #c41) > :is(.container, div) > .row,
    body.movitamed-site .frame:is(.mm-image-text, #c41) > .row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }
    body.movitamed-site .frame:is(.mm-image-text, #c41) > :is(.container, div) > .row > .ce-col:first-child,
    body.movitamed-site .frame:is(.mm-image-text, #c41) > .row > .ce-col:first-child {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }
}
/* MovitaMed: globale Listen.
   Gilt überall für <ul class="list-check">, unabhängig vom Hintergrund.
   Textfarbe wird vom jeweiligen Bereich übernommen.
   !important überstimmt die bisherigen Listenregeln und RTE-Einzüge. */
ul.list-check {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 28px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
    background: transparent;
    color: inherit;
}

ul.list-check > li {
    position: relative !important;
    display: block !important;
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    padding: 0 0 0 23px !important;
    list-style: none !important;
    background: none !important;
    color: inherit !important;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

ul.list-check > li::marker {
    content: '' !important;
}

ul.list-check > li::before {
    content: '\2713' !important;
    position: absolute !important;
    inset: .35em auto auto 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--mm-brown, #462d18) !important;
    color: #fff !important;
    font: 10px/1 Arial, sans-serif !important;
    text-indent: 0 !important;
    transform: none !important;
    opacity: 1 !important;
}

ul.list-check > li > p {
    margin: 0;
    color: inherit;
}

@media (max-width: 767px) {
    ul.list-check {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
/* MovitaMed: Bild- und Textspalten.
   Container > Benutzerdefiniert > Reihen-Klassen: mm-image-text
   Links: ein Element Nur Bilder mit genau einem Bild, ohne Bildunterschrift.
   Rechts: Text. Die Textspalte bestimmt die gemeinsame Hoehe.
   Vorhandene Regeln fuer #c41 bleiben bestehen. */

body.movitamed-site .frame > .container:has(> .row.mm-image-text) {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: 0;
}

body.movitamed-site .row.mm-image-text {
    --mm-image-position: 50% 50%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 24px;
    margin: 0;
}

body.movitamed-site .row.mm-image-text > .ce-col {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
}

body.movitamed-site .row.mm-image-text > .ce-col:first-child {
    position: relative;
    min-height: 280px;
}

body.movitamed-site .row.mm-image-text > .ce-col:last-child {
    display: flex;
    flex-direction: column;
}

body.movitamed-site .row.mm-image-text > .ce-col:last-child > .frame:only-child {
    flex: 1;
    margin-block: 0;
}

body.movitamed-site .row.mm-image-text > .ce-col:first-child > .frame-type-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

body.movitamed-site .row.mm-image-text > .ce-col:first-child > .frame-type-image :is(.gallery-row, .gallery-item, figure, picture, figure a) {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    padding: 0;
}

body.movitamed-site .row.mm-image-text > .ce-col:first-child > .frame-type-image img {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: var(--mm-image-position);
    border-radius: 0;
}

@media (max-width: 991px) {
    body.movitamed-site .row.mm-image-text {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    body.movitamed-site .row.mm-image-text > .ce-col:first-child {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }
}
