/* MovitaMed: project styles, TYPO3 content and responsive navigation. */
@font-face {
        font-family: Poppins;
        src: url('../fonts/text/Poppins-Regular.ttf') format('truetype');
        font-weight: 400;
        font-style: normal;
        font-display: swap
}
@font-face {
        font-family: Poppins;
        src: url('../fonts/text/Poppins-Medium.ttf') format('truetype');
        font-weight: 500;
        font-style: normal;
        font-display: swap
}
@font-face {
        font-family: Poppins;
        src: url('../fonts/text/Poppins-SemiBold.ttf') format('truetype');
        font-weight: 600 900;
        font-style: normal;
        font-display: swap
}
@font-face {
        font-family: 'Slabo 27px';
        src: url('../fonts/text/Slabo27px-Regular.ttf') format('truetype');
        font-weight: 400;
        font-style: normal;
        font-display: swap
}
:root {
        --mm-blue: #0a2d4e;
        --mm-brown: #462d18;
        --mm-cream: #f9f7f5;
        --mm-line: #ded9d4;
        --mm-content: 1280px;
        --mm-text: #222222;
        --mm-body-size: 16px;
        --mm-body-line-height: 1.6;
        --mm-subheading-size: 22px;
        --primary-color: var(--mm-blue);
        --primary-dark-color: var(--mm-blue);
        --dark-color: var(--mm-blue);
        --secondary-color: var(--mm-brown);
        --grey-color: var(--mm-cream);
        --body-fonts: Poppins, sans-serif;
        --title-fonts: 'Slabo 27px', serif
}
html {
        scroll-behavior: smooth;
        scroll-padding-top: 140px
}
body.movitamed-site {
        font-family: var(--body-fonts);
        font-size: var(--mm-body-size);
        line-height: var(--mm-body-line-height);
        color: var(--mm-text);
        overflow-x: clip
}
body.movitamed-site :is(h1, h2, h3, h4, h5, h6) {
        font-family: var(--body-fonts);
        font-weight: 600;
        color: var(--mm-heading-color, var(--mm-brown));
        font-size: var(--mm-subheading-size);
        line-height: 1.4;
        text-transform: none;
}
/* Seitentitel behalten die Serifenschrift; Zwischenüberschriften sind Poppins fett. */
body.movitamed-site h1 {
        font-family: var(--title-fonts);
        font-size: clamp(30px, 3vw, 40px);
        font-weight: 400;
        line-height: 1.12;
}
/* Absatzgrössen folgen dem jeweiligen Bereich, auch im TYPO3-Texteditor. */
.movitamed-site p {
        font-size: inherit;
}
.movitamed-site .container {
        width: calc(100% - 64px);
        max-width: var(--mm-content);
        padding-left: 0;
        padding-right: 0
}
.movitamed-site img {
        max-width: 100%;
        height: auto
}
.movitamed-site a {
        color: var(--mm-blue)
}
.movitamed-site a:hover {
        color: var(--mm-brown)
}
.movitamed-site :focus-visible {
        outline: 3px solid #ab7d54;
        outline-offset: 5px
}
.mm-skip-link {
        position: fixed;
        left: 20px;
        top: -100px;
        background: white;
        padding: 12px 20px;
        z-index: 1001
}
.mm-skip-link:focus {
        top: 12px
}
.mm-page-content:empty {
        display: none
}
/* Header: one navigation for desktop, touch and keyboard. */
header#pq-header.mm-header {
        position: sticky !important;
        top: 0;
        left: auto !important;
        width: 100%;
        z-index: 100;
        background: #fff;
        box-shadow: 0 1px 0 #0a2d4e12
}
header#pq-header.mm-header .pq-bottom-header {
        background: #fff !important;
        padding: 0 !important
}
header#pq-header.mm-header .mm-navbar {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 24px;
        min-height: 118px;
        padding: 16px 0;
        position: relative
}
header#pq-header.mm-header .navbar-brand {
        margin: 0;
        padding: 0;
        flex: 0 0 220px
}
header#pq-header.mm-header .navbar-brand img {
        width: 220px;
        height: auto;
        max-height: 86px;
        object-fit: contain
}
header#pq-header.mm-header .mm-navigation {
        flex: 1;
        min-width: 0
}
header#pq-header.mm-header .mm-menu {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 24px;
        float: none;
        margin: 0;
        padding: 0;
        list-style: none
}
header#pq-header.mm-header .mm-menu > .menu-item {
        display: flex;
        align-items: center;
        gap: 4px;
        margin: 0 !important;
        padding: 0 !important;
        position: relative;
        line-height: 1.4
}
header#pq-header.mm-header .mm-menu > .menu-item > a {
        font-size: 14px;
        font-weight: 500;
        white-space: nowrap;
        padding: 12px 0 !important;
        text-transform: none;
        line-height: 1.4;
        color: var(--mm-blue)
}
header#pq-header.mm-header .mm-menu > .menu-item > a:hover, header#pq-header.mm-header .mm-menu > .current-menu-item > a {
        color: var(--mm-brown)
}
.mm-submenu-toggle {
        display: grid;
        place-items: center;
        background: transparent;
        color: var(--mm-blue);
        border: 0;
        padding: 8px;
        width: 30px;
        min-height: 34px;
        font-size: 10px
}
.mm-submenu {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 260px;
        margin: 0;
        padding: 12px !important;
        list-style: none;
        background: #fff;
        box-shadow: 0 12px 32px #0a2d4e1a;
        border: 1px solid var(--mm-line);
        z-index: 102
}
.mm-submenu.is-open {
        display: block !important
}
header#pq-header.mm-header .mm-submenu li {
        margin: 0;
        line-height: 1.5
}
header#pq-header.mm-header .mm-submenu a {
        display: block;
        padding: 10px !important;
        font-size: 14px;
        color: var(--mm-blue)
}
.mm-menu-toggle {
        display: none;
        background: transparent;
        border: 1px solid var(--mm-line);
        color: var(--mm-blue);
        width: 44px;
        height: 44px;
        flex-shrink: 0;
        padding: 0;
        font-size: 20px
}
.movitamed-site .pq-button {
        border-radius: 0;
        background: var(--mm-blue);
        color: #fff;
        line-height: 1.5;
        text-transform: none;
        letter-spacing: 0;
        font-weight: 500;
        display: inline-block;
        padding: 16px 24px;
        border: 1px solid var(--mm-blue);
        font-size: 14px;
        transition: background .2s, color .2s
}
.movitamed-site .pq-button:hover {
        background: var(--mm-brown);
        border-color: var(--mm-brown);
        color: #fff
}
.movitamed-site .pq-button-block {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px
}
.movitamed-site .pq-button-block:before, .movitamed-site .pq-button-block:after {
        display: none
}
.mm-booking {
        flex-shrink: 0
}
.mm-booking i {
        color: inherit !important
}
/* Homepage with original room photograph, treatment images and portrait block. */
.movitamed-hero {
        min-height: 610px;
        padding: 40px 0;
        background-position: center;
        align-items: center;
        isolation: isolate
}
.movitamed-hero::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(255, 255, 255, .86), rgba(255, 255, 255, .26) 58%, transparent 85%);
        z-index: -1
}
.movitamed-hero__content {
        width: min(660px, 62%);
        padding: 85px 0
}
.movitamed-hero__title {
        font-size: clamp(42px, 4.5vw, 66px);
        line-height: 1.1;
        margin: 0 0 28px;
        font-weight: 400
}
.movitamed-hero__text {
        font-size: var(--mm-body-size);
        line-height: var(--mm-body-line-height);
        font-weight: 400;
        max-width: 580px;
        margin: 0;
        color: var(--mm-text);
}
.mm-treatments {
        padding: 90px 0 74px
}
.movitamed-site .pq-section-sub-title {
        font-family: Poppins, sans-serif;
        font-size: 12px;
        letter-spacing: 1.6px;
        text-transform: uppercase;
        font-weight: 500;
        color: var(--mm-brown);
        display: block;
        margin: 0 0 17px;
        background: transparent;
        padding: 0
}
.movitamed-site .pq-section-title {
        font-size: var(--mm-subheading-size);
        line-height: 1.4;
        font-weight: 600;
        margin: 0 0 22px
}
.movitamed-site .pq-section-description {
        font-size: var(--mm-body-size);
        line-height: var(--mm-body-line-height);
        max-width: 900px;
        margin: 0 0 35px;
        color: var(--mm-text);
}
.mm-treatment-track {
        display: flex;
        gap: 28px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        scrollbar-color: #b8b0a7 transparent;
        padding: 0 0 12px;
        overscroll-behavior-x: contain
}
.mm-treatment {
        flex: 0 0 calc((100% - 56px)/3);
        scroll-snap-align: start;
        min-width: 0;
        background: #fff
}
.mm-treatment img {
        width: 100%;
        height: 270px !important;
        object-fit: cover;
        display: block
}
.mm-treatment h3 {
        font-size: var(--mm-subheading-size);
        line-height: 1.4;
        padding: 25px 24px;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 116px;
        font-weight: 600;
}
.mm-treatment h3 span {
        font-family: Poppins, sans-serif;
        font-size: 24px;
        font-weight: 400
}
.mm-treatment-link {
        display: block;
        height: 100%
}
.mm-treatment-link:hover h3 {
        color: var(--mm-brown)
}
.mm-slider-controls {
        display: flex;
        justify-content: flex-end;
        gap: 10px;
        margin-top: 20px
}
.mm-slider-controls button {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid var(--mm-line);
        background: #fff;
        color: var(--mm-blue);
        border-radius: 50%
}
.mm-slider-controls button:hover {
        background: var(--mm-blue);
        color: #fff
}
.mm-slider-controls button:disabled {
        opacity: .4;
        cursor: default
}
.mm-about {
        padding: 90px 0;
        background: linear-gradient(to bottom, #fff 50%, var(--mm-blue) 50%)
}
.mm-about-card {
        display: grid;
        grid-template-columns: 1fr 1fr;
        background: #fff;
        padding: 40px;
        gap: 52px
}
.mm-about-image img {
        display: block;
        width: 100%;
        height: 100% !important;
        max-height: 690px;
        object-fit: cover
}
.mm-about-copy {
        align-self: center;
        padding: 12px 0
}
.mm-about-copy .pq-section-description {
        margin-bottom: 22px
}
.mm-check-list {
        list-style: none;
        padding: 0;
        margin: 0 0 28px
}
.mm-check-list li {
        position: relative;
        padding-left: 28px;
        font-size: var(--mm-body-size);
        margin: 7px 0
}
.mm-check-list li:before {
        content: '✓';
        position: absolute;
        left: 0;
        top: 0;
        color: var(--mm-blue);
        font-weight: 600
}
/* Footer: three columns, no second logo or demo social links. */
footer#pq-footer.mm-footer {
        background: var(--mm-blue);
        color: #fff
}
footer#pq-footer.mm-footer .pq-footer-top {
        padding: 40px 0 60px;
        background: transparent
}
footer#pq-footer.mm-footer .mm-footer-grid {
        display: grid;
        grid-template-columns: 1fr 1.2fr .8fr;
        gap: 60px
}
footer#pq-footer.mm-footer .pq-footer-block {
        padding: 0;
        margin: 0
}
footer#pq-footer.mm-footer :is(h1, h2, h3, h4, h5, h6) {
        color: #fff
}
footer#pq-footer.mm-footer .footer-title {
        font-size: 29px;
        line-height: 1.25;
        margin: 0 0 25px;
        padding: 0
}
footer#pq-footer.mm-footer .footer-title:after, footer#pq-footer.mm-footer .footer-title:before {
        display: none
}
footer#pq-footer.mm-footer p {
        font-size: 14px;
        line-height: 1.9;
        margin: 0 0 16px;
        color: #fff
}
footer#pq-footer.mm-footer a {
        color: #fff
}
footer#pq-footer.mm-footer a:hover {
        text-decoration: underline;
        text-underline-offset: 4px
}
.mm-contact-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 12px
}
.mm-contact-list li {
        display: flex;
        align-items: baseline;
        gap: 15px;
        font-size: 14px;
        line-height: 1.8
}
.mm-contact-list i {
        width: 18px;
        flex-shrink: 0
}
.mm-contact-list a {
        overflow-wrap: anywhere
}
footer#pq-footer.mm-footer .pq-copyright-footer {
        padding: 22px 0;
        border-top: 1px solid #ffffff24;
        background: transparent
}
.mm-footer-bottom {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 14px 28px;
        justify-content: space-between;
        font-size: 12px
}
.mm-legal-links {
        display: flex;
        gap: 22px
}
.mm-back-top {
        position: fixed;
        bottom: 20px;
        right: 20px;
        z-index: 20;
        display: grid;
        place-items: center;
        background: var(--mm-blue);
        border: 1px solid #ffffff55;
        color: #fff !important;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        box-shadow: 0 2px 14px #0001
}
.mm-back-top:hover {
        background: var(--mm-brown)
}
/* Subpages and TYPO3's existing standard content elements. */
.mm-page-heading {
        padding: 55px 0 65px;
        background: var(--mm-cream)
}
.mm-page-heading h1 {
        font-size: clamp(30px, 3vw, 40px);
        line-height: 1.12;
        margin: 18px 0
}
.mm-page-heading p {
        max-width: 800px;
        margin: 18px 0 0
}
.mm-breadcrumb {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        list-style: none;
        padding: 0;
        margin: 0;
        font-size: 13px
}
.mm-breadcrumb li + li:before {
        content: '/';
        padding-right: 10px;
        color: #998a7b
}

