.elementor-kit-47{--e-global-color-primary:#0C8EA1;--e-global-color-secondary:#0E7281;--e-global-color-text:#263035;--e-global-color-accent:#10B8D1;--e-global-color-cb50:#F4FCFD;--e-global-color-cb100:#DFF8FB;--e-global-color-cb200:#BDF2F9;--e-global-color-cb300:#84E7F6;--e-global-color-cb400:#3CD5EC;--e-global-color-cb500:#10B8D1;--e-global-color-cb600:#0C8EA1;--e-global-color-cb700:#0E7281;--e-global-color-cb800:#125B66;--e-global-color-cb900:#134B53;--e-global-color-cb950:#093137;--e-global-color-cbn50:#F7F9FA;--e-global-color-cbn100:#EEF2F4;--e-global-color-cbn200:#DFE5E8;--e-global-color-cbn300:#C5CFD4;--e-global-color-cbn400:#94A3AA;--e-global-color-cbn500:#6B7A82;--e-global-color-cbn600:#4E5C64;--e-global-color-cbn700:#3A464C;--e-global-color-cbn800:#263035;--e-global-color-cbn900:#161E22;--e-global-typography-primary-font-family:"Segoe UI";--e-global-typography-primary-font-size:36px;--e-global-typography-primary-font-weight:bold;--e-global-typography-primary-line-height:1.12em;--e-global-typography-primary-letter-spacing:-0.6px;--e-global-typography-secondary-font-family:"Segoe UI";--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-font-weight:bold;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:-0.5px;--e-global-typography-text-font-family:"Segoe UI";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Segoe UI";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:bold;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-30594e0-font-family:"Segoe UI";--e-global-typography-30594e0-font-size:26px;--e-global-typography-30594e0-font-weight:bold;--e-global-typography-30594e0-line-height:1.2em;--e-global-typography-30594e0-letter-spacing:-0.5px;--e-global-typography-5eabe6a-font-family:"Segoe UI";--e-global-typography-5eabe6a-font-size:15px;--e-global-typography-5eabe6a-font-weight:400;--e-global-typography-5eabe6a-line-height:1.4em;--e-global-typography-5eabe6a-letter-spacing:-0.2px;}.elementor-kit-47 e-page-transition{background-color:#FFBC7D;}.elementor-kit-47 a{color:var( --e-global-color-cb50 );}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-47{--e-global-typography-primary-font-size:36px;--e-global-typography-primary-line-height:1.18em;--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-line-height:1.36em;--e-global-typography-text-font-size:18px;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-size:15px;--e-global-typography-accent-line-height:1.46em;--e-global-typography-30594e0-font-size:24px;--e-global-typography-30594e0-line-height:1.36em;--e-global-typography-5eabe6a-font-size:13px;--e-global-typography-5eabe6a-line-height:1.7em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-47{--e-global-typography-primary-font-size:30px;--e-global-typography-primary-line-height:1.22em;--e-global-typography-secondary-font-size:26px;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-text-font-size:17px;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-size:14px;--e-global-typography-accent-line-height:1.5em;--e-global-typography-30594e0-font-size:22px;--e-global-typography-30594e0-line-height:1.2em;--e-global-typography-5eabe6a-font-size:13px;--e-global-typography-5eabe6a-line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===========================================================
   CHIRURGIE BALAUTA · Global Custom CSS · v3 FINAL
   -----------------------------------------------------------
   Einbau: Elementor → Site Settings → Custom CSS
           Bestehenden Inhalt dort komplett ERSETZEN.
           Danach: Elementor → Tools → Regenerate Files & Data.

   TYPOGRAFIE IST JETZT DEINE
   Alle Schriftgrößen stehen entweder in :where(…) – das hat
   Spezifität 0 – oder in em-Einheiten. Jede Einstellung, die
   du in Elementor machst, sticht dieses CSS automatisch:
     · Site Settings → Global Fonts (neue Schrift anlegen)
     · Site Settings → Typography
     · Typography am einzelnen Widget
   Kein !important auf Schriften, kein Gegenkämpfen nötig.

   em statt rem bei den Textbausteinen bedeutet: änderst du
   die globale Grundgröße, skaliert alles proportional mit.

   Nur für Chips, Tabellen, Timeline & Co. – dort hat Elementor
   keine Controls – stehen Schriftfamilien fest. Die tauschst
   du an genau einer Stelle: --cb-font-head / --cb-font-body.
   =========================================================== */

:root{
  --cb-50:#F4FCFD; --cb-100:#DFF8FB; --cb-200:#BDF2F9; --cb-300:#84E7F6;
  --cb-400:#3CD5EC; --cb-500:#10B8D1; --cb-600:#0C8EA1; --cb-700:#0E7281;
  --cb-800:#125B66; --cb-900:#134B53; --cb-950:#093137;
  --cb-n50:#F7F9FA; --cb-n100:#EEF2F4; --cb-n200:#DFE5E8; --cb-n300:#C5CFD4;
  --cb-n400:#94A3AA; --cb-n500:#6B7A82; --cb-n600:#4E5C64; --cb-n700:#3A464C;
  --cb-n800:#263035; --cb-n900:#161E22;
  --cb-tbd:#B45309;
  --cb-r:16px; --cb-r-lg:24px;

  /* Schriften der HTML-Bausteine (Chips, Tabellen, Timeline ...),
     fuer die Elementor keine eigenen Controls hat.
     Nur hier tauschen, dann folgt alles mit. */
  --cb-font-head:'Jost',system-ui,sans-serif;
  --cb-font-body:'Inter',system-ui,-apple-system,sans-serif;
}

/* ---------- Typo-Basis ---------- */
:where(body){ font-family:var(--cb-font-body); color:var(--cb-n800); font-size:17px; line-height:1.65; }
:where(h1,h2,h3,h4,h5,h6){ font-family:var(--cb-font-head); letter-spacing:-.015em; }
.elementor-widget-text-editor p{ font-size:inherit; line-height:inherit; }
.cb-lead{ font-size:1.13em; line-height:1.6; color:var(--cb-n700); }
.cb-fine{ font-size:.9em; color:var(--cb-n500); }
.cb-center{ text-align:center; align-items:center; }
.cb-center .cb-eyebrow p{ justify-content:center; }

/* ---------- Eyebrow (Signature-Rule) ---------- */
.cb-eyebrow{ font-size:.76em; }
.cb-eyebrow p{
  font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cb-700); display:flex; align-items:center; gap:12px; margin:0;
}
.cb-eyebrow p::before{ content:""; width:26px; height:2px; background:var(--cb-600); flex:none; border-radius:2px; }

