/* width/height-Attribute reservieren nur den Platz; die Größe bestimmt weiter das CSS */
img{width:auto;height:auto}
/* Schriften lokal eingebunden – keine Verbindung zu Google */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2) format("woff2")}
@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/outfit-400.woff2) format("woff2")}
@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/outfit-500.woff2) format("woff2")}
@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/outfit-600.woff2) format("woff2")}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:#F5F6F8}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:#13202F;overflow-x:hidden}
img{max-width:100%}
[id]{scroll-margin-top:150px}
a:focus-visible,button:focus-visible,input:focus-visible,label:focus-within{outline:3px solid #8CC0F0;outline-offset:3px}
[hidden]{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:#FFFFFF;color:#13202F;padding:12px 18px;border-radius:8px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px}

/* Kopfbereich: Adresszeile bleibt, Menüleiste blendet beim Runterscrollen aus */
.site-header{transition:transform .3s ease}
.site-header.is-hidden{transform:translateY(-100%)}
.menu-btn{display:none;width:48px;height:48px;border-radius:8px;border:1px solid #2B4A73;background:transparent;align-items:center;justify-content:center;cursor:pointer}

/* Schnellzugriff unten (nur Handy) */
.mobilebar{display:none}

/* Patientenstimmen: Scrollbalken dezent */
.reviews{scrollbar-width:thin}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header{transition:none}}

/* ---------- Tablet ---------- */
@media (max-width:1240px){
  .menu-btn{display:flex}
  .site-header>div{flex-wrap:nowrap !important}
  .mainnav{display:none !important;position:absolute;left:0;right:0;top:100%;background:#0F1E33;border-bottom:1px solid #1E3352;flex-direction:column !important;align-items:stretch !important;gap:0 !important;padding:8px 24px 20px;box-shadow:0 12px 24px rgba(11,22,38,.35)}
  .mainnav.open{display:flex !important}
  .mainnav a{padding:14px 0;font-size:18px !important;border-bottom:1px solid #1E3352}
  .mainnav a:last-child{border-bottom:0;margin-top:12px;text-align:center}
}

/* ---------- Handy ---------- */
@media (max-width:640px){
  body{padding-bottom:76px}
  .topbar>div{padding:8px 16px !important;font-size:13px;gap:4px 16px !important}
  .topbar a:first-child{font-size:13px}
  .site-header>div{padding:10px 16px !important}
  .site-header img{height:42px !important}
  .site-header a>span>span:first-child{font-size:17px !important}
  .site-header a>span>span:last-child{font-size:12px !important}
  .hide-sm{display:none}
  nav[aria-label="Brotkrumen"]{padding-right:150px !important;min-height:44px}
  .close-float{top:calc(100% + 10px) !important;right:12px !important;min-height:44px !important;font-size:15px !important;padding:0 14px 0 8px !important}
  [style*="padding: 104px 24px"]{padding:64px 16px !important}
  [style*="padding: 72px 24px"],[style*="padding: 64px 24px"],[style*="padding: 56px 24px 72px"]{padding:48px 16px !important}
  [style*="padding: 88px 24px 32px"]{padding:56px 16px 24px !important}
  [style*="padding: 32px 24px"]{padding-left:16px !important;padding-right:16px !important}
  [style*="padding: 20px 24px 0"]{padding:16px 16px 0 !important}
  [style*="padding: 40px 24px"],[style*="padding: 0 24px"]{padding-left:16px !important;padding-right:16px !important}
  [style*="padding: 40px;"]{padding:20px !important}
  [style*="font-size: 42px"]{font-size:30px !important}
  [style*="font-size: 36px"]{font-size:28px !important}
  [style*="font-size: 32px"]{font-size:25px !important}
  [style*="font-size: 30px"]{font-size:25px !important}
  [style*="grid-column: span 2"]{grid-column:auto !important}
  [style*="grid-row: span 2"]{grid-row:auto !important}
  [style*="grid-auto-rows: 220px"]{grid-auto-rows:200px !important}
  [style*="flex: 0 0 360px"]{flex-basis:84vw !important}
  [style*="min-height: 380px"]{min-height:300px !important}
  [style*="aspect-ratio: 12 / 5"]{aspect-ratio:4 / 3 !important}
  [style*="columns: 2"]{columns:1 !important}
  .mobilebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:50;background:#FFFFFF;border-top:1px solid #E1E6EC;padding:6px 6px calc(10px + env(safe-area-inset-bottom))}
  .mobilebar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;color:#13202F;text-decoration:none;font-size:13px;font-weight:500;min-height:48px;justify-content:center}
}
@media print{.site-sticky,.mobilebar,.close-float,.skip-link{display:none !important}}

/* Themenseiten-Tabelle: auf dem Handy als Karten */
@media (max-width:760px){
  .topic-table{border:0 !important;border-radius:0 !important;overflow:visible !important}
  .tt-head{display:none !important}
  .tt-row{display:block !important;border:1px solid #E1E6EC !important;border-radius:12px;margin-bottom:16px;padding:4px 0}
  .tt-name{padding:14px 16px 4px !important}
  .tt-cell{padding:8px 16px 12px !important}
  .tt-cell[data-empty="ja"]{display:none !important}
  .tt-cell::before{content:attr(data-label);display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#1F5FA8;margin-bottom:2px}
}

/* ---------- Laufband für lange Ketten (Mitgliedschaften, Werdegang) – nur Handy ---------- */
.ticker-wrap{position:relative}
.ticker-ctrl{display:none}
@media (max-width:760px){
  .m-ticker.is-ticker{display:flex !important;flex-wrap:nowrap !important;gap:16px !important;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 !important;padding:14px 2px 8px !important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}
  .m-ticker.is-ticker::-webkit-scrollbar{display:none}
  .m-ticker.is-ticker>*{flex:0 0 auto}
  div.m-ticker.is-ticker>*{width:min(300px,78vw)}
  ol.m-ticker.is-ticker>li{width:250px;padding-right:20px !important}
  .ticker-ctrl{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid #C9D3DF;background:#FFFFFF;color:#13202F;font:500 14px/1 Inter,system-ui,sans-serif;cursor:pointer}
  .ticker-ctrl svg{flex:0 0 auto}
}

/* ---------- Kacheln Spezialgebiete / Zusatzleistungen auf dem Handy kompakt ---------- */
@media (max-width:640px){
  .m-cards{gap:12px !important}
  .m-cards>div{display:grid !important;grid-template-columns:104px minmax(0,1fr);grid-template-rows:auto auto;column-gap:16px;row-gap:8px;align-items:center;text-align:left !important;padding:10px 14px 10px 10px !important}
  .m-cards>div>img{grid-row:1 / 3;width:104px !important;height:104px !important;aspect-ratio:auto !important}
  .m-cards>div>h3{font-size:22px !important;line-height:1.2;align-self:end;overflow-wrap:anywhere;hyphens:auto}
  .m-cards>div>a{justify-self:start;align-self:start;padding:9px 18px !important;font-size:15px !important}
  /* Bildergalerie zweispaltig */
  .m-gallery{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-auto-rows:150px !important;gap:10px !important}
  .m-gallery>figure:first-child{grid-column:1 / -1}
  .m-gallery figcaption{font-size:12px !important;left:8px !important;bottom:8px !important;padding:4px 9px !important;max-width:calc(100% - 16px)}
  /* Schließen-Knopf nur oben am Seitenanfang, beim Scrollen übernimmt die untere Leiste */
  html.scrolled .close-float{opacity:0;pointer-events:none;transform:translateY(-6px)}
  .close-float{transition:opacity .2s ease,transform .2s ease}
  .mobilebar.has-close{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mobilebar .mb-close{color:#13202F;font-weight:600}
  /* lange Wörter/URLs dürfen umbrechen */
  main p,section p,footer p,footer a,section li{overflow-wrap:break-word}
}
@media (prefers-reduced-motion:reduce){.close-float{transition:none}}

/* ---------- Desktop: Navigation in einer Zeile neben dem Logo ---------- */
@media (min-width:1241px){
  .site-header>div{flex-wrap:nowrap !important}
  .mainnav{gap:6px 16px !important;font-size:15px !important;flex-wrap:nowrap !important}
  .site-header>div{column-gap:24px !important}
  .mainnav a{white-space:nowrap}
  .mainnav a:last-child{padding:10px 16px !important}
}