.frame-background-primary {
        background: var(--mm-blue);
        color: #fff;
        --mm-heading-color: #fff;
}
.frame-background-primary :is(h1, h2, h3, h4, a) {
        color: #fff
}
.frame-background-secondary {
        background: var(--mm-brown);
        color: #fff;
        --mm-heading-color: #fff;
}
.frame-background-light {
        background: var(--mm-cream)
}
.frame-background-dark {
        background: var(--mm-blue);
        color: #fff;
        --mm-heading-color: #fff;
}
.frame-has-background-image {
        background-image: var(--frame-background-image);
        background-position: center;
        background-size: cover
}

.frame-header .header {
        margin-bottom: 10px
}

.frame h2 {
        font-size: var(--mm-subheading-size);
        font-weight: 600;
        line-height: 1.4;
}
.frame h3 {
        font-size: var(--mm-subheading-size);
        font-weight: 600;
        line-height: 1.4;
}
/* Abstand vor Zwischenüberschriften innerhalb von Fliesstext. */
.movitamed-site :is(.textpic-text, .ce-bodytext, .mm-detail-content) :is(h2, h3, h4, h5, h6) {
        margin-top: 32px;
        margin-bottom: 12px;
}
.movitamed-site :is(.textpic-text, .ce-bodytext, .mm-detail-content) :is(h2, h3, h4, h5, h6):first-child {
        margin-top: 0;
}
.textpic {
        display: flex;
        gap: 36px;
        align-items: start
}
.textpic-item {
        min-width: 0;
        flex: 1
}
.textpic-below {
        flex-direction: column-reverse
}
.textpic-above {
        flex-direction: column
}
.gallery-row {
        display: flex;
        gap: 24px
}
.gallery-item {
        min-width: 0;
        flex: 1
}
.gallery-item img {
        width: 100%;
        height: auto
}
.mm-footer .frame {
        width: 100%;
        padding: 0;
        margin: 0
}
.mm-footer .frame-header h2 {
        font-size: 29px
}
.mm-footer .frame a {
        overflow-wrap: anywhere
}
.accordion-button {
        color: var(--mm-blue);
        font-family: Poppins, sans-serif;
        font-size: 16px
}
.accordion-button:not(.collapsed) {
        color: var(--mm-blue);
        background: var(--mm-cream)
}
.accordion-body {
        font-size: var(--mm-body-size);
}
.btn-primary {
        background: var(--mm-blue);
        border-color: var(--mm-blue)
}
@media(max-width:1199px) {
        header#pq-header.mm-header .mm-navbar {
                min-height: 98px;
                gap: 16px
        }
        header#pq-header.mm-header .navbar-brand {
                margin-right: auto;
                flex-basis: 195px
        }
        header#pq-header.mm-header .navbar-brand img {
                width: 195px
        }
        .mm-menu-toggle {
                display: grid;
                place-items: center
        }
        header#pq-header.mm-header .mm-navigation {
                display: none;
                position: absolute;
                left: 0;
                right: 0;
                top: 100%;
                background: white;
                box-shadow: 0 10px 20px #0a2d4e14;
                padding: 18px 25px;
                max-height: calc(100dvh - 100px);
                overflow: auto
        }
        header#pq-header.mm-header .mm-navigation.is-open {
                display: block
        }
        header#pq-header.mm-header .mm-menu {
                flex-direction: column;
                align-items: stretch;
                gap: 0
        }
        header#pq-header.mm-header .mm-menu > .menu-item {
                flex-wrap: wrap
        }
        header#pq-header.mm-header .mm-menu > .menu-item > a {
                flex: 1;
                padding: 12px 0 !important;
                font-size: 16px
        }
        header#pq-header.mm-header .mm-submenu {
                position: static;
                flex-basis: 100%;
                width: 100%;
                box-shadow: none;
                border: 0;
                border-left: 2px solid var(--mm-line);
                margin: 0 0 10px;
                padding: 0 0 0 12px !important
        }
        .mm-about-card {
                gap: 32px;
                padding: 28px
        }
        .mm-footer-grid {
                gap: 30px !important
        }
        .mm-treatment img {
                height: 230px !important
        }
}
@media(max-width:991px) {
        .movitamed-hero {
                min-height: 540px;
                background-position: 60% center
        }
        .movitamed-hero__content {
                width: 65%;
                padding: 65px 0
        }
        .movitamed-hero__title {
                font-size: 48px
        }

        .mm-treatment {
                flex-basis: calc((100% - 28px)/2)
        }
        .mm-about-card {
                grid-template-columns: 1fr 1fr;
                gap: 28px
        }
        .mm-about-image img {
                max-height: 700px
        }
        .mm-footer-grid {
                grid-template-columns: 1fr 1fr !important
        }
        .mm-about-copy .pq-section-sub-title {
                font-size: 11px
        }

}
@media(max-width:767px) {
        html {
                scroll-padding-top: 100px
        }
        .movitamed-site .container {
                width: calc(100% - 36px)
        }
        header#pq-header.mm-header .mm-navbar {
                min-height: 92px;
                gap: 10px
        }
        header#pq-header.mm-header .navbar-brand {
                flex-basis: 155px
        }
        header#pq-header.mm-header .navbar-brand img {
                width: 155px
        }
        .movitamed-site .mm-booking {
                padding: 12px;
                font-size: 12px
        }
        .mm-booking .pq-button-block {
                gap: 7px
        }
        .mm-menu-toggle {
                width: 40px;
                height: 42px
        }
        .movitamed-hero {
                min-height: 490px;
                align-items: center;
                padding: 35px 0;
                background-position: 65% center
        }
        .movitamed-hero::before {
                background: linear-gradient(90deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .76) 65%, rgba(255, 255, 255, .42))
        }
        .movitamed-hero__content {
                width: 100%;
                padding: 65px 0
        }
        .movitamed-hero__title {
                font-size: 42px;
                margin: 0 0 26px
        }
        .movitamed-hero__text {
                max-width: 460px;
        }
        .mm-treatments {
                padding: 55px 0
        }
        .mm-treatment-track {
                gap: 18px
        }
        .mm-treatment {
                flex-basis: 86%
        }
        .mm-treatment img {
                height: 250px !important
        }
        .mm-treatment h3 {
                min-height: 92px;
                padding: 22px;
        }
        .mm-slider-controls {
                margin-top: 15px
        }
        .mm-about {
                padding: 45px 0 55px
        }
        .mm-about-card {
                grid-template-columns: 1fr;
                padding: 22px;
                gap: 28px
        }
        .mm-about-image img {
                height: 360px !important;
                max-height: none;
                object-position: center
        }
        .mm-about-copy {
                padding: 0
        }
        .mm-about-copy .pq-section-sub-title {
                font-size: 11px;
                line-height: 1.7
        }

        footer#pq-footer.mm-footer .pq-footer-top {
                padding: 15px 0 40px
        }
        footer#pq-footer.mm-footer .mm-footer-grid {
                grid-template-columns: 1fr !important;
                gap: 35px !important
        }
        footer#pq-footer.mm-footer .footer-title {
                margin-bottom: 18px
        }
        .mm-footer-bottom {
                flex-direction: column;
                align-items: flex-start;
                gap: 12px
        }

        .textpic {
                flex-direction: column
        }
        .textpic-item {
                width: 100%
        }
        .mm-page-heading {
                padding: 35px 0
        }

}
@media(max-width:390px) {
        header#pq-header.mm-header .navbar-brand {
                flex-basis: 130px
        }
        header#pq-header.mm-header .navbar-brand img {
                width: 130px
        }
        .mm-booking .pq-button-text {
                max-width: 63px;
                white-space: normal;
                font-size: 11px
        }
        .movitamed-site .mm-booking {
                padding: 8px
        }
        .mm-booking .pq-button-block {
                gap: 5px
        }
        .movitamed-hero__title {
                font-size: 36px
        }
        .mm-treatment img {
                height: 220px !important
        }
}
@media(prefers-reduced-motion:reduce) {
        html {
                scroll-behavior: auto
        }
        *, *::before, *::after {
                animation-duration: .01ms !important;
                transition-duration: .01ms !important
        }
}
@media print {
        .mm-menu-toggle, .mm-booking, .mm-back-top, .mm-navigation, .mm-slider-controls {
                display: none !important
        }
        header#pq-header.mm-header {
                position: static !important
        }
        .mm-treatment-track {
                flex-wrap: wrap;
                overflow: visible
        }
        .mm-treatment {
                flex-basis: 30%
        }
        .mm-about, .mm-footer {
                break-inside: avoid
        }
}
/* Editable TOP: first Text & Images content element, no breadcrumb. */
.movitamed-site .mm-top {
        position: relative;
        isolation: isolate;
        display: flex;
        align-items: center;
        min-height: 300px;
        padding: 64px 0;
        background: var(--mm-cream);
        overflow: hidden
}
.movitamed-site .mm-top--home {
        min-height: 710px;
        padding: 90px 0
}
.movitamed-site .mm-top__image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: center;
        z-index: -2
}
.movitamed-site .mm-top::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient(90deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .64) 55%, rgba(255, 255, 255, .12));
}
.movitamed-site .mm-top__content {
        width: min(760px, 75%)
}
.movitamed-site .mm-top h1 {
        font-size: clamp(38px, 3vw, 48px);
        line-height: 1.12;
        /* Ungültige kombinierte Deklaration entfernt; bisher vom Browser ignoriert. */
}
.movitamed-site .mm-top--home h1 {
        font-size: clamp(42px, 4.5vw, 66px)
}
.movitamed-site .mm-top__text {
        font-size: var(--mm-body-size);
        line-height: var(--mm-body-line-height);
        margin-top: 26px;
        max-width: 620px;
        color: var(--mm-text);
}
.movitamed-site .mm-top__text p {
        color: inherit;
        margin: 0 0 16px
}
.movitamed-site .mm-top__text p:last-child {
        margin-bottom: 0
}
footer#pq-footer.mm-footer .pq-footer-top {
        padding-top: 60px
}
footer#pq-footer.mm-footer .mm-footer-bottom p {
        font-size: 12px;
        margin: 0
}
@media(max-width:767px) {
        .movitamed-site .mm-top {
                min-height: 220px;
                padding: 50px 0
        }
        .movitamed-site .mm-top--home {
                min-height: 430px;
                padding: 65px 0
        }
        .movitamed-site .mm-top__content {
                width: 100%
        }
        .movitamed-site .mm-top h1 {
                font-size: clamp(30px, 7vw, 36px)
        }

        .movitamed-site .mm-top::before {
                background: linear-gradient(90deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .72))
        }
}
/* Standard content elements from the shared source pages. */
header#pq-header.mm-header :is(.mm-logo-content, .mm-booking-content) .frame {
        width: auto;
        max-width: none;
        margin: 0;
        padding: 0;
        background: transparent
}
header#pq-header.mm-header :is(.mm-logo-content, .mm-booking-content) :is(.frame-container, .frame-inner, .frame-group-container) {
        width: auto;
        max-width: none;
        margin: 0;
        padding: 0
}
header#pq-header.mm-header .mm-logo-content :is(figure, p, .gallery-row, .gallery-item) {
        margin: 0;
        padding: 0
}
header#pq-header.mm-header .mm-logo-content img {
        display: block;
        width: 220px;
        height: auto;
        max-height: 86px;
        object-fit: contain
}
header#pq-header.mm-header .mm-booking-content {
        flex-shrink: 0
}
header#pq-header.mm-header .mm-booking-content :is(p, h2, h3, .frame-header) {
        margin: 0;
        padding: 0;
        line-height: 1.4
}
header#pq-header.mm-header .mm-booking-content a {
        background: var(--mm-blue);
        color: #fff;
        padding: 16px 24px;
        font: 500 14px/1.5 Poppins, sans-serif;
        white-space: nowrap
}
header#pq-header.mm-header .mm-booking-content a:hover {
        background: var(--mm-brown)
}
footer#pq-footer.mm-footer .mm-footer-bottom {
        justify-content: center;
        gap: 6px
}
@media(max-width:1199px) {
        header#pq-header.mm-header .mm-logo-content img {
                width: 195px
        }
}
@media(max-width:767px) {
        header#pq-header.mm-header .mm-logo-content img {
                width: 155px
        }
        header#pq-header.mm-header .mm-booking-content a {
                padding: 12px;
                font-size: 12px
        }
}
@media(max-width:390px) {
        header#pq-header.mm-header .mm-logo-content img {
                width: 130px
        }
        header#pq-header.mm-header .mm-booking-content a {
                padding: 8px;
                font-size: 11px;
                white-space: normal;
                max-width: 90px
        }
}
/* Navigation: override the original template's inline-block and icon positioning. */
header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu {
        display: flex;
        flex-direction: row;
        width: auto;
        float: none
}
header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu > .menu-item {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        float: none;
        width: auto;
        line-height: 1.4
}
header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu > .menu-item > a {
        width: auto
}
header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav .mm-submenu-toggle {
        position: static;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 30px;
        width: 30px;
        min-height: 34px;
        padding: 8px;
        margin: 0;
        border: 0;
        background: transparent;
        color: var(--mm-blue);
        line-height: 1;
        transform: none
}
header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav .mm-submenu-toggle i {
        position: static;
        inset: auto;
        display: block;
        margin: 0;
        padding: 0;
        width: auto;
        height: auto;
        font-size: 12px;
        line-height: 1;
        color: inherit;
        transform: none;
        opacity: 1
}
header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav .mm-submenu > li {
        display: block;
        float: none;
        width: 100%
}
@media(max-width:1199px) {
        header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu {
                flex-direction: column;
                width: 100%
        }
        header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu > .menu-item {
                flex-wrap: wrap;
                width: 100%
        }
        header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu > .menu-item > a {
                flex: 1;
                width: auto;
                min-width: 0;
                white-space: normal
        }
}
/* RTE "Button default" uses Bootstrap's btn-default class. */
.movitamed-site .btn-default {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        flex-direction: row;
        text-transform: uppercase;
        padding: 16px 24px;
        background: var(--mm-blue);
        border: 1px solid var(--mm-blue);
        border-radius: 0;
        color: #fff;
        font-family: Poppins, sans-serif;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.5;
        text-decoration: none;
        vertical-align: middle;
        box-shadow: none
}
.movitamed-site .btn-default:hover, .movitamed-site .btn-default:focus-visible {
        background: var(--mm-brown);
        border-color: var(--mm-brown);
        color: #fff;
        text-decoration: none
}
.movitamed-site .btn-default::before {
        content: "";
        display: block;
        position: static;
        flex: 0 0 18px;
        width: 18px;
        height: 18px;
        margin: 0;
        background-color: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat
}
/* Booking gets a calendar instead of the default plus, including when btn-default is set. */
header#pq-header.mm-header .mm-booking-content a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        text-decoration: none
}
header#pq-header.mm-header .mm-booking-content a::before {
        content: "";
        display: block;
        position: static;
        flex: 0 0 18px;
        width: 18px;
        height: 18px;
        margin: 0;
        background-color: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M16%203v4M8%203v4M3%2011h18M8%2015h2M14%2015h2%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M16%203v4M8%203v4M3%2011h18M8%2015h2M14%2015h2%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat
}
/* Default button: uppercase label and one leading plus only. */
.movitamed-site .btn-default::before {
        order: -1
}
.movitamed-site .btn-default::after {
        content: none !important;
        display: none !important
}
/* Heading parts remain one semantic H1/H2/etc.; color and line break are independent. */
.movitamed-site .mm-heading-group {
        margin-bottom: 24px
}
.movitamed-site .mm-heading {
        line-height: 1.4;
        margin: 0 0 20px;
        font-weight: 600;
}
.movitamed-site h1.mm-heading {
        font-weight: 400;
        line-height: 1.12;
}
.movitamed-site .mm-heading__part {
        color: inherit
}
.movitamed-site .mm-heading--split .mm-heading__part {
        display: block
}
.movitamed-site .mm-heading [data-mm-color="blue"] {
        color: var(--mm-blue)
}
.movitamed-site .mm-heading [data-mm-color="brown"] {
        color: var(--mm-brown)
}
.movitamed-site .mm-heading [data-mm-color="white"] {
        color: #fff
}
.movitamed-site .mm-heading > a {
        color: inherit;
        text-decoration: none
}
.movitamed-site .mm-subheader {
        display: block;
        margin: 0 0 14px;
        line-height: 1.4
}
.movitamed-site .mm-subheader__label {
        display: inline-block;
        padding: 7px 10px;
        background: var(--mm-brown);
        color: #fff;
        font-family: Poppins, sans-serif;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: .3px;
        text-transform: uppercase;
        border-radius: 2px
}
.movitamed-site .mm-subheader__label::before, .movitamed-site .mm-subheader__label::after {
        content: none
}
.movitamed-site .mm-top .mm-heading {
        margin: 0
}

