:root {
    color-scheme: light;
    --ink: #152435;
    --muted: #596b78;
    --paper: #ffffff;
    --soft: #f4f7f8;
    --line: #dbe3e7;
    --left: #a34456;
    --left-dark: #7f3040;
    --left-soft: #f8ecef;
    --right: #087e85;
    --right-dark: #056169;
    --right-soft: #e8f5f5;
    --shared: #315967;
    --warning: #986600;
    --urgent: #a22e2e;
    --success: #176a43;
    --shadow: 0 1.1rem 3rem rgb(25 52 66 / 10%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
    color: var(--ink);
    background: var(--paper);
    scroll-behavior: smooth;
}

* { box-sizing: border-box; }
html { scroll-padding-top: 6.5rem; }
body { margin: 0; min-width: 320px; background: var(--paper); }
img { display: block; max-width: 100%; }
a { color: var(--right-dark); text-underline-offset: .18em; }
a:hover { color: var(--left-dark); }
button, input, textarea, select { font: inherit; }

.skip-link {
    position: fixed;
    top: .6rem;
    left: .6rem;
    z-index: 1000;
    transform: translateY(-160%);
    padding: .7rem 1rem;
    border-radius: .35rem;
    color: #fff;
    background: var(--ink);
}
.skip-link:focus { transform: translateY(0); }

.stage-ribbon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .55rem 1rem;
    padding: .55rem max(1rem, calc((100% - 1180px) / 2));
    color: #4d3700;
    background: #fff1bd;
    border-bottom: 1px solid #ead68b;
    font-size: .84rem;
    font-weight: 650;
}
.stage-ribbon span:first-child {
    padding: .15rem .48rem;
    border-radius: 99px;
    background: #fff8dc;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: .72rem;
}
.stage-ribbon a { color: inherit; font-weight: 800; }

