/* Landärztin · verbindliche Gestaltung 19.10.2026.
   Layout-Grundlage bleibt Jimdo; alle eigenen sichtbaren Regeln stehen hier. */
:root {
  --practice-radius: 16px;
  --practice-space-small: 8px;
  --practice-space-text: 16px;
  --practice-space-section: 32px;
  --practice-space-large: 48px;
  --practice-column-top: 60px;
  --theme-text: #000000;
  --theme-accent: #45dbc3;
  --theme-button-text: #071f24;
  --theme-surface-rgb: 234,255,250;
  --theme-accent-rgb: 69,219,195;
  --theme-opacity: .52;
  --theme-blur: 9px;
  --theme-button-opacity: .84;
}
html { scrollbar-gutter: stable; scroll-padding-top: 16px; }
@supports not (scrollbar-gutter: stable) { html { overflow-y: scroll; } }
body.practice-modern { margin: 0; background: #eafffa; color: var(--theme-text); }
.practice-modern #cc-inner, .practice-modern #cc-inner * { color: inherit; }
.practice-modern #cc-inner { color: var(--theme-text); }
/* Kept important only to override imported legacy link decoration/focus rules. */
.practice-modern #cc-inner :is(a,u,ins) { text-decoration: none !important; }
.practice-modern :focus-visible { outline: 3px solid #000 !important; outline-offset: 3px !important; }
.practice-modern a { overflow-wrap: anywhere; }
.practice-modern img, .practice-modern button, .practice-modern iframe,
.practice-modern .cc-imagewrapper, .practice-modern .cc-map-wrapper,
.practice-modern .practice-recipe { border-radius: var(--practice-radius); }
.practice-modern img { max-width: 100%; }
.practice-modern .cc-imagewrapper, .practice-modern .cc-map-wrapper { overflow: hidden; }
.practice-modern .jtpl-background-area { filter: blur(var(--theme-blur)) saturate(85%); transform: scale(1.04); }
.practice-modern .jtpl-background-area::before { content: ''; position: absolute; inset: 0; background: rgba(var(--theme-surface-rgb),var(--theme-opacity)); }
.practice-modern .jtpl-main__inner, .practice-modern .jtpl-section__inner,
.practice-modern :is(#content_area,[data-cms-page]), .practice-modern .jtpl-header,
.practice-modern .jtpl-sidebar__content, .practice-modern .jtpl-footer__inner {
  background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.practice-modern .jtpl-header { overflow: visible; }
.practice-modern .jtpl-cart { display: none; }
.practice-modern .jtpl-section__inner { margin: 0; padding: var(--practice-column-top) 30px 30px; }
.practice-modern :is(#content_area,[data-cms-page]) { font: 400 16px/28px 'Asap',sans-serif; text-align: left; overflow-wrap: break-word; }
.practice-modern :is(#content_area,[data-cms-page]) .j-module { padding: 0; }
.practice-modern :is(#content_area,[data-cms-page]) .j-imageSubtitle { margin: 0 0 16px; }
.practice-modern :is(#content_area,[data-cms-page]) .cc-imagewrapper { margin: 0; }
.practice-modern :is(#content_area,[data-cms-page]) :is(p,li) { font: inherit; text-align: left; }
.practice-modern :is(#content_area,[data-cms-page]) p { margin: 0 0 16px; }
.practice-modern :is(#content_area,[data-cms-page]) p :is(span,a,strong,em) { font-size: inherit; line-height: inherit; }
.practice-modern :is(#content_area,[data-cms-page]) :is(h1,h2,h3) { font-family: 'Asap',sans-serif; text-align: left; text-transform: none; letter-spacing: 0; padding: 0; hyphens: auto; overflow-wrap: normal; }
.practice-modern :is(#content_area,[data-cms-page]) h1 { font-size: 24px; line-height: 32px; font-weight: 600; margin: 0 0 24px; }
.practice-modern :is(#content_area,[data-cms-page]) h2 { font-size: 20px; line-height: 28px; font-weight: 600; margin: 32px 0 16px; }
.practice-modern :is(#content_area,[data-cms-page]) h3 { font-size: 18px; line-height: 28px; font-weight: 600; margin: 32px 0 16px; }
.practice-modern :is(#content_area,[data-cms-page]) :is(section,.j-text,.j-static-page) > :is(h1,h2,h3):first-child { margin-top: 0; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-quote-source { font: 500 18px/28px 'Asap',sans-serif; margin: 0 0 16px; max-width: 52ch; text-wrap: pretty; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-banner { display: block; width: 100%; height: auto; }
/* Logo oben; keine neue Leiste oder Kachel um den Hauptinhalt. */
.practice-modern .jtpl-logo { background: transparent; padding: var(--practice-column-top) 16px 24px; }
.practice-modern .practice-logo-link { display: block; max-width: 220px; margin: auto; padding: 0; }
.practice-modern .jtpl-logo .j-module { padding: 0; }
.practice-modern .jtpl-logo figure { box-sizing: border-box; max-width: 220px; width: 100%; aspect-ratio: 1; margin: auto; border-radius: 0; overflow: visible; background: transparent; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.practice-modern .jtpl-logo img { display: block; box-sizing: border-box; padding: 16px; width: 100%; height: 100%; max-width: none; object-fit: contain; filter: none; }
.practice-modern .jtpl-navigation { padding: 10px 0 20px; }
.practice-modern .jtpl-navigation a, .practice-modern .jtpl-mobile-navigation a {
  background: transparent; border: 0; box-shadow: none; border-radius: 16px; padding: 8px 12px; font: 400 16px/24px 'Asap',sans-serif; text-align: center;
}
.practice-modern :is(.jtpl-navigation,.jtpl-mobile-navigation) a[aria-current=page] { font-weight: 700; }
.practice-modern :is(.jtpl-navigation,.jtpl-mobile-navigation) a:hover { background: rgba(var(--theme-accent-rgb),.12); }
.practice-modern .jtpl-topbar { min-height: 0; margin: 0; background: transparent; border: 0; box-shadow: none; overflow: visible; }
.practice-modern .jtpl-topbar::before { content: none; display: none; }
.practice-modern .jtpl-navigation__label { display: none; }
.practice-modern .jtpl-mobile-navigation[hidden] { display: none; }
/* Home: zentrierte Vorstellung neben unverändertem Porträt. */
.practice-home .practice-hero { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); grid-template-areas: 'introduction portrait'; gap: 24px; align-items: start; }
.practice-home .practice-introduction { grid-area: introduction; display: flex; flex-direction: column; align-self: stretch; padding-bottom: 24px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-hero :is(p,h1) { font: 400 18px/30px 'Asap',sans-serif; text-align: center; letter-spacing: 0; margin: 0; padding: 0; max-width: none; }
.practice-home :is(#content_area,[data-cms-page]) #practice-name { font-weight: 700; hyphens: none; }
.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-badges { display: flex; justify-content: center; flex-wrap: wrap; gap: 0; margin: 16px 0; }
.practice-home :is(#content_area,[data-cms-page]) .practice-badges span { background: transparent; border: 0; padding: 0; font: 400 16px/28px 'Asap',sans-serif; }
.practice-home .practice-badges span+span::before { content: '·'; margin: 0 10px; }
.practice-home .practice-portrait-wrap { grid-area: portrait; text-align: center; }
.practice-home .practice-portrait { display: block; width: 100%; max-width: 240px; height: auto; margin: auto; }
.practice-home .practice-hero-action { display: flex; justify-content: center; margin-top: auto; padding-top: 32px; }
.practice-modern #cc-inner .practice-recipe { display: inline-flex; justify-content: center; align-items: center; padding: 12px 22px; font: 600 16px/22.4px 'Asap',sans-serif; color: var(--theme-button-text); background: rgba(var(--theme-accent-rgb),var(--theme-button-opacity)); border: 1px solid rgba(255,255,255,.8); box-shadow: inset 0 1px 0 #ffffffb3,0 5px 18px #45dbc340; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.practice-modern #cc-inner .practice-recipe:hover { background: var(--theme-accent); }
.practice-home :is(#content_area,[data-cms-page]) .practice-vacation { margin: 24px 0; padding: 0; background: none; border: 0; font: 400 16px/28px 'Asap',sans-serif; }
.practice-home .practice-patient-section { width: 100%; max-width: 650px; padding-top: 32px; }
.practice-home :is(#content_area,[data-cms-page]) #patient-title { margin: 0 0 16px; text-wrap: balance; }
.practice-home :is(#content_area,[data-cms-page]) .practice-patient-info p { max-width: 64ch; text-wrap: pretty; }
.practice-home .practice-signoff { margin-top: 16px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-signoff p { margin: 0; }
/* Leistungen ohne zusätzliche Kästchen. */
.practice-offer .practice-offer-section { margin-top: 32px; }
.practice-offer :is(#content_area,[data-cms-page]) :is(.practice-service-list,.practice-diploma-list) { list-style: none; margin: 0; padding: 0; }
.practice-offer :is(#content_area,[data-cms-page]) :is(.practice-service-list,.practice-diploma-list) li { margin: 0 0 8px; padding: 0; text-align: left; }
.practice-offer :is(#content_area,[data-cms-page]) .practice-diploma-list li { margin-bottom: 0; }
.practice-offer .practice-offer-section p:last-child { margin-bottom: 0; }
/* Kontakt und Karte nur auf Home im Hauptinhalt, nicht in der Seitenleiste. */
.practice-home .practice-home-contact { margin: 32px 0 0; }
.practice-home .practice-details-home { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 32px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-contact :is(h2,p,a), .practice-home .practice-hours { font: 400 16px/28px 'Asap',sans-serif; text-align: left; margin: 0; padding: 0; }
.practice-home :is(#content_area,[data-cms-page]) .practice-contact h2 { font-weight: 700; }
.practice-home :is(#content_area,[data-cms-page]) .practice-contact .private-contact { margin-top: 16px; }
.practice-home .practice-contact a:hover { background: rgba(var(--theme-accent-rgb),.2); }
.practice-home .practice-hours { width: 100%; table-layout: fixed; border-collapse: collapse; }
.practice-home .practice-hours caption { caption-side: top; font: 700 16px/28px 'Asap',sans-serif; padding: 0; margin: 0 0 12px; text-align: left; }
.practice-home .practice-hours th,.practice-home .practice-hours td { padding: 6px 0; border: 0; text-align: left; font-weight: 400; vertical-align: top; }
.practice-home .practice-hours td { white-space: normal; font-variant-numeric: tabular-nums; }
.practice-home .practice-home-map { margin-top: 24px; }
.practice-home .practice-home-map .j-module { padding: 0; }
.practice-modern .cc-map-wrapper { position: relative; width: 100%; height: 220px; }
.practice-modern .cc-map-wrapper iframe { display: block; width: 100%; height: 100%; border: 0; }
.practice-modern .cc-map-wrapper iframe[hidden],.practice-modern [data-map-notice][hidden],.practice-modern [data-map-reset][hidden] { display: none; }
/* The imported iframe has inline display:block; hidden must override it. */
.practice-modern .cc-map-wrapper iframe[hidden] { display: none !important; }
.practice-modern .cc-map-wrapper:has(>iframe[hidden]) { height: auto; }
.practice-modern [data-map-notice] { box-sizing: border-box; min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px; text-align: center; background: rgba(234,255,250,.4); }
.practice-modern :is(#content_area,[data-cms-page]) [data-map-notice] p { max-width: 48ch; margin: 0; font-size: 14px; line-height: 22px; text-align: center; }
.practice-modern [data-map-allow] { min-height: 44px; padding: 10px 18px; border: 1px solid #ffffffcc; background: #45dbc3; color: #071f24; font: 600 16px/24px Asap,sans-serif; cursor: pointer; }
.practice-modern [data-map-reset] { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: inherit; font: 400 13px/24px Asap,sans-serif; cursor: pointer; }
/* Galerien: feste Höhe während jeder Überblendung, gemischte Formate vollständig. */
.practice-modern .practice-gallery { width: 100%; max-width: 720px; margin-inline: auto; outline-offset: 6px; }
.practice-modern .practice-gallery-stage { position: relative; width: 100%; }
.practice-modern .practice-gallery-team .practice-gallery-stage { height: min(400px,56svh); }
.practice-modern .practice-gallery-slide { position: absolute; inset: 0; display: grid; place-items: center; min-width: 0; min-height: 0; margin: 0; opacity: 0; pointer-events: none; transition: opacity 1.1s ease-in-out; }
.practice-modern .practice-gallery-slide.is-active { opacity: 1; z-index: 1; }
.practice-modern .practice-gallery-slide img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.practice-modern .practice-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.practice-modern .practice-rooms { margin-top: 48px; }
.practice-modern .practice-team { max-width: 720px; margin-inline: auto; }
.practice-modern :is(#content_area,[data-cms-page]) #team-heading { text-align: center; margin-bottom: 24px; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-names { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; list-style: none; padding: 0; margin: 24px auto 0; max-width: 360px; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-member { min-width: 0; overflow-wrap: anywhere; hyphens: auto; font: 400 16px/26px 'Asap',sans-serif; text-align: center; margin: 0; padding: 0; }
.practice-modern .practice-team-degree { display: block; font: 400 13px/20px 'Asap',sans-serif; }
.practice-modern .practice-team-doctor strong { font-weight: 600; }
.practice-modern .practice-team-role { display: block; font: 400 14px/24px 'Asap',sans-serif; }
/* Fußzeile: nur die freigegebenen Links; kein Logo, keine Karte, kein Video. */
.practice-modern .jtpl-footer { clear: both; position: relative; margin: 0; padding: 32px 30px 24px; background: transparent; border: 0; overflow: visible; }
.practice-modern .jtpl-footer__gutter,.practice-modern .jtpl-footer__container { max-width: none; width: 100%; padding: 0; margin: 0; float: none; }
.practice-modern .jtpl-footer__inner { padding: 0; }
.practice-modern .j-meta-links { float: none; width: 100%; }
.practice-modern .practice-footer-social { text-align: center; margin: 0 0 16px; }
.practice-modern #cc-inner .practice-facebook { display: inline-block; margin: 0; padding: 10px 4px; font: 400 13px/24px 'Asap',sans-serif; text-align: center; }
.practice-modern .practice-footer-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 24px; }
.practice-modern #cc-inner .practice-footer-links a { display: inline-block; padding: 10px 4px; background: transparent; border: 0; font: 400 14px/24px 'Asap',sans-serif; text-align: center; color: #000; }
.practice-modern .practice-footer-links a:hover { background: rgba(var(--theme-accent-rgb),.12); }
/* Tablet und Handy: bestehende Reihenfolge, kleinerer Kopfbereich. */
@media(max-width:959px) {
  .practice-modern .jtpl-main__inner { padding-inline: 12px; }
  .practice-modern .jtpl-header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; padding: 8px 20px; }
  .practice-modern .jtpl-logo { padding: 0; }
  .practice-modern .practice-logo-link,.practice-modern .jtpl-logo figure { max-width: 72px; margin: 0; }
  .practice-modern .jtpl-logo img { padding: 8px; }
  .practice-modern .jtpl-topbar { display: contents; }
  .practice-modern .jtpl-navigation__label { grid-column: 2; grid-row: 1; position: static; float: none; display: flex; align-items: center; justify-content: center; gap: 10px; width: auto; min-height: 44px; padding: 8px 0 8px 12px; border: 0; box-shadow: none; background: transparent; cursor: pointer; z-index: 2; }
  .practice-modern .practice-menu-label { font: 400 16px/24px 'Asap',sans-serif; }
  .practice-modern .jtpl-navigation__borders { position: relative; box-sizing: border-box; width: 28px; height: 20px; border-top: 3px solid #000; border-radius: 2px; }
  .practice-modern .jtpl-navigation__borders::before,.practice-modern .jtpl-navigation__borders::after { position: absolute; content: ''; width: 28px; left: 0; border-top: 3px solid #000; border-radius: 2px; }
  .practice-modern .jtpl-navigation__borders::before { top: 5px; }
  .practice-modern .jtpl-navigation__borders::after { top: 13px; }
  .practice-modern .jtpl-mobile-navigation { grid-column: 1 / -1; position: static; width: 100%; height: auto; padding: 0; margin: 8px 0 0; background: rgba(234,255,250,.82); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); border-radius: 16px; }
  .practice-modern .jtpl-mobile-navigation ul { visibility: visible; opacity: 1; margin: 0; padding: 8px; }
  .practice-modern .jtpl-mobile-navigation li { height: auto; min-height: 44px; border: 0; overflow: visible; }
  .practice-modern .jtpl-mobile-navigation a { display: block; padding: 10px 12px; }
  .practice-modern .practice-menu-contact { border-top: 1px solid rgba(47,99,112,.18); margin-top: 8px; padding-top: 8px; }
  .practice-modern .jtpl-section__inner { margin: 8px 0 0; padding: 16px 20px 24px; }

}
@media(max-width:560px) {
  .practice-home .practice-hero { grid-template-columns: minmax(0,1fr); grid-template-areas: 'introduction' 'portrait'; gap: 16px; }
  .practice-home .practice-introduction { padding-bottom: 0; }
  .practice-home .practice-hero-action { margin-top: 0; padding-top: 8px; }
  .practice-home .practice-portrait { max-width: 190px; }
  .practice-home .practice-details-home { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .practice-home :is(#content_area,[data-cms-page]) .practice-vacation,
  .practice-home :is(#content_area,[data-cms-page]) .practice-contact :is(h2,p,a) { text-align: left; }
  .practice-home .practice-hours { width: min(100%,320px); margin-inline: auto; }
  .practice-home .practice-hours caption { text-align: left; }
  .practice-home [data-map-notice] { min-height: 0; padding: 16px; }
  .practice-home .practice-rooms { margin-top: 32px; }
  .practice-home :is(#content_area,[data-cms-page]) .practice-rooms>h2 { margin-top: 0; }
  .practice-modern .jtpl-footer { padding: 24px 16px; }
  .practice-modern .practice-footer-links { gap: 4px 16px; }
}
@media(prefers-reduced-motion:reduce) { .practice-modern .practice-gallery-slide { transition: none; } }
/* Keep the page width steady when pages have different amounts of content. */
html { scrollbar-gutter: stable; }
@supports not (scrollbar-gutter: stable) {
  html { overflow-y: scroll; }
}

/* The outgoing content remains visible until the prepared page fades over it.
   The shared background, logo and navigation never reload or change opacity. */
.practice-page-snapshot { position: fixed; z-index: 20; overflow: hidden; pointer-events: none; contain: paint; }
.practice-page-snapshot * { pointer-events: none !important; }

/* Impressum: zusammengehörige Angaben bündeln, gleiche Schrift und ruhige Abstände. */
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint { max-width: 60ch; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint-contact { font: inherit; font-style: normal; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint-contact p { margin: 0 0 16px; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint > section { margin-top: 32px; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint > section > p:last-child { margin-bottom: 0; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint dl { margin: 0; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint dl > div + div { margin-top: 16px; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint dt { font-weight: 600; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint dd { margin: 0; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-imprint-updated { margin: 24px 0 0; font: 400 14px/24px 'Asap',sans-serif; }

/* Mobile Audit: größere Ziele, unveränderte ruhige Normalansicht. */
.practice-modern .practice-skip-link { position: absolute; top: 8px; left: 16px; z-index: 100; transform: translateY(-180%); padding: 10px 16px; background: #eafffa; color: #000; border-radius: 16px; font: 600 16px/24px 'Asap',sans-serif; }
.practice-modern .practice-skip-link:focus { position: fixed; transform: none; }
.practice-modern :is(#content_area,[data-cms-page]):focus { outline: none; }
.practice-home :is(#content_area,[data-cms-page]) .practice-contact a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; box-sizing: border-box; }
.practice-modern .practice-gallery-toggle { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; background: transparent; box-shadow: none; cursor: pointer; appearance: none; }
.practice-modern .practice-gallery-toggle:focus-visible { outline-offset: 4px !important; }
.practice-modern .practice-legal-poster { margin-top: 24px; }
.practice-modern .practice-legal-poster summary { cursor: pointer; min-height: 44px; line-height: 28px; padding-block: 8px; box-sizing: border-box; }
.practice-modern .practice-legal-poster img { display: block; margin-top: 16px; }
@media(max-width:959px) {
  .practice-modern .practice-gallery-team .practice-gallery-stage { height: auto; aspect-ratio: 4/3; max-height: min(320px,56svh); }
}
/* Kleine Glaspfeile direkt am Foto; keine zusätzliche Steuerleiste. */
.practice-modern .practice-gallery-arrow {
  position: absolute; top: 50%; z-index: 4; transform: translateY(-50%);
  display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
  border: 1px solid rgba(255,255,255,.85); border-radius: var(--practice-radius);
  background: rgba(234,255,250,.78); color: #000; cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65),0 2px 10px rgba(7,31,36,.10);
  -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px);
  touch-action: manipulation;
}
.practice-modern .practice-gallery-prev { left: 8px; }
.practice-modern .practice-gallery-next { right: 8px; }
.practice-modern .practice-gallery-arrow svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.practice-modern .practice-gallery-arrow:hover { background: rgba(204,249,243,.95); }
.practice-modern .practice-gallery-arrow:focus-visible { box-shadow: 0 0 0 3px #fff; }
.practice-modern .practice-gallery.is-manual .practice-gallery-slide { transition-duration: 280ms; }

@media(max-width:560px) and (prefers-reduced-transparency:reduce) {
 .practice-modern .jtpl-background-area::before { background:#f4fbf7; }
 .practice-modern :is(.jtpl-navigation__label,.jtpl-mobile-navigation,.practice-gallery-arrow) { background:#f8fcfa; -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media(max-width:560px) and (prefers-contrast:more) {
 .practice-modern .jtpl-background-area::before { background:#f4fbf7; }
 .practice-modern #cc-inner :is(p,a,span,h1,h2,h3,li,th,td,caption) { color:#000; }
 .practice-modern .practice-hours :is(th,td) { border-color:#59695f; }
}
@media(prefers-reduced-motion:reduce) {
 .practice-home #cc-inner .practice-recipe,.practice-modern .practice-gallery-slide { transition:none; }
 .practice-home #cc-inner .practice-recipe:active { transform:none; }
}

/* Vereinfachte Navigation und Fußzeile; Kontakt als Text direkt unter der Karte. */
.practice-home .practice-details-home.practice-hours-only { display:block; }
.practice-home :is(#content_area,[data-cms-page]) .practice-hours caption { font-family:inherit; }
.practice-home .practice-home-map { margin-top:24px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact { margin-top:16px; padding:0; max-width:650px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact h2 { font-size:18px; line-height:26px; font-weight:600; margin:0 0 8px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact :is(h2,p,a) { text-align:left; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p { margin:0; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact { margin-top:8px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact a { display:inline-flex; vertical-align:middle; min-height:44px; align-items:center; }
.practice-home .practice-contact-separator { margin-inline:4px; }
.practice-home .practice-home-map [data-map-reset] { margin-top:4px; }
.practice-modern .jtpl-footer { padding-top:24px; }
.practice-modern #cc-inner .practice-footer-links {
 display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:center;
 gap:4px 24px; width:100%; max-width:100%; box-sizing:border-box;
}
.practice-modern #cc-inner .practice-footer-links a {
 flex:0 1 auto; min-width:0; max-width:100%; box-sizing:border-box;
 white-space:normal; overflow-wrap:anywhere; text-align:center;
}
.practice-modern #cc-inner .practice-footer-links a { min-height:44px; }

@supports not (backdrop-filter: blur(1px)) {
  @media(max-width:959px) {
    .practice-modern :is(.jtpl-navigation__label,.jtpl-mobile-navigation,.practice-gallery-arrow) { background:#eafffa; }
  }
}
@media(max-width:959px) and (prefers-reduced-transparency:reduce) {
  .practice-modern .jtpl-background-area::before { background:#eafffa; }
  .practice-modern :is(.jtpl-navigation__label,.jtpl-mobile-navigation,.practice-gallery-arrow),
  .practice-home #cc-inner .practice-recipe { background:#ccf9f3; backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media(max-width:959px) and (prefers-contrast:more) {
  .practice-modern :is(.jtpl-navigation__label,.jtpl-mobile-navigation,.practice-gallery-arrow),
  .practice-home #cc-inner .practice-recipe { background:#eafffa; border-color:#2f6370; box-shadow:none; }
}

/* Kontakt: klare Zeilen; Kartenoptionen direkt bei der Karte. */
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact { margin-top:24px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact h2 { margin-bottom:12px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p { margin:0; line-height:1.6; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p + p { margin-top:12px; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p:not(.private-contact) a { display:flex; width:fit-content; min-height:44px; }
.practice-home .practice-contact-separator { display:none; }
.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact { margin-top:20px; }
.practice-home .practice-map-settings { margin-top:6px; font:400 12px/1.5 Asap,sans-serif; color:#35575b; }
.practice-home .practice-map-settings[hidden] { display:none; }
.practice-home .practice-map-settings summary { width:fit-content; min-height:44px; display:flex; align-items:center; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.practice-home .practice-map-settings [data-map-reset] { font-size:13px; margin:0; }

/* Desktop: gemeinsame Oberkante und Platz für die gesamte Seitennavigation. */
@media(min-width:960px) {
  .practice-modern .jtpl-header { align-self:start; }
  .practice-modern .jtpl-logo { padding-top:var(--practice-column-top); }
  .practice-modern .jtpl-logo figure { aspect-ratio:460 / 362; overflow:hidden; }
  .practice-modern .jtpl-logo img { width:107.826087%; height:auto; padding:0; transform:translate(-3.629032%,-4.522613%); }
  .practice-modern .jtpl-section__inner { padding-top:var(--practice-column-top); }
  .practice-modern :is(#content_area,[data-cms-page]) > :first-child { margin-top:0; }
  .practice-home .practice-hero { min-height:var(--practice-navigation-depth,0px); }
  .practice-home .practice-portrait-wrap { align-self:end; }
  .practice-home .practice-introduction { justify-content:center; padding-bottom:0; }
  .practice-home .practice-hero-action { margin-top:0; padding-top:24px; }
  .practice-home :is(#content_area,[data-cms-page]) .practice-vacation { margin-top:var(--practice-navigation-gap,24px); }
}

/* Approved design */
/* Local design study: one spacing system, independent navigation and content. */
body.practice-modern { --practice-radius:18px; --practice-column-top:0px; }
.practice-modern #cc-inner { color:#183735; }
.practice-modern .jtpl-background-area { filter:blur(14px) saturate(.65); }
.practice-modern .jtpl-background-area::before { background:rgba(239,250,246,.57); }
.practice-modern .jtpl-main__inner { display:grid; grid-template-columns:190px minmax(0,1fr); gap:64px; width:calc(100% - 80px); max-width:1140px; margin:0 auto; padding:48px 0 0; align-items:start; }
.practice-modern .jtpl-header { width:auto; float:none; position:relative; padding:0; margin:0; }
.practice-modern .jtpl-section { width:auto; float:none; min-width:0; margin:0; padding:0; }
.practice-modern .jtpl-section__inner { padding:0; margin:0; }
.practice-modern .jtpl-logo { padding:0; }
.practice-modern .practice-logo-link,.practice-modern .jtpl-logo figure { max-width:174px; margin:0 auto; }
.practice-modern .jtpl-navigation { padding:0; margin:32px 0 0; }
.practice-modern .jtpl-navigation ul { padding:0; margin:0; }
.practice-modern .jtpl-navigation li { margin:4px 0; }
.practice-modern .jtpl-navigation a { display:block; padding:12px 20px; min-height:24px; text-align:left; text-transform:none; font-size:16px; border-radius:14px; }
.practice-modern .jtpl-navigation a[aria-current=page] { background:rgba(255,255,255,.48); box-shadow:inset 0 1px 0 #ffffffb3; }
.practice-modern :is(#content_area,[data-cms-page]) { font-size:17px; line-height:1.7; }
.practice-modern :is(#content_area,[data-cms-page]) h1 { font-size:28px; line-height:1.3; margin-bottom:24px; }
.practice-modern :is(#content_area,[data-cms-page]) h2:where(:not(#rooms-heading)) { font-size:23px; line-height:1.35; margin:40px 0 20px; }
.practice-modern :is(#content_area,[data-cms-page]) h3 { font-size:19px; line-height:1.4; }
.practice-modern.practice-home .practice-hero { grid-template-columns:minmax(0,1fr) 240px; gap:40px; align-items:center; min-height:0; }
.practice-modern.practice-home .practice-introduction { align-self:center; padding:0; justify-content:center; }
.practice-modern.practice-home .practice-portrait-wrap { align-self:center; }
.practice-modern.practice-home .practice-portrait { width:240px; max-width:100%; border-radius:20px; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) #practice-name { margin-top:4px; font-weight:600; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-specialty { font-size:18px; line-height:1.55; margin-top:22px; text-wrap:balance; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-english { font-size:15px; line-height:1.5; margin-top:8px; color:#516b65; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-badges { margin:24px 0 0; gap:0; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-badges span { font-size:14px; line-height:1.6; color:#516b65; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-vacation { margin:32px 0 0; padding:12px 18px; border-left:3px solid #58bca8; background:rgba(255,255,255,.32); border-radius:0 12px 12px 0; font-size:15px; line-height:1.6; }
.practice-modern.practice-home .practice-home-contact { display:block; margin:36px 0 0; padding:0; border:0; }
.practice-modern.practice-home .practice-contact-panel { display:grid; grid-template-columns:minmax(0,.45fr) minmax(0,.55fr); gap:32px; padding:28px; border:1px solid rgba(255,255,255,.72); border-radius:22px; background:rgba(247,255,251,.46); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 30px rgba(25,64,54,.025); align-items:start; }
.practice-modern.practice-home .practice-details-home.practice-hours-only { display:block; min-width:0; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact { margin:0; padding:0; min-width:0; }
.practice-modern.practice-home .practice-home-map { margin:28px 0 0; min-width:0; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact h2,.practice-modern.practice-home .practice-hours caption { font:600 20px/28px Asap,sans-serif; margin:0 0 20px; padding:0 0 18px; border-bottom:1px solid rgba(44,94,81,.23); text-align:left; }
.practice-modern.practice-home .practice-hours { width:100%; max-width:450px; margin:0; table-layout:fixed; border-collapse:collapse; font:400 16px/24px Asap,sans-serif; }
.practice-modern.practice-home .practice-hours :is(th,td) { padding:6px 0; border:0; font:inherit; vertical-align:top; text-align:left; }
.practice-modern.practice-home .practice-hours tr:first-child :is(th,td) { padding-top:0; }
.practice-modern.practice-home .practice-hours th { width:96px; color:#516b65; }
.practice-modern.practice-home .practice-hours th abbr { text-decoration:none; cursor:default; }
.practice-modern.practice-home .practice-hours td { white-space:nowrap; font-variant-numeric:tabular-nums; text-align:left; }
.practice-modern.practice-home .practice-hours td br { display:block; }
.practice-modern.practice-home .practice-hours tr:nth-child(4) td { line-height:20px; }
.practice-modern.practice-home .practice-hours tr:last-child :is(th,td) { padding-bottom:0; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p { font:400 16px/24px Asap,sans-serif; margin:0; text-align:left; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .practice-address-row { display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; }
.practice-modern.practice-home .practice-contact-icon { display:block; width:20px; height:20px; color:#5c7970; margin-top:2px; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .practice-contact-channels { display:grid; grid-template-columns:20px minmax(0,1fr); column-gap:12px; row-gap:4px; margin-top:8px; align-items:center; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-contact-channels .practice-contact-icon { margin:0; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p:not(.private-contact) a { display:flex; align-items:center; width:fit-content; min-height:32px; line-height:24px; padding:0; margin:0; font:inherit; font-weight:500; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact { margin-top:16px; padding:12px 16px; border:1px solid rgba(44,94,81,.18); border-radius:14px; background:rgba(219,241,232,.42); }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact span { display:block; margin:0 0 4px; font-size:14px; line-height:20px; color:#516b65; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact a { display:block; min-height:24px; padding:0; font:500 16px/24px Asap,sans-serif; }
.practice-modern .cc-map-wrapper { height:260px; border-radius:18px; }
.practice-modern .practice-map-settings { font-size:12px; color:#516b65; }
.practice-modern .practice-gallery-team { max-width:none; }
.practice-modern.practice-home .practice-patient-section { max-width:none; padding-top:48px; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-patient-info p { max-width:65ch; margin-bottom:20px; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-banner { margin-bottom:28px; }
.practice-modern .practice-offer-section { margin-top:36px; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-service-list li { padding:8px 0; margin:0; border-bottom:1px solid rgba(44,94,81,.1); }
.practice-modern :is(#content_area,[data-cms-page]) .practice-service-list li:last-child { border:0; }
.practice-modern .practice-team { max-width:none; }
.practice-modern :is(#content_area,[data-cms-page]) #team-heading { text-align:left; margin-bottom:28px; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-names { max-width:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 32px; margin-top:28px; padding-top:24px; border-top:1px solid rgba(44,94,81,.16); }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-member { text-align:left; }
.practice-modern .jtpl-footer { padding:48px 0 24px; }
.practice-modern .practice-footer-links { gap:24px; }
.practice-modern #cc-inner .practice-footer-links a { font-size:13px; color:#516b65; }
@media(min-width:960px) { .practice-modern .jtpl-footer { width:calc(100% - 254px); margin-left:254px; } }
@media(max-width:1100px) and (min-width:960px) {
 .practice-modern .jtpl-main__inner { grid-template-columns:160px minmax(0,1fr); gap:40px; width:calc(100% - 64px); }
 .practice-modern.practice-home .practice-hero { grid-template-columns:minmax(0,1fr) 210px; gap:24px; }
 .practice-modern.practice-home .practice-contact-panel { gap:24px; padding:24px; }
 .practice-modern .jtpl-footer { width:calc(100% - 200px); margin-left:200px; }
}
@media(max-width:959px) {
 .practice-modern .jtpl-main__inner { display:block; width:100%; padding:0; }
 .practice-modern .jtpl-header { display:grid; padding:16px 24px; }
 .practice-modern .practice-logo-link,.practice-modern .jtpl-logo figure { max-width:76px; margin:0; }
 .practice-modern .jtpl-section__inner { padding:28px 24px 0; }
 .practice-modern .jtpl-navigation__label { border:1px solid #ffffffc9; background:rgba(246,255,251,.48); backdrop-filter:blur(16px); }
 .practice-modern .jtpl-mobile-navigation { background:rgba(246,255,251,.86); }
 .practice-modern .jtpl-mobile-navigation a { text-align:left; }
 .practice-modern .jtpl-footer { padding:36px 24px 24px; }
 .practice-modern .practice-footer-links { flex-direction:row; justify-content:center; }
 .practice-modern.practice-home .practice-hero { grid-template-columns:minmax(0,1fr) 220px; gap:32px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero :is(p,h1) { text-align:left; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-badges { justify-content:flex-start; }
}
@media(max-width:640px) {
 .practice-modern :is(#content_area,[data-cms-page]) { font-size:16px; line-height:1.65; }
 .practice-modern :is(#content_area,[data-cms-page]) h1 { font-size:25px; }
 .practice-modern :is(#content_area,[data-cms-page]) h2:where(:not(#rooms-heading)) { font-size:22px; }
 .practice-modern.practice-home .practice-hero { grid-template-columns:1fr; grid-template-areas:'introduction' 'portrait'; gap:28px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-specialty { font-size:17px; margin-top:18px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-badges { margin-top:18px; }
 .practice-modern.practice-home .practice-portrait { width:220px; margin:0; }
 .practice-modern.practice-home .practice-home-contact { margin-top:28px; padding:0; }
 .practice-modern.practice-home .practice-contact-panel { grid-template-columns:1fr; gap:32px; padding:20px; }
 .practice-modern.practice-home .practice-home-map { margin-top:24px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p:not(.private-contact) a { min-height:44px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact a { min-height:32px; display:flex; align-items:center; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-vacation { margin-top:28px; font-size:14px; padding:12px 14px; }
 .practice-modern .cc-map-wrapper { height:240px; }
 .practice-modern.practice-home .practice-patient-section { padding-top:36px; }
 .practice-modern :is(#content_area,[data-cms-page]) .practice-team-names { grid-template-columns:1fr; gap:18px; }
}
@media(prefers-reduced-transparency:reduce) { .practice-modern .jtpl-background-area::before { background:#edf7f3; } }
/* Neutralize the legacy float clearfix and sidebar minimum width. */
.practice-modern .jtpl-main__inner::before,.practice-modern .jtpl-main__inner::after { content:none; display:none; }
.practice-modern .jtpl-header { min-width:0; max-width:none; grid-column:1; grid-row:1; }
.practice-modern .jtpl-section { grid-column:2; grid-row:1; }
.practice-modern .jtpl-footer { width:auto; margin:0; }
.practice-modern .jtpl-section { max-width:none; }
.practice-modern.practice-home .practice-badges span+span::before { content:'·'; display:inline; margin:0 10px; }

/* Team names beneath the existing gallery. */
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-names { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:20px; row-gap:0; padding:0; margin:32px auto 0; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-member { display:block; min-height:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; color:#183735; text-align:center; font:400 18px/1.5 Asap,sans-serif; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-doctor { grid-column:1 / -1; margin:0 0 44px; font-size:24px; line-height:1.35; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-doctor::before { content:'IHRE ÄRZTIN'; display:block; margin:0 0 12px; font:400 12px/1.5 Asap,sans-serif; letter-spacing:.05em; color:#516b65; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-degree { display:inline; font:inherit; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-doctor strong { font-weight:600; }
.practice-modern :is(#content_area,[data-cms-page]) .practice-team-role { display:block; margin-top:6px; font:400 14px/1.5 Asap,sans-serif; color:#516b65; }
@media(max-width:640px) { .practice-modern :is(#content_area,[data-cms-page]) .practice-team-names { grid-template-columns:1fr; row-gap:24px; } .practice-modern :is(#content_area,[data-cms-page]) .practice-team-doctor { grid-column:1; margin:0 0 16px; font-size:22px; } }

/* Compact mobile header and introduction. */
@media(max-width:959px) {
 .practice-modern .jtpl-header { box-sizing:border-box; min-height:88px; padding:10px 24px; align-items:center; }
 .practice-modern .jtpl-section__inner { margin-top:0; padding-top:36px; }
 .practice-modern .jtpl-navigation__label { box-sizing:border-box; min-width:0; min-height:44px; padding:8px 12px; gap:8px; border-radius:14px; }
 .practice-modern .practice-menu-label { font:500 14px/20px Asap,sans-serif; }
 .practice-modern .jtpl-navigation__borders { width:20px; height:16px; border-top-width:2px; }
 .practice-modern .jtpl-navigation__borders::before,.practice-modern .jtpl-navigation__borders::after { width:20px; border-top-width:2px; }
 .practice-modern .jtpl-navigation__borders::before { top:5px; }
 .practice-modern .jtpl-navigation__borders::after { top:12px; }
}
@media(max-width:640px) {
 .practice-modern.practice-home .practice-hero { gap:24px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-degree { margin:0; font-size:clamp(20px,5.5vw,22px); line-height:1.3; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero #practice-name { margin:4px 0 0; font-size:clamp(20px,5.5vw,22px); line-height:1.3; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-specialty { margin:12px 0 0; font-size:17px; line-height:1.45; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-english { margin:6px 0 0; font-size:15px; line-height:1.4; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-badges { margin:12px 0 0; }
 .practice-modern.practice-home .practice-portrait-wrap { width:100%; min-width:0; justify-self:center; }
 .practice-modern.practice-home .practice-portrait { width:76%; max-width:300px; height:auto; margin:0 auto; object-fit:contain; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-vacation { margin-top:20px; }
}

@media(max-width:959px) {
 .practice-modern .practice-logo-link,.practice-modern .jtpl-logo figure { max-width:128px; }
 .practice-modern .jtpl-logo figure { aspect-ratio:460 / 362; overflow:hidden; }
 .practice-modern .jtpl-logo img { width:107.826087%; height:auto; padding:0; transform:translate(-3.629032%,-4.522613%); }
 .practice-modern .jtpl-navigation__label { height:44px; }
}

.practice-modern #rooms-heading { scroll-margin-top: 100px; }

/* Ordinationsräume: vier ruhige Fotokacheln statt Bildwechsel. */
.practice-modern .practice-room-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
.practice-modern .practice-room-photo { min-width: 0; margin: 0; padding: 0; }
.practice-modern .practice-room-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 22px; }
@media(max-width: 640px) {
  .practice-modern .practice-room-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
}

/* Ordination: Team und Räume als zusammenhängende, ruhige Bildgeschichte. */
.practice-ordination :is(#content_area,[data-cms-page]) .ordination-eyebrow { margin:0 0 12px; color:#516b65; font:500 12px/1.5 Asap,sans-serif; letter-spacing:.16em; }
.practice-ordination :is(#content_area,[data-cms-page]) #team-heading { margin:0 0 16px; font-size:clamp(32px,4vw,44px); line-height:1.15; letter-spacing:-.025em; }
.practice-ordination :is(#content_area,[data-cms-page]) .ordination-intro { max-width:48ch; margin:0 0 36px; color:#516b65; font-size:18px; line-height:1.65; }
.practice-ordination .ordination-team-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; align-items:center; padding:24px; border:1px solid #ffffffb8; border-radius:24px; background:rgba(247,255,251,.5); }
.practice-ordination .ordination-team-layout>.practice-gallery { grid-column:1; grid-row:1; min-width:0; }
.practice-ordination .practice-gallery-team .practice-gallery-stage { height:360px; max-height:none; border-radius:16px; overflow:hidden; background:rgba(219,235,226,.5); }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-names { grid-column:2; grid-row:1; grid-template-columns:minmax(0,1fr); gap:0; width:100%; margin:0; text-align:left; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-member { padding:16px 0; text-align:left; font-size:16px; border-bottom:1px solid rgba(44,94,81,.14); }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-member:last-of-type { border-bottom:0; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-doctor { grid-column:auto; margin:0 0 8px; padding-top:0; padding-bottom:24px; font-size:22px; line-height:1.4; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-doctor::before { margin-bottom:8px; font-size:11px; letter-spacing:.1em; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-degree { display:block; font-size:14px; color:#516b65; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-role { margin-top:4px; font-size:13px; }
.practice-ordination .ordination-team-layout>.cms-added-content { grid-column:1 / -1; }
.practice-ordination .ordination-team-layout>.cms-added-content:empty { display:none; }
.practice-ordination .practice-rooms { margin-top:64px; padding-top:40px; border-top:1px solid rgba(44,94,81,.18); }
.practice-ordination :is(#content_area,[data-cms-page]) #rooms-heading { margin:0 0 12px; font-size:28px; line-height:1.25; text-align:left; letter-spacing:-.015em; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-rooms>p { color:#516b65; margin:0; max-width:52ch; }
.practice-ordination .practice-room-grid { gap:28px 24px; margin-top:28px; }
.practice-ordination .practice-room-photo img { border-radius:16px; }
.practice-ordination .practice-room-photo figcaption { padding:12px 2px 0; font:500 15px/1.5 Asap,sans-serif; color:#36564e; }
@media(max-width:700px) {
 .practice-ordination .ordination-team-layout { grid-template-columns:minmax(0,1fr); padding:16px; gap:24px; border-radius:20px; }
 .practice-ordination :is(#content_area,[data-cms-page]) .practice-team-names { grid-column:1; grid-row:auto; }
 .practice-ordination .practice-gallery-team .practice-gallery-stage { height:auto; aspect-ratio:4/3; max-height:400px; }
 .practice-ordination :is(#content_area,[data-cms-page]) .practice-team-doctor { font-size:22px; margin:0 0 4px; }
 .practice-ordination :is(#content_area,[data-cms-page]) .ordination-intro { font-size:17px; margin-bottom:28px; }
 .practice-ordination .practice-rooms { margin-top:40px; padding-top:32px; }
 .practice-ordination :is(#content_area,[data-cms-page]) #rooms-heading { font-size:25px; }
 .practice-ordination .practice-room-grid { gap:24px; }
}

/* Manuelle Bildergalerie: Bedienelemente bleiben außerhalb der Fotos. */
.practice-modern .practice-gallery-toggle[hidden] { display:none !important; }
.practice-modern .practice-gallery-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding-top:12px; }
.practice-modern .practice-gallery-counter { margin-right:auto; font:400 13px/1.5 Asap,sans-serif; color:#516b65; font-variant-numeric:tabular-nums; }
.practice-modern .practice-gallery-toolbar .practice-gallery-arrow { position:static; transform:none; width:44px; height:44px; margin:0; border:1px solid rgba(44,94,81,.18); background:#f6fbf8; box-shadow:none; }
.practice-ordination .ordination-team-layout { padding:0; border:0; border-radius:0; background:none; gap:36px; align-items:start; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
.practice-ordination .practice-gallery-team .practice-gallery-stage { height:400px; background:rgba(233,243,236,.6); border-radius:18px; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-names { padding-top:8px; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-member { padding:20px 0; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-doctor { padding:0 0 24px; margin:0; font-size:23px; }
.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-degree { margin-bottom:4px; }
.practice-ordination :is(#content_area,[data-cms-page]) .ordination-intro { margin-bottom:32px; }
@media(max-width:700px) {
 .practice-ordination .ordination-team-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
 .practice-ordination .practice-gallery-team .practice-gallery-stage { height:auto; aspect-ratio:4/3; }
 .practice-ordination :is(#content_area,[data-cms-page]) .practice-team-names { padding:24px; border:1px solid #ffffffb8; border-radius:18px; background:rgba(247,255,251,.5); box-sizing:border-box; }
 .practice-ordination :is(#content_area,[data-cms-page]) .practice-team-member { padding:16px 0; }
 .practice-ordination :is(#content_area,[data-cms-page]) .practice-team-doctor { padding-top:0; font-size:22px; }
}

/* Gemeinsame Gestaltung: Home, Ordination, Leitbild und Angebot.
   Glas-Deckkraft entspricht der freigegebenen, um 30 % transparenteren Fassung. */
body.practice-modern {
 --site-ink:#183b33;
 --site-muted:#3e6458;
 --site-line:rgba(44,94,81,.18);
 --site-glass:linear-gradient(135deg,rgba(255,255,255,.301),rgba(242,255,249,.084) 55%,rgba(255,255,255,.182));
 --site-glass-tinted:linear-gradient(125deg,rgba(221,244,232,.364),rgba(237,255,245,.119) 60%,rgba(255,255,255,.217));
 --site-glass-edge:1px solid rgba(255,255,255,.72);
 --site-glass-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 1px 0 0 rgba(255,255,255,.48),inset 0 -1px 0 rgba(255,255,255,.28),0 12px 36px -20px rgba(25,63,53,.24);
 --site-radius:28px;
 --site-pad:36px;
}
.practice-modern #cc-inner { color:var(--site-ink); }
.practice-modern :is(#content_area,[data-cms-page]) { font-size:17px; line-height:1.65; }
.practice-modern :is(#content_area,[data-cms-page]) :is(h1,h2,h3) { letter-spacing:-.025em; text-wrap:balance; }
.practice-modern :is(#content_area,[data-cms-page]) h1 { font-size:clamp(30px,3.2vw,38px); line-height:1.16; margin:0 0 20px; }
.practice-modern :is(#content_area,[data-cms-page]) h2 { font-size:26px; line-height:1.25; margin:0 0 24px; }
.practice-modern :is(#content_area,[data-cms-page]) h3 { font-size:20px; line-height:1.35; }
.practice-modern :is(#content_area,[data-cms-page]) .site-glass {
 box-sizing:border-box; padding:var(--site-pad); border:var(--site-glass-edge); border-radius:var(--site-radius);
 background:var(--site-glass); box-shadow:var(--site-glass-shadow);
 -webkit-backdrop-filter:blur(24px) saturate(155%); backdrop-filter:blur(24px) saturate(155%);
}
.practice-modern :is(#content_area,[data-cms-page]) .site-glass-tinted { background:var(--site-glass-tinted); }
.practice-modern :is(#content_area,[data-cms-page]) :is(.site-eyebrow,.site-section-label) {
 color:var(--site-muted); font:500 12px/1.5 Asap,sans-serif; margin:0 0 16px; text-align:left;
}
.practice-modern :is(#content_area,[data-cms-page]) .site-page-hero .site-eyebrow { font:500 12px/1.5 Asap,sans-serif; letter-spacing:.14em; margin:0 0 20px; color:var(--site-muted); }
.practice-modern :is(#content_area,[data-cms-page]) .site-section-label { letter-spacing:.045em; }
.practice-modern :is(#content_area,[data-cms-page]) .site-page-hero {
 display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr); align-items:center; gap:32px; min-height:0;
}
.practice-modern :is(#content_area,[data-cms-page]) .site-hero-copy { min-width:0; }
.practice-modern :is(#content_area,[data-cms-page]) .site-hero-lead { font-size:18px; line-height:1.6; max-width:42ch; margin:0; }
.practice-modern :is(#content_area,[data-cms-page]) .site-page-hero .j-imageSubtitle { margin:0; padding:0; min-width:0; }
.practice-modern :is(#content_area,[data-cms-page]) .site-page-hero :is(figure,.cc-imagewrapper) { margin:0; }
.practice-modern :is(#content_area,[data-cms-page]) .site-page-hero :is(.practice-banner,.practice-portrait) {
 display:block; width:100%; max-width:none; height:300px; object-fit:cover; object-position:50% center; margin:0;
 border-radius:140px 140px 18px 18px; box-shadow:0 0 0 1px #ffffffa6,0 10px 28px -18px #244e4470;
}
.practice-modern :is(#content_area,[data-cms-page]) .site-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-top:28px; }
.practice-modern :is(#content_area,[data-cms-page]) :is(.site-button,[data-map-allow]) {
 display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px;
 box-sizing:border-box; border:1px solid #ffffffbd; border-radius:16px;
 color:#163f34; font:600 15px/1.5 Asap,sans-serif; cursor:pointer;
 background:linear-gradient(135deg,rgba(170,236,214,.66),rgba(193,241,225,.4));
 box-shadow:inset 0 1px 0 #ffffffe6,0 6px 18px -12px #234e4452;
 -webkit-backdrop-filter:blur(16px) saturate(150%); backdrop-filter:blur(16px) saturate(150%);
 transition:background .18s ease,box-shadow .18s ease;
}
.practice-modern :is(#content_area,[data-cms-page]) :is(.site-button,[data-map-allow]):hover { background:#c8ecdc; box-shadow:inset 0 1px 0 white,0 6px 20px -12px #234e4480; }
.practice-modern :is(#content_area,[data-cms-page]) .site-text-link { display:inline-flex; align-items:center; min-height:44px; font-size:15px; font-weight:500; border-bottom:1px solid #658f7f; }
.practice-modern :is(#content_area,[data-cms-page]) .site-text-link:hover { color:#0c5942; border-color:currentColor; }
.practice-modern :is(#content_area,[data-cms-page]) .site-jump-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0 40px; }
.practice-modern :is(#content_area,[data-cms-page]) .site-jump-links a {
 display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:60px;
 box-sizing:border-box; padding:14px 18px; border:var(--site-glass-edge); border-radius:20px;
 background:linear-gradient(135deg,rgba(255,255,255,.315),rgba(255,255,255,.091));
 -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%);
 box-shadow:inset 0 1px 0 #ffffffdb,0 6px 18px -12px #234e4452; font-size:15px; text-align:left;
 transition:background .2s ease,box-shadow .2s ease;
}
.practice-modern :is(#content_area,[data-cms-page]) .site-jump-links a:hover { background:linear-gradient(135deg,#ffffff7d,#ffffff36); box-shadow:inset 0 1px 0 white,0 8px 24px -12px #234e4466; }
.practice-modern #cc-inner .practice-footer-links a { color:var(--site-muted); }
.practice-modern .jtpl-navigation a { transition:background .18s ease,box-shadow .18s ease; }
.practice-modern .jtpl-navigation a[aria-current=page] {
 background:var(--site-glass); border:1px solid #ffffffb8; padding:11px 19px;
 box-shadow:inset 0 1px 0 #ffffffdb,0 6px 20px -14px #234e4452;
 -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
}
.practice-modern .jtpl-navigation a:hover { background:#ffffff40; }
.practice-modern :is(#content_area,[data-cms-page]) :is(.site-jump-links,.site-hero-actions) a:focus-visible { outline:3px solid #244e44 !important; outline-offset:4px !important; }

/* Home: Vorstellung, Besuch und Patienteninformation. */
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero { grid-template-areas:'introduction portrait'; }
.practice-modern.practice-home .practice-introduction { min-width:0; padding:0; align-items:stretch; justify-content:center; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero :is(p,h1) { text-align:left; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-degree { font-size:16px; line-height:1.5; font-weight:400; margin:0 0 4px; color:var(--site-muted); }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero #practice-name { font-size:clamp(30px,3.2vw,38px); line-height:1.16; margin:0; font-weight:600; letter-spacing:-.035em; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-specialty { font-size:18px; line-height:1.5; margin:20px 0 0; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-english { font-size:14px; line-height:1.5; color:var(--site-muted); margin:6px 0 0; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-badges { justify-content:flex-start; gap:8px; margin:20px 0 0; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-badges span { padding:5px 10px; border:1px solid #ffffffb3; border-radius:8px; background:#ffffff26; color:var(--site-muted); font-size:13px; line-height:1.5; }
.practice-modern.practice-home .practice-badges span+span::before { content:none; }
.practice-modern.practice-home .practice-portrait-wrap { align-self:center; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-vacation { margin:24px 0 0; padding:14px 20px; border-left:3px solid #749f89; background:#ffffff30; border-radius:0 14px 14px 0; font:400 15px/1.6 Asap,sans-serif; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-home-contact { margin:32px 0 0; scroll-margin-top:24px; }
.practice-modern.practice-home .practice-contact-panel { grid-template-columns:minmax(0,.47fr) minmax(0,.53fr); gap:40px; padding:0; background:none; border:0; border-radius:0; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact { max-width:none; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact h2,.practice-modern.practice-home .practice-hours caption { font:600 24px/1.3 Asap,sans-serif; letter-spacing:-.025em; padding:0 0 18px; margin:0 0 16px; border-bottom:1px solid var(--site-line); }
.practice-modern.practice-home .practice-hours { font:400 16px/1.6 Asap,sans-serif; }
.practice-modern.practice-home .practice-hours :is(th,td) { padding:8px 0; line-height:1.6; }
.practice-modern.practice-home .practice-hours th { width:104px; color:var(--site-muted); }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p:not(.private-contact) a { min-height:44px; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact { padding:12px 16px; border:1px solid #ffffffb3; background:#ffffff24; border-radius:14px; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact a { min-height:44px; display:flex; align-items:center; }
.practice-modern.practice-home .practice-home-map { margin-top:24px; }
.practice-modern.practice-home .cc-map-wrapper { border:1px solid #ffffffb3; border-radius:18px; background:#ffffff18; }
.practice-modern [data-map-notice] { background:linear-gradient(135deg,#ffffff30,#ffffff0d); min-height:220px; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .home-patient-panel { margin-top:32px; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-patient-section { padding:0; max-width:none; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) #patient-title { margin:0 0 24px; font-size:26px; line-height:1.25; max-width:26ch; }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-patient-info p { max-width:65ch; margin-bottom:16px; }
.practice-modern.practice-home .practice-signoff { margin-top:24px; padding-top:20px; border-top:1px solid var(--site-line); }
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-signoff p { margin:0; }

/* Ordination: derselbe Einstieg, danach Team und Räume. */
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .ordination-page-hero { display:block; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) #team-heading { font-size:clamp(30px,3.2vw,38px); line-height:1.16; margin:0 0 20px; letter-spacing:-.025em; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .ordination-intro { color:var(--site-ink); font-size:18px; line-height:1.6; margin:0; max-width:46ch; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .ordination-team-panel { margin-top:32px; padding-top:28px; border-top:1px solid var(--site-line); scroll-margin-top:24px; }
.practice-modern.practice-ordination .ordination-team-layout { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; background:none; padding:0; border:0; align-items:center; }
.practice-modern.practice-ordination .practice-gallery-team .practice-gallery-stage { height:350px; background:transparent; border:0; box-shadow:none; border-radius:18px; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-names { margin:0; padding:0; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-member { padding:16px 0; border-color:var(--site-line); font-size:16px; line-height:1.6; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-doctor { font-size:22px; padding:0 0 20px; margin:0; line-height:1.35; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-degree { color:var(--site-muted); font-size:14px; margin-bottom:4px; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-role { color:var(--site-muted); font-size:14px; line-height:1.5; margin-top:4px; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-member:last-of-type { border-bottom:0; padding-bottom:0; }
.practice-modern.practice-ordination .practice-rooms { margin-top:40px; padding-top:0; border:0; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) #rooms-heading { font-size:26px; line-height:1.25; margin:0 0 12px; scroll-margin-top:24px; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-rooms>p:not(.site-section-label) { color:var(--site-muted); font-size:17px; line-height:1.6; margin:0; }
.practice-modern.practice-ordination .practice-room-grid { gap:20px; margin-top:24px; }
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-room-photo { padding:12px; margin:0; border-radius:22px; }
.practice-modern.practice-ordination .practice-room-photo img { border-radius:12px; }
.practice-modern.practice-ordination .practice-room-photo figcaption { padding:14px 8px 6px; font:500 15px/1.5 Asap,sans-serif; color:var(--site-ink); }
.practice-modern .practice-gallery-toolbar .practice-gallery-arrow { border:var(--site-glass-edge); background:var(--site-glass); box-shadow:inset 0 1px 0 #ffffffdb,0 4px 12px -8px #234e4452; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.practice-modern .practice-gallery-toolbar .practice-gallery-arrow:hover { background:#ffffff70; }

/* Leitbild: sichtbarer Titel und eine großzügige, lesbare Gesundheitsdefinition. */
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-page-hero { margin-bottom:20px; }
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-quote { padding:0; }
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .practice-quote-source { font:500 13px/1.6 Asap,sans-serif; color:var(--site-muted); margin:0 0 28px; max-width:50ch; }
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-definition { font:500 clamp(22px,2.3vw,27px)/1.5 Asap,sans-serif; letter-spacing:-.02em; margin-bottom:28px; text-wrap:pretty; }
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-definition::before { content:'„'; display:block; font:500 68px/.75 Georgia,serif; color:#719b88; margin-bottom:12px; }
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-quote>p:last-of-type { margin:0; padding-top:24px; border-top:1px solid var(--site-line); font-size:17px; line-height:1.75; max-width:65ch; }

/* Angebot: dieselben Glasflächen, Schriftgrößen und Abstände. */
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .practice-offer-content { display:flex; flex-direction:column; padding:0; }
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .offer-hero p { text-align:left; }
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .offer-hero .practice-offer-lead { font-size:18px; line-height:1.5; margin-bottom:12px; }
.practice-offer .offer-hero .cms-text-group>p:last-of-type { margin-bottom:0; font-size:16px; line-height:1.65; }
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .offer-navigation { grid-template-columns:repeat(3,minmax(0,1fr)); }
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .offer-section-panel { margin-bottom:28px; }
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .practice-offer-section { margin:0; scroll-margin-top:24px; }
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .practice-service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; list-style:none; margin:0; padding:0; }
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .practice-service-list li.practice-list-item { position:relative; margin:0; padding:16px 0 16px 20px; border-top:1px solid var(--site-line); border-bottom:0; font-size:16px; line-height:1.6; }
.practice-offer .practice-service-list li.practice-list-item::before { content:''; position:absolute; top:27px; left:0; width:5px; height:5px; background:#538775; border-radius:50%; }
.practice-offer .practice-offer-section p:last-of-type { margin-bottom:0; }
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .practice-diploma-list { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0; }
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .practice-diploma-list li.practice-list-item { padding:10px 16px; border:1px solid #ffffffbd; border-radius:12px; font-size:15px; margin:0; background:linear-gradient(135deg,#ffffff54,#ffffff19); box-shadow:inset 0 1px 0 #ffffffd9,0 3px 10px -7px #234e4452; }

@media(max-width:1100px) and (min-width:960px) {
 body.practice-modern { --site-pad:28px; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-page-hero { gap:24px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-contact-panel { gap:28px; }
 .practice-modern.practice-ordination .ordination-team-layout { gap:24px; }
}
@media(max-width:700px) {
 body.practice-modern { --site-pad:24px; --site-radius:24px; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-page-hero { grid-template-columns:minmax(0,1fr); gap:28px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero { grid-template-areas:'introduction' 'portrait'; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-page-hero :is(.practice-banner,.practice-portrait) { height:240px; border-radius:140px 140px 16px 16px; width:200px; max-width:100%; margin:auto; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-page-hero .practice-banner { object-position:50% center; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero #practice-name { font-size:32px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-specialty { font-size:17px; }
 .practice-modern.practice-home .practice-portrait-wrap { width:100%; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-jump-links { margin-bottom:28px; }
 .practice-modern.practice-home .practice-contact-panel { grid-template-columns:minmax(0,1fr); gap:28px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) :is(.practice-map-contact h2,.practice-hours caption) { font-size:23px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) #patient-title { font-size:24px; }
 .practice-modern.practice-ordination .ordination-team-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
 .practice-modern.practice-ordination .practice-gallery-team .practice-gallery-stage { height:auto; aspect-ratio:4/3; max-height:400px; }
 .practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-names { grid-column:1; grid-row:auto; padding:0; background:none; border:0; border-radius:0; }
 .practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-team-doctor { font-size:22px; }
 .practice-modern.practice-ordination .practice-room-grid { grid-template-columns:minmax(0,1fr); }
 .practice-modern.practice-offer :is(#content_area,[data-cms-page]) .practice-service-list { grid-template-columns:minmax(0,1fr); }
 .practice-modern.practice-offer :is(#content_area,[data-cms-page]) .offer-section-panel { margin-bottom:24px; }
 .practice-modern :is(#content_area,[data-cms-page]) h2,.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) #rooms-heading { font-size:24px; }
}
@media(max-width:480px) {
 .practice-modern :is(#content_area,[data-cms-page]) { font-size:16px; }
 .practice-modern :is(#content_area,[data-cms-page]) h1,.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) #team-heading { font-size:30px; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-hero-actions { align-items:stretch; flex-direction:column; gap:12px; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-hero-actions .site-text-link { align-self:flex-start; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-jump-links,.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .offer-navigation { grid-template-columns:minmax(0,1fr); gap:10px; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-jump-links a { min-height:52px; }
}
@media(prefers-reduced-motion:reduce) {
 .practice-modern :is(#content_area,[data-cms-page]) :is(.site-button,.site-jump-links a,[data-map-allow]),.practice-modern .jtpl-navigation a { transition:none; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .practice-modern :is(#content_area,[data-cms-page]) :is(.site-glass,.site-jump-links a) { background:rgba(244,252,247,.92); }
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
 .practice-modern :is(#content_area,[data-cms-page]) :is(.site-glass,.site-jump-links a,.site-button,[data-map-allow]),.practice-modern .jtpl-navigation a[aria-current=page] { background:#f0f8f3; -webkit-backdrop-filter:none; backdrop-filter:none; }
}

/* Home und Leitbild: dasselbe vollständige Porträt mit abgerundeten Ecken. */
.practice-modern:is(.practice-home,.practice-leitbild) :is(#content_area,[data-cms-page]) .site-page-hero .practice-portrait {
 width:100%; max-width:240px; height:auto; object-fit:contain;
 border-radius:18px; margin-inline:auto;
}
@media(max-width:700px) {
 .practice-modern:is(.practice-home,.practice-leitbild) :is(#content_area,[data-cms-page]) .site-page-hero .practice-portrait { max-width:min(100%,240px); border-radius:18px; }
}

/* Teamgalerie: Bedienelemente direkt und mittig unter dem sichtbaren Foto. */
.practice-modern.practice-ordination .practice-gallery-team .practice-gallery-stage {
 display:grid; height:auto; max-height:none; aspect-ratio:auto;
}
.practice-modern.practice-ordination .practice-gallery-team .practice-gallery-slide { display:none; }
.practice-modern.practice-ordination .practice-gallery-team .practice-gallery-slide.is-active {
 display:grid; position:relative; inset:auto; grid-area:1 / 1;
}
.practice-modern.practice-ordination .practice-gallery-team .practice-gallery-slide img { max-height:350px; }
.practice-modern.practice-ordination .practice-gallery-team .practice-gallery-toolbar {
 position:relative; display:grid; grid-template-columns:44px 44px; justify-content:center; gap:8px; padding-top:12px;
}
.practice-modern.practice-ordination .practice-gallery-team .practice-gallery-counter {
 position:absolute; left:0; top:12px; display:flex; align-items:center; min-height:44px; margin:0;
}
@media(max-width:700px) {
 .practice-modern.practice-ordination .practice-gallery-team .practice-gallery-slide img { max-height:320px; }
}

/* Patientenbrief: einheitlicher Fließtext ohne hervorgehobene Einzelabsätze. */
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-patient-info > p {
 display:inline; margin:0; padding:0; border:0; background:none; border-radius:0;
 font:inherit; color:inherit;
}
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-patient-info > p::after { content:' '; }

/* Fotos: dezenter Hover und zugängliche, bildschirmfüllende Großansicht. */
html:not(.cms-preview) .practice-modern :is(#content_area,[data-cms-page]) img[data-photo-zoom] {
 cursor:zoom-in; transition:transform 180ms ease,box-shadow 180ms ease;
}
@media(hover:hover) and (pointer:fine) {
 html:not(.cms-preview) .practice-modern :is(#content_area,[data-cms-page]) img[data-photo-zoom]:hover {
  transform:scale(1.025); box-shadow:0 12px 30px -12px rgba(16,57,44,.38);
 }
}
.practice-photo-open { overflow:hidden; scrollbar-gutter:auto; }
.practice-modern .practice-photo-viewer {
 position:fixed; inset:0; box-sizing:border-box; width:100vw; height:100dvh; max-width:none; max-height:none;
 margin:0; padding:76px 24px 28px; border:0; border-radius:0; background:transparent; color:#fff;
}
.practice-modern .practice-photo-viewer[open] { display:grid; place-items:center; }
.practice-photo-viewer::backdrop { background:rgba(10,26,23,.86); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
.practice-modern .practice-photo-viewer figure { display:grid; justify-items:center; gap:16px; margin:0; min-width:0; }
.practice-modern .practice-photo-viewer img { display:block; width:auto; height:auto; max-width:min(100%,1600px); max-height:calc(100svh - 190px); object-fit:contain; border-radius:16px; box-shadow:0 16px 64px #0005; }
.practice-modern .practice-photo-close {
 position:absolute; top:max(16px,env(safe-area-inset-top)); right:24px; min-height:44px; padding:10px 18px;
 border:1px solid #ffffff80; border-radius:16px; color:#fff; background:#ffffff26;
 font:500 16px/1.5 Asap,sans-serif; cursor:pointer; box-shadow:inset 0 1px 0 #ffffff40;
}
.practice-modern .practice-photo-close:hover { background:#ffffff40; }
.practice-modern .practice-photo-close:focus-visible { outline:3px solid #fff !important; outline-offset:4px !important; }
@media(max-width:560px) {
 .practice-modern .practice-photo-viewer { padding-inline:16px; }
 .practice-modern .practice-photo-close { right:16px; }
}
@media(prefers-reduced-motion:reduce) {
 html:not(.cms-preview) .practice-modern :is(#content_area,[data-cms-page]) img[data-photo-zoom] { transition:none; }
 html:not(.cms-preview) .practice-modern :is(#content_area,[data-cms-page]) img[data-photo-zoom]:hover { transform:none; }
}
.practice-modern .practice-gallery-slide.is-active img[data-photo-zoom] { pointer-events:auto; }

/* In der Großansicht innerhalb der geöffneten Fotoserie weiterblättern. */
.practice-modern .practice-photo-viewer { padding-inline:80px; padding-bottom:52px; }
.practice-modern .practice-photo-nav {
 position:absolute; top:50%; transform:translateY(-50%); display:grid; place-items:center;
 width:48px; height:48px; padding:0; border:1px solid #ffffff80; border-radius:50%;
 background:rgba(24,48,41,.72); color:#fff; box-shadow:inset 0 1px 0 #ffffff40,0 4px 18px #0003;
 -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); cursor:pointer;
}
.practice-modern .practice-photo-nav span { font:400 36px/1 Asap,sans-serif; margin-top:-3px; }
.practice-modern .practice-photo-prev { left:20px; }
.practice-modern .practice-photo-next { right:20px; }
.practice-modern .practice-photo-nav:hover { background:rgba(75,111,96,.9); }
.practice-modern .practice-photo-nav:focus-visible { outline:3px solid #fff !important; outline-offset:4px !important; }
.practice-modern .practice-photo-position { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); color:#fff; font:400 14px/1.5 Asap,sans-serif; font-variant-numeric:tabular-nums; }
.practice-modern .practice-photo-viewer :is(.practice-photo-nav,.practice-photo-position)[hidden] { display:none; }
@media(max-width:560px) {
 .practice-modern .practice-photo-viewer { padding-inline:16px; }
 .practice-modern .practice-photo-prev { left:8px; }
 .practice-modern .practice-photo-next { right:8px; }
}

/* Responsive navigation shares the content theme.
   Mobile adapts layout and touch targets without a separate visual theme. */
@media(max-width:959px) {
 .practice-modern .jtpl-navigation__label,
 .practice-modern .jtpl-mobile-navigation {
  background:var(--site-glass); border:var(--site-glass-edge);
  box-shadow:var(--site-glass-shadow);
  -webkit-backdrop-filter:blur(24px) saturate(155%); backdrop-filter:blur(24px) saturate(155%);
 }
 .practice-modern .jtpl-mobile-navigation a { min-height:48px; box-sizing:border-box; padding:12px 16px; font-family:Asap,sans-serif; }
 .practice-modern .jtpl-mobile-navigation a[aria-current="page"] { background:var(--site-glass-tinted); font-weight:600; }
}
@media(max-width:700px) {
 .practice-modern :is(#content_area,[data-cms-page]) .site-glass { min-width:0; }
 .practice-modern.practice-home .practice-hours { width:100%; min-width:0; }
 .practice-modern.practice-home .practice-hours td { white-space:normal; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p:not(.private-contact) a { min-height:44px; }
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more) {
 .practice-modern :is(.jtpl-navigation__label,.jtpl-mobile-navigation) { background:#f0f8f3; -webkit-backdrop-filter:none; backdrop-filter:none; }
}

/* Mobile: use the card width while keeping shared label and value axes. */
@media(max-width:767px) {
 body.practice-modern { --site-pad:20px; }
 .practice-modern :is(#content_area,[data-cms-page]) .site-glass { text-align:left; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-vacation {
  box-sizing:border-box; border-left-width:3px; text-align:left;
  padding:14px calc(var(--site-pad) + 1px) 14px calc(var(--site-pad) - 2px);
 }
 .practice-modern:is(.practice-home,.practice-leitbild) :is(#content_area,[data-cms-page]) .site-page-hero .practice-portrait {
  margin-inline:0; width:min(100%,240px);
 }
 .practice-modern.practice-home .practice-hours {
  display:block; border-collapse:collapse; border-spacing:0;
  width:100%; max-width:100%; margin:0;
 }
 .practice-modern.practice-home .practice-hours caption {
  display:block; text-align:left;
 }
 .practice-modern.practice-home .practice-hours tbody { display:block; width:100%; max-width:100%; margin:0; }
 .practice-modern.practice-home .practice-hours tr {
  display:grid; grid-template-columns:88px minmax(0,1fr); column-gap:16px;
 }
 .practice-modern.practice-home .practice-hours :is(th,td) { display:block; width:auto; min-width:0; }
 .practice-modern.practice-home .practice-hours :is(th,td) {
  padding:6px 0; text-align:left; vertical-align:top; line-height:22px;
 }
 .practice-modern.practice-home .practice-hours tr:nth-child(4) td { line-height:22px; }
 .practice-modern.practice-home .practice-contact-panel {
  grid-template-columns:minmax(0,1fr); gap:28px;
  width:100%; max-width:100%; margin-inline:0;
 }
 .practice-modern [data-map-notice] { align-items:flex-start; text-align:left; }
 .practice-modern :is(#content_area,[data-cms-page]) [data-map-notice] p { text-align:left; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact {
  width:100%; max-width:100%; margin:0;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .practice-contact-channels { margin-top:16px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact :is(.practice-address-row,.practice-contact-channels,.private-contact) {
  display:grid; grid-template-columns:88px minmax(0,1fr); column-gap:16px;
  justify-content:start; text-align:left; align-items:start;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact :is(.practice-address-row,.practice-contact-channels) > .practice-contact-icon {
  grid-column:1; margin-top:2px;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact :is(.practice-address-row,.practice-contact-channels) > :is(span,a) {
  grid-column:2; min-width:0; text-align:left;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .practice-contact-channels { align-items:center; row-gap:0; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact {
  margin-top:16px; padding:0; border:0; border-radius:0; background:none; row-gap:4px;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact::before {
  content:''; display:block; grid-column:1; grid-row:1 / 3;
  width:20px; height:20px; margin-top:2px; background:#5c7970;
  -webkit-mask: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='17' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18M8 15h1M15 15h1M8 18h1M15 18h1'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: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='17' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18M8 15h1M15 15h1M8 18h1M15 18h1'/%3E%3C/svg%3E") center / contain no-repeat;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact :is(span,a) {
  grid-column:2; margin:0; text-align:left; min-width:0;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact h2,
 .practice-modern.practice-home .practice-hours caption {
  border:0; padding:0; margin:0 0 20px;
 }
}

/* Quieter mobile typography: use the regular face rather than synthetic bold. */
@media(max-width:959px) {
 .practice-modern :is(#content_area,[data-cms-page]) :is(h1,h2,h3),
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero #practice-name,
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact h2,
 .practice-modern.practice-home .practice-hours caption,
 .practice-modern :is(#content_area,[data-cms-page]) .practice-team-doctor strong {
  font-weight:400;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact p:not(.private-contact) a,
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-map-contact .private-contact a {
  font-weight:400;
 }
}

/* Patient letter: justified continuous text, with a left-aligned signature. */
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-patient-info {
 text-align:justify; text-align-last:left; text-justify:inter-word; hyphens:auto;
}
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-patient-info > p {
 text-align:inherit; text-wrap:wrap;
}
.practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-signoff {
 text-align:left; hyphens:manual;
}

/* Keep both visit sections and Maps on the same full-width mobile container. */
@media(max-width:767px) {
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-home-contact {
  display:grid; grid-template-columns:minmax(0,1fr);
  padding-inline:var(--site-pad);
 }
 .practice-modern.practice-home .practice-home-contact > .site-section-label { grid-column:1; }
 .practice-modern.practice-home .practice-contact-panel { grid-column:1; }
 .practice-modern.practice-home .practice-home-map {
  grid-column:1; width:100%; min-width:0; margin-top:24px;
 }
 .practice-modern.practice-home .cc-map-wrapper:has(>iframe[hidden]) {
  border:0; border-radius:0; background:none;
 }
 .practice-modern.practice-home [data-map-notice] {
  min-height:0; padding:14px; gap:12px; background:rgba(255,255,255,.16);
  border:0; border-radius:12px; box-shadow:none;
  -webkit-backdrop-filter:none; backdrop-filter:none; justify-content:flex-start;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) [data-map-notice] p {
  font-size:13px; line-height:19px;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) [data-map-allow] {
  min-height:44px; padding:8px 12px; border:1px solid var(--site-line); border-radius:10px;
  background:rgba(255,255,255,.25); box-shadow:none;
  -webkit-backdrop-filter:none; backdrop-filter:none; font-weight:400; font-size:13px;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) [data-map-allow]:hover { background:rgba(255,255,255,.5); box-shadow:none; }
}

/* Mobile Home hero: full-width portrait and compact, left-aligned introduction. */
@media(max-width:767px) {
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero,
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-page-hero,
 .practice-modern.practice-offer :is(#content_area,[data-cms-page]) .site-page-hero {
  display:flex; flex-direction:column; align-items:stretch; padding:24px; gap:24px;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero :is(.practice-introduction,.practice-portrait-wrap) {
  width:100%; max-width:none; min-width:0; align-self:stretch;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-degree {
  margin:0 0 2px; font-size:16px; line-height:1.3;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero #practice-name {
  margin:0; font-size:clamp(32px,8vw,44px); line-height:1.12; text-align:left;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-specialty {
  margin-top:20px; font-size:16px; line-height:1.4; text-wrap:wrap;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-english {
  margin-top:4px; font-size:14px; line-height:1.4;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-badges { margin-top:20px; }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-portrait,
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-page-hero .practice-portrait,
 .practice-modern.practice-offer :is(#content_area,[data-cms-page]) .site-page-hero .practice-banner {
  display:block; width:80%; max-width:300px; height:auto; aspect-ratio:4 / 5;
  object-fit:cover; object-position:center 25%; border-radius:20px; margin:0 auto;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-vacation {
  margin:16px 0 0; padding:10px 20px; font-size:14px; line-height:1.4;
 }
}

/* Center the mobile hero's professional introduction and qualifications. */
@media(max-width:767px) {
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .cms-text-group,
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero #practice-name,
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .cms-text-group :is(p,h1) {
  text-align:center;
 }
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-badges { justify-content:center; }
}

/* Mobile title and name share a restrained size and regular weight. */
@media(max-width:767px) {
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-degree,
 .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero #practice-name {
  font-size:22px; font-weight:400; line-height:1.3; letter-spacing:0;
 }
}

/* Leitbild follows Home's mobile introduction and quiet reading card. */
@media(max-width:767px) {
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-page-hero :is(.site-hero-copy,.j-imageSubtitle) {
  width:100%; max-width:none; min-width:0; align-self:stretch;
 }
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-page-hero h1 {
  font-size:22px; line-height:1.3; font-weight:400; letter-spacing:0; text-align:center; margin:0;
 }
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-page-hero .site-hero-lead {
  font-size:16px; line-height:1.4; text-align:center; margin:20px 0 0; max-width:none;
 }
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-page-hero { margin-bottom:32px; }
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .practice-quote-source {
  font-weight:400; margin:0 0 24px; max-width:none;
 }
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-definition,
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-quote > p:last-of-type {
  font:inherit; letter-spacing:0; text-align:justify; text-align-last:left;
  hyphens:auto; text-wrap:wrap; max-width:none; padding:0; border:0;
 }
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-definition { margin:0 0 16px; }
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-definition::before { content:none; }
}

/* Angebot: the same evenly rounded rectangular photo shape as Home. */
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .site-page-hero .practice-banner {
 border-radius:20px;
}

/* Continuous main site: sticky navigation and section anchors. */
html { scroll-behavior:smooth; }
.practice-scroll-site .jtpl-header { position:sticky; top:32px; align-self:start; }
.practice-scroll-site .scroll-page { min-width:0; scroll-margin-top:32px; }
.practice-scroll-site .scroll-page + .scroll-page { margin-top:96px; padding-top:32px; border-top:1px solid rgba(44,94,81,.16); }
.practice-scroll-site .scroll-page-label { margin:0 0 22px; color:#516b65; font:400 13px/1.5 Asap,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.practice-scroll-site :is(.jtpl-navigation,.jtpl-mobile-navigation) a[aria-current=page] {
 background:none; border:0; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; font-weight:400;
}
.practice-scroll-site .jtpl-navigation a[aria-current=page] { padding:12px 20px; }
.practice-scroll-site :is(.jtpl-navigation,.jtpl-mobile-navigation) a:hover { background:none; }
.practice-scroll-site .scroll-nav-label { display:inline-block; position:relative; }
.practice-scroll-site .scroll-nav-label::after {
 content:''; position:absolute; left:0; right:0; bottom:-6px; height:1px; background:rgba(255,255,255,.95); opacity:0;
}
.practice-scroll-site a[aria-current=page] .scroll-nav-label::after { opacity:1; }
@media(max-width:959px) {
 .practice-scroll-site .jtpl-header {
  top:0; z-index:10;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(234,255,250,.05));
  border-bottom:1px solid rgba(255,255,255,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 6px 24px -20px rgba(24,59,51,.18);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  backdrop-filter:blur(18px) saturate(145%);
 }
 .practice-scroll-site .scroll-page { scroll-margin-top:150px; }
 .practice-scroll-site .scroll-page + .scroll-page { margin-top:56px; padding-top:24px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* The legacy shell must not become a separate scroll container. */
.practice-scroll-site .jtpl-main { overflow:visible; }
/* One fine white outline around every glass surface, without doubled inset edges. */
body.practice-modern.practice-scroll-site { --site-glass-edge:1px solid #fff; --site-glass-shadow:0 12px 36px -20px rgba(25,63,53,.24); }
.practice-scroll-site :is(.site-glass,.site-jump-links a,.site-button,.practice-gallery-toolbar .practice-gallery-arrow,.practice-badges span,.jtpl-navigation__label,.jtpl-mobile-navigation,.cc-map-wrapper) {
 border:1px solid #fff;
 box-shadow:0 8px 28px -22px rgba(25,63,53,.22);
}
.practice-scroll-site .jtpl-header { border-bottom-color:#fff; }
.practice-scroll-site [data-cms-page] .site-page-hero img { box-sizing:border-box; border:1px solid #fff; box-shadow:none; }
.practice-scroll-site .scroll-page + .scroll-page { border-top-color:#fff; }
.practice-scroll-site .scroll-section-title { font-size:clamp(30px,3.2vw,38px); line-height:1.16; margin:0 0 20px; }
.practice-scroll-site .practice-home .practice-vacation { margin:20px 0 0; }
@media(max-width:767px) {
 .practice-scroll-site .practice-leitbild .scroll-section-title { font-size:22px; line-height:1.3; font-weight:400; text-align:center; margin:0; }
}

.practice-modern.practice-scroll-site :is(#content_area,[data-cms-page]) :is(.site-glass,.site-jump-links a,.site-button,.practice-gallery-toolbar .practice-gallery-arrow,.practice-badges span,.cc-map-wrapper) {
 border:1px solid #fff; box-shadow:0 8px 28px -22px rgba(25,63,53,.22);
}
@media(max-width:959px) {
 .practice-modern.practice-scroll-site :is(#content_area,[data-cms-page]) [id] { scroll-margin-top:150px; }
}

/* Rooms form one shared glass card, with unboxed photos and captions inside. */
.practice-modern.practice-ordination :is(#content_area,[data-cms-page]) .practice-rooms .practice-room-photo {
 padding:0; margin:0; border:0; border-radius:0; background:none; box-shadow:none;
 -webkit-backdrop-filter:none; backdrop-filter:none;
}
.practice-modern.practice-ordination .practice-rooms .practice-room-photo figcaption {
 padding:12px 0 0;
}

/* Ein gemeinsamer Rahmen für Leitbild und Gesundheitsdefinition. */
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-combined .leitbild-page-hero { padding:0; margin-bottom:32px; }

/* Abstand zwischen Angebots-Einführung und Leistungen. */
.practice-modern.practice-offer :is(#content_area,[data-cms-page]) .offer-hero { margin-bottom:28px; }

/* Rezeptbestellung mittig in der Karte platzieren. */
.practice-modern :is(#content_area,[data-cms-page]) .scroll-recipe .site-button {
 display:flex; width:fit-content; max-width:100%; margin-inline:auto;
}

/* Ältere gespeicherte Fassungen enthalten den allgemeinen Listeneintrag noch. */
html:not(.cms-preview) .practice-modern.practice-offer :is(#content_area,[data-cms-page]) .practice-diploma-list [data-cms-template="text-angebot-3-3"] { display:none; }

/* Das Startporträt erhält denselben dezenten Hover-Effekt wie die Galerie. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 html:not(.cms-preview) .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-portrait {
  transition:transform 180ms ease,box-shadow 180ms ease;
 }
 html:not(.cms-preview) .practice-modern.practice-home :is(#content_area,[data-cms-page]) .practice-hero .practice-portrait:hover {
  transform:scale(1.025); box-shadow:0 12px 30px -12px rgba(16,57,44,.38);
 }
}

/* Leitbild: zusammenhängende Hierarchie und gut lesbare Textachsen. */
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-combined .leitbild-page-hero {
 align-items:center; gap:32px; margin-bottom:32px;
}
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-combined .leitbild-page-hero :is(h1,h2) {
 font:400 clamp(24px,2.4vw,32px)/1.25 Asap,sans-serif; letter-spacing:0; text-align:left; margin:0 0 16px;
}
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-combined .site-hero-lead {
 font:400 17px/1.6 Asap,sans-serif; text-align:left; max-width:42ch; margin:0;
}
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-quote-panel {
 border-top:1px solid var(--site-line); padding-top:28px;
}
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-quote .practice-quote-source {
 font:400 13px/1.5 Asap,sans-serif; color:var(--site-muted); max-width:none; margin:0 0 16px; text-align:left;
}
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-quote :is(.leitbild-definition,p:last-of-type) {
 font:400 16px/1.7 Asap,sans-serif; letter-spacing:0; text-align:left; text-align-last:left;
 hyphens:manual; text-wrap:pretty; max-width:68ch; border:0; padding:0; margin:0;
}
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-quote p.leitbild-definition { margin-bottom:16px; }
.practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-definition::before { content:none; }
@media(max-width:767px) {
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-combined .leitbild-page-hero { gap:24px; margin-bottom:28px; }
 .practice-modern.practice-leitbild :is(#content_area,[data-cms-page]) .leitbild-quote-panel { padding-top:24px; }
}