/* Footer: Icons vor den Kontaktlinks */
footer#pq-footer a:is(
    [href^="tel:"],
    [href^="mailto:"],
    [href*="google.com/maps"],
    [href*="maps.app.goo.gl"]
) {
    position: relative;
    display: inline-block;
    padding-left: 26px;
}

footer#pq-footer a:is(
    [href^="tel:"],
    [href^="mailto:"],
    [href*="google.com/maps"],
    [href*="maps.app.goo.gl"]
)::before {
    position: absolute;
    left: 0;
    top: 0;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-style: normal;
    color: inherit;
}

footer#pq-footer a[href^="tel:"]::before {
    content: "\f095";
}

footer#pq-footer a[href^="mailto:"]::before {
    content: "\f0e0";
}

footer#pq-footer a:is(
    [href*="google.com/maps"],
    [href*="maps.app.goo.gl"]
)::before {
    content: "\f3c5";
}

/* Footer: mehr Abstand zwischen den drei Spalten */
footer#pq-footer .frame-type-ce_columns3 > div > .row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 60px;
    margin: 0;
}

footer#pq-footer .frame-type-ce_columns3 > div > .row > .ce-col {
    width: auto;
    min-width: 0;
    padding: 0;
}

/* Footer-Logo verkleinern */
footer#pq-footer .frame-type-image img {
    display: block;
    width: 260px;
    max-width: 100%;
    height: auto;
}