/* ---------- Buttons ---------- */
.cb-btn .elementor-button{
  border-radius:999px; font-weight:600; padding:15px 27px;
  border:1.5px solid transparent; transition:all .18s ease;
}
:where(.cb-btn .elementor-button){ font-size:.97rem; }
.cb-btn-primary .elementor-button{ background:var(--cb-600); color:#fff; }
.cb-btn-primary .elementor-button:hover{ background:var(--cb-700); transform:translateY(-1px); }
.cb-btn-secondary .elementor-button{ background:#fff; color:var(--cb-800); border-color:var(--cb-n200); }
.cb-btn-secondary .elementor-button:hover{ background:var(--cb-50); border-color:var(--cb-400); }
.cb-btn-ghost .elementor-button{ background:transparent; color:#fff; border-color:rgba(255,255,255,.35); }
.cb-btn-ghost .elementor-button:hover{ background:rgba(255,255,255,.12); border-color:#fff; }

/* ---------- Checklisten ---------- */
.cb-checks .elementor-icon-list-item{ align-items:flex-start; }
.cb-checks .elementor-icon-list-icon{
  background:var(--cb-100); border-radius:50%; width:23px; height:23px;
  display:grid; place-items:center; margin-top:2px; flex:none;
}
.cb-checks .elementor-icon-list-text{ color:var(--cb-n700); padding-left:10px; }
:where(.cb-checks .elementor-icon-list-text){ font-size:.98rem; }

/* ---------- Chips ---------- */
ul.cb-chips{ display:flex; flex-wrap:wrap; gap:4px; list-style:none; padding:0; margin:0; }
ul.cb-chips li{
  font-size:.7rem; background:var(--cb-50); color:var(--cb-800);
  padding:4px 8px; border-radius:999px; border:1px solid var(--cb-100);
}

/* ---------- Cards ---------- */
.cb-card{ transition:all .2s ease; height:100%; }
.cb-card:hover{ border-color:var(--cb-300)!important; box-shadow:0 12px 24px -6px rgba(9,49,55,.10); transform:translateY(-2px); }
.cb-card h3, .cb-card h2{ margin-bottom:10px; }
.cb-card{ font-size:.95em; color:var(--cb-n600); }
.cb-ico{
  width:44px; height:44px; border-radius:12px; background:var(--cb-50);
  display:grid; place-items:center; font-size:1.2rem; margin-bottom:16px;
}
a.cb-more{
  font-size:.9rem; font-weight:600; color:var(--cb-700); text-decoration:none;
  display:inline-flex; gap:7px; align-items:center; margin-top:auto;
}
a.cb-more:hover{ gap:11px; }

/* ---------- Bild-Platzhalter ---------- */
.cb-ph{
  border:1.5px dashed var(--cb-n300); border-radius:var(--cb-r-lg);
  background:repeating-linear-gradient(135deg,var(--cb-n50) 0 12px,var(--cb-n100) 12px 24px);
  display:grid; place-items:center; color:var(--cb-n500);
  font-family:var(--cb-font-head); font-size:.95rem; letter-spacing:.02em;
}
.cb-ph-4x5{ aspect-ratio:4/5; } .cb-ph-3x2{ aspect-ratio:3/2; }
.cb-ph-16x9{ aspect-ratio:16/9; } .cb-ph-1x1{ aspect-ratio:1/1; }
p.cb-imgnote{
  font-size:.76rem; line-height:1.5; color:var(--cb-n500);
  background:var(--cb-n50); border:1px dashed var(--cb-n300);
  border-radius:8px; padding:8px 12px; margin:0;
}
.cb-map{
  aspect-ratio:16/10; border:1.5px dashed var(--cb-n300); border-radius:var(--cb-r-lg);
  background:repeating-linear-gradient(135deg,var(--cb-n50) 0 12px,var(--cb-n100) 12px 24px);
  display:grid; place-items:center; text-align:center; padding:24px;
  font-family:var(--cb-font-head); color:var(--cb-n600); font-size:1rem;
}
.cb-map small{ display:block; margin-top:8px; font-size:.76rem; color:var(--cb-n400); font-family:var(--cb-font-body); }

/* ---------- Fakten-Liste ---------- */
dl.cb-facts{ margin:0; border-top:1px solid var(--cb-n200); }
.cb-fact{ display:grid; grid-template-columns:190px 1fr; gap:20px;
  padding:15px 0; border-bottom:1px solid var(--cb-n200); }
.cb-fact dt{ font-weight:600; font-size:.93rem; color:var(--cb-n800); }
.cb-fact dd{ margin:0; font-size:.96rem; color:var(--cb-n600); }
.cb-sidecard .cb-fact{ grid-template-columns:1fr; gap:2px; }

/* ---------- Tabelle ---------- */
table.cb-tbl{ width:100%; border-collapse:collapse; font-size:.94rem; }
table.cb-tbl th{
  text-align:left; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--cb-n500); font-weight:600; padding:0 16px 12px 0; border-bottom:1px solid var(--cb-n200);
}
table.cb-tbl td{ padding:16px 16px 16px 0; border-bottom:1px solid var(--cb-n100);
  vertical-align:top; color:var(--cb-n600); }
table.cb-tbl td:first-child{ font-weight:600; color:var(--cb-n800); }

/* ---------- Steps (echte Sequenz) ---------- */
.cb-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.cb-step{ padding:26px 24px 0 0; border-top:2px solid var(--cb-200); }
.cb-step + .cb-step{ padding-left:24px; }
.cb-step span{ font-family:var(--cb-font-head); font-size:.8rem; font-weight:600;
  color:var(--cb-600); display:block; margin-bottom:10px; letter-spacing:.08em; }
.cb-step h4{ margin:0 0 8px; font-size:1.02rem; font-weight:600; font-family:var(--cb-font-body); }
.cb-step{ font-size:.9em; color:var(--cb-n600); }
.cb-step p{ margin:0; }

/* ---------- Timeline ---------- */
ul.cb-tl{ list-style:none; padding:0; margin:0 0 40px; border-left:2px solid var(--cb-100); }
ul.cb-tl li{ padding:0 0 26px 26px; position:relative; }
ul.cb-tl li::before{ content:""; position:absolute; left:-7px; top:8px; width:12px; height:12px;
  border-radius:50%; background:#fff; border:2.5px solid var(--cb-400); }
ul.cb-tl li:last-child::before{ background:var(--cb-600); border-color:var(--cb-600); }
ul.cb-tl b{ display:block; font-size:.98rem; font-weight:600; color:var(--cb-n800); }
ul.cb-tl span{ font-size:.9rem; color:var(--cb-n500); }

/* ---------- Callout ---------- */
.cb-callout{ background:var(--cb-50); border:1px solid var(--cb-100);
  border-left:4px solid var(--cb-600); border-radius:var(--cb-r); padding:24px 28px; }
.cb-callout h3{ margin:0 0 8px; font-size:1.15rem; }
.cb-callout p{ margin:0; color:var(--cb-n700); }
.cb-callout .cb-more{ margin-top:12px; }
.cb-callout-w{ background:#FFF7ED; border-color:#FDBA74; border-left-color:var(--cb-tbd); }

/* ---------- Accordion ---------- */
.cb-acc{ border-top:1px solid var(--cb-n200); }
.cb-acc details{ border-bottom:1px solid var(--cb-n200); }
.cb-acc summary{ cursor:pointer; list-style:none; padding:20px 44px 20px 0; position:relative;
  font-family:var(--cb-font-head); font-size:1.08rem; font-weight:500; color:var(--cb-n900); }
.cb-acc summary::-webkit-details-marker{ display:none; }
.cb-acc summary::after{ content:"+"; position:absolute; right:8px; top:50%; transform:translateY(-50%);
  font-size:1.5rem; font-weight:300; color:var(--cb-600); line-height:1; }
.cb-acc details[open] summary{ color:var(--cb-700); }
.cb-acc details[open] summary::after{ content:"–"; }
.cb-acc details > div{ padding:0 44px 22px 0; color:var(--cb-n600); font-size:.98rem; max-width:70ch; }

/* ---------- Öffnungszeiten / Anfahrt ---------- */
ul.cb-hours{ list-style:none; padding:0; margin:0; }
ul.cb-hours li{ display:flex; justify-content:space-between; gap:16px; padding:11px 0;
  border-bottom:1px solid var(--cb-n100); font-size:.96rem; }
ul.cb-hours li b{ color:var(--cb-n800); }
ul.cb-hours li span{ color:var(--cb-n600); font-variant-numeric:tabular-nums; }
ul.cb-hours li.is-today{ color:var(--cb-800); }
ul.cb-hours li.is-today b::after{ content:"heute"; font-size:.68rem; background:var(--cb-100);
  color:var(--cb-800); padding:2px 7px; border-radius:999px; margin-left:8px; font-weight:600; }
ul.cb-transit{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
ul.cb-transit li{ display:flex; gap:12px; align-items:center; font-size:.94rem; color:var(--cb-n600); }
.cb-line{ flex:none; width:30px; height:30px; border-radius:8px; display:grid; place-items:center;
  font-size:.78rem; font-weight:700; color:#fff; }
.cb-line.u1{ background:#E20613; } .cb-line.u2{ background:#9C4B9C; }
.cb-line.tram{ background:#D2001E; } .cb-line.bus{ background:#0069B4; }

/* ---------- Offene Punkte ---------- */
.cb-tbd{ display:inline-flex; align-items:center; gap:7px; background:#FFF7ED; color:var(--cb-tbd);
  border:1px dashed #FDBA74; border-radius:8px; padding:3px 10px; font-size:.8rem; font-weight:600; }
.cb-tbd::before{ content:"◆"; font-size:.6rem; }

/* ---------- Sonstiges ---------- */
.cb-hourcard{ background:#fff; border:1px solid var(--cb-n100); border-radius:var(--cb-r);
  padding:18px 22px; box-shadow:0 12px 28px -10px rgba(9,49,55,.18); margin-top:12px;
  max-width:320px; }
.cb-hourcard b{ font-size:.9rem; display:block; margin-bottom:6px; }
.cb-hourcard b i{ width:8px; height:8px; border-radius:50%; background:#16A34A;
  display:inline-block; margin-right:8px; }
.cb-hourcard p{ font-size:.82em; color:var(--cb-n500); margin:0; line-height:1.5; }
.cb-stat b{ display:block; font-family:var(--cb-font-head); font-size:1.5rem; font-weight:500;
  color:var(--cb-700); line-height:1.1; }
.cb-stat span{ font-size:.85rem; color:var(--cb-n500); display:block; margin-top:5px; }
ul.cb-toc{ list-style:none; padding:0; margin:0; display:grid; gap:10px; font-size:.93rem; }
ul.cb-toc a{ color:var(--cb-n700); text-decoration:none; }
ul.cb-toc a:hover{ color:var(--cb-700); }
.cb-sticky{ position:sticky; top:110px; }
.cb-sechead{ max-width:680px; }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .cb-steps{ grid-template-columns:repeat(2,1fr); }
  .cb-step+.cb-step{ padding-left:0; }
  .cb-steps .cb-step:nth-child(even){ padding-left:24px; }
  .cb-sticky{ position:static; }
  .cb-hourcard{ margin-top:16px; margin-left:0; max-width:none; box-shadow:none; }
}
@media (max-width:767px){
  :where(body){ font-size:16px; }
  .cb-steps{ grid-template-columns:1fr; }
  .cb-steps .cb-step:nth-child(even){ padding-left:0; }
  .cb-fact{ grid-template-columns:1fr; gap:4px; }
  .cb-btn .elementor-button{ width:100%; }
  table.cb-tbl, table.cb-tbl tbody, table.cb-tbl tr, table.cb-tbl td{ display:block; width:100%; }
  table.cb-tbl thead{ display:none; }
  table.cb-tbl tr{ border-bottom:1px solid var(--cb-n200); padding:12px 0; }
  table.cb-tbl td{ border:none; padding:2px 0; }
}

/* ===========================================================
   RESPONSIVE – Sicherheitsnetz zusätzlich zu den Elementor-
   Breakpoints. Greift auch, wenn Global Typography im Kit
   überschrieben wird.
   =========================================================== */
@media (max-width:1024px){
  .cb-flip{ flex-direction:column-reverse !important; }
  :where(.elementor-widget-heading h1.elementor-heading-title){ font-size:clamp(2rem,1.2rem + 2.6vw,2.8rem); }
  :where(.elementor-widget-heading h2.elementor-heading-title){ font-size:clamp(1.55rem,1.1rem + 1.6vw,2.1rem); }
  :where(.elementor-widget-heading h3.elementor-heading-title){ font-size:1.2rem; }
  .cb-card{ padding:24px !important; }
  .cb-callout{ padding:20px 22px; }
}
@media (max-width:767px){
  :where(.elementor-widget-heading h1.elementor-heading-title){ font-size:1.85rem; line-height:1.15; }
  :where(.elementor-widget-heading h2.elementor-heading-title){ font-size:1.5rem; line-height:1.2; }
  .cb-card{ padding:22px !important; }
  .cb-sidecard{ padding:22px !important; }
  ul.cb-chips li{ font-size:.82rem; padding:6px 12px; }
  .cb-acc summary{ font-size:1rem; padding-right:36px; }
  .cb-acc details > div{ padding-right:0; }
  .cb-imgnote{ font-size:.72rem; }
  ul.cb-hours li{ flex-direction:column; gap:2px; }
  .cb-eyebrow{ font-size:.7em; }
}
/* Horizontales Überlaufen von Tabellen/Chips verhindern */
.cb-tbl, .cb-chips, .cb-facts{ max-width:100%; }
img, iframe{ max-width:100%; }

/* ===========================================================
   SPALTENSYSTEM – flex-grow statt fixer Prozentbreiten.
   Grund: width:50% + gap:48px ergibt >100% und die letzte
   Spalte bricht um. Mit flex-basis:0 zieht der Gap die
   Spalten selbst zusammen.
   =========================================================== */
.cb-row{ flex-wrap:nowrap; }
.cb-row > .cb-col{ flex:1 1 0%; min-width:0; }
.cb-row > .cb-col-20{ flex-grow:20; }
.cb-row > .cb-col-21{ flex-grow:21; }
.cb-row > .cb-col-22{ flex-grow:22; }
.cb-row > .cb-col-23{ flex-grow:23; }
.cb-row > .cb-col-24{ flex-grow:24; }
.cb-row > .cb-col-25{ flex-grow:25; }
.cb-row > .cb-col-26{ flex-grow:26; }
.cb-row > .cb-col-27{ flex-grow:27; }
.cb-row > .cb-col-28{ flex-grow:28; }
.cb-row > .cb-col-29{ flex-grow:29; }
.cb-row > .cb-col-30{ flex-grow:30; }
.cb-row > .cb-col-31{ flex-grow:31; }
.cb-row > .cb-col-32{ flex-grow:32; }
.cb-row > .cb-col-33{ flex-grow:33; }
.cb-row > .cb-col-34{ flex-grow:34; }
.cb-row > .cb-col-35{ flex-grow:35; }
.cb-row > .cb-col-36{ flex-grow:36; }
.cb-row > .cb-col-37{ flex-grow:37; }
.cb-row > .cb-col-38{ flex-grow:38; }
.cb-row > .cb-col-39{ flex-grow:39; }
.cb-row > .cb-col-40{ flex-grow:40; }
.cb-row > .cb-col-41{ flex-grow:41; }
.cb-row > .cb-col-42{ flex-grow:42; }
.cb-row > .cb-col-43{ flex-grow:43; }
.cb-row > .cb-col-44{ flex-grow:44; }
.cb-row > .cb-col-45{ flex-grow:45; }
.cb-row > .cb-col-46{ flex-grow:46; }
.cb-row > .cb-col-47{ flex-grow:47; }
.cb-row > .cb-col-48{ flex-grow:48; }
.cb-row > .cb-col-49{ flex-grow:49; }
.cb-row > .cb-col-50{ flex-grow:50; }
.cb-row > .cb-col-51{ flex-grow:51; }
.cb-row > .cb-col-52{ flex-grow:52; }
.cb-row > .cb-col-53{ flex-grow:53; }
.cb-row > .cb-col-54{ flex-grow:54; }
.cb-row > .cb-col-55{ flex-grow:55; }
.cb-row > .cb-col-56{ flex-grow:56; }
.cb-row > .cb-col-57{ flex-grow:57; }
.cb-row > .cb-col-58{ flex-grow:58; }
.cb-row > .cb-col-59{ flex-grow:59; }
.cb-row > .cb-col-60{ flex-grow:60; }
.cb-row > .cb-col-61{ flex-grow:61; }
.cb-row > .cb-col-62{ flex-grow:62; }
.cb-row > .cb-col-63{ flex-grow:63; }
.cb-row > .cb-col-64{ flex-grow:64; }
.cb-row > .cb-col-65{ flex-grow:65; }
.cb-row > .cb-col-66{ flex-grow:66; }
.cb-row > .cb-col-67{ flex-grow:67; }
.cb-row > .cb-col-68{ flex-grow:68; }
.cb-row > .cb-col-69{ flex-grow:69; }
.cb-row > .cb-col-70{ flex-grow:70; }
.cb-row > .cb-col-71{ flex-grow:71; }
.cb-row > .cb-col-72{ flex-grow:72; }
.cb-row > .cb-col-73{ flex-grow:73; }
.cb-row > .cb-col-74{ flex-grow:74; }
.cb-row > .cb-col-75{ flex-grow:75; }
.cb-row > .cb-col-76{ flex-grow:76; }
.cb-row > .cb-col-77{ flex-grow:77; }
.cb-row > .cb-col-78{ flex-grow:78; }
.cb-row > .cb-col-79{ flex-grow:79; }
.cb-row > .cb-col-80{ flex-grow:80; }
.cb-row > .cb-col-81{ flex-grow:81; }
.cb-row > .cb-col-82{ flex-grow:82; }
.cb-row > .cb-col-83{ flex-grow:83; }
.cb-row > .cb-col-84{ flex-grow:84; }
.cb-row > .cb-col-85{ flex-grow:85; }
.cb-row > .cb-col-86{ flex-grow:86; }
.cb-row > .cb-col-87{ flex-grow:87; }
.cb-row > .cb-col-88{ flex-grow:88; }
.cb-row > .cb-col-89{ flex-grow:89; }
.cb-row > .cb-col-90{ flex-grow:90; }
.cb-row > .cb-col-91{ flex-grow:91; }
.cb-row > .cb-col-92{ flex-grow:92; }
.cb-row > .cb-col-93{ flex-grow:93; }
.cb-row > .cb-col-94{ flex-grow:94; }
.cb-row > .cb-col-95{ flex-grow:95; }
.cb-row > .cb-col-96{ flex-grow:96; }
.cb-row > .cb-col-97{ flex-grow:97; }
.cb-row > .cb-col-98{ flex-grow:98; }
.cb-row > .cb-col-99{ flex-grow:99; }
.cb-row > .cb-col-100{ flex-grow:100; }
@media (max-width:1024px){
  .cb-row{ flex-wrap:wrap; }
  .cb-row > .cb-col{ flex:1 1 100% !important; width:100%; }
}

/* ---------- Heading-Skala (deterministisch, unabhängig vom Theme) ---------- */
:where(.elementor-widget-heading h1.elementor-heading-title){ font-size:clamp(2.1rem,1.3rem + 2.6vw,3.2rem); line-height:1.08; font-weight:400; }
:where(.elementor-widget-heading h2.elementor-heading-title){ font-size:clamp(1.6rem,1.2rem + 1.5vw,2.3rem); line-height:1.15; font-weight:500; }
:where(.elementor-widget-heading h3.elementor-heading-title){ font-size:1.3rem; line-height:1.3; font-weight:500; }
:where(.elementor-widget-heading h4.elementor-heading-title){ font-size:1.02rem; font-weight:600; font-family:var(--cb-font-body); letter-spacing:0; }
.cb-card .elementor-widget-heading h3.elementor-heading-title,
.cb-card :where(.elementor-widget-heading h2.elementor-heading-title){ font-size:1.25rem; }

/* ===========================================================
   HEADER (Theme Builder)
   =========================================================== */
.cb-header{ backdrop-filter:blur(12px); }
.cb-header .elementor-widget:first-child{ flex:none; }
.cb-header .cb-nav{ margin-left:auto; }
a.cb-logo{ display:flex; flex-direction:column; text-decoration:none; line-height:1; }
a.cb-logo b{ font-family:var(--cb-font-head); font-size:1.42rem; font-weight:300; color:var(--cb-600); letter-spacing:-.01em; }
a.cb-logo b span{ font-weight:600; }
a.cb-logo small{ font-family:var(--cb-font-head); font-size:.63rem; color:var(--cb-600); margin-top:3px; }
.cb-header .cb-imgnote{ margin-top:8px; max-width:320px; }
.cb-nav .elementor-item{ font-weight:500; color:var(--cb-n700); padding:9px 13px !important; border-radius:10px; }
:where(.cb-nav .elementor-item){ font-size:.92rem; }
.cb-nav .elementor-item:hover, .cb-nav .elementor-item.elementor-item-active{ background:var(--cb-50); color:var(--cb-800); }
a.cb-tel{ font-size:.9rem; font-weight:600; color:var(--cb-n700); text-decoration:none; white-space:nowrap; }
@media (max-width:1024px){
  .cb-header a.cb-tel, .cb-header .cb-imgnote{ display:none; }
  .cb-header .cb-btn .elementor-button{ width:auto; padding:11px 18px; font-size:.85rem; }
}

/* ===========================================================
   FOOTER (Theme Builder)
   =========================================================== */
.cb-footer{ color:var(--cb-200); font-size:.9rem; }
.cb-footer a{ color:var(--cb-200); text-decoration:none; }
.cb-footer a:hover{ color:#fff; text-decoration:underline; }
h4.cb-fh{ color:var(--cb-300); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 16px; font-family:var(--cb-font-body); }
ul.cb-flist{ list-style:none; padding:0; margin:0; display:grid; gap:9px; }
.cb-flogo b{ font-family:var(--cb-font-head); font-size:1.3rem; font-weight:300; color:#fff; display:block; }
.cb-flogo b span{ font-weight:600; }
p.cb-fadr{ margin-top:14px; line-height:1.7; color:var(--cb-200); }
ul.cb-fhours{ list-style:none; padding:0; margin:0; display:grid; gap:9px; }
ul.cb-fhours li{ display:flex; justify-content:space-between; gap:12px; }
ul.cb-fhours li b{ font-weight:500; color:var(--cb-200); }
ul.cb-fhours li span{ color:var(--cb-400); }
.cb-fbottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:48px; padding-top:24px;
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:.84rem; color:var(--cb-400); }

/* ===========================================================
   Sidebar links, Inhalt zuerst im DOM.
   Reihenfolge im Quelltext = Hauptinhalt vor Seitenspalte
   (besser für Suchmaschinen, Screenreader und Mobil);
   die visuelle Position dreht row-reverse.
   =========================================================== */
.cb-rev{ flex-direction:row-reverse; }
@media (max-width:1024px){
  .cb-rev{ flex-direction:column !important; }
}

/* Card-Variante mit Tönung */
.cb-card-tint{ background:var(--cb-50); border-color:var(--cb-100) !important; }
.cb-card-tint:hover{ border-color:var(--cb-300) !important; }

/* Sprungmarken-Überschrift in der Seitenspalte optisch als Label,
   semantisch aber eine echte Überschrift */
:where(.cb-sidehead .elementor-heading-title){
  font-size:.78rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--cb-n500); font-family:var(--cb-font-body); font-weight:600;
}

/* Anker-Sprünge nicht unter den Sticky-Header schieben */
:target{ scroll-margin-top:110px; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

/* Abstand unter Text-Widgets kommt vom letzten Absatz */
.elementor-widget-text-editor p:last-child,
.elementor-widget-text-editor ul:last-child,
.elementor-widget-text-editor ol:last-child{ margin-bottom:0; }
.elementor-widget-text-editor > .elementor-widget-container{ padding:0; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Segoe UI';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://chirurgie-balauta.at/wp-content/uploads/2026/09/segoeui.woff2') format('woff2');
}
@font-face {
	font-family: 'Segoe UI';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://chirurgie-balauta.at/wp-content/uploads/2026/09/segoeuilight.woff2') format('woff2');
}
@font-face {
	font-family: 'Segoe UI';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://chirurgie-balauta.at/wp-content/uploads/2026/09/segoeuisemibold.woff2') format('woff2');
}
/* End Custom Fonts CSS */