.site-status { display: flex; border-bottom: 1px solid transparent; }
.site-status-stack--sticky { position: sticky; top: 0; z-index: 60; }
.site-status__inner {
    width: min(var(--content-width, 1180px), var(--template-max-width, 2400px), calc(100% - 2rem));
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: .75rem;
    padding: .75rem 0;
    text-align: center;
}
.site-status__content > :first-child { margin-top: 0; }
.site-status__content > :last-child { margin-bottom: 0; }
.site-status--info { color: #174c66; background: #e8f4f8; border-color: #b8dae7; }
.site-status--warning { color: #684600; background: #fff4d6; border-color: #ead39a; }
.site-status--urgent { color: #722222; background: #fdeaea; border-color: #efbcbc; }
.site-status--success { color: #15573a; background: #e8f6ee; border-color: #bde1cd; }
.site-status--practice-left { background: var(--left-dark); }
.site-status--practice-right { background: var(--right-dark); }
.site-status__details { width: 100%; }
.site-status__details summary { display: grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items: center; gap: .75rem; padding: .7rem 0; cursor: pointer; font-weight: 800; list-style:none; }
.site-status__details summary::-webkit-details-marker,.content-element__summary::-webkit-details-marker{display:none}
.site-status__summary-action::before,.content-element__summary-action::before{content:"Details anzeigen";font-size:.82rem;font-weight:700}
.site-status__details[open] .site-status__summary-action::before,.content-element__details[open] .content-element__summary-action::before{content:"Details ausblenden"}
.site-status__summary-chevron,.content-element__summary-chevron{display:inline-block;width:.7rem;height:.7rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.site-status__details[open] .site-status__summary-chevron,.content-element__details[open] .content-element__summary-chevron{transform:rotate(225deg)}
.content-element__details{width:100%}
.content-element__summary{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;cursor:pointer;list-style:none;font-weight:700}
.content-element__summary-label{margin-right:auto}
.content-element__collapsible-body{padding-top:.75rem}
.content-element__details[data-collapse-active="none"]>.content-element__summary{display:none}
.content-element__details[data-collapse-active="none"]>.content-element__collapsible-body{padding-top:0}
.site-status__details summary small { font-size: .82rem; font-weight: 650; white-space: nowrap; }
.site-status__details[data-collapse-active="none"] > summary { cursor: default; }
.site-status__details[data-collapse-active="none"] > summary .site-status__summary-action,
.site-status__details[data-collapse-active="none"] > summary .site-status__summary-chevron { display: none; }
.site-status__absence-body { padding: 0 0 1rem; }
.site-status__absence-body > p { margin: 0 0 .8rem; }

.site-header {
    position: sticky;
    top: var(--sticky-status-height, 0px);
    z-index: 50;
    background: rgb(255 255 255 / 96%);
    border-bottom: 1px solid rgb(219 227 231 / 85%);
    backdrop-filter: blur(12px);
}
.site-header__inner {
    width: min(var(--content-width, 1180px), var(--template-max-width, 2400px), calc(100% - 2rem));
    min-height: 5.6rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}
.site-brand { display: flex; align-items: center; min-width: 0; text-decoration: none; color: var(--ink); line-height: 1.08; }
.site-brand:hover { color: var(--ink); }
.site-brand__label {
    display: block;
    margin-bottom: .22rem;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.site-brand__names { display: flex; align-items: baseline; gap: .42rem; font-size: clamp(1.05rem, 2vw, 1.35rem); font-weight: 820; }
.brand-left { color: var(--left-dark); }
.brand-right { color: var(--right-dark); }
.brand-amp {
    display: inline-block;
    color: transparent;
    background: linear-gradient(90deg, var(--left) 0 49%, var(--right) 51% 100%);
    background-clip: text;
    -webkit-background-clip: text;
    font-family: Georgia, serif;
    font-size: 1.35em;
}

.main-navigation { display: flex; align-items: center; gap: var(--navigation-item-gap); }
.main-navigation a {
    padding: var(--navigation-padding-y) var(--navigation-padding-x);
    border-radius: var(--navigation-radius);
    color: var(--navigation-text-color);
    text-decoration: none;
    font-family: var(--navigation-font);
    font-size: var(--navigation-size);
    font-weight: var(--navigation-weight);
    letter-spacing: var(--navigation-letter-spacing);
}
.main-navigation a:hover, .main-navigation a:focus-visible { color: var(--navigation-hover-text-color); background: var(--navigation-hover-background); }
.menu-toggle { display: none; }

/* Regulärer Seiteninhalt wird ausschließlich durch Builder + Designsystem gestaltet. */

.site-footer { color: #e8f0f2; background: #18333e; }
.site-footer__inner { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; display: flex; align-items: stretch; gap: 2rem; padding: 3.5rem 0; }
.footer-block { flex: 1 1 0; min-width: 0; }
.footer-block--weight-1{flex-grow:1}.footer-block--weight-2{flex-grow:2}.footer-block--weight-3{flex-grow:3}.footer-block--weight-4{flex-grow:4}.footer-block--weight-5{flex-grow:5}.footer-block--weight-6{flex-grow:6}.footer-block--weight-7{flex-grow:7}.footer-block--weight-8{flex-grow:8}.footer-block--weight-9{flex-grow:9}.footer-block--weight-10{flex-grow:10}.footer-block--weight-11{flex-grow:11}.footer-block--weight-12{flex-grow:12}
.site-footer__brand strong { font-family: Georgia, serif; font-size: 1.35rem; }
.footer-block h2 { margin-top: 0; font-size: 1rem; }
.footer-navigation { display: flex; flex-direction: column; align-items: stretch; gap: .5rem; margin: 0; }
.site-footer a { color: inherit; }
.footer-central-content { display: grid; gap: .65rem; }
.footer-central-content__item { min-width: 0; }
.footer-central-content .content-element { width: 100%; margin: 0; color: inherit; }
.time-text-blocks { display: flex; flex-direction: column; gap: 1rem; }
.footer-central-content .content-source-grid { grid-template-columns: 1fr; }
/* Globaler Seitenabschluss: unabhängig von den verwaltbaren Footer-Spalten. */
.site-copyright-bar { background: #132b35; color: #e8f0f2; font-size: .78rem; line-height: 1.35; }
.site-copyright-bar__inner { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: .45rem 0; }
.site-copyright-bar--left { text-align: left; }
.site-copyright-bar--center { text-align: center; }
.site-copyright-bar--right { text-align: right; }
.site-footer__bottom { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-top: 1px solid rgb(255 255 255 / 16%); color: #9fb2ba; font-size: .82rem; }

.http-error-card {
    width: min(720px, calc(100% - 2rem));
    margin: clamp(2rem, 10vh, 7rem) auto;
    padding: clamp(1.5rem, 4vw, 3rem);
    background: #fff;
    border: var(--card-border-width) solid var(--line);
    border-radius: .75rem;
    box-shadow: var(--shadow);
}
.http-status { margin: 0 0 .5rem; color: var(--right-dark); font-weight: 800; }
.http-error-card h1 { margin-top: 0; font-family: Georgia, serif; }
.button-link { display: inline-block; padding: .65rem 1rem; border: 1px solid var(--right-dark); border-radius: .35rem; text-decoration: none; font-weight: 700; }
.environment-label { display: inline-block; margin-bottom: .75rem; padding: .25rem .65rem; border-radius: 999px; background: #fff0be; color: #5e4300; font-weight: 700; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }

:focus-visible { outline: .2rem solid #ef9c2e; outline-offset: .18rem; }


.site-header.is-navigation-collapsed .menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .6rem .75rem;
    border: var(--card-border-width) solid var(--line);
    border-radius: var(--navigation-radius);
    color: var(--mobile-menu-button-text);
    background: var(--mobile-menu-button-background);
    font-family: var(--navigation-font);
    font-size: var(--mobile-navigation-size);
    font-weight: var(--navigation-weight);
}
.site-header.is-navigation-collapsed .menu-toggle__icon,
.site-header.is-navigation-collapsed .menu-toggle__icon::before,
.site-header.is-navigation-collapsed .menu-toggle__icon::after { display: block; width: 1.1rem; height: 2px; background: currentColor; content: ""; }
.site-header.is-navigation-collapsed .menu-toggle__icon { position: relative; }
.site-header.is-navigation-collapsed .menu-toggle__icon::before { position: absolute; top: -.35rem; }
.site-header.is-navigation-collapsed .menu-toggle__icon::after { position: absolute; top: .35rem; }

.site-header.is-navigation-collapsed .main-navigation.is-open { display: flex; }



@media (max-width: 650px) {
    html { scroll-padding-top: 5.4rem; }
    .site-header__inner { min-height: 4.8rem; }
    .site-brand__names { font-size: .98rem; gap: .28rem; }
    .site-brand__label { font-size: .62rem; }
    .menu-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .site-status__inner { flex-direction: column; gap: .2rem; }
    .site-status__details summary { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.3rem .65rem; }
    .site-status__details summary small { grid-column:1/-1; }
    .site-footer__bottom { flex-direction: column; }
    .stage-ribbon { justify-content: flex-start; }
}

/* 0.39.66 – knapper Telefon-Querformatmodus ohne eigene Landscape-Konfiguration. */
@media (orientation: landscape) and (max-height: 500px) and (max-width: 950px) {
    html { scroll-padding-top: 5rem; }
    .site-header.is-navigation-collapsed .menu-toggle { gap:.4rem; padding:.42rem .58rem; }
    .menu-toggle__label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
    .site-header.is-navigation-collapsed .main-navigation { max-height:calc(100vh - 5.5rem); }
}

@media (max-width: 980px) {
    .site-footer__inner { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 650px) {
    .site-footer__inner { grid-template-columns: 1fr; }
}

/* Gemeinsame Body-Hülle für reguläre Inhaltsseiten */
.site-body--content {
    min-height: 55vh;
    background: var(--paper);
}

.main-navigation a[aria-current="page"] {
    color: var(--navigation-active-text-color);
    background: var(--navigation-active-background);
}

/* Datengetriebene Seitenkacheln */
.page-layout{box-sizing:border-box;width:100%;max-width:var(--template-max-width,2400px);margin-inline:auto;min-width:0;overflow-x:clip}.page-layout-area{box-sizing:border-box;max-width:100%}.page-layout-area__inner,.page-layout-column{box-sizing:border-box;min-width:0;max-width:100%}

/* Inhaltselemente */

.content-element--neutral{background:transparent;border:0;box-shadow:none}
.content-element--card{display:flex;flex-direction:column;box-sizing:border-box;min-height:var(--card-type-min-height,var(--card-min-height));padding:var(--card-type-padding,var(--card-padding));border:var(--card-type-border-width,var(--card-border-width)) var(--card-type-border-style,var(--card-foundation-border-style,solid)) var(--card-type-border-color,var(--card-foundation-border,var(--line)));border-radius:var(--card-type-radius,var(--card-radius));background:var(--card-type-background,var(--card-foundation-background,var(--paper)));color:var(--card-type-text-color,var(--card-foundation-text,var(--ink)));font-family:var(--card-type-font-family,var(--card-foundation-font-family,var(--font-body)));font-size:var(--card-type-font-size,var(--card-foundation-font-size,1rem));font-weight:var(--card-type-font-weight,var(--card-foundation-font-weight,400));line-height:var(--card-type-line-height,var(--card-foundation-line-height,var(--design-line-height)));box-shadow:var(--card-type-shadow,var(--card-foundation-shadow,none));transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.content-element--card>*{width:100%;min-width:0}
.content-element img{max-width:100%;height:auto}
.content-element>:first-child{margin-top:0}.content-element>:last-child{margin-bottom:0}

/* Hauptnavigation mit einer Untermenüebene */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.main-navigation__list,.submenu{list-style:none;margin:0;padding:0}.main-navigation__list{display:flex;align-items:center;gap:var(--navigation-item-gap)}.main-navigation__item{position:relative}.main-navigation__item-row{display:flex;align-items:center}.has-submenu>.main-navigation__item-row>a{padding-right:.28rem}.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2rem;width:2rem;height:2rem;margin-left:-.08rem;padding:0;border:0;border-radius:50%;background:transparent;color:currentColor;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .18s ease}.submenu-toggle:hover{color:var(--navigation-hover-text-color);background:var(--navigation-hover-background)}.submenu-toggle:focus-visible{color:var(--navigation-hover-text-color);background:var(--navigation-hover-background);outline:2px solid currentColor;outline-offset:2px}.submenu-toggle__icon{position:relative;display:block;width:.9rem;height:.9rem}.submenu-toggle__icon::before,.submenu-toggle__icon::after{content:"";position:absolute;top:50%;left:50%;width:.82rem;height:2px;border-radius:999px;background:currentColor;transform:translate(-50%,-50%);transition:transform .18s ease,opacity .18s ease}.submenu-toggle__icon::after{transform:translate(-50%,-50%) rotate(90deg)}.has-submenu.is-open>.main-navigation__item-row .submenu-toggle__icon::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scaleX(.2)}.submenu{display:none;position:absolute;z-index:30;top:100%;left:0;width:max-content;min-width:var(--submenu-min-width);max-width:min(22rem,calc(100vw - 1.5rem));overflow-y:auto;overscroll-behavior:contain;padding:var(--submenu-padding);background:var(--submenu-background);border:1px solid var(--submenu-border-color);border-radius:var(--submenu-radius);box-shadow:var(--submenu-shadow)}.has-submenu.submenu-align-end>.submenu{right:0;left:auto}.has-submenu.is-open>.submenu{display:block}.submenu a{display:block;white-space:normal;overflow-wrap:anywhere;color:var(--submenu-text-color)}.is-current-branch>.main-navigation__item-row>a{color:var(--navigation-active-text-color)}
/* Shared navigation component; only the active mobile layout swaps design tokens. */
.site-header.is-navigation-collapsed .menu-toggle{font-family:var(--mobile-navigation-font);font-size:var(--mobile-navigation-size);font-weight:var(--mobile-navigation-weight);border-radius:var(--mobile-navigation-radius)}
.site-header.is-navigation-collapsed .main-navigation{--navigation-font:var(--mobile-navigation-font);--navigation-size:var(--mobile-navigation-size);--navigation-weight:var(--mobile-navigation-weight);--navigation-letter-spacing:var(--mobile-navigation-letter-spacing);--navigation-item-gap:var(--mobile-navigation-item-gap);--navigation-padding-x:var(--mobile-navigation-padding-x);--navigation-padding-y:var(--mobile-navigation-padding-y);--navigation-radius:var(--mobile-navigation-radius);--navigation-text-color:var(--mobile-navigation-text-color);--navigation-hover-text-color:var(--mobile-navigation-hover-text-color);--navigation-hover-background:var(--mobile-navigation-hover-background);--navigation-active-text-color:var(--mobile-navigation-active-text-color);--navigation-active-background:var(--mobile-navigation-active-background);--submenu-background:var(--mobile-submenu-background);--submenu-text-color:var(--mobile-submenu-text-color);--submenu-border-color:var(--mobile-submenu-border-color);--submenu-radius:var(--mobile-submenu-radius);--submenu-padding:var(--mobile-submenu-padding);--submenu-min-width:var(--mobile-submenu-min-width);--submenu-shadow:var(--mobile-submenu-shadow)}
.site-header.is-navigation-collapsed .main-navigation__list{display:flex;flex-direction:column;align-items:stretch}.site-header.is-navigation-collapsed .main-navigation__item-row>a{flex:1}.site-header.is-navigation-collapsed .submenu-toggle{flex-basis:2.75rem;width:2.75rem;height:2.75rem;margin-left:0}.site-header.is-navigation-collapsed .submenu-toggle__icon{width:1rem;height:1rem}.site-header.is-navigation-collapsed .submenu-toggle__icon::before,.site-header.is-navigation-collapsed .submenu-toggle__icon::after{width:.95rem}.site-header.is-navigation-collapsed .submenu{position:static;box-shadow:none;margin:.15rem 0 .35rem .8rem}.site-header.is-navigation-collapsed .has-submenu.is-open>.submenu{display:block}.site-header.is-navigation-collapsed .main-navigation{
    display: none;
    position: absolute;
    top: 100%;
    right: 1rem;
    left: 1rem;
    flex-direction: column;
    align-items: stretch;
    padding: .6rem;
    border: var(--card-border-width) solid var(--line);
    border-radius: var(--submenu-radius);
    background: var(--mobile-menu-background);
    box-shadow: var(--submenu-shadow);
    font-size: var(--mobile-navigation-size);
    max-height: calc(100vh - 7rem);
    overflow-y: auto;
}

/* Zentrale Leistungsübersicht */
.services-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--grid-gap);
}
.service-card{position:relative;overflow:hidden;min-width:0}
.service-card h2{margin-top:0}
.service-card p:last-child{margin-bottom:0}



/* Zentral gepflegte Inhalte in Seitenbereichen */
.content-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}
.profile-card,.message-card{min-width:0}.profile-card{--profile-image-width:55%;--profile-image-max-height:520px;--profile-image-ratio:4 / 5;--profile-image-fit:cover;--profile-image-focus:center center;--profile-image-gap:1rem;--profile-image-render-width:var(--profile-image-width);--profile-layout-columns:minmax(0,1fr);--profile-layout-areas:"media" "head" "main";--profile-layout-column-gap:0rem;--profile-media-margin:0 0 var(--profile-image-gap);display:grid;grid-template-columns:var(--profile-layout-columns);grid-template-areas:var(--profile-layout-areas);column-gap:var(--profile-layout-column-gap);align-items:start;min-width:0}.profile-card__media{grid-area:media;box-sizing:border-box;min-width:0;max-width:100%;margin:var(--profile-media-margin)}.profile-card__head{grid-area:head;min-width:0}.profile-card__main{grid-area:main;min-width:0}.profile-card__image{display:block;width:var(--profile-image-render-width);max-width:100%;height:auto;max-height:var(--profile-image-max-height);aspect-ratio:var(--profile-image-ratio);object-fit:var(--profile-image-fit);object-position:var(--profile-image-focus);margin-inline:auto;border-radius:var(--card-radius)}.profile-card__head>:first-child,.profile-card__main>:first-child{margin-top:0}.content-image-placeholder{background:var(--soft);object-fit:contain!important;object-position:center!important}@media(min-width:641px){.profile-card:not(.profile-card--image-desktop){--profile-layout-columns:minmax(0,1fr)!important;--profile-layout-areas:"head" "main"!important;--profile-layout-column-gap:0rem!important}}@media(max-width:640px){.profile-card:not(.profile-card--image-mobile){--profile-layout-columns:minmax(0,1fr)!important;--profile-layout-areas:"head" "main"!important;--profile-layout-column-gap:0rem!important}}

@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Gemeinsame öffentliche Fehler- und Wartungsseiten */
.public-error {
  width: min(100%, var(--template-max-width, 1200px));
  margin-inline: auto;
  padding: clamp(2rem, 6vw, 5rem) var(--site-gutter, 1.25rem);
}
.public-error__card {
  max-width: 52rem;
  margin-inline: auto;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--line);
  border-radius: var(--card-radius, 1rem);
  background: var(--paper);
  box-shadow: var(--card-shadow, 0 12px 32px rgba(0,0,0,.08));
}
.public-error__status {
  margin: 0 0 .5rem;
  font-size: clamp(2rem, 8vw, 5rem);
  font-weight: 800;
  line-height: 1;
  opacity: .22;
}
.public-error__reference { margin-top: 1.25rem; }

/* Ruhige, eigenständige Darstellung der Wartungsseite */
.public-error--maintenance {
  display: grid;
  min-height: clamp(24rem, 58vh, 42rem);
  place-items: center;
}
.public-error--maintenance .public-error__card {
  position: relative;
  width: min(100%, 48rem);
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4.5rem);
  text-align: center;
  border-color: color-mix(in srgb, var(--line) 70%, transparent);
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--right-soft, #dceff0) 62%, transparent) 0, transparent 56%),
    var(--paper);
}
.public-error--maintenance .public-error__card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: .35rem;
  background: linear-gradient(90deg, var(--left, #2e7da1), var(--right, #31a6a1));
}
.public-error__maintenance-mark {
  display: inline-flex;
  align-items: end;
  justify-content: center;
  gap: .35rem;
  min-height: 2.5rem;
  margin-bottom: 1.25rem;
}
.public-error__maintenance-mark span {
  width: .45rem;
  border-radius: 999px;
  background: var(--right, #31a6a1);
  animation: public-maintenance-pulse 1.2s ease-in-out infinite;
}
.public-error__maintenance-mark span:nth-child(1) { height: 1.2rem; animation-delay: -.24s; }
.public-error__maintenance-mark span:nth-child(2) { height: 2rem; animation-delay: -.12s; }
.public-error__maintenance-mark span:nth-child(3) { height: 1.45rem; }
.public-error__eyebrow {
  margin: 0 0 .65rem;
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--right-dark, #227a78);
}
.public-error--maintenance h1 {
  max-width: 14ch;
  margin: 0 auto 1rem;
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 1.08;
}
.public-error__message {
  max-width: 42rem;
  margin: 0 auto;
  font-size: clamp(1rem, 2vw, 1.15rem);
  line-height: 1.7;
}
.public-error__action { margin-top: 1.5rem; }
@keyframes public-maintenance-pulse {
  0%, 100% { transform: scaleY(.72); opacity: .55; }
  50% { transform: scaleY(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } 
  .public-error__maintenance-mark span { animation: none; }
}

/* Inhaltselement-Darstellung 0.34.3 */
.content-element--align-left{text-align:left}
.content-element--align-center{text-align:center}
.content-element--align-right{text-align:right}
.content-element.content-element--spacing-compact{--card-type-padding:.75rem}
.content-element.content-element--spacing-generous{--card-type-padding:clamp(1.75rem,4vw,3rem)}
.content-element--neutral.content-element--spacing-compact{padding-block:.35rem}
.content-element--neutral.content-element--spacing-normal{padding-block:.75rem}
.content-element--neutral.content-element--spacing-generous{padding-block:clamp(1.5rem,3vw,2.5rem)}
.content-element--fill-height{height:100%}


/* Stabile Kachelgeometrie und platzierungsbezogene Abstände 0.34.4 */

.content-source-grid--single{display:block}
.content-source-grid--single>.service-card,.content-source-grid--single>.profile-card,.content-source-grid--single>.message-card{width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.content-element{
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
    --element-space-top: 0rem;
    --element-space-right: 0rem;
    --element-space-bottom: 0rem;
    --element-space-left: 0rem;
    width: calc(100% - var(--element-space-left) - var(--element-space-right));
    margin: var(--element-space-top) var(--element-space-right) var(--element-space-bottom) var(--element-space-left);
}
.content-element--margin-top-small{--element-space-top:.5rem}.content-element--margin-top-normal{--element-space-top:1rem}.content-element--margin-top-large{--element-space-top:2rem}
.content-element--margin-right-small{--element-space-right:.5rem}.content-element--margin-right-normal{--element-space-right:1rem}.content-element--margin-right-large{--element-space-right:2rem}
.content-element--margin-bottom-small{--element-space-bottom:.5rem}.content-element--margin-bottom-normal{--element-space-bottom:1rem}.content-element--margin-bottom-large{--element-space-bottom:2rem}
.content-element--margin-left-small{--element-space-left:.5rem}.content-element--margin-left-normal{--element-space-left:1rem}.content-element--margin-left-large{--element-space-left:2rem}


/* Kachelzustände: Grundform und Kacheltyp sind zentral, Platzierungen dürfen Schatten/Hover gezielt überschreiben. */
.content-element--card.content-element--shadow-none{--card-type-shadow:none}
.content-element--card.content-element--shadow-light{--card-type-shadow:var(--shadow-light)}
.content-element--card.content-element--shadow-medium{--card-type-shadow:var(--shadow-medium)}
.content-element--card.content-element--shadow-strong{--card-type-shadow:var(--shadow-strong)}
.content-element.content-element--hover-none{--card-hover-transform:none;--card-hover-shadow:var(--card-type-shadow,none);--card-hover-border-color:var(--card-type-border-color,var(--line))}
.content-element.content-element--hover-lift{--card-hover-transform:translateY(-.25rem);--card-hover-shadow:var(--shadow-hover);--card-hover-border-color:var(--card-type-border-color,var(--line))}
.content-element.content-element--hover-emphasize{--card-hover-transform:none;--card-hover-shadow:var(--shadow-hover);--card-hover-border-color:var(--right)}
@media (hover:hover){.content-element--card:hover{transform:var(--card-hover-transform,none);box-shadow:var(--card-hover-shadow,var(--card-type-shadow,none));border-color:var(--card-hover-border-color,var(--card-type-border-color,var(--line)))}}
@media (prefers-reduced-motion:reduce){.content-element--card{transition:none}.content-element--card:hover{transform:none}}
.content-image{margin:0;max-width:100%}
.content-image img{display:block;max-width:100%;height:auto;border-radius:var(--image-radius,0rem)}
.content-element--align-center .content-image img{margin-inline:auto}
.content-element--align-right .content-image img{margin-left:auto}
.content-image figcaption{margin-top:.5rem;font-size:.925em}

/* Leistungen: Übersicht und einzelne Leistung 0.35.28 */
.content-source-grid--services .service-card--overview{overflow:hidden}
.service-card--overview .service-card__image{display:block;max-width:none;object-fit:cover}

.service-detail>h2,.service-detail>p,.service-detail>.service-detail__body{margin-top:0}

.service-detail__body>:first-child{margin-top:0}
.service-detail__body>:last-child{margin-bottom:0}

/* Leistungsplatzierung: Bild und Inhaltsblöcke 0.35.30 */
.service-detail{
    display: grid;
    gap: var(--service-image-gap,1rem);
}
.service-detail__content{min-width:0}
.service-detail__content>h2{margin-top:0}
.service-detail__media{min-width:0}
.service-detail__image{
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: var(--card-radius);
}
.service-detail--image-gap-compact{--service-image-gap:.5rem}
.service-detail--image-gap-normal{--service-image-gap:1rem}
.service-detail--image-gap-generous{--service-image-gap:1.75rem}
.service-detail--body-gap-compact .service-detail__body{margin-top:.5rem}
.service-detail--body-gap-normal .service-detail__body{margin-top:1rem}
.service-detail--body-gap-generous .service-detail__body{margin-top:1.75rem}
.service-detail--image-width-very_small{--service-image-width:15%}
.service-detail--image-width-small{--service-image-width:25%}
.service-detail--image-width-medium{--service-image-width:40%}
.service-detail--image-width-large{--service-image-width:65%}
.service-detail--image-width-full{--service-image-width:100%}
.service-detail--image-top .service-detail__media{inline-size:var(--service-image-width,100%);max-inline-size:100%;justify-self:start}
.service-detail--image-left{grid-template-columns:minmax(0,var(--service-image-column,40%)) minmax(0,1fr);align-items:start}
.service-detail--image-right{grid-template-columns:minmax(0,1fr) minmax(0,var(--service-image-column,40%));align-items:start}
.service-detail--image-left.service-detail--image-width-very_small,.service-detail--image-right.service-detail--image-width-very_small{--service-image-column:15%}
.service-detail--image-left.service-detail--image-width-small,.service-detail--image-right.service-detail--image-width-small{--service-image-column:25%}
.service-detail--image-left.service-detail--image-width-medium,.service-detail--image-right.service-detail--image-width-medium{--service-image-column:40%}
.service-detail--image-left.service-detail--image-width-large,.service-detail--image-right.service-detail--image-width-large{--service-image-column:55%}
.service-detail--image-left.service-detail--image-width-full,.service-detail--image-right.service-detail--image-width-full{--service-image-column:50%}
.service-detail--image-left .service-detail__media,.service-detail--image-right .service-detail__media{inline-size:100%;max-inline-size:100%}
.service-detail--image-right .service-detail__media{grid-column:2;grid-row:1}
.service-detail--image-right .service-detail__content{grid-column:1;grid-row:1}
.service-detail--image-ratio-square .service-detail__image{aspect-ratio:1/1}
.service-detail--image-ratio-landscape .service-detail__image{aspect-ratio:4/3}
.service-detail--image-ratio-wide .service-detail__image{aspect-ratio:16/9}
.service-detail--image-ratio-square.service-detail--image-fit-cover .service-detail__image,
.service-detail--image-ratio-landscape.service-detail--image-fit-cover .service-detail__image,
.service-detail--image-ratio-wide.service-detail--image-fit-cover .service-detail__image{object-fit:cover}
.service-detail--image-ratio-square.service-detail--image-fit-contain .service-detail__image,
.service-detail--image-ratio-landscape.service-detail--image-fit-contain .service-detail__image,
.service-detail--image-ratio-wide.service-detail--image-fit-contain .service-detail__image{object-fit:contain;background:var(--soft)}
@media (max-width:700px){
  .service-detail--image-left,.service-detail--image-right{grid-template-columns:1fr}
  .service-detail--image-right .service-detail__media,.service-detail--image-right .service-detail__content{grid-column:auto;grid-row:auto}
  .service-detail--image-left .service-detail__media,.service-detail--image-right .service-detail__media{width:100%}
}

/* Leistungsübersicht: gemeinsames Raster-/Bildmodell 0.39.43 */
.services-overview{
    --services-image-width:40%;
    --services-image-column:40%;
    --services-image-gap:1rem;
    --services-content-gap:.85rem;
    display:grid;
    gap:var(--grid-gap);
    inline-size:100%;
    max-inline-size:none;
    margin-inline:0;
}
.services-overview .service-card--overview{display:grid;min-block-size:0;align-items:stretch;position:relative}
.services-overview .service-card__detail-link{position:absolute;inset:0;z-index:2;border-radius:inherit}
.services-overview .service-card__detail-link:focus-visible{outline:3px solid var(--right-dark);outline-offset:3px}
.frontend-display-editor--active .services-overview .service-card__detail-link{pointer-events:none}
/* 0.39.52 – auch einzeln platzierte Leistungskarten nutzen denselben kanonischen Detailseiten-Link. */
.content-element--service.content-element--card.content-element--service-linkable{position:relative}
.content-element--service.content-element--card.content-element--service-linked .service-card__detail-link{position:absolute;inset:0;z-index:2;border-radius:inherit}
.content-element--service.content-element--card.content-element--service-linked .service-card__detail-link:focus-visible{outline:3px solid var(--right-dark);outline-offset:3px}
.frontend-display-editor--active .content-element--service.content-element--card.content-element--service-linked .service-card__detail-link{pointer-events:none}
.content-element--service.content-element--card.content-element--service-linked .content-element__summary{position:relative;z-index:3}
.frontend-content-link-control{display:none}
.frontend-display-editor--active .frontend-content-link-control{display:inline-flex;position:absolute;top:.35rem;right:.35rem;z-index:6;align-items:center;justify-content:center;width:auto;min-width:0;min-height:0;padding:.2rem .42rem;border:1px solid color-mix(in srgb,var(--right-dark) 65%,transparent);border-radius:.35rem;background:color-mix(in srgb,var(--paper) 92%,transparent);color:var(--ink);font:600 .68rem/1 var(--font-body);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.frontend-display-editor--active .frontend-content-link-control:hover{background:var(--paper)}
.services-overview .service-card__content{min-width:0;display:grid;align-content:start;gap:var(--services-content-gap)}
.services-overview .service-card__content>h3,.services-overview .service-card__content>p{margin:0}
.services-overview--content-gap-compact{--services-content-gap:.5rem}
.services-overview--content-gap-normal{--services-content-gap:.85rem}
.services-overview--content-gap-generous{--services-content-gap:1.5rem}
.services-overview--content-align-top .service-card__content{align-self:start}
.services-overview--content-align-center .service-card__content{align-self:center}
.services-overview--content-align-bottom .service-card__content{align-self:end}
.services-overview--image-gap-compact{--services-image-gap:.5rem}
.services-overview--image-gap-normal{--services-image-gap:1rem}
.services-overview--image-gap-generous{--services-image-gap:1.75rem}
.services-overview--image-width-very_small{--services-image-width:15%;--services-image-column:15%}
.services-overview--image-width-small{--services-image-width:25%;--services-image-column:25%}
.services-overview--image-width-medium{--services-image-width:40%;--services-image-column:40%}
.services-overview--image-width-large{--services-image-width:65%;--services-image-column:55%}
.services-overview--image-width-full{--services-image-width:100%;--services-image-column:50%}
.services-overview .service-card__media{min-width:0;overflow:hidden;border-radius:calc(var(--card-radius) * .72);align-self:start}
.services-overview .service-card__image{display:block;width:100%;max-width:none;height:auto;object-position:50% 50%}
.services-overview--image-focus-top .service-card__image{object-position:50% 0%}
.services-overview--image-focus-bottom .service-card__image{object-position:50% 100%}
.services-overview--image-focus-left .service-card__image{object-position:0% 50%}
.services-overview--image-focus-right .service-card__image{object-position:100% 50%}
.services-overview--image-ratio-square .service-card__image{aspect-ratio:1/1}
.services-overview--image-ratio-landscape .service-card__image{aspect-ratio:4/3}
.services-overview--image-ratio-wide .service-card__image{aspect-ratio:16/9}
.services-overview--image-ratio-original .service-card__image{aspect-ratio:auto}
.services-overview--image-fit-cover .service-card__image{object-fit:cover;background:transparent}
.services-overview--image-fit-contain .service-card__image{object-fit:contain;background:var(--soft)}
.services-overview--image-top .service-card--has-image{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:var(--services-image-gap)}
.services-overview--image-top .service-card__media{grid-column:1;grid-row:1;inline-size:var(--services-image-width);max-inline-size:100%;justify-self:start}
.services-overview--image-top .service-card__content{grid-column:1;grid-row:2}
.services-overview--image-left .service-card--has-image{grid-template-columns:minmax(0,var(--services-image-column)) minmax(0,1fr);grid-template-rows:auto;gap:var(--services-image-gap)}
.services-overview--image-left .service-card__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
.services-overview--image-left .service-card__content{grid-column:2;grid-row:1}
.services-overview--image-right .service-card--has-image{grid-template-columns:minmax(0,1fr) minmax(0,var(--services-image-column));grid-template-rows:auto;gap:var(--services-image-gap)}
.services-overview--image-right .service-card__media{grid-column:2;grid-row:1;inline-size:100%;max-inline-size:100%}
.services-overview--image-right .service-card__content{grid-column:1;grid-row:1}
@media(min-width:641px){
    .services-overview .service-card--desktop-contentless.service-card--has-image{grid-template-columns:1fr;grid-template-rows:auto}
    .services-overview .service-card--desktop-contentless .service-card__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
}
@media(max-width:640px){
    .services-overview--mobile-content-gap-compact{--services-content-gap:.5rem}
    .services-overview--mobile-content-gap-normal{--services-content-gap:.85rem}
    .services-overview--mobile-content-gap-generous{--services-content-gap:1.5rem}
    .services-overview--mobile-content-align-top .service-card__content{align-self:start}
    .services-overview--mobile-content-align-center .service-card__content{align-self:center}
    .services-overview--mobile-content-align-bottom .service-card__content{align-self:end}
    .services-overview--mobile-image-gap-compact{--services-image-gap:.5rem}
    .services-overview--mobile-image-gap-normal{--services-image-gap:1rem}
    .services-overview--mobile-image-gap-generous{--services-image-gap:1.75rem}
    .services-overview--mobile-image-width-very_small{--services-image-width:15%;--services-image-column:15%}
    .services-overview--mobile-image-width-small{--services-image-width:25%;--services-image-column:25%}
    .services-overview--mobile-image-width-medium{--services-image-width:40%;--services-image-column:40%}
    .services-overview--mobile-image-width-large{--services-image-width:65%;--services-image-column:55%}
    .services-overview--mobile-image-width-full{--services-image-width:100%;--services-image-column:50%}
    .services-overview--mobile-image-focus-center .service-card__image{object-position:50% 50%}
    .services-overview--mobile-image-focus-top .service-card__image{object-position:50% 0%}
    .services-overview--mobile-image-focus-bottom .service-card__image{object-position:50% 100%}
    .services-overview--mobile-image-focus-left .service-card__image{object-position:0% 50%}
    .services-overview--mobile-image-focus-right .service-card__image{object-position:100% 50%}
    .services-overview--mobile-image-ratio-square .service-card__image{aspect-ratio:1/1}
    .services-overview--mobile-image-ratio-landscape .service-card__image{aspect-ratio:4/3}
    .services-overview--mobile-image-ratio-wide .service-card__image{aspect-ratio:16/9}
    .services-overview--mobile-image-ratio-original .service-card__image{aspect-ratio:auto}
    .services-overview--mobile-image-fit-cover .service-card__image{object-fit:cover;background:transparent}
    .services-overview--mobile-image-fit-contain .service-card__image{object-fit:contain;background:var(--soft)}
    .services-overview--mobile-image-top .service-card--has-image{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:var(--services-image-gap)}
    .services-overview--mobile-image-top .service-card__media{grid-column:1;grid-row:1;inline-size:var(--services-image-width);max-inline-size:100%;justify-self:start}
    .services-overview--mobile-image-top .service-card__content{grid-column:1;grid-row:2}
    .services-overview--mobile-image-left .service-card--has-image{grid-template-columns:minmax(0,var(--services-image-column)) minmax(0,1fr);grid-template-rows:auto;gap:var(--services-image-gap)}
    .services-overview--mobile-image-left .service-card__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
    .services-overview--mobile-image-left .service-card__content{grid-column:2;grid-row:1}
    .services-overview--mobile-image-right .service-card--has-image{grid-template-columns:minmax(0,1fr) minmax(0,var(--services-image-column));grid-template-rows:auto;gap:var(--services-image-gap)}
    .services-overview--mobile-image-right .service-card__media{grid-column:2;grid-row:1;inline-size:100%;max-inline-size:100%}
    .services-overview--mobile-image-right .service-card__content{grid-column:1;grid-row:1}
    .services-overview .service-card--mobile-contentless.service-card--has-image{grid-template-columns:1fr;grid-template-rows:auto}
    .services-overview .service-card--mobile-contentless .service-card__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
}

/* Praxisformulare – Grundgerüst 0.36.41 */
.praxis-form{display:grid;gap:1rem;inline-size:100%}
.praxis-form>h2{margin:0}
.praxis-form__intro,.praxis-form__notice,.praxis-form__stage-note{margin:0}
.praxis-form__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.praxis-form__field{display:grid;gap:.35rem;min-width:0;font-weight:600}
.praxis-form__field input,.praxis-form__field textarea{inline-size:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:.55rem;padding:.72rem .8rem;background:var(--paper);color:var(--ink)}
.praxis-form__field--textarea{grid-column:1/-1}
.praxis-form__field small{font-weight:400;color:var(--muted)}
.praxis-form__notice{padding:.8rem 1rem;border-radius:.6rem;background:var(--soft)}
.praxis-form__stage-note{font-size:.86rem;color:var(--muted)}
@media(max-width:700px){.praxis-form__fields{grid-template-columns:1fr}}
.praxis-form__honeypot{position:absolute!important;inline-size:1px!important;block-size:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.praxis-form__submit{justify-self:start}
.praxis-form__status{margin:0;min-block-size:1.4em}
.praxis-form__status.is-success{font-weight:600}
.praxis-form__status.is-error{font-weight:600}

/* Terminanfrage: kompakte und mobilfreundliche Auswahl, keine Uhrzeiten. */
.praxis-form__fields:has([data-praxis-appointment]){grid-template-columns:minmax(0,1fr);gap:1.15rem}
.praxis-form__appointment{display:grid;gap:1rem;max-inline-size:740px}
.praxis-form__section{display:grid;gap:.75rem;border:1px solid var(--line);border-radius:.85rem;padding:1rem;min-inline-size:0}
.praxis-form__section legend{font-weight:700;padding:0 .3rem}
.praxis-form__field select{inline-size:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:.55rem;padding:.72rem .8rem;background:var(--paper);color:var(--ink);font:inherit;min-block-size:44px}
.praxis-form__slot-grid{display:grid;grid-template-columns:minmax(85px,1.2fr) repeat(2,minmax(0,1fr));gap:.4rem;align-items:stretch}
.praxis-form__slot-head{font-size:.8rem;text-align:center;font-weight:600;align-self:center}
.praxis-form__slot-day{font-weight:600;font-size:.86rem;align-self:center}
.praxis-form__slot{position:relative;min-block-size:44px;cursor:pointer;display:grid;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:.55rem;background:var(--paper);color:var(--ink);user-select:none}
.praxis-form__slot input{position:absolute;inset:0;inline-size:100%;block-size:100%;opacity:0;cursor:pointer;margin:0}
.praxis-form__slot span[aria-hidden="true"]{opacity:.23;font-weight:700;font-size:1.1rem}
.praxis-form__slot:has(input:checked){background:var(--soft);border-color:currentColor}
.praxis-form__slot:has(input:checked) span[aria-hidden="true"]{opacity:1}
.praxis-form__slot:has(input:focus-visible){outline:3px solid currentColor;outline-offset:2px}
.praxis-form__slot-disabled{display:grid;align-items:center;justify-content:center;min-block-size:44px;border-radius:.55rem;background:var(--soft);color:var(--muted)}
.praxis-form__identity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.praxis-form__dob{grid-column:1/-1;min-inline-size:0;border:0;padding:0;margin:0}
.praxis-form__dob legend{padding:0;margin-bottom:.35rem;font-weight:600}
.praxis-form__dob-fields{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:.5rem;max-inline-size:400px}
.praxis-form__dob-fields .praxis-form__field span{font-size:.83rem}
.praxis-form__appointment-note{max-inline-size:740px}
.praxis-form__appointment-note textarea{min-block-size:82px}
@media(max-width:500px){.praxis-form__section{padding:.8rem}.praxis-form__identity-fields{grid-template-columns:1fr}.praxis-form__slot-grid{grid-template-columns:minmax(67px,1.1fr) repeat(2,minmax(0,1fr));gap:.3rem}.praxis-form__slot-head{font-size:.72rem}.praxis-form__slot-day{font-size:.8rem}}


/* Patienten-Terminanfrage: gefuehrtes Dreischrittformular, nur Darstellung.
   Bestehende Feldnamen und Form-Submit werden nicht geaendert. */
.praxis-form:has([data-praxis-wizard]){max-inline-size:960px}
.praxis-form__fields:has([data-praxis-wizard]){display:flex;flex-direction:column;gap:1.1rem;inline-size:100%;min-inline-size:0}
.praxis-form__appointment[data-praxis-wizard]{max-inline-size:none;inline-size:100%;min-inline-size:0;gap:1.1rem}
.praxis-form__appointment[data-praxis-wizard] [hidden],
.praxis-form__fields:has([data-praxis-wizard]) > [hidden]{display:none!important}
.praxis-form__wizard-progress{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;padding:0}
.praxis-form__wizard-progress li{display:flex;align-items:center;gap:.5rem;min-inline-size:0;padding:.65rem .75rem;border-radius:.7rem;background:var(--soft);color:var(--muted);font-size:.92rem;line-height:1.2}
.praxis-form__wizard-progress li span{display:inline-grid;place-items:center;flex-shrink:0;inline-size:1.75rem;block-size:1.75rem;border-radius:50%;border:1px solid var(--line);background:var(--paper);font-weight:700}
.praxis-form__wizard-progress li[aria-current="step"]{background:var(--ink);color:var(--paper);font-weight:700}
.praxis-form__wizard-progress li[aria-current="step"] span{background:var(--paper);color:var(--ink);border-color:transparent}
.praxis-form__wizard-progress li.is-complete span{border-color:var(--ink);color:var(--ink)}
.praxis-form__wizard-step{display:grid;gap:1rem;min-inline-size:0}
.praxis-form__wizard-step>h3{margin:0;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.3}
.praxis-form__wizard-step>h3:focus{outline:none}
.praxis-form__wizard-step .praxis-form__section{padding:1.1rem;border-radius:.8rem}
.praxis-form__wizard-step .praxis-form__field{font-size:1rem}
.praxis-form__wizard-step .praxis-form__stage-note{font-size:1.05rem;line-height:1.5;color:var(--ink);font-weight:550}
.praxis-form__wizard-step .praxis-form__field input,
.praxis-form__wizard-step .praxis-form__field select,
.praxis-form__wizard-step .praxis-form__field textarea{min-block-size:48px;font-size:1rem}
.praxis-form__wizard-step .praxis-form__slot{min-block-size:50px;border:2px solid #a9b7c0;background:var(--paper);color:var(--ink);transition:background-color .12s,border-color .12s}
.praxis-form__wizard-step .praxis-form__slot .praxis-form__slot-off{display:block;opacity:1;font-size:.92rem;font-weight:650}
.praxis-form__wizard-step .praxis-form__slot .praxis-form__slot-on{display:none}
.praxis-form__wizard-step .praxis-form__slot:has(input:checked){background:var(--ink);color:var(--paper);border-color:var(--ink)}
.praxis-form__wizard-step .praxis-form__slot:has(input:checked) .praxis-form__slot-off{display:none}
.praxis-form__wizard-step .praxis-form__slot:has(input:checked) .praxis-form__slot-on{display:block;opacity:1;font-size:.92rem;font-weight:800}
.praxis-form__wizard-step .praxis-form__slot:has(input:focus-visible){outline:3px solid #087e85;outline-offset:3px}
.praxis-form__wizard-step .praxis-form__slot-disabled{min-block-size:50px}
.praxis-form__wizard-step .praxis-form__slot-head,.praxis-form__wizard-step .praxis-form__slot-day{font-size:.95rem}
.praxis-form__wizard-step .praxis-form__dob-fields{max-inline-size:440px}
.praxis-form__wizard-step .praxis-form__appointment-note{max-inline-size:none}
.praxis-form__wizard-nav{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-block-size:52px}
.praxis-form__wizard-nav button,.praxis-form__fields:has([data-praxis-wizard]) .praxis-form__submit{min-block-size:48px;min-inline-size:140px;border-radius:.6rem;padding:.65rem 1.1rem;font:700 1rem var(--font-body);cursor:pointer}
.praxis-form__wizard-back{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.praxis-form__wizard-next{margin-inline-start:auto;background:var(--ink);color:var(--paper);border:1px solid var(--ink)}
.praxis-form__wizard-summary{padding:1rem;background:var(--soft);border-radius:.8rem}
.praxis-form__wizard-summary h4{margin:0 0 .65rem;font-size:1.1rem}
.praxis-form__wizard-summary dl{margin:0;display:grid;gap:.6rem}
.praxis-form__wizard-summary dl>div{display:grid;grid-template-columns:minmax(90px,.3fr) minmax(0,1fr);gap:.8rem}
.praxis-form__wizard-summary dt{font-weight:700}
.praxis-form__wizard-summary dd{margin:0;overflow-wrap:anywhere}
.praxis-form__wizard-summary p{margin:.85rem 0 0;font-size:.9rem;color:var(--muted)}
.praxis-form__fields:has([data-praxis-wizard]) .praxis-form__submit{background:var(--ink);color:var(--paper);border:1px solid var(--ink);align-self:flex-start}
.praxis-form__wizard-error{margin:0;color:#aa2121;font-weight:650}
.praxis-form__fields:has([data-praxis-wizard]) .praxis-form__status.is-success{padding:1rem;border-radius:.7rem;background:var(--soft);font-size:1.05rem}
@media(max-width:620px){
  .praxis-form__wizard-progress li{flex-direction:column;align-items:center;text-align:center;padding:.6rem .2rem;font-size:.78rem}
  .praxis-form__wizard-step .praxis-form__section{padding:.85rem}
  .praxis-form__wizard-step .praxis-form__slot-grid{grid-template-columns:minmax(62px,1.1fr) repeat(2,minmax(0,1fr));gap:.35rem}
  .praxis-form__wizard-step .praxis-form__slot-head,.praxis-form__wizard-step .praxis-form__slot-day{font-size:.78rem}
  .praxis-form__wizard-step .praxis-form__slot .praxis-form__slot-off,.praxis-form__wizard-step .praxis-form__slot:has(input:checked) .praxis-form__slot-on{font-size:.78rem}
  .praxis-form__wizard-summary dl>div{grid-template-columns:1fr;gap:.1rem}
}

/* 0.37.0 – formatierter ausführlicher Profiltext. */
.profile-card__body{margin-top:.8rem}.profile-card__body>:first-child{margin-top:0}.profile-card__body>:last-child{margin-bottom:0}

/* Frontend-Darstellungseditor: nur für serverseitig autorisierte Admins gerendert. */
.frontend-editor-toolbar{
    position:fixed;
    right:1rem;
    bottom:1rem;
    z-index:10000;
    display:flex;
    align-items:center;
    gap:.45rem;
    padding:.45rem;
    border:1px solid var(--line);
    border-radius:.7rem;
    background:var(--paper);
    box-shadow:0 .35rem 1.2rem rgba(0,0,0,.16);
}
.frontend-editor-toolbar__toggle,
.frontend-editor-toolbar__link{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:2.35rem;
    padding:.45rem .75rem;
    border:1px solid var(--line);
    border-radius:.5rem;
    background:var(--paper);
    color:var(--ink);
    font:inherit;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    cursor:pointer;
}
.frontend-editor-toolbar__toggle[aria-pressed="true"]{
    border-color:var(--success);
    background:var(--success);
    color:#fff;
}
.frontend-editor-toolbar__logout{margin:0}
.frontend-editor-toolbar__logout-button{width:auto}
.frontend-editor-toolbar__compact-toggle{display:none;appearance:none;align-items:center;justify-content:center;min-height:2.2rem;padding:.42rem .65rem;border:1px solid var(--line);border-radius:.5rem;background:var(--paper);color:var(--ink);font:inherit;font-weight:800;line-height:1;cursor:pointer}
.frontend-display-editor--active [data-editor-placement-id]{
    position:relative;
    outline:2px dashed var(--right);
    outline-offset:3px;
}
.frontend-display-editor--active [data-editor-placement-id]::after{
    content:"Darstellung";
    position:absolute;
    top:.35rem;
    right:.35rem;
    z-index:3;
    padding:.22rem .4rem;
    border-radius:.35rem;
    background:var(--right-dark);
    color:#fff;
    font-size:.72rem;
    font-weight:800;
    line-height:1;
    pointer-events:none;
}
@media(max-width:640px){
    .frontend-editor-toolbar{right:.5rem;bottom:.5rem;left:.5rem;justify-content:flex-end;flex-wrap:wrap}
}

@media (orientation:landscape) and (max-height:500px) and (max-width:950px){
    .frontend-editor-toolbar{right:.5rem;bottom:.5rem;left:auto;max-width:calc(100vw - 1rem);justify-content:flex-end;flex-wrap:wrap;padding:.32rem;gap:.3rem;border-radius:.6rem}
    .frontend-editor-toolbar__compact-toggle{display:inline-flex}
    .frontend-editor-toolbar:not(.is-compact-expanded)>:not(.frontend-editor-toolbar__compact-toggle){display:none!important}
    .frontend-editor-toolbar.is-compact-expanded{left:.5rem}
    .frontend-editor-toolbar.is-compact-expanded .frontend-editor-toolbar__device{order:-1;flex:1 0 100%;justify-content:center}
    .frontend-editor-toolbar.is-compact-expanded .frontend-editor-toolbar__device-button{flex:1}
    .frontend-editor-toolbar.is-compact-expanded .frontend-editor-toolbar__viewport{flex:1 1 auto}
    .frontend-editor-toolbar.is-compact-expanded .frontend-editor-toolbar__viewport-range{min-width:9rem}
    .frontend-editor-toolbar.is-compact-expanded .frontend-editor-toolbar__viewport-presets{display:none}
}

/* Frontend-Darstellungseditor: Editorfläche liegt über dem nicht editierbaren Header. */
.frontend-display-dock{position:fixed;top:0;left:0;right:0;height:auto;z-index:10020;background:#f6f9fa;border-bottom:1px solid var(--line);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.16)}
.frontend-display-dock[hidden]{display:none}
.frontend-display-dock--collapsed{height:2.75rem;overflow:hidden}
.frontend-display-dock__frame{display:block;width:100%;max-height:none;border:0;background:#f6f9fa}
.frontend-display-dock--collapsed .frontend-display-dock__frame{height:2.75rem}
.frontend-display-editor--active [data-editor-placement-id]{cursor:pointer}
.frontend-display-editor--active [data-editor-placement-id].frontend-display-editor__placement--selected{outline:none!important;outline-offset:0!important;cursor:default}
.frontend-display-editor--active [data-editor-placement-id].frontend-display-editor__placement--selected::after{display:none!important;content:none!important}


/* 0.38.33 – Frontend-Darstellungseditor: kontextbezogene Gruppen statt dauerhaftem Großformular. */
.frontend-display-contextbar{
    position:fixed;
    z-index:10019;
    display:flex;
    align-items:center;
    gap:.25rem;
    max-width:min(44rem,calc(100vw - 1.25rem));
    padding:.28rem;
    overflow-x:auto;
    border:1px solid var(--line);
    border-radius:.55rem;
    background:rgba(255,255,255,.97);
    box-shadow:0 .35rem 1rem rgba(0,0,0,.14);
    scrollbar-width:thin;
}
.frontend-display-contextbar[hidden]{display:none}
.frontend-display-contextbar__button{
    appearance:none;
    flex:0 0 auto;
    min-height:1.9rem;
    padding:.3rem .5rem;
    border:1px solid #b9cbd2;
    border-radius:.4rem;
    background:#fff;
    color:#173b47;
    font:inherit;
    font-size:.72rem;
    font-weight:750;
    cursor:pointer;
}
.frontend-display-contextbar__button:hover{background:#eef5f6}
.frontend-display-contextbar__button.is-active{border-color:#008b92;background:#e6f6f5;color:#005e64}
.frontend-display-dock--contextual{
    right:auto;
    bottom:auto;
    width:min(34rem,calc(100vw - 1.25rem));
    max-height:calc(100vh - 1.25rem);
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:.65rem;
    box-shadow:0 .65rem 1.8rem rgba(0,0,0,.2);
}
.frontend-display-dock--contextual .frontend-display-dock__frame{
    width:100%;
    max-height:calc(100vh - 1.5rem);
    background:#f6f9fa;
}
.frontend-display-dock--contextual.frontend-display-dock--collapsed{width:min(34rem,calc(100vw - 1.25rem));height:2.75rem}
@media(max-width:700px){
    .frontend-display-dock--contextual{width:calc(100vw - 1rem)}
    .frontend-display-contextbar{max-width:calc(100vw - 1rem)}
}

/* 0.38.35 – hierarchischer Frontend-Editor: Hauptelement -> Unterelemente. */
.frontend-display-editor--active [data-editor-placement-id]::after{content:"Bearbeiten"}
.frontend-element-editor-bar{
    position:fixed;z-index:10018;display:flex;align-items:center;gap:.45rem;padding:.28rem;
    border:1px solid var(--line);border-radius:.5rem;background:rgba(255,255,255,.98);box-shadow:0 .3rem .9rem rgba(0,0,0,.13)
}
.frontend-element-editor-bar[hidden]{display:none}
.frontend-element-editor-bar__button{appearance:none;min-height:1.9rem;padding:.3rem .55rem;border:1px solid #b9cbd2;border-radius:.4rem;background:#fff;color:#173b47;font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}
.frontend-element-editor-bar__button:hover{background:#eef5f6}
.frontend-element-editor-bar__button--danger{border-color:#d9a7a7;background:#fff7f7;color:#8f1f1f}
.frontend-element-editor-bar__button--danger:hover{border-color:#c56f6f;background:#fdeaea}
.frontend-element-editor-bar__button--danger:disabled{cursor:wait;opacity:.65}
.frontend-element-editor-bar__hint{color:#536971;font-size:.7rem;white-space:nowrap}
.frontend-display-editor--active .frontend-display-editor__placement--selected [data-editor-content-part]{position:relative;cursor:pointer;outline:1px dashed rgba(0,139,146,.58);outline-offset:2px}
.frontend-display-editor--active [data-editor-content-part]:not([data-editor-placement-id] [data-editor-content-part]){position:relative;cursor:pointer;outline:1px dashed rgba(0,139,146,.58);outline-offset:2px}
.frontend-display-editor--active [data-editor-content-part]:not([data-editor-placement-id] [data-editor-content-part]):hover{outline:2px solid var(--right);outline-offset:3px}

.frontend-display-editor--active .frontend-display-editor__placement--selected [data-editor-content-part]:hover{outline:2px solid var(--right);outline-offset:3px}
.frontend-display-editor--active .frontend-display-editor__placement--selected [data-editor-content-part]::after{content:attr(data-editor-content-label);position:absolute;z-index:8;top:.15rem;right:.15rem;padding:.18rem .32rem;border-radius:.3rem;background:var(--right-dark);color:#fff;font-size:.66rem;font-weight:800;line-height:1;pointer-events:none;opacity:0}
.frontend-display-editor--active .frontend-display-editor__placement--selected [data-editor-content-part]:hover::after,.frontend-content-editor__part--selected::after{opacity:1!important}
.frontend-content-editor__part--selected{outline:2px solid var(--right)!important;outline-offset:3px!important}
.frontend-display-editor--active [data-editor-footer-part]{position:relative;cursor:pointer;outline:1px dashed rgba(0,139,146,.58);outline-offset:2px}
.frontend-display-editor--active [data-editor-footer-part]:hover{outline:2px solid var(--right);outline-offset:3px}
.frontend-display-editor--active [data-editor-footer-part]::after{content:attr(data-editor-footer-label);position:absolute;z-index:8;top:.15rem;right:.15rem;padding:.18rem .32rem;border-radius:.3rem;background:var(--right-dark);color:#fff;font-size:.66rem;font-weight:800;line-height:1;pointer-events:none;opacity:0}
.frontend-display-editor--active [data-editor-footer-part]:hover::after,.frontend-display-editor--active [data-editor-footer-part].frontend-content-editor__part--selected::after{opacity:1}
.frontend-content-dock{position:fixed;z-index:10022;width:min(32rem,calc(100vw - 1.25rem));max-height:calc(100vh - 1.25rem);overflow:hidden;border:1px solid var(--line);border-radius:.65rem;background:#f6f9fa;box-shadow:0 .65rem 1.8rem rgba(0,0,0,.2)}
.frontend-content-dock[hidden]{display:none}
.frontend-content-dock__frame{display:block;width:100%;max-height:calc(100vh - 1.5rem);border:0;background:#f6f9fa}
@media(max-width:700px){.frontend-content-dock{width:calc(100vw - 1rem)}.frontend-element-editor-bar__hint{display:none}}

/* 0.39.8: ein globaler Darstellungsmodus im Frontend-Editor. */
.frontend-editor-toolbar__device{display:inline-flex;align-items:center;padding:.2rem;border:1px solid var(--line);border-radius:.55rem;background:var(--soft);gap:.15rem}
.frontend-editor-toolbar__device-button{appearance:none;border:0;border-radius:.4rem;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:800;line-height:1;padding:.48rem .6rem;cursor:pointer}
.frontend-editor-toolbar__device-button.is-active{background:var(--right-dark);color:#fff}
@media(max-width:640px){.frontend-editor-toolbar__device{order:-1;flex:1 0 100%;justify-content:center}.frontend-editor-toolbar__device-button{flex:1}}
.frontend-editor-toolbar:not(.is-active) .frontend-editor-toolbar__device{display:none}

/* 0.39.61 – echte, stufenlos einstellbare Mobile-Viewport-Vorschau im Frontend-Editor. */
.frontend-editor-toolbar__viewport{display:none;align-items:stretch;gap:.35rem}
.frontend-editor-toolbar.is-active[data-frontend-editor-device-mode="mobile"] .frontend-editor-toolbar__viewport{display:flex}
.frontend-editor-toolbar__viewport-range{display:grid;gap:.15rem;min-width:12rem;padding:.28rem .4rem;border:1px solid var(--line);border-radius:.45rem;background:var(--soft);color:var(--ink);font-size:.68rem;font-weight:750}
.frontend-editor-toolbar__viewport-range>span{display:flex;justify-content:space-between;gap:.6rem;white-space:nowrap}
.frontend-editor-toolbar__viewport-range output{font-variant-numeric:tabular-nums}
.frontend-editor-toolbar__viewport-range input{width:100%;margin:0}
.frontend-editor-toolbar__viewport-presets{display:flex;align-items:center;gap:.18rem}
.frontend-editor-toolbar__viewport-presets button{appearance:none;min-width:2.35rem;min-height:2.1rem;padding:.25rem .38rem;border:1px solid var(--line);border-radius:.38rem;background:var(--paper);color:var(--muted);font:inherit;font-size:.68rem;font-weight:800;cursor:pointer}
.frontend-editor-toolbar__viewport-presets button:hover{background:var(--soft)}
.frontend-editor-toolbar__viewport-presets button.is-active{border-color:var(--right-dark);background:var(--right-dark);color:#fff}
.frontend-mobile-preview-shell{position:fixed;inset:0;z-index:9000;overflow:hidden;background:#dfe6e9}
.frontend-mobile-preview-shell[hidden]{display:none}
.frontend-mobile-preview-stage{position:absolute;top:.75rem;bottom:.75rem;left:calc((100vw - min(34rem,42vw))/2);width:var(--frontend-mobile-viewport-width,390px);transform:translateX(-50%);background:#fff;box-shadow:0 .6rem 2rem rgba(0,0,0,.22)}
.frontend-mobile-preview-frame{display:block;width:100%;height:100%;border:0;background:#fff}
.frontend-mobile-preview-resize{position:absolute;z-index:2;top:0;right:-.65rem;width:1.3rem;height:100%;cursor:ew-resize;touch-action:none;outline:none}
.frontend-mobile-preview-resize::after{content:"";position:absolute;top:50%;left:50%;width:.28rem;height:4.5rem;transform:translate(-50%,-50%);border-radius:999px;background:#6f858e;box-shadow:0 0 0 1px rgba(255,255,255,.8)}
.frontend-mobile-preview-resize:hover::after,.frontend-mobile-preview-resize:focus-visible::after,.frontend-mobile-preview--resizing .frontend-mobile-preview-resize::after{background:var(--right-dark)}
.frontend-mobile-preview--active{overflow:hidden}
.frontend-mobile-preview--resizing,.frontend-mobile-preview--resizing *{cursor:ew-resize!important;user-select:none!important}
@media(max-width:980px){.frontend-mobile-preview-stage{left:50%}.frontend-editor-toolbar__viewport-presets{display:none}}

/* 0.39.8 – strikt getrennte Desktop/Tablet- und Mobile-Darstellung */
.display-hide-all{display:none!important}
@media(min-width:641px){.display-hide-desktop{display:none!important}}
@media(max-width:640px){.display-hide-mobile{display:none!important}}

.service-detail__content{display:flex;flex-direction:column}
.service-detail__content>h2{order:0}
.service-detail__intro{order:2}
.service-detail__appointment{order:4}
.service-detail--body-desktop-before_intro .service-detail__body{order:1}
.service-detail--body-desktop-after_intro .service-detail__body{order:3}
.service-detail--body-desktop-end .service-detail__body{order:5}

@media(max-width:640px){
  .service-detail--mobile-image-gap-compact{--service-image-gap:.5rem}
  .service-detail--mobile-image-gap-normal{--service-image-gap:1rem}
  .service-detail--mobile-image-gap-generous{--service-image-gap:1.75rem}
  .service-detail--mobile-body-gap-compact .service-detail__body{margin-top:.5rem}
  .service-detail--mobile-body-gap-normal .service-detail__body{margin-top:1rem}
  .service-detail--mobile-body-gap-generous .service-detail__body{margin-top:1.75rem}
  .service-detail--mobile-image-width-very_small{--service-image-width:15%;--service-image-column:15%}
  .service-detail--mobile-image-width-small{--service-image-width:25%;--service-image-column:25%}
  .service-detail--mobile-image-width-medium{--service-image-width:40%;--service-image-column:40%}
  .service-detail--mobile-image-width-large{--service-image-width:65%;--service-image-column:55%}
  .service-detail--mobile-image-width-full{--service-image-width:100%;--service-image-column:50%}
  .service-detail--mobile-image-top{grid-template-columns:1fr}
  .service-detail--mobile-image-top .service-detail__media{grid-column:auto;grid-row:auto;inline-size:var(--service-image-width,100%);max-inline-size:100%;justify-self:start}
  .service-detail--mobile-image-left{grid-template-columns:minmax(0,var(--service-image-column,40%)) minmax(0,1fr);align-items:start}
  .service-detail--mobile-image-right{grid-template-columns:minmax(0,1fr) minmax(0,var(--service-image-column,40%));align-items:start}
  .service-detail--mobile-image-left .service-detail__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
  .service-detail--mobile-image-left .service-detail__content{grid-column:2;grid-row:1}
  .service-detail--mobile-image-right .service-detail__media{grid-column:2;grid-row:1;inline-size:100%;max-inline-size:100%}
  .service-detail--mobile-image-right .service-detail__content{grid-column:1;grid-row:1}
  .service-detail--mobile-image-ratio-square .service-detail__image{aspect-ratio:1/1}
  .service-detail--mobile-image-ratio-landscape .service-detail__image{aspect-ratio:4/3}
  .service-detail--mobile-image-ratio-wide .service-detail__image{aspect-ratio:16/9}
  .service-detail--mobile-image-ratio-original .service-detail__image{aspect-ratio:auto}
  .service-detail--mobile-image-fit-cover .service-detail__image{object-fit:cover;background:transparent}
  .service-detail--mobile-image-fit-contain .service-detail__image{object-fit:contain;background:var(--soft)}
  .service-detail--body-mobile-before_intro .service-detail__body{order:1}
  .service-detail--body-mobile-after_intro .service-detail__body{order:3}
  .service-detail--body-mobile-end .service-detail__body{order:5}

}

@media(min-width:641px){
  .collection-entry-card--desktop-neutral{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;--card-hover-transform:none!important;--card-hover-shadow:none!important;--card-hover-border-color:transparent!important;transform:none!important}
  .collection-entry-card--desktop-neutral:hover{transform:none!important;box-shadow:none!important;border-color:transparent!important}
}
@media(max-width:640px){
  .collection-entry-card--mobile-neutral{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;--card-hover-transform:none!important;--card-hover-shadow:none!important;--card-hover-border-color:transparent!important;transform:none!important}
  .collection-entry-card--mobile-neutral:hover{transform:none!important;box-shadow:none!important;border-color:transparent!important}
}

.site-status:has(.site-status__details:not([open])){min-height:0!important;}

.site-status--vacation-layout{display:block;color:var(--ink);border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:1.25rem;overflow:clip;min-height:0!important}
.site-status--vacation-layout.site-status--practice-left{background:color-mix(in srgb,var(--left) 12%,var(--paper))}
.site-status--vacation-layout.site-status--practice-right{background:color-mix(in srgb,var(--right) 12%,var(--paper))}
.site-status--vacation-layout .site-status__inner{display:block;padding:.2rem 0;text-align:left}
.site-status--vacation-layout .site-status__details:not([open]){min-height:0}
.site-status--vacation-layout .site-status__details:not([open]) summary{padding:.72rem 0}
.site-status--vacation-layout .site-status__vacation-text{margin:0 0 .5rem}
.site-status--vacation-layout .site-status__layout-content .page-layout{padding:0;margin:0}
.site-status--vacation-layout .site-status__layout-content .page-layout-area{margin-top:0!important;margin-bottom:0!important}


/* Urlaubsmeldungen: struktureller Klappcontainer um den normalen Builder. */
.site-status--vacation-layout .site-status__message-head .page-layout,
.site-status--vacation-layout .site-status__message-body .page-layout{padding:0;margin:0}
.site-status--vacation-layout .site-status__message-head .page-layout-area,
.site-status--vacation-layout .site-status__message-body .page-layout-area{margin-top:0!important;margin-bottom:0!important}
.site-status--vacation-layout [data-message-collapse-body][hidden]{display:none!important}
.message-system-content--title{display:block}
.message-system-content--period{display:block;font-size:.82rem;font-weight:650;white-space:normal}
.message-system-content--toggle{display:inline-flex;align-items:center;justify-content:flex-end;gap:.65rem;width:auto;margin-left:auto;padding:.15rem .2rem;border:0;background:transparent;color:inherit;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.message-system-content--toggle .site-status__summary-chevron{transform:rotate(225deg)}
.site-status[data-message-collapse-state="closed"] .message-system-content--toggle .site-status__summary-chevron{transform:rotate(45deg)}
.site-status[data-collapse-active="none"] .message-system-content--toggle{display:none!important}
.representative-card__address,.representative-card__phone,.representative-card__website,.representative-card__note{display:block}

/* 0.39.56 – Inhalte direkt in vorhandene Templatebereiche einfügen. */
.frontend-content-add-control{display:none}
.frontend-display-editor--active .frontend-content-add-control{
    appearance:none;display:flex;align-items:center;justify-content:center;gap:.32rem;
    width:100%;min-height:1.7rem;margin:.3rem 0;padding:.18rem .45rem;
    border:1px dashed color-mix(in srgb,var(--right) 65%,transparent);border-radius:.4rem;
    background:color-mix(in srgb,var(--paper) 88%,transparent);color:var(--right-dark);
    font:700 .72rem/1 var(--font-body);cursor:pointer;opacity:.72
}
.frontend-display-editor--active .frontend-content-add-control:hover,
.frontend-display-editor--active .frontend-content-add-control:focus-visible{opacity:1;background:color-mix(in srgb,var(--right) 10%,var(--paper));outline:none}
.frontend-display-editor--active [data-editor-add-column="1"]:has(> .frontend-content-add-control:first-child:last-child){
    min-height:4rem;padding:.35rem;border:1px dashed color-mix(in srgb,var(--right) 45%,transparent);border-radius:.45rem
}
.frontend-add-dock{position:fixed;z-index:10030;inset:1rem;width:min(54rem,calc(100vw - 2rem));height:min(46rem,calc(100vh - 2rem));margin:auto;border:1px solid var(--line);border-radius:.7rem;background:#f6f9fa;box-shadow:0 .9rem 2.4rem rgba(0,0,0,.24);overflow:hidden}
.frontend-add-dock[hidden]{display:none}
.frontend-add-dock__frame{display:block;width:100%;height:100%;max-height:100%;border:0;background:#f6f9fa}
@media(max-width:700px){.frontend-add-dock{inset:.5rem;width:calc(100vw - 1rem);height:calc(100vh - 1rem)}}
.frontend-editor-empty-area{display:none}
.frontend-display-editor--active .frontend-editor-empty-area{display:block}

/* 0.39.65 – Leistungsbilder: „Neben Überschrift“ und selektive Karten-Overrides. */
.service-card--image-gap-compact{--services-image-gap:.5rem}
.service-card--image-gap-normal{--services-image-gap:1rem}
.service-card--image-gap-generous{--services-image-gap:1.75rem}
.service-card--image-width-very_small{--services-image-width:15%;--services-image-column:15%}
.service-card--image-width-small{--services-image-width:25%;--services-image-column:25%}
.service-card--image-width-medium{--services-image-width:40%;--services-image-column:40%}
.service-card--image-width-large{--services-image-width:65%;--services-image-column:55%}
.service-card--image-width-full{--services-image-width:100%;--services-image-column:50%}
.services-overview .service-card--image-focus-center .service-card__image{object-position:50% 50%}
.services-overview .service-card--image-focus-top .service-card__image{object-position:50% 0%}
.services-overview .service-card--image-focus-bottom .service-card__image{object-position:50% 100%}
.services-overview .service-card--image-focus-left .service-card__image{object-position:0% 50%}
.services-overview .service-card--image-focus-right .service-card__image{object-position:100% 50%}
.services-overview .service-card--image-ratio-square .service-card__image{aspect-ratio:1/1}
.services-overview .service-card--image-ratio-landscape .service-card__image{aspect-ratio:4/3}
.services-overview .service-card--image-ratio-wide .service-card__image{aspect-ratio:16/9}
.services-overview .service-card--image-ratio-original .service-card__image{aspect-ratio:auto}
.services-overview .service-card--image-fit-cover .service-card__image{object-fit:cover;background:transparent}
.services-overview .service-card--image-fit-contain .service-card__image{object-fit:contain;background:var(--soft)}
@media(min-width:641px){
  .services-overview .service-card--image-top.service-card--has-image{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:var(--services-image-gap)}
  .services-overview .service-card--image-top .service-card__media{grid-column:1;grid-row:1;inline-size:var(--services-image-width);max-inline-size:100%;justify-self:start}
  .services-overview .service-card--image-top .service-card__content{display:grid;grid-column:1;grid-row:2}
  .services-overview .service-card--image-left.service-card--has-image{grid-template-columns:minmax(0,var(--services-image-column)) minmax(0,1fr);grid-template-rows:auto;gap:var(--services-image-gap)}
  .services-overview .service-card--image-left .service-card__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
  .services-overview .service-card--image-left .service-card__content{display:grid;grid-column:2;grid-row:1}
  .services-overview .service-card--image-right.service-card--has-image{grid-template-columns:minmax(0,1fr) minmax(0,var(--services-image-column));grid-template-rows:auto;gap:var(--services-image-gap)}
  .services-overview .service-card--image-right .service-card__media{grid-column:2;grid-row:1;inline-size:100%;max-inline-size:100%}
  .services-overview .service-card--image-right .service-card__content{display:grid;grid-column:1;grid-row:1}
  .services-overview--image-heading .service-card--has-image,
  .services-overview .service-card--image-heading.service-card--has-image{grid-template-columns:minmax(0,var(--services-image-column)) minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--services-image-gap);row-gap:var(--services-content-gap)}
  .services-overview--image-heading .service-card__media,
  .services-overview .service-card--image-heading .service-card__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
  .services-overview--image-heading .service-card__content,
  .services-overview .service-card--image-heading .service-card__content{display:contents}
  .services-overview--image-heading .service-card__content>h3,
  .services-overview .service-card--image-heading .service-card__content>h3{grid-column:2;grid-row:1;align-self:start}
  .services-overview--image-heading .service-card__content>p,
  .services-overview .service-card--image-heading .service-card__content>p{grid-column:1/-1;grid-row:2}
  .services-overview--image-heading_right .service-card--has-image,
  .services-overview .service-card--image-heading_right.service-card--has-image{grid-template-columns:minmax(0,1fr) minmax(0,var(--services-image-column));grid-template-rows:auto auto;column-gap:var(--services-image-gap);row-gap:var(--services-content-gap)}
  .services-overview--image-heading_right .service-card__media,
  .services-overview .service-card--image-heading_right .service-card__media{grid-column:2;grid-row:1;inline-size:100%;max-inline-size:100%}
  .services-overview--image-heading_right .service-card__content,
  .services-overview .service-card--image-heading_right .service-card__content{display:contents}
  .services-overview--image-heading_right .service-card__content>h3,
  .services-overview .service-card--image-heading_right .service-card__content>h3{grid-column:1;grid-row:1;align-self:start}
  .services-overview--image-heading_right .service-card__content>p,
  .services-overview .service-card--image-heading_right .service-card__content>p{grid-column:1/-1;grid-row:2}
  /* Terminposition und Link-Hinweise folgen der DOM-Reihenfolge auch bei display:contents. */
  .services-overview .service-card--image-heading .service-card__content>h3 + .service-card__page-hint{grid-column:1/-1;grid-row:2}
  .services-overview .service-card--image-heading .service-card__content>.service-appointment-link--top{grid-column:1/-1;grid-row:3}
  .services-overview .service-card--image-heading .service-card__content>p{grid-column:1/-1;grid-row:4}
  .services-overview .service-card--image-heading .service-card__content>p + .service-card__page-hint{grid-column:1/-1;grid-row:5}
  .services-overview .service-card--image-heading .service-card__content>.service-appointment-link--bottom{grid-column:1/-1;grid-row:6}
  .services-overview .service-card--image-heading_right .service-card__content>h3 + .service-card__page-hint{grid-column:1/-1;grid-row:2}
  .services-overview .service-card--image-heading_right .service-card__content>.service-appointment-link--top{grid-column:1/-1;grid-row:3}
  .services-overview .service-card--image-heading_right .service-card__content>p{grid-column:1/-1;grid-row:4}
  .services-overview .service-card--image-heading_right .service-card__content>p + .service-card__page-hint{grid-column:1/-1;grid-row:5}
  .services-overview .service-card--image-heading_right .service-card__content>.service-appointment-link--bottom{grid-column:1/-1;grid-row:6}
}
@media(max-width:640px){
  .service-card--mobile-image-gap-compact{--services-image-gap:.5rem}
  .service-card--mobile-image-gap-normal{--services-image-gap:1rem}
  .service-card--mobile-image-gap-generous{--services-image-gap:1.75rem}
  .service-card--mobile-image-width-very_small{--services-image-width:15%;--services-image-column:15%}
  .service-card--mobile-image-width-small{--services-image-width:25%;--services-image-column:25%}
  .service-card--mobile-image-width-medium{--services-image-width:40%;--services-image-column:40%}
  .service-card--mobile-image-width-large{--services-image-width:65%;--services-image-column:55%}
  .service-card--mobile-image-width-full{--services-image-width:100%;--services-image-column:50%}
  .services-overview .service-card--mobile-image-focus-center .service-card__image{object-position:50% 50%}
  .services-overview .service-card--mobile-image-focus-top .service-card__image{object-position:50% 0%}
  .services-overview .service-card--mobile-image-focus-bottom .service-card__image{object-position:50% 100%}
  .services-overview .service-card--mobile-image-focus-left .service-card__image{object-position:0% 50%}
  .services-overview .service-card--mobile-image-focus-right .service-card__image{object-position:100% 50%}
  .services-overview .service-card--mobile-image-ratio-square .service-card__image{aspect-ratio:1/1}
  .services-overview .service-card--mobile-image-ratio-landscape .service-card__image{aspect-ratio:4/3}
  .services-overview .service-card--mobile-image-ratio-wide .service-card__image{aspect-ratio:16/9}
  .services-overview .service-card--mobile-image-ratio-original .service-card__image{aspect-ratio:auto}
  .services-overview .service-card--mobile-image-fit-cover .service-card__image{object-fit:cover;background:transparent}
  .services-overview .service-card--mobile-image-fit-contain .service-card__image{object-fit:contain;background:var(--soft)}
  .services-overview .service-card--mobile-image-top.service-card--has-image{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:var(--services-image-gap)}
  .services-overview .service-card--mobile-image-top .service-card__media{grid-column:1;grid-row:1;inline-size:var(--services-image-width);max-inline-size:100%;justify-self:start}
  .services-overview .service-card--mobile-image-top .service-card__content{display:grid;grid-column:1;grid-row:2}
  .services-overview .service-card--mobile-image-left.service-card--has-image{grid-template-columns:minmax(0,var(--services-image-column)) minmax(0,1fr);grid-template-rows:auto;gap:var(--services-image-gap)}
  .services-overview .service-card--mobile-image-left .service-card__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
  .services-overview .service-card--mobile-image-left .service-card__content{display:grid;grid-column:2;grid-row:1}
  .services-overview .service-card--mobile-image-right.service-card--has-image{grid-template-columns:minmax(0,1fr) minmax(0,var(--services-image-column));grid-template-rows:auto;gap:var(--services-image-gap)}
  .services-overview .service-card--mobile-image-right .service-card__media{grid-column:2;grid-row:1;inline-size:100%;max-inline-size:100%}
  .services-overview .service-card--mobile-image-right .service-card__content{display:grid;grid-column:1;grid-row:1}
  .services-overview--mobile-image-heading .service-card--has-image,
  .services-overview .service-card--mobile-image-heading.service-card--has-image{grid-template-columns:minmax(0,var(--services-image-column)) minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--services-image-gap);row-gap:var(--services-content-gap)}
  .services-overview--mobile-image-heading .service-card__media,
  .services-overview .service-card--mobile-image-heading .service-card__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
  .services-overview--mobile-image-heading .service-card__content,
  .services-overview .service-card--mobile-image-heading .service-card__content{display:contents}
  .services-overview--mobile-image-heading .service-card__content>h3,
  .services-overview .service-card--mobile-image-heading .service-card__content>h3{grid-column:2;grid-row:1;align-self:start}
  .services-overview--mobile-image-heading .service-card__content>p,
  .services-overview .service-card--mobile-image-heading .service-card__content>p{grid-column:1/-1;grid-row:2}
  .services-overview--mobile-image-heading_right .service-card--has-image,
  .services-overview .service-card--mobile-image-heading_right.service-card--has-image{grid-template-columns:minmax(0,1fr) minmax(0,var(--services-image-column));grid-template-rows:auto auto;column-gap:var(--services-image-gap);row-gap:var(--services-content-gap)}
  .services-overview--mobile-image-heading_right .service-card__media,
  .services-overview .service-card--mobile-image-heading_right .service-card__media{grid-column:2;grid-row:1;inline-size:100%;max-inline-size:100%}
  .services-overview--mobile-image-heading_right .service-card__content,
  .services-overview .service-card--mobile-image-heading_right .service-card__content{display:contents}
  .services-overview--mobile-image-heading_right .service-card__content>h3,
  .services-overview .service-card--mobile-image-heading_right .service-card__content>h3{grid-column:1;grid-row:1;align-self:start}
  .services-overview--mobile-image-heading_right .service-card__content>p,
  .services-overview .service-card--mobile-image-heading_right .service-card__content>p{grid-column:1/-1;grid-row:2}
  /* Terminposition und Link-Hinweise folgen der DOM-Reihenfolge auch bei display:contents. */
  .services-overview .service-card--mobile-image-heading .service-card__content>h3 + .service-card__page-hint{grid-column:1/-1;grid-row:2}
  .services-overview .service-card--mobile-image-heading .service-card__content>.service-appointment-link--top{grid-column:1/-1;grid-row:3}
  .services-overview .service-card--mobile-image-heading .service-card__content>p{grid-column:1/-1;grid-row:4}
  .services-overview .service-card--mobile-image-heading .service-card__content>p + .service-card__page-hint{grid-column:1/-1;grid-row:5}
  .services-overview .service-card--mobile-image-heading .service-card__content>.service-appointment-link--bottom{grid-column:1/-1;grid-row:6}
  .services-overview .service-card--mobile-image-heading_right .service-card__content>h3 + .service-card__page-hint{grid-column:1/-1;grid-row:2}
  .services-overview .service-card--mobile-image-heading_right .service-card__content>.service-appointment-link--top{grid-column:1/-1;grid-row:3}
  .services-overview .service-card--mobile-image-heading_right .service-card__content>p{grid-column:1/-1;grid-row:4}
  .services-overview .service-card--mobile-image-heading_right .service-card__content>p + .service-card__page-hint{grid-column:1/-1;grid-row:5}
  .services-overview .service-card--mobile-image-heading_right .service-card__content>.service-appointment-link--bottom{grid-column:1/-1;grid-row:6}
}

/* Der gemeinsame Positionskatalog gilt auch für einzeln platzierte Leistungen. */
@media(min-width:641px){
  .service-detail--image-heading{grid-template-columns:minmax(0,var(--service-image-column,40%)) minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--service-image-gap,1rem);row-gap:0;align-items:start}
  .service-detail--image-heading.service-detail--image-width-very_small{--service-image-column:15%}
  .service-detail--image-heading.service-detail--image-width-small{--service-image-column:25%}
  .service-detail--image-heading.service-detail--image-width-medium{--service-image-column:40%}
  .service-detail--image-heading.service-detail--image-width-large{--service-image-column:55%}
  .service-detail--image-heading.service-detail--image-width-full{--service-image-column:50%}
  .service-detail--image-heading .service-detail__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
  .service-detail--image-heading .service-detail__content{display:contents}
  .service-detail--image-heading .service-detail__content>h2{grid-column:2;grid-row:1;align-self:start}
  .service-detail--image-heading .service-detail__content>.service-detail__intro,
  .service-detail--image-heading .service-detail__content>.service-detail__body,
  .service-detail--image-heading .service-detail__content>.service-detail__appointment{grid-column:1/-1}
  .service-detail--image-heading_right{grid-template-columns:minmax(0,1fr) minmax(0,var(--service-image-column,40%));grid-template-rows:auto auto;column-gap:var(--service-image-gap,1rem);row-gap:0;align-items:start}
  .service-detail--image-heading_right.service-detail--image-width-very_small{--service-image-column:15%}
  .service-detail--image-heading_right.service-detail--image-width-small{--service-image-column:25%}
  .service-detail--image-heading_right.service-detail--image-width-medium{--service-image-column:40%}
  .service-detail--image-heading_right.service-detail--image-width-large{--service-image-column:55%}
  .service-detail--image-heading_right.service-detail--image-width-full{--service-image-column:50%}
  .service-detail--image-heading_right .service-detail__media{grid-column:2;grid-row:1;inline-size:100%;max-inline-size:100%}
  .service-detail--image-heading_right .service-detail__content{display:contents}
  .service-detail--image-heading_right .service-detail__content>h2{grid-column:1;grid-row:1;align-self:start}
  .service-detail--image-heading_right .service-detail__content>.service-detail__intro,
  .service-detail--image-heading_right .service-detail__content>.service-detail__body,
  .service-detail--image-heading_right .service-detail__content>.service-detail__appointment{grid-column:1/-1}
}
@media(max-width:640px){
  .service-detail--mobile-image-heading{grid-template-columns:minmax(0,var(--service-image-column,40%)) minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--service-image-gap,1rem);row-gap:0;align-items:start}
  .service-detail--mobile-image-heading .service-detail__media{grid-column:1;grid-row:1;inline-size:100%;max-inline-size:100%}
  .service-detail--mobile-image-heading .service-detail__content{display:contents}
  .service-detail--mobile-image-heading .service-detail__content>h2{grid-column:2;grid-row:1;align-self:start}
  .service-detail--mobile-image-heading .service-detail__content>.service-detail__intro,
  .service-detail--mobile-image-heading .service-detail__content>.service-detail__body,
  .service-detail--mobile-image-heading .service-detail__content>.service-detail__appointment{grid-column:1/-1}
  .service-detail--mobile-image-heading_right{grid-template-columns:minmax(0,1fr) minmax(0,var(--service-image-column,40%));grid-template-rows:auto auto;column-gap:var(--service-image-gap,1rem);row-gap:0;align-items:start}
  .service-detail--mobile-image-heading_right .service-detail__media{grid-column:2;grid-row:1;inline-size:100%;max-inline-size:100%}
  .service-detail--mobile-image-heading_right .service-detail__content{display:contents}
  .service-detail--mobile-image-heading_right .service-detail__content>h2{grid-column:1;grid-row:1;align-self:start}
  .service-detail--mobile-image-heading_right .service-detail__content>.service-detail__intro,
  .service-detail--mobile-image-heading_right .service-detail__content>.service-detail__body,
  .service-detail--mobile-image-heading_right .service-detail__content>.service-detail__appointment{grid-column:1/-1}
}

/* Frontend-Editor: gemeinsame Mehrfachauswahl für Eintragskarten, kein eigener Speicherweg. */
.profile-entry-card--overview{position:relative;min-width:0}
.profile-entry-card--overview>.profile-card{width:100%;min-width:0}
.frontend-display-editor--active .frontend-entry-selection--active [data-editor-entry-card-id]{cursor:pointer;outline:2px dashed color-mix(in srgb,var(--right) 65%,transparent);outline-offset:2px}
.frontend-display-editor--active .frontend-entry-selection--active [data-editor-entry-card-id] [data-editor-content-part]{pointer-events:none}
.frontend-display-editor--active .frontend-entry-card--selected{outline:3px solid var(--right-dark)!important;outline-offset:3px!important}
.frontend-display-editor--active .frontend-entry-card--selected::before{content:"✓";position:absolute;z-index:10;top:.35rem;left:.35rem;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:var(--right-dark);color:#fff;font:800 .78rem/1 var(--font-body);box-shadow:0 1px 4px rgba(0,0,0,.18);pointer-events:none}
.frontend-element-editor-bar__button.is-active{border-color:var(--right-dark);background:var(--right-dark);color:#fff}
.frontend-element-editor-bar__selection-count{min-width:1.5rem;color:var(--right-dark);font-size:.7rem;font-weight:800;white-space:nowrap}
.frontend-display-editor--active .frontend-entry-sort--active [data-editor-entry-card-id]{position:relative;outline:2px dashed color-mix(in srgb,var(--left-dark) 58%,transparent);outline-offset:3px}
.frontend-display-editor--active .frontend-entry-sort--active [data-editor-entry-card-id] [data-editor-content-part],.frontend-display-editor--active .frontend-entry-sort--active [data-editor-entry-card-id] .service-card__detail-link,.frontend-display-editor--active .frontend-entry-sort--active [data-editor-entry-card-id] .frontend-content-link-control{pointer-events:none}
.frontend-entry-sort-controls{position:absolute;z-index:35;top:.35rem;right:.35rem;display:flex;align-items:center;gap:.2rem;padding:.2rem;border:1px solid #b9cbd2;border-radius:.45rem;background:rgba(255,255,255,.96);box-shadow:0 2px 8px rgba(0,0,0,.16);pointer-events:auto}
.frontend-entry-sort-control{appearance:none;display:grid;place-items:center;width:1.8rem;height:1.8rem;padding:0;border:1px solid #c5d3d8;border-radius:.35rem;background:#fff;color:#173b47;font:800 .85rem/1 var(--font-body);cursor:pointer}
.frontend-entry-sort-control:hover,.frontend-entry-sort-control:focus-visible{border-color:var(--left-dark);background:#eef7f5;outline:none}
.frontend-entry-sort-handle{cursor:grab;font-size:1rem;touch-action:none}
.frontend-entry-sort-handle:active{cursor:grabbing}
.frontend-entry-sort-card--dragging{opacity:.55}

/* 0.39.76: placementlokale Zeilenstarts in der gemeinsamen Team-Collection. */
.content-source-grid--team>.collection-entry-card--row-start{grid-column-start:1!important}
.frontend-entry-sort-row-label{display:inline-flex;align-items:center;min-height:1.8rem;padding:0 .4rem;border-radius:.35rem;background:#eef3f5;color:#40545c;font:700 .72rem/1 var(--font-body);white-space:nowrap}
.frontend-entry-sort-row-toggle.is-active{border-color:var(--left-dark);background:#dff2ed;color:#0d5b4f}
.frontend-entry-sort-row-toggle:disabled{opacity:.45;cursor:not-allowed;background:#f4f6f7}

/* Interne Online-Terminanfrage: eigenständiges Aktionsziel oberhalb der Detailseiten-Karten-Overlayfläche. */
.service-appointment-link{position:relative;z-index:4;display:flex;min-width:0;justify-content:flex-start;margin-block:.5rem}
.service-appointment-link__action{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.5rem 1rem;border-radius:.55rem;background:var(--right-dark)}
.booking-cta{color:#fff;text-decoration:none;font-weight:700}
/* Shared appointment action: fit the available parent width on narrow viewports, regardless of content card. */
@media(max-width:640px){
  .service-appointment-link__action{
    box-sizing:border-box;
    max-width:100%;
    min-width:0;
    padding:.45rem clamp(.35rem,1.5vw,.65rem);
    font-size:clamp(.72rem,3.1vw,.875rem);
    line-height:1.3;
    text-align:center;
    overflow-wrap:normal;
  }
}
.service-appointment-link__action:hover,.service-appointment-link__action:focus-visible{filter:brightness(1.12)}
.booking-cta:hover,.booking-cta:focus-visible{color:#fff;text-decoration:underline}
.service-detail__content>.service-appointment-link--top{order:1}
.service-detail__content>.service-appointment-link--bottom{order:6}
.service-appointment-editor-control{display:none}
.frontend-display-editor--active .service-appointment-editor-control{display:inline-flex;position:relative;z-index:7;align-items:center;margin:.25rem;padding:.3rem .5rem;border:1px solid var(--right-dark);border-radius:.35rem;background:var(--paper);cursor:pointer}

/* Verlinkte Ärztinnen-Card: bestehende Seitenziele wie im Menü; Terminlink bleibt vorrangig. */
.profile-card--linked{position:relative}
.profile-card__page-link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.profile-card__page-link:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.profile-card--linked .service-appointment-link{z-index:4}
.frontend-display-editor--active .profile-card__page-link{pointer-events:none}
/* Linked-card feedback: preserve focus/touch and page hint; outer card owns hover lift/shadow. */
.profile-card--linked{border-radius:var(--card-radius)}
.profile-card--linked:focus-within{outline:2px solid var(--right);outline-offset:3px}
.profile-card--linked:active{filter:brightness(.975)}


/* Visible indication of the existing full-card link: no separate anchor/target. */
.profile-card__page-hint,.service-card__page-hint{display:inline-flex;max-width:100%;min-width:0;align-items:center;gap:.2em;margin-block:.15rem;flex-wrap:nowrap;white-space:nowrap;position:relative;z-index:2;transition:opacity .16s ease,text-decoration-color .16s ease}
.card-link-hint{font-size:.8em;font-weight:600;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.18em}
.profile-card__page-hint:hover,.profile-card__page-hint:focus-visible,.service-card__page-hint:hover,.service-card__page-hint:focus-visible{text-decoration-color:currentColor;opacity:.8}
.profile-card__page-hint-arrow{transition:transform .16s ease}
.profile-card__page-hint:hover .profile-card__page-hint-arrow,.profile-card__page-hint:focus-visible .profile-card__page-hint-arrow,.service-card__page-hint:hover .card-link-hint-arrow,.service-card__page-hint:focus-visible .card-link-hint-arrow{transform:translateX(.22em)}
.profile-card__page-hint:active,.service-card__page-hint:active{opacity:.65}
@media(prefers-reduced-motion:reduce){.profile-card__page-hint,.profile-card__page-hint-arrow,.service-card__page-hint,.card-link-hint-arrow{transition:none}}

.profile-card__page-hint-arrow,.card-link-hint-arrow{display:inline-block;transition:transform .16s ease}
.frontend-display-editor--active .profile-card__page-hint,.frontend-display-editor--active .service-card__page-hint{pointer-events:auto;z-index:7;cursor:pointer}

/* Shared OSM content element (page placements and footer blocks). */
.praxis-osm-map{width:100%;min-width:0}
.praxis-osm-map__consent{box-sizing:border-box;padding:.65rem;min-height:10rem;border:1px solid currentColor;border-radius:.3rem}
.praxis-osm-map__consent p{margin:.25rem 0 .6rem}
.praxis-osm-map__consent button{cursor:pointer}
.praxis-osm-map__viewport{width:100%;height:12rem}
.praxis-osm-map__viewport iframe{display:block;width:100%;height:100%;border:0}
.praxis-osm-map__link{margin:.4rem 0}
.praxis-osm-map small{font-size:.7rem}

/* Menueintraege pro Gerätemodus; die vorhandene Navigation bleibt das einzige DOM-Menü. */
.main-navigation [hidden]{display:none!important}

/* Service detail hint reuses canonical card-link behavior; positioning remains in the existing service grid. */
.services-overview .service-card__page-hint{justify-self:start;align-self:start;}
.services-overview .service-card--image-heading .service-card__page-hint,.services-overview .service-card--image-heading_right .service-card__page-hint{grid-column:1/-1;grid-row:auto}
@media(max-width:640px){.services-overview .service-card--mobile-image-heading .service-card__page-hint,.services-overview .service-card--mobile-image-heading_right .service-card__page-hint{grid-column:1/-1;grid-row:auto}}

/* Schriftgrößen des gemeinsamen redaktionellen Rich-Text-Editors. */

/* Schriftgrößen der gemeinsamen Rich-Text-Komponente, 1-px-Schritte. */
.rich-text-size-10{font-size:10px}
.rich-text-size-11{font-size:11px}
.rich-text-size-12{font-size:12px}
.rich-text-size-13{font-size:13px}
.rich-text-size-14{font-size:14px}
.rich-text-size-15{font-size:15px}
.rich-text-size-16{font-size:16px}
.rich-text-size-17{font-size:17px}
.rich-text-size-18{font-size:18px}
.rich-text-size-19{font-size:19px}
.rich-text-size-20{font-size:20px}
.rich-text-size-21{font-size:21px}
.rich-text-size-22{font-size:22px}
.rich-text-size-23{font-size:23px}
.rich-text-size-24{font-size:24px}
.rich-text-size-25{font-size:25px}
.rich-text-size-26{font-size:26px}
.rich-text-size-27{font-size:27px}
.rich-text-size-28{font-size:28px}
.rich-text-size-29{font-size:29px}
.rich-text-size-30{font-size:30px}
.rich-text-size-31{font-size:31px}
.rich-text-size-32{font-size:32px}
.rich-text-size-33{font-size:33px}
.rich-text-size-34{font-size:34px}
.rich-text-size-35{font-size:35px}
.rich-text-size-36{font-size:36px}
.rich-text-size-37{font-size:37px}
.rich-text-size-38{font-size:38px}
.rich-text-size-39{font-size:39px}
.rich-text-size-40{font-size:40px}
.rich-text-size-41{font-size:41px}
.rich-text-size-42{font-size:42px}
.rich-text-size-43{font-size:43px}
.rich-text-size-44{font-size:44px}
.rich-text-size-45{font-size:45px}
.rich-text-size-46{font-size:46px}
.rich-text-size-47{font-size:47px}
.rich-text-size-48{font-size:48px}
.rich-text-size-49{font-size:49px}
.rich-text-size-50{font-size:50px}
.rich-text-size-51{font-size:51px}
.rich-text-size-52{font-size:52px}
.rich-text-size-53{font-size:53px}
.rich-text-size-54{font-size:54px}
.rich-text-size-55{font-size:55px}
.rich-text-size-56{font-size:56px}
.rich-text-size-57{font-size:57px}
.rich-text-size-58{font-size:58px}
.rich-text-size-59{font-size:59px}
.rich-text-size-60{font-size:60px}
.rich-text-size-61{font-size:61px}
.rich-text-size-62{font-size:62px}
.rich-text-size-63{font-size:63px}
.rich-text-size-64{font-size:64px}
.rich-text-size-65{font-size:65px}
.rich-text-size-66{font-size:66px}
.rich-text-size-67{font-size:67px}
.rich-text-size-68{font-size:68px}
.rich-text-size-69{font-size:69px}
.rich-text-size-70{font-size:70px}
.rich-text-size-71{font-size:71px}
.rich-text-size-72{font-size:72px}

/* Terminanfrage: Freigegebene Kurzliste bei Bedarf um alle veroeffentlichten Leistungen erweitern. */

/* Terminanfrage: ausdrückliche Bestätigung unmittelbar vor dem Senden. */
.praxis-form__privacy{display:flex;align-items:flex-start;gap:.7rem;line-height:1.5;max-width:70ch;cursor:pointer}
.praxis-form__privacy input{flex:none;width:1.25rem;height:1.25rem;margin:.15rem 0 0;accent-color:var(--ink)}
.praxis-form__privacy a{text-decoration:underline;text-underline-offset:2px}
.praxis-form__privacy input:focus-visible{outline:3px solid currentColor;outline-offset:3px}

/* Website 0.39.142: Terminanfrage, gut erkennbarer Hinweis direkt vor dem Absenden. */
.praxis-form__notice--important{border:1px solid var(--line);border-left:4px solid var(--ink);background:var(--soft);padding:1rem 1.15rem;line-height:1.55}
.praxis-form__notice--important strong{display:block;font-size:1.08rem;line-height:1.4;color:var(--ink)}
.praxis-form__notice--important p{margin:.45rem 0 0}

/* 0.39.143: Abschluss nach erfolgreicher Terminanfrage */
.praxis-form__completion[hidden]{display:none!important}
.praxis-form__completion{display:grid;justify-items:start;gap:.9rem;margin-top:1rem}
.praxis-form__completion p{margin:0}
.praxis-form__home-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.2rem;border-radius:.7rem;background:var(--ink);color:var(--paper);font-weight:700;text-decoration:none}
.praxis-form__home-link:hover,.praxis-form__home-link:focus-visible{outline:2px solid var(--ink);outline-offset:3px;text-decoration:underline}

/* 0.39.145: Terminanfrage-Erfolg: eine einzige klare Abschlussansicht. */
.praxis-form > [hidden], .praxis-form__status[hidden]{display:none!important}
.praxis-form__completion{gap:1rem;margin-top:0}
.praxis-form__completion-heading{display:flex;align-items:center;gap:.8rem;margin:0;font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.4}
.praxis-form__completion-icon{display:inline-grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:#e0f3e9;color:#146c43;font-size:1.2rem;font-weight:800}

/* Patienten-Rückmeldung zur Terminanfrage – ausschließlich /termin-bestaetigen */
.appointment-reply { min-height:100vh; background:var(--soft); color:var(--ink); }
.appointment-reply__main { width:min(100% - 2rem, 700px); margin:clamp(2rem,7vh,5.5rem) auto; }
.appointment-reply__card { overflow:hidden; background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.appointment-reply__brand { padding:1rem 1.6rem; background:#e7f5f1; color:var(--ink); font-size:.91rem; font-weight:750; }
.appointment-reply__content { padding:clamp(1.2rem,4vw,2rem); }
.appointment-reply h1 { margin:0 0 .85rem; font-size:clamp(1.45rem,4.5vw,2rem); line-height:1.3; }
.appointment-reply p { margin:.65rem 0 1.3rem; }
.appointment-reply__date { display:grid; gap:.25rem; padding:1.25rem 1.5rem; background:var(--soft); border:1px solid var(--line); border-radius:12px; margin:1.4rem 0; }
.appointment-reply__date strong { font-size:clamp(1.15rem,3.4vw,1.4rem); }
.appointment-reply__eyebrow { font-size:.72rem; letter-spacing:.09em; font-weight:750; color:var(--muted); }
.appointment-reply__time { font-size:1.15rem; font-weight:700; }
.appointment-reply__form { display:grid; gap:1rem; }
.appointment-reply__actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.8rem; }
.appointment-reply__button { min-height:46px; padding:.72rem 1rem; border-radius:9px; font-weight:750; cursor:pointer; text-align:center; border:1px solid var(--line); }
.appointment-reply__button:focus-visible,.appointment-reply__home:focus-visible,.appointment-reply textarea:focus-visible { outline:3px solid #27708e; outline-offset:3px; }
.appointment-reply__button--confirm { background:#176a43; color:#fff; border-color:#176a43; }
.appointment-reply__button--confirm:hover { background:#125336; }
.appointment-reply__button--decline { background:#fff; color:var(--ink); }
.appointment-reply__button--decline:hover { background:var(--soft); }
.appointment-reply__button--message { justify-self:start; background:#e8f4f8; color:#174c66; border-color:#c4dce6; }
.appointment-reply__button--message:hover { background:#d7ebf2; }
.appointment-reply__label { display:block; margin-top:.35rem; font-weight:750; }
.appointment-reply__label span { color:var(--muted); font-size:.88rem; font-weight:400; }
.appointment-reply textarea { display:block; width:100%; min-width:0; padding:.8rem 1rem; border:1px solid #adbcc5; border-radius:9px; resize:vertical; color:var(--ink); background:#fff; }
.appointment-reply__hint { color:var(--muted); font-size:.89rem; margin:-.6rem 0 0 !important; }
.appointment-reply__home { display:inline-block; margin-top:1.6rem; font-weight:650; }
@media(max-width:480px) { .appointment-reply__main { width:calc(100% - 1rem); margin:1rem auto; } .appointment-reply__brand { padding:1rem; } .appointment-reply__content { padding:1.1rem; } .appointment-reply__actions { grid-template-columns:minmax(0,1fr); } .appointment-reply__button { width:100%; } }

/* Final wizard actions reuse the original back and submit controls. */
.praxis-form__fields>.praxis-form__wizard-nav{margin-block:1rem}
.praxis-form__wizard-nav>.praxis-form__submit{margin-inline-start:auto}
.appointment-reply__close{margin-block-start:1rem}
.appointment-reply__close-hint{font-size:.95rem;color:var(--muted,#52616b)}
@media(max-width:380px){.praxis-form__wizard-nav button{min-inline-size:0;flex:1}}

/* 0.39.172: Folgerezept – deutliche Hinweise und bestehende Abschlussansicht. */
.praxis-form[data-form-type="prescription"]{font-size:1rem;line-height:1.55}
.praxis-form[data-form-type="prescription"]>.praxis-form__notice{border-left-color:#087e85;font-size:1rem}
.praxis-form[data-form-type="prescription"] .praxis-form__submit{min-block-size:48px;padding:.65rem 1.1rem;border:1px solid var(--ink);border-radius:.6rem;background:var(--ink);color:var(--paper);font:700 1rem var(--font-body);cursor:pointer}
.praxis-form__fields>[hidden]{display:none!important}
.praxis-form__completion{grid-column:1/-1}
.praxis-form__completion p{white-space:pre-line;line-height:1.6}

/* 0.39.173: Praxiszuordnung vor den Patientendaten. */
.praxis-form__field--practice{grid-column:1/-1}

/* 0.39.174: freiwilliger Papierwunsch, Standard bleibt E-Rezept. */
.praxis-form__paper-option{grid-column:1/-1;display:grid;gap:.6rem;padding:1rem 1.15rem;border:1px solid var(--line);border-left:4px solid var(--right);border-radius:.6rem;background:var(--soft);line-height:1.55}
.praxis-form__paper-option>span{display:flex;align-items:flex-start;gap:.7rem}
.praxis-form__paper-option input{flex:none;width:1.15rem;height:1.15rem;margin:.2rem 0 0}
.praxis-form__paper-option small{font-size:.95rem;color:var(--ink)}
.praxis-form__next-steps{grid-column:1/-1}
.praxis-form__app-links{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:.75rem 0}
.praxis-form__app-links a{display:inline-flex;max-width:100%}
.praxis-form__app-links img{display:block;height:48px;width:auto;max-width:100%}

/* Formularuebersicht 0.39.183: Fallback fuer Einzelvorschau; im Seitenrendering setzt der bestehende Placement-Editor das Raster gescoped. */
.forms-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:640px){.forms-overview{grid-template-columns:minmax(0,1fr)}}
.forms-overview__card{display:flex;flex-direction:column;gap:.8rem;min-width:0;text-decoration:none;color:inherit;position:relative}
.forms-overview__link{display:flex;flex-direction:column;gap:inherit;flex:1;min-width:0;color:inherit;text-decoration:none}
.forms-overview__card h3,.forms-overview__card p{margin:0}
.forms-overview__card .forms-overview__action{padding-top:.35rem;font-weight:600;color:var(--right-dark,var(--ink))}
.forms-overview__link:focus-visible{outline:3px solid var(--right-dark,var(--ink));outline-offset:3px}
.frontend-display-editor--active .forms-overview__link{pointer-events:none}