/* Handy: Spalten untereinander */
@media (max-width: 767px) {
    footer#pq-footer .frame-type-ce_columns3 > div > .row {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

/* MovitaMed – TYPO3 FAQ / ce_accordion
   Den gesamten Inhalt am ENDE der bestehenden movitamed.css ergänzen.
   Alternativ als eigene CSS-Datei NACH den bestehenden Styles laden.
   Gilt für .faq-accordion, ohne zusätzliche Klasse im TYPO3-Backend.
   Das vorhandene Bootstrap-JavaScript übernimmt Öffnen und Schliessen.
*/

.movitamed-site .faq-accordion {
    --faq-blue: var(--mm-blue, #0a2d4e);
    --faq-cream: var(--mm-cream, #f9f7f5);
    --faq-line: #ded9d3;
    width: 100%;
}

.movitamed-site .faq-accordion > .accordion-item {
    margin: 0 0 12px;
    border: 1px solid var(--faq-line);
    border-left: 3px solid var(--faq-blue);
    border-radius: 3px;
    background: var(--faq-cream);
    box-shadow: none;
}

.movitamed-site .faq-accordion > .accordion-item:last-child {
    margin-bottom: 0;
}

.movitamed-site .faq-accordion > .accordion-item > .accordion-header {
    margin: 0;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    border: 0;
}

.movitamed-site .faq-accordion > .accordion-item > .accordion-header > .accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
    min-height: 72px;
    margin: 0;
    padding: 21px 26px;
    border: 0;
    border-radius: 0;
    background: var(--faq-cream);
    color: var(--faq-blue);
    font-family: inherit;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    text-transform: none;
    letter-spacing: normal;
    white-space: normal;
    box-shadow: none;
    cursor: pointer;
    transition: background-color .2s ease;
}

.movitamed-site .faq-accordion > .accordion-item > .accordion-header > .accordion-button:hover {
    background: #f0ece7;
}

.movitamed-site .faq-accordion > .accordion-item > .accordion-header > .accordion-button:focus-visible {
    outline: 2px solid var(--faq-blue);
    outline-offset: -5px;
}

/* Plus/Minus ohne Icon-Font oder zusätzliche Bilder. */
.movitamed-site .faq-accordion .accordion-button::before {
    content: none;
}

.movitamed-site .faq-accordion .accordion-button::after {
    content: "+";
    position: static;
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin: 0 0 0 auto;
    border: 0;
    background: none;
    color: var(--faq-blue);
    font-family: Arial, sans-serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1;
    transform: none;
}

.movitamed-site .faq-accordion .accordion-button[aria-expanded="true"]::after {
    content: "\2212";
}

.movitamed-site .faq-accordion > .accordion-item > .accordion-collapse > .accordion-body {
    padding: 0 26px 25px;
    background: var(--faq-cream);
    color: var(--faq-blue);
    font-size: 16px;
    line-height: 1.8;
}

/* Die enthaltenen Texte benötigen keine eigenen Frame-Abstände. */
.movitamed-site .faq-accordion .accordion-body > .frame {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

/* Die Frage steht bereits im Accordion-Button. Nur den direkt
   wiederholten Element-Header ausblenden, keine Überschriften im RTE. */
.movitamed-site .faq-accordion .accordion-body > .frame > .frame-header {
    display: none;
}

.movitamed-site .faq-accordion .accordion-body p {
    margin: 0 0 14px;
    color: inherit;
    line-height: inherit;
}

.movitamed-site .faq-accordion .accordion-body p:last-child {
    margin-bottom: 0;
}

.movitamed-site .faq-accordion .accordion-body a {
    color: var(--faq-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.movitamed-site .faq-accordion .accordion-body :is(ul, ol) {
    margin: 0 0 14px;
    padding-left: 1.4em;
    color: inherit;
}

.movitamed-site .faq-accordion .accordion-body li::marker {
    color: var(--faq-blue);
    }

@media (max-width: 575.98px) {
    .movitamed-site .faq-accordion > .accordion-item > .accordion-header > .accordion-button {
        gap: 14px;
        min-height: 66px;
        padding: 17px 18px;
        font-size: 16px;
    }
    .movitamed-site .faq-accordion > .accordion-item > .accordion-collapse > .accordion-body {
        padding: 0 18px 20px;
        font-size: 15px;
        line-height: 1.75;
    }
}

@media (prefers-reduced-motion: reduce) {
    .movitamed-site .faq-accordion .accordion-button,
    .movitamed-site .faq-accordion .collapsing {
        transition: none;
    }
}

/* MovitaMed – Trenner */
body.movitamed-site .frame-type-div .divider-icon {
    display: block;
    width: 100%;
    height: 2px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: linear-gradient(
        to right,
        var(--mm-blue, #0a2d4e) 0 64px,
        var(--mm-line, #ded9d4) 64px 100%
    );
}

/* Bisheriges Trenner-Bild ausblenden */
body.movitamed-site .frame-type-div .divider-icon img {
    display: none;
}

/* MovitaMed – Über mich
 * Für den vorhandenen 3-Spalten-Container .row.movitamed-about.
 * Reihenfolge im Backend: 1 Bild, 2 Text, 3 Leitsatz. Breiten: 6 / 6 / 12.
 */

body.movitamed-site .row.movitamed-about {
    --mm-about-gap: clamp(28px, 4vw, 64px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: var(--mm-about-gap);
    row-gap: 0;
    align-items: start;
    position: relative;
    isolation: isolate;
    margin: 0;
    padding: 0;
}

body.movitamed-site .row.movitamed-about > .ce-col {
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
}

body.movitamed-site .row.movitamed-about > .ce-col > .frame {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

/* Das Bild erstreckt sich auch hinter die Leitsatz-Zeile.
 * Der Text bleibt in einer eigenen Zeile; die Box kann ihn nicht überdecken. */
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: stretch;
    position: relative;
    min-height: clamp(600px, 52vw, 800px);
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1) > .frame-type-image {
    position: absolute;
    inset: 0;
    height: 100%;
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1) :is(.gallery-row, .gallery-item, figure.image, picture) {
    display: block;
    float: none;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    padding: 0;
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1) img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: 50% 35%;
    border-radius: 0;
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) .frame-header {
    margin: 0 0 24px;
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) .element-header {
    margin: 0;
    font-family: var(--title-fonts, 'Slabo 27px', serif);
    font-size: clamp(30px, 2.5vw, 40px);
    font-weight: 400;
    line-height: 1.15;
    color: var(--mm-blue, #0a2d4e);
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) p {
    margin: 0 0 24px;
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) .frame > h2 {
    margin: 30px 0 12px;
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) .frame > :last-child {
    margin-bottom: 0;
}

/* Weisse Leitsatz-Box mit blauem Rand, nach rechts ins Bild versetzt. */
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: end;
    position: relative;
    z-index: 1;
    margin: 36px 0 40px 28%;
    padding: clamp(24px, 3vw, 40px);
    border-left: 5px solid var(--mm-blue, #0a2d4e);
    background: #fff;
    box-shadow: 0 8px 28px rgb(10 45 78 / 9%);
}

body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) p {
    margin: 0;
    color: var(--mm-blue, #0a2d4e);
    font-family: var(--title-fonts, 'Slabo 27px', serif);
    font-size: clamp(25px, 2.2vw, 34px);
    font-weight: 400;
    overflow-wrap: break-word;
}

/* Handy und schmale Tablets: Bild -> Leitsatz -> Text.
 * Die Backend-Reihenfolge und Inhalte bleiben unverändert. */
@media (max-width: 991.98px) {
    body.movitamed-site .row.movitamed-about {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
    }

    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
        min-height: 0;
    }

    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1) > .frame-type-image {
        position: static;
        height: auto;
    }

    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1) :is(.gallery-row, .gallery-item, figure.image, picture) {
        height: auto;
    }

    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1) img {
        height: auto;
    }

    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) {
        grid-column: 1;
        grid-row: 2;
        margin: -38px 0 30px 24px;
        border-left-width: 4px;
    }

    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) p {
        font-size: clamp(23px, 3.4vw, 30px);
    }

    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) {
        grid-column: 1;
        grid-row: 3;
    }
}

@media (max-width: 575.98px) {
    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) {
        margin-top: -28px;
    }
}
/* MovitaMed: Feinabstimmung des Über-mich-Bereichs. */

/* TYPO3-Abstand davor wieder freigeben: der bisherige margin: 0-Reset
   hatte mehr Vorrang als die Abstandsklassen. */
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) > .frame {
    margin-top: var(--mm-about-text-before, 40px);
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) > .frame-space-before-none {
    --mm-about-text-before: 0px;
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) > .frame-space-before-extra-small {
    --mm-about-text-before: var(--mm-space-extra-small, 16px);
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) > .frame-space-before-small {
    --mm-about-text-before: var(--mm-space-small, 30px);
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) > .frame-space-before-medium {
    --mm-about-text-before: var(--mm-space-medium, 50px);
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) > .frame-space-before-large {
    --mm-about-text-before: var(--mm-space-large, 75px);
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) > .frame-space-before-extra-large {
    --mm-about-text-before: var(--mm-space-extra-large, 100px);
}

/* Kompaktere cremefarbene Box mit kurzer blauer Linie über dem Text. */
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) {
    width: 62%;
    max-width: 600px;
    margin-left: 28%;
    padding: clamp(26px, 2.6vw, 36px);
    border: 0;
    background: var(--mm-cream, #f9f7f5);
    box-shadow: 0 6px 22px rgb(10 45 78 / 6%);
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3)::before {
    content: "";
    display: block;
    width: 56px;
    height: 3px;
    margin: 0 0 16px;
    background: var(--mm-blue, #0a2d4e);
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) p {
    font-size: clamp(24px, 2.1vw, 30px);
    line-height: 1.35;
}

/* Zwei feine blaue Bildecken, leicht nach aussen versetzt. */
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1)::before,
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1)::after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 76px;
    height: 76px;
    box-sizing: border-box;
    pointer-events: none;
    border-color: var(--mm-blue, #0a2d4e);
    border-style: solid;
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1)::before {
    top: -12px;
    left: -12px;
    border-width: 2px 0 0 2px;
}
body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1)::after {
    right: -12px;
    bottom: -12px;
    border-width: 0 2px 2px 0;
}

@media (max-width: 991.98px) {
    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(2) > .frame {
        margin-top: var(--mm-about-text-before, 0px);
    }
    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) {
        width: calc(100% - 24px);
        max-width: none;
        margin-left: 24px;
        padding: 24px;
    }
    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) p {
        font-size: clamp(23px, 3.4vw, 28px);
    }
}
@media (max-width: 575.98px) {
    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(3) {
        width: calc(100% - 16px);
        margin-left: 16px;
        padding: 20px;
    }
    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1)::before,
    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1)::after {
        width: 48px;
        height: 48px;
    }
    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1)::before {
        top: -8px;
        left: -8px;
    }
    body.movitamed-site .row.movitamed-about > .ce-col:nth-child(1)::after {
        right: -8px;
        bottom: -8px;
    }
}

/* MovitaMed – TYPO3-Abstände global als Innenabstände

 * Gilt auf allen Seiten für Inhaltselemente mit einer expliziten
 * frame-space-before-* / frame-space-after-* Klasse.
 * Ohne Abstandsauswahl bleiben die vorhandenen Layout-Abstände bestehen.
 */

/* Die explizite Backend-Auswahl soll auch lokale Layout-Resets und ältere
 * ID-Korrekturen überstimmen. Deshalb nur diese vier Werte mit !important.
 * Linker/rechter Innenabstand und alle Hintergrundfarben bleiben erhalten.
 */
body.movitamed-site .frame[class*="frame-space-before-"] {
    margin-top: 0 !important;
    padding-top: var(--mm-selected-before, 0px) !important;
}

body.movitamed-site .frame[class*="frame-space-after-"] {
    margin-bottom: 0 !important;
    padding-bottom: var(--mm-selected-after, 0px) !important;
}

body.movitamed-site .frame.frame-space-before-none {
    --mm-selected-before: 0px;
}
body.movitamed-site .frame.frame-space-before-extra-small {
    --mm-selected-before: var(--mm-space-extra-small, 16px);
}
body.movitamed-site .frame.frame-space-before-small {
    --mm-selected-before: var(--mm-space-small, 30px);
}
body.movitamed-site .frame.frame-space-before-medium {
    --mm-selected-before: var(--mm-space-medium, 50px);
}
body.movitamed-site .frame.frame-space-before-large {
    --mm-selected-before: var(--mm-space-large, 75px);
}
body.movitamed-site .frame.frame-space-before-extra-large {
    --mm-selected-before: var(--mm-space-extra-large, 100px);
}

body.movitamed-site .frame.frame-space-after-none {
    --mm-selected-after: 0px;
}
body.movitamed-site .frame.frame-space-after-extra-small {
    --mm-selected-after: var(--mm-space-extra-small, 16px);
}
body.movitamed-site .frame.frame-space-after-small {
    --mm-selected-after: var(--mm-space-small, 30px);
}
body.movitamed-site .frame.frame-space-after-medium {
    --mm-selected-after: var(--mm-space-medium, 50px);
}
body.movitamed-site .frame.frame-space-after-large {
    --mm-selected-after: var(--mm-space-large, 75px);
}
body.movitamed-site .frame.frame-space-after-extra-large {
    --mm-selected-after: var(--mm-space-extra-large, 100px);
}
/* MovitaMed: Kontaktboxen, passend zu Variante 3.
 * Dem 3-Spalten-Container die CSS-Klasse contact-info zuweisen.
 * Am Ende der bestehenden movitamed.css ERGÄNZEN.
 * Grundlage: Kontaktseite mit Text-mit-Icon-Elementen c122–c124.
 * Selektoren sind wiederverwendbar und nicht an Element-IDs gebunden.
 */
body.movitamed-site .frame.contact-info {
    width: calc(100% - 64px);
    max-width: var(--mm-content, 1280px);
    margin-inline: auto;
    padding-inline: 0 !important;
    box-sizing: border-box;
    color: var(--mm-text, #222);
}
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    align-items: stretch;
}
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col {
    width: auto;
    max-width: none;
    min-width: 0;
    padding: 0 clamp(20px, 3vw, 42px);
    box-sizing: border-box;
}
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:first-child {
    padding-left: 0;
}
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:last-child {
    padding-right: 0;
}
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col + .ce-col {
    border-left: 1px solid var(--mm-line, #ded9d4);
}
body.movitamed-site .contact-info .frame-type-texticon {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
    box-shadow: none;
    text-align: left;
}
body.movitamed-site .contact-info .frame-type-texticon > :is(.texticon-left, .texticon-right, .texticon-top) {
    display: block;
    padding: 0;
    margin: 0;
    background: transparent;
}
body.movitamed-site .contact-info .texticon-icon {
    position: static;
    float: none;
    display: block;
    width: 64px;
    height: 64px;
    margin: 0 0 22px;
    padding: 0;
}
body.movitamed-site .contact-info .texticon-inner-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    /* Die Inline-Farben aus dem Icon-Feld gezielt vereinheitlichen. */
    color: var(--mm-blue, #0a2d4e) !important;
    background: var(--mm-cream, #f9f7f5) !important;
}
body.movitamed-site .contact-info .texticon-inner-icon svg {
    display: block;
    width: 28px;
    height: 28px;
    fill: currentColor;
}
body.movitamed-site .contact-info .texticon-content {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    text-align: left;
}
body.movitamed-site .contact-info .fes1-box {
    margin: 0;
    padding: 0;
    background: transparent;
}
body.movitamed-site .contact-info .frame-header { margin: 0 0 20px; }
body.movitamed-site .contact-info .element-header {
    margin: 0;
    padding: 0;
    font-size: clamp(25px, 2.2vw, 31px);
    line-height: 1.2;
    color: var(--mm-blue, #0a2d4e);
}
body.movitamed-site .contact-info p {
    margin: 0 0 20px;
    color: var(--mm-text, #222);
    font-size: var(--mm-body-size, 16px);
    line-height: 1.65;
}
body.movitamed-site .contact-info .texticon-content > :last-child { margin-bottom: 0; }
body.movitamed-site .contact-info .texticon-content a {
    color: var(--mm-blue, #0a2d4e);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    overflow-wrap: anywhere;
}
body.movitamed-site .contact-info .texticon-content a:hover { text-decoration-thickness: 2px; }
body.movitamed-site .contact-info .texticon-content a:focus-visible {
    outline: 2px solid var(--mm-blue, #0a2d4e);
    outline-offset: 4px;
}

/* Kleine Telefon-/Mail-Icons ohne Icon-Font, automatisch anhand des Links. */
body.movitamed-site .contact-info .texticon-content a:is([href^="tel:"], [href^="mailto:"]) {
    display: block;
    position: relative;
    min-height: 26px;
    padding-left: 34px;
    margin-bottom: 12px;
}
body.movitamed-site .contact-info .texticon-content a:is([href^="tel:"], [href^="mailto:"])::before {
    content: "";
    position: absolute;
    top: .12em;
    left: 0;
    width: 22px;
    height: 22px;
    background: currentColor;
    -webkit-mask: var(--mm-contact-icon) center / contain no-repeat;
    mask: var(--mm-contact-icon) center / contain no-repeat;
}
body.movitamed-site .contact-info a[href^="tel:"] {
    --mm-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.79a2 2 0 0 1-.45 2.11L8.09 9.89a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.89.33 1.83.56 2.79.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
body.movitamed-site .contact-info a[href^="mailto:"] {
    --mm-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E");
}
/* Vorhandene Shift+Enter-Umbrüche sollen keinen zusätzlichen Leerraum bilden. */
body.movitamed-site .contact-info .texticon-content a:is([href^="tel:"], [href^="mailto:"]) + br {
    display: none;
}

/* Öffnungszeiten in Spalte 3: Liste, je Eintrag der Tag in <strong>.
 * Unterstützt sowohl <li><strong>Tag</strong> Uhrzeit</li>
 * als auch vom Editor ergänzte <li><p>...</p></li>-Strukturen.
 */
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
    columns: auto;
}
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul li,
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul li > p {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    column-gap: 14px;
    padding: 0;
    margin: 0 0 12px;
    list-style: none;
    color: var(--mm-text, #222);
    font-size: var(--mm-body-size, 16px);
    line-height: 1.6;
}
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul li:has(> p) {
    display: block;
}
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul li > p { margin: 0; }
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul li::before,
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul li::after {
    content: none !important;
    display: none !important;
}
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul li::marker { content: ""; }
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul strong { font-weight: 600; }
body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) .texticon-content ul + p {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--mm-line, #ded9d4);
}

@media (max-width: 991px) {
    body.movitamed-site .frame.contact-info { width: calc(100% - 2 * var(--mm-appearance-gutter, 18px)); }
    body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) { grid-template-columns: minmax(0, 1fr); }
    body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col {
        padding: 0;
    }
    body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col + .ce-col {
        border-left: 0;
        border-top: 1px solid var(--mm-line, #ded9d4);
        margin-top: 30px;
        padding-top: 30px;
    }
    body.movitamed-site .contact-info .texticon-icon { margin-bottom: 18px; }
    body.movitamed-site .contact-info .frame-header { margin-bottom: 16px; }
}
/* Startseite: Hauptueberschrift im Ueber-mich-Element c11. */
body.movitamed-site #c11 .frame-header .element-header {
    font-size: clamp(32px, 3vw, 40px);
    line-height: 1.12;
    margin-top: 0;
    margin-bottom: 0;
}

/* Öffnungszeiten: Wochentag und Uhrzeit ausrichten */
#c124 .texticon-content ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
}

#c124 .texticon-content li {
    display: block;
    margin: 0 0 12px;
    padding: 0;
}

#c124 .texticon-content li::before,
#c124 .texticon-content li::after {
    content: none;
}

#c124 .texticon-content li p {
    margin: 0;
}

#c124 .texticon-content li strong {
    display: inline-block;
    width: 110px;
    font-weight: 400;
}
/* MovitaMed – einheitliche Farben und Startseiten-Typografie, 22.09.2026.

   Gilt nur im Hauptinhalt; Footer und Navigation behalten ihre Gestaltung. */
body.movitamed-site #main-content {
    --mm-design-heading: var(--mm-blue, #0a2d4e);
    --mm-design-title: var(--mm-brown, #462d18);
}
body.movitamed-site #main-content :is(h1,h2,h3,h4,h5,h6),
body.movitamed-site #main-content .mm-treatment-item__title,
body.movitamed-site #main-content .mm-applications > strong,
body.movitamed-site #main-content .accordion-button {
    color: var(--mm-design-heading) !important;
}
/* Bestehende Farbwahl einzelner Überschriftenteile vereinheitlichen. */
body.movitamed-site #main-content .mm-heading .mm-heading__part,
body.movitamed-site #main-content :is(h1,h2,h3,h4,h5,h6) > a {
    color: inherit !important;
}
/* Der Seitentitel bleibt der warme Akzent – auch auf Behandlungsdetails,
   deren H1 technisch unter dem überlappenden Bildkopf liegt. */
body.movitamed-site #main-content .mm-top h1 {
    color: var(--mm-design-title) !important;
}
body.movitamed-site #main-content .mm-subheader__label {
    background-color: var(--mm-blue, #0a2d4e);
    color: #fff;
}
/* Dunkle TYPO3-Flächen behalten helle Überschriften. */
body.movitamed-site #main-content :is(.frame-background-primary,.frame-background-secondary,.frame-background-dark) {
    --mm-design-heading: #fff;
    --mm-design-title: #fff;
}
/* Weisse Karten auf dunklen Flächen bleiben lesbar. */
body.movitamed-site #main-content :is(.ak-treatment-slider__card,.mm-treatment-accordion,.mm-prices__panel) {
    --mm-design-heading: var(--mm-blue, #0a2d4e);
    --mm-design-title: var(--mm-brown, #462d18);
}
/* Grosse Bereichsüberschrift wie im Entwurf; Kartentitel bleiben Poppins. */
body.movitamed-site #main-content .ak-treatment-slider__intro > h2 {
    font-family: var(--title-fonts, 'Slabo 27px', serif);
    font-weight: 400;
    font-size: clamp(30px, 3.2vw, 46px);
    line-height: 1.14;
    margin-bottom: 22px;
}
body.movitamed-site #main-content .ak-treatment-slider__card h3 {
    font-family: var(--body-fonts, Poppins, sans-serif);
    font-size: clamp(18px, 1.5vw, 22px);
    line-height: 1.4;
}
/* Startseite: bewusster Zweizeiler und etwas grössere Einleitung.
   Kein Button und kein zusätzlicher Text werden per CSS erzeugt. */
body.movitamed-site #main-content .mm-top--home .mm-top__content {
    width: min(680px, 60%);
}
body.movitamed-site #main-content .mm-top--home h1 {
    max-width: 9.5em;
    font-size: clamp(44px, 5vw, 76px);
    line-height: 1.06;
    font-weight: 400;
    letter-spacing: -.02em;
    margin: 0;
    text-wrap: balance;
}
body.movitamed-site #main-content .mm-top--home .mm-top__text {
    max-width: 510px;
    font-size: clamp(16px, 1.3vw, 19px);
    line-height: 1.7;
    margin-top: 28px;
}
@media (max-width: 767px) {
    body.movitamed-site #main-content .mm-top--home .mm-top__content {
        width: 100%;
    }
    body.movitamed-site #main-content .mm-top--home h1 {
        font-size: clamp(38px, 8.5vw, 56px);
    }
    body.movitamed-site #main-content .mm-top--home .mm-top__text {
        max-width: 34em;
        margin-top: 22px;
    }
}
/* Einleitungstexte: Zeilenlänge begrenzen */
.movitamed-site #main-content .lead {
    max-width: 800px;
}

/* Über mich: grosse Einleitungsüberschrift */
body.movitamed-site #main-content #c128 .element-header {
    font-size: clamp(30px, 3vw, 40px);
    font-weight: 400;
    line-height: 1.15;
}
/* Unterseiten: Einleitung im oberen Bildbereich besser hervorheben. */
body.movitamed-site #main-content .mm-top--subpage .mm-top__text {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 400;
    margin-top: 15px;
}
body.movitamed-site #main-content .mm-top--subpage .mm-top__text p {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}
body.movitamed-site #main-content .mm-top--subpage h1 {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    body.movitamed-site #main-content .mm-top--subpage .mm-top__text {
        font-size: 18px;
    }
}

/* Handy/Tablet: Inhaltskanten auf Header und Seitencontainer ausrichten.
 * Überschreibt das alte globale section-Padding (mit !important).
 * Die in TYPO3 gewählten vertikalen Abstände bleiben erhalten. */
@media (max-width: 1199px) {
    body.movitamed-site #main-content .mm-page-content > section.frame-fullwidth {
        padding-inline: var(--mm-appearance-gutter, 18px) !important;
    }

    body.movitamed-site #main-content .ak-treatment-slider__track {
        margin-inline: 0;
        padding-inline: 0;
    }

    /* Praxis und Kontakt nebeneinander, Öffnungszeiten darunter. */
    footer#pq-footer.mm-footer .frame-type-ce_columns3 > div > .row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
        gap: 28px 20px;
    }
    footer#pq-footer.mm-footer .frame-type-ce_columns3 > div > .row > .ce-col:nth-child(3) {
        grid-column: 1 / -1;
    }
    footer#pq-footer.mm-footer .frame-type-ce_columns3 > div > .row > .ce-col {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 767px) {
    /* Die alte feste Bildhöhe machte das Logo trotz breitem Container klein. */
    header#pq-header.mm-header .pq-bottom-header .navbar .navbar-brand {
        flex: 0 0 130px;
        min-width: 0;
    }
    header#pq-header.mm-header .pq-bottom-header .navbar .navbar-brand img {
        width: 130px;
        height: auto;
        max-height: none;
        padding: 0;
    }
}

@media (max-width: 390px) {
    header#pq-header.mm-header .pq-bottom-header .navbar .navbar-brand {
        flex-basis: 115px;
    }
    header#pq-header.mm-header .pq-bottom-header .navbar .navbar-brand img {
        width: 115px;
    }
}

/* Mobile Feinschliff – Version 2: Menü, Behandlungsauswahl und Kontakt. */
/* Direkte Links ansprechen, damit Hover am Elternpunkt nicht alle Unterpunkte färbt. */
body.movitamed-site header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu li > a {
    background: transparent;
    color: var(--mm-blue, #0a2d4e);
}
body.movitamed-site header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu li > a:is(:hover, :focus-visible, [aria-current="page"]),
body.movitamed-site header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu li:has(a[aria-current="page"]) > a {
    background: var(--mm-cream, #f9f7f5);
    color: var(--mm-blue, #0a2d4e);
}
body.movitamed-site header#pq-header.mm-header .pq-bottom-header .navbar .mm-submenu-toggle:is(:hover, :focus-visible, [aria-expanded="true"]) {
    background: var(--mm-cream, #f9f7f5);
    color: var(--mm-blue, #0a2d4e);
}

@media (max-width: 767px) {
    body.movitamed-site #main-content .mm-treatment-subnav {
        display: none;
    }
}

/* Unterstützt contact-info sowohl am TYPO3-Rahmen als auch an der Zeile. */
@media (min-width: 480px) and (max-width: 991px) {
    body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    }
    body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:first-child {
        padding-right: 20px;
    }
    body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(2) {
        margin-top: 0;
        padding: 0 0 0 20px;
        border-top: 0;
        border-left: 1px solid var(--mm-line, #ded9d4);
    }
    body.movitamed-site :is(.row.contact-info, .contact-info > div > .row) > .ce-col:nth-child(3) {
        grid-column: 1 / -1;
    }
}
@media (min-width: 480px) and (max-width: 575px) {
    body.movitamed-site .contact-info .texticon-content a[href^="mailto:"] {
        font-size: 14px;
        padding-left: 28px;
    }
}

/* Version 3: Aktuelle Seite im Desktopmenü klar kennzeichnen.
 * aria-current statt current-menu-item: TYPO3 markiert teilweise auch
 * die Startseite als Vorfahren. Nur die tatsächliche Seite und ihr
 * übergeordneter Menüpunkt sollen hervorgehoben werden. */
@media (min-width: 1200px) {
    body.movitamed-site header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu li > a[aria-current="page"],
    body.movitamed-site header#pq-header.mm-header .pq-bottom-header .navbar .navbar-nav.mm-menu li:has(a[aria-current="page"]) > a {
        color: var(--mm-brown, #462d18);
        background: transparent;
        text-decoration-line: underline !important;
        text-decoration-color: currentColor;
        text-decoration-thickness: 2px;
        text-underline-offset: 6px;
    }
}

/* Version 4: Behandlungsdetail-Titel auf Handy und Tablet größer. */
@media (max-width: 1199px) {
    body.movitamed-site #main-content .mm-detail-content h1.mm-heading {
        font-size: clamp(34px, 7.5vw, 40px);
        line-height: 1.15;
        hyphens: auto;
        overflow-wrap: anywhere;
    }
}

/* Hauptnavigation: brauner Text ohne Hintergrund */
body.movitamed-site header#pq-header.mm-header
.pq-bottom-header .navbar .navbar-nav.mm-menu > .menu-item:hover > a,
body.movitamed-site header#pq-header.mm-header
.pq-bottom-header .navbar .navbar-nav.mm-menu > .menu-item > a:focus-visible {
    background: transparent;
    color: var(--mm-brown, #462d18);
}