/* =========================================================================
   implantat-berater.de — Bausteine des Arztverzeichnisses
   Gestaltung nach dem freigegebenen Entwurf „Ruhe und Orientierung", 2026-09-01.
   Ergänzt das Design des Baukastens; alle Klassen tragen das Präfix ib-,
   damit sich nichts mit dem Grundgerüst beißt.
   ========================================================================= */

.ib-marine  { color: var(--marine, #222955); }

/* Fund 14.09.2026: Diese Werte standen fest verdrahtet auf den Farben des
   Implantat-Beraters. Die Datei wird aber von ALLEN Auftritten geladen - damit
   liefen Suchkarte, Ortsuebersicht, Ortsseite und Praxisseite auf dem
   Parodontologie-, dem KFO- und dem Zahnersatz-Berater in fremdem Marineblau,
   waehrend der Rest der Seite die eigene Hausfarbe trug. Aufgefallen ist es am
   dunkelblauen "Suchen"-Knopf in einer minzfarbenen Suchkarte.

   Jetzt kommen die Werte aus den Design-Variablen, die main90 bis main93 je
   Auftritt setzen. Der zweite Wert in var() ist der Rueckfall: Wird die Datei
   einmal ohne ein solches Design geladen, sieht alles aus wie bisher. */
:root {
  --ib-marine: var(--marine, #222955);
  --ib-blau: var(--blau, #0061ad);
  --ib-blau-hell: var(--blau-hell, #e8f1f9);
  --ib-gruen: var(--gruen, #2f6b52);
  --ib-grund: var(--grund, #faf9f6);
  --ib-linie: var(--linie, #e4e1d9);
  --ib-linie-kraeftig: var(--linie-kraeftig, #cfcbc0);
  --ib-text: var(--text, #1c2033);
  --ib-leise: var(--leise, #5c6172);
  --ib-radius: 14px;
  --ib-radius-klein: 9px;
  --ib-serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --ib-schatten: 0 1px 2px rgba(28,32,51,.05), 0 8px 24px -12px rgba(28,32,51,.18);
}

.ib-suche, .ib-trefferbereich, .ib-ortsuebersicht, .ib-ortsseite, .ib-praxis { color: var(--ib-text); }
.ib-suche h1, .ib-suche h2, .ib-trefferbereich h2, .ib-ortsuebersicht h2,
.ib-ortsseite h1, .ib-praxis h1, .ib-praxis h2 {
  font-family: var(--ib-serif); color: var(--ib-marine); line-height: 1.22; font-weight: 600;
}

/* --- Suchkarte ----------------------------------------------------------- */
.ib-suchkarte {
  background: #fff; border: 1px solid var(--ib-linie); border-radius: var(--ib-radius);
  box-shadow: var(--ib-schatten); padding: 1.6rem 1.7rem; margin-bottom: 2rem;
}
.ib-suchkarte h2 { margin: 0 0 1.1rem; font-size: 1.32rem; }
.ib-suchzeile { display: grid; grid-template-columns: 2.1fr 1.1fr 1.2fr auto; gap: .7rem; align-items: end; }
.ib-feld label { display: block; font: 600 13.5px/1 system-ui, sans-serif; color: var(--ib-leise); margin-bottom: .45rem; }
.ib-feld input, .ib-feld select {
  width: 100%; padding: 13px 14px; font: 400 17px/1.3 system-ui, sans-serif; color: var(--ib-text);
  background: var(--ib-grund); border: 1.5px solid var(--ib-linie-kraeftig); border-radius: var(--ib-radius-klein);
  box-sizing: border-box;
}
.ib-feld input:focus, .ib-feld select:focus { border-color: var(--ib-blau); background: #fff; outline: none; }
.ib-suchzeile button {
  padding: 14px 26px; font: 600 17px/1.3 system-ui, sans-serif; color: #fff; cursor: pointer;
  background: var(--ib-marine); border: 0; border-radius: var(--ib-radius-klein); white-space: nowrap;
}
.ib-suchzeile button:hover { background: var(--ib-blau); }

/* --- Trefferliste -------------------------------------------------------- */
.ib-trefferkopf { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.ib-trefferkopf h2 { margin: 0; font-size: 1.4rem; }
.ib-trefferzahl { font-size: .97rem; color: var(--ib-leise); margin: 0; }
.ib-trefferliste { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
/* Drei Spalten: laufende Nummer, Angaben, Entfernung samt Schaltflaeche. Die Nummer ist
   dieselbe wie auf der Karte im Seitenkopf - sie verbindet Nadel und Eintrag. */
.ib-treffer {
  background: #fff; border: 1px solid var(--ib-linie); border-radius: var(--ib-radius);
  padding: 1.35rem 1.5rem; display: grid; grid-template-columns: auto minmax(0,1fr) auto;
  gap: 1.2rem; align-items: center;
}
.ib-treffer-nummer {
  display: grid; place-items: center; width: 30px; height: 30px; align-self: start;
  border-radius: 50%; background: var(--ib-blau); color: #fff;
  font: 700 .9rem/1 var(--ib-sans, system-ui, sans-serif); margin-top: .2rem;
}
.ib-treffer:hover { border-color: var(--ib-linie-kraeftig); box-shadow: var(--ib-schatten); }
.ib-treffer-name { font-family: var(--ib-serif); font-size: 1.24rem; margin: 0 0 .3rem; }
.ib-treffer-name a { color: var(--ib-marine); text-decoration: none; }
.ib-treffer-name a:hover { color: var(--ib-blau); text-decoration: underline; }
.ib-treffer-anschrift { color: var(--ib-leise); font-size: .99rem; margin: 0; }
.ib-treffer-anschrift a { color: inherit; }
.ib-treffer-rechts { display: flex; flex-direction: column; align-items: flex-end; gap: .6rem; }
.ib-marken { display: flex; gap: .45rem; flex-wrap: wrap; margin-top: .7rem; }
.ib-marke {
  display: inline-block; font: 600 12.5px/1 system-ui, sans-serif; padding: 5px 10px;
  border-radius: 99px; border: 1px solid var(--ib-linie); background: var(--ib-grund); color: var(--ib-leise);
}
.ib-marke-fach { color: var(--ib-gruen); border-color: #bfd6c9; background: #eef5f1; }
.ib-entfernung {
  display: inline-flex; align-items: baseline; gap: .25rem; background: var(--ib-marine); color: #fff;
  border-radius: 99px; padding: 6px 13px; font: 600 14px/1 system-ui, sans-serif; white-space: nowrap;
}
.ib-entfernung span { font-weight: 400; font-size: .85em; }

/* .ib-knopf ist bewusst NUR in main90.css definiert (marine, hover blau). Stand die Regel auch
   hier, gewann je nach Ladereihenfolge mal die eine, mal die andere Farbe - "Praxis anrufen"
   war blau, "Nachricht senden" marine, bei gleichrangigen Aktionen. */
.ib-knopf-schmal {
  display: inline-block; text-decoration: none; border-radius: 99px; white-space: nowrap;
  padding: 9px 16px; border: 1.5px solid var(--ib-blau); color: var(--ib-blau);
  font: 600 14.5px/1 system-ui, sans-serif;
}
.ib-knopf-schmal:hover { background: var(--ib-blau); color: #fff; }

/* --- Hinweise ------------------------------------------------------------ */
.ib-hinweis, .ib-leer {
  background: var(--ib-blau-hell); border-left: 4px solid var(--ib-blau);
  padding: 1.2rem 1.4rem; border-radius: 0 var(--ib-radius-klein) var(--ib-radius-klein) 0; margin: 1.4rem 0;
}
.ib-leer p:last-child, .ib-hinweis:last-child { margin-bottom: 0; }
.ib-vorspann { font-size: 1.1rem; color: var(--ib-leise); max-width: 62ch; }
.ib-klein { font-size: .92rem; color: var(--ib-leise); }
.ib-krumen { font-size: .92rem; color: var(--ib-leise); margin-bottom: .8rem; }
.ib-krumen a { color: var(--ib-leise); }
.ib-krumen span { padding: 0 .45em; color: var(--ib-linie-kraeftig); }

/* --- Ortsübersicht ------------------------------------------------------- */
.ib-sprungmarken { display: flex; flex-wrap: wrap; gap: .35rem; margin: 1.6rem 0 2.4rem; }
.ib-sprungmarken a {
  display: inline-block; min-width: 38px; text-align: center; padding: 8px 10px;
  border: 1px solid var(--ib-linie); border-radius: var(--ib-radius-klein); background: #fff;
  text-decoration: none; color: var(--ib-marine); font-weight: 600;
}
.ib-sprungmarken a:hover { border-color: var(--ib-blau); background: var(--ib-blau-hell); }
.ib-ortsgruppe { margin-bottom: 2.2rem; scroll-margin-top: 120px; }
.ib-ortsgruppe h2 { font-size: 1.5rem; margin: 0 0 .8rem; padding-bottom: .4rem; border-bottom: 2px solid var(--ib-linie); }
.ib-ortsliste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .4rem; }
.ib-ortsliste a {
  display: flex; align-items: center; justify-content: space-between; gap: .8rem;
  padding: 9px 12px; border-radius: var(--ib-radius-klein); text-decoration: none;
  color: var(--ib-marine); font-weight: 600;
}
.ib-ortsliste a:hover { background: var(--ib-blau-hell); }
.ib-anzahl { flex: 0 0 auto; font: 600 12.5px/1 system-ui, sans-serif; color: var(--ib-leise); background: var(--ib-grund); border: 1px solid var(--ib-linie); border-radius: 99px; padding: 4px 9px; }

/* --- Praxisseite --------------------------------------------------------- */
.ib-praxis-kopf { margin-bottom: 1.8rem; }
.ib-praxis-kopf h1 { font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); margin: 0 0 .25em; }
.ib-praxis-kopf .ib-zusatz { color: var(--ib-leise); font-size: 1.05rem; margin: 0; }
.ib-praxis-raster { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 1.8rem; align-items: start; }
.ib-block { background: #fff; border: 1px solid var(--ib-linie); border-radius: var(--ib-radius); padding: 1.5rem 1.6rem; box-shadow: var(--ib-schatten); margin-bottom: 1.2rem; }
.ib-block h2 { margin: 0 0 1rem; font-size: 1.2rem; }
.ib-block p:last-child { margin-bottom: 0; }
.ib-kontaktliste { list-style: none; margin: 0; padding: 0; }
.ib-kontaktliste li { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: .8rem; padding: .62rem 0; border-bottom: 1px solid var(--ib-linie); }
.ib-kontaktliste li:last-child { border-bottom: 0; }
.ib-bez { color: var(--ib-leise); font-size: .93rem; }
.ib-zeiten { list-style: none; margin: 0; padding: 0; }
.ib-zeiten li { display: flex; justify-content: space-between; gap: 1rem; padding: .48rem 0; border-bottom: 1px dotted var(--ib-linie); }
.ib-zeiten li:last-child { border-bottom: 0; }
.ib-tag { color: var(--ib-leise); }

@media (max-width: 900px) {
  .ib-praxis-raster { grid-template-columns: 1fr; }
  .ib-suchzeile { grid-template-columns: 1fr 1fr; }
  .ib-suchzeile button { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .ib-suchzeile { grid-template-columns: 1fr; }
  .ib-treffer { grid-template-columns: auto minmax(0, 1fr); }
  .ib-treffer-rechts { grid-column: 1 / -1; align-items: flex-start; }
  .ib-treffer-rechts { flex-direction: row; align-items: center; justify-content: space-between; width: 100%; }
  .ib-kontaktliste li { grid-template-columns: 1fr; gap: .1rem; }
  .ib-ortsliste { grid-template-columns: 1fr; }
}


/* =========================================================================
   Das Website-Angebot - der eine Block im Haus, der etwas verkauft
   =========================================================================

   Er stand bis zum 17.09.2026 im Stilblatt der Dachseite und hiess deshalb
   ueberall `dach-`. Seit er auch auf den Fachportalen steht, waere dieser Name
   eine Luege: Der Parodontologie-Berater ist kein Dach. Die Regeln liegen jetzt
   hier, in der Datei, die ALLE Auftritte laden, und heissen `ib-wa-`
   (Website-Angebot).

   Die Farben kommen aus den Design-Variablen des jeweiligen Auftritts - das
   Band traegt damit auf jedem Portal dessen eigenen dunklen Ton. Nur der
   Farbstreifen an der Unterkante bleibt fest: Er zeigt die fuenf Portale und
   gehoert keinem davon.
   ========================================================================= */

/* Der eine Block dieser Seite, der etwas verkauft.
   Bisher stand das Angebot - Praxiswebsite hier, Verzeichniseintrag dafuer
   dauerhaft umsonst - als Nebensatz im Kleingedruckten und wurde uebersehen.
   Jetzt: dunkles Band, links das Versprechen, rechts eine weisse Anfragekarte.

   Die weisse Karte auf dunklem Grund ist der ganze Trick; deshalb braucht der
   Knopf darin keine Signalfarbe, die es in dieser Farbwelt ohnehin nicht gibt.
   Eine der fuenf Hausfarben zu nehmen verbietet sich - sie gehoert einem Portal
   und wuerde hier eine Zugehoerigkeit behaupten, die es nicht gibt. */
.ib-wa-band { background: var(--marine-tief); color: #dde3e9; position: relative; }
.ib-wa-band::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg,
      #0061ad 0 20%, #9e6000 20% 40%, #0a7078 40% 60%,
      #0a8570 60% 80%, #1a7d24 80% 100%);
  opacity: .8;
}
/* Der Kopf des Bandes. Er steht mittig ueber beiden Spalten und traegt den
   einen Satz, der Preis und Angebot verbindet: Ueber dem Band kostet der
   Eintrag 58 Euro je Portal, unter ihm stehen zwei Tarife fuer eine Website.
   Ohne diese Bruecke musste der Leser den Sprung selbst schliessen. Deshalb ist
   die Zeile hier groesser als jede andere Ueberschrift der Seite - sie ist die
   Aussage, nicht die Beschriftung eines Abschnitts. */

.ib-wa-kopf {
  /* 44ch waren zu eng: Der Satz brach in drei Zeilen, und eine dreizeilige
     Ueberschrift wirkt nicht mehr wie eine Aussage, sondern wie ein Absatz.
     Die Breite bezieht sich auf die Schriftgroesse DIESES Kastens (18px), nicht
     auf die der Ueberschrift darin - deshalb steht hier eine groessere Zahl,
     als man beim Zaehlen der Zeichen vermuten wuerde. */
  max-width: 72ch; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center;
}
.ib-wa-kopf .ib-augenmarke { margin-bottom: .7rem; }
/* Zwei Klassen im Selektor, nicht eine: Weiter unten steht `.ib-wa-band h2`
   mit `max-width: 26ch`. Gleiche Spezifitaet, spaeter im Blatt - also haette
   die Regel dort gewonnen und die Ueberschrift auf 603 Pixel gepresst, egal wie
   breit der Kasten darum ist. Zum vierten Mal derselbe Fehler (Fehlerkatalog
   D30); diesmal gemessen statt geraten. */
.ib-wa-band .ib-wa-kopf h2 {
  max-width: none; margin: 0 0 .9rem;
  font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.18;
  text-wrap: balance;
}
.ib-wa-unterzeile {
  margin: 0 auto; max-width: 52ch; color: #c3cbd3;
  font-size: clamp(1rem, 1.25vw, 1.1rem); line-height: 1.6;
}

.ib-wa-raster {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(1.8rem, 4vw, 3.2rem); align-items: start;
}
/* Die hellen Schriftfarben gelten der TEXTSPALTE, nicht dem ganzen Band: In
   der weissen Anfragekarte daneben stehen ebenfalls Absaetze, und eine Regel
   `.ib-wa-band p` faerbte auch die - hellgrau auf Weiss, 1,6:1. Zum dritten
   Mal an einem Tag derselbe Spezifitaetsfehler (Fehlerkatalog D30). */
.ib-wa-band h2 { color: #fff; margin: 0 0 .8rem; max-width: 26ch; }
.ib-wa-band .ib-augenmarke { color: #9db0c2; }
.ib-wa-text p { color: #c3cbd3; max-width: 54ch; }
/* Ein Verweis auf dunklem Grund braucht eine eigene Farbe - die Grundfarbe
   --blau traegt dort nur 2,4:1. */
.ib-wa-text a { color: #bdd3e6; text-decoration-color: rgba(189,211,230,.5); }
/* Auf schmalen Fenstern rutschte der Pfeil allein in die naechste Zeile. Er
   gehoert an das letzte Wort. */
.ib-wa-mehr a span[aria-hidden] { white-space: nowrap; }
.ib-wa-mehr a { text-wrap: balance; }
.ib-wa-text a:hover { color: #fff; }
.ib-wa-punkte { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.ib-wa-punkte li {
  position: relative; margin: 0; padding: .55rem 0 .55rem 1.9rem;
  line-height: 1.52; color: #dde3e9; border-top: 1px solid rgba(255,255,255,.1);
}
.ib-wa-punkte li:first-child { border-top: 0; }
.ib-wa-punkte li::before {
  content: "\2713"; position: absolute; left: 0; top: .52rem;
  font-weight: 700; color: #9fc6a6;
}
.ib-wa-text .ib-wa-fuss { margin-top: 1.3rem; font-size: .9rem; color: #a7b1bb; }

/* Die Anfragekarte. Drei Felder, mehr braucht es nicht - jede weitere Zeile
   kostet Abschluesse. */
.ib-wa-karte {
  background: #fff; color: var(--text); border-radius: var(--radius);
  padding: clamp(1.3rem, 2.5vw, 1.7rem); box-shadow: var(--schatten-tief);
}
.ib-wa-karte h3 { margin: 0 0 .3rem; font-size: 1.16rem; color: var(--marine); }
.ib-wa-karte p { color: var(--leise); }
.ib-wa-karte .ib-wa-kartenzeile { margin: 0 0 1.2rem; font-size: .93rem; }
.ib-wa-karte label {
  display: block; margin-bottom: .35rem;
  font: 600 13px/1 var(--sans); color: var(--leise);
}
.ib-wa-karte input {
  width: 100%; min-width: 0; padding: .72rem .85rem; font-size: 1rem; color: var(--text);
  background: var(--grund); border: 1.5px solid var(--linie-kraeftig);
  border-radius: var(--radius-klein); margin-bottom: 1rem;
}
.ib-wa-karte input:focus-visible {
  border-color: var(--blau); background: #fff; outline: 3px solid var(--blau-hell); outline-offset: 1px;
}
.ib-wa-karte button {
  width: 100%; padding: .95rem 1.2rem; cursor: pointer;
  font: 700 1rem/1.25 var(--sans); color: #fff; background: var(--blau);
  border: 0; border-radius: var(--radius-klein);
  transition: background .15s;
}
.ib-wa-karte button:hover { background: var(--marine); }
/* Die Zeile unmittelbar unter dem Knopf. Sie gehoert optisch zum Knopf und
   nicht zum Kleingedruckten darunter - deshalb naeher dran, dunkler und eine
   Spur groesser als der Datenschutzhinweis. */
.ib-wa-nachknopf {
  margin: .55rem 0 0; font-size: .88rem; line-height: 1.45;
  color: var(--text); text-align: center;
}
.ib-wa-klein { margin: .9rem 0 0; font-size: .82rem; color: var(--leise); text-align: center; }
.ib-wa-marken {
  display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; margin: 1.1rem 0 0;
  padding-top: 1rem; border-top: 1px solid var(--linie);
  font-size: .84rem; color: var(--marine); font-weight: 600;
}

/* Die zwei Modelle im Angebotsband: mieten und kaufen nebeneinander.
   Beide bekommen dasselbe Gewicht - der Auftraggeber hat ausdruecklich
   beanstandet, dass die Kaufoption zu kurz kommt. Unterschieden werden sie
   nicht durch Groesse, sondern durch die Kante: Beim Mietmodell haengt der
   kostenlose Portaleintrag, deshalb traegt es die Akzentkante. */
.ib-wa-tarife { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
               gap: 1rem; margin: 1.6rem 0 0; }
.ib-wa-tarif {
  background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.14);
  border-top: 3px solid rgba(255,255,255,.22);
  border-radius: var(--radius-klein); padding: 1.1rem 1.2rem 1.2rem;
}
.ib-wa-tarif--haupt { border-top-color: #9fc6a6; background: rgba(159,198,166,.09); }
.ib-wa-tarif h3 { margin: 0 0 .15rem; font-size: 1rem; color: #fff; letter-spacing: .01em; }
.ib-wa-preis { display: block; font-family: var(--serif); font-size: 1.62rem;
                    line-height: 1.15; color: #fff; margin: .35rem 0 .1rem; }
.ib-wa-zusatz { display: block; font-size: .84rem; color: #a7b1bb; margin-bottom: .85rem; }
/* Der Vorsatz ordnet die Karte ein, bevor die Liste anfaengt. Er ist kein
   Listenpunkt - deshalb ohne Aufzaehlungszeichen, eine Spur heller als die
   Punkte und mit etwas Luft darunter. */
.ib-wa-vorsatz {
  margin: 0 0 .9rem; font-size: .92rem; line-height: 1.5; color: #c8d0d8;
  padding-bottom: .85rem; border-bottom: 1px solid rgba(255,255,255,.12);
}
.ib-wa-tarif ul { list-style: none; margin: 0; padding: 0; }
.ib-wa-tarif li { position: relative; margin: 0; padding: .4rem 0 .4rem 1.5rem;
                 font-size: .93rem; line-height: 1.45; color: #dde3e9; }
.ib-wa-tarif li::before { content: "\2713"; position: absolute; left: 0; top: .42rem;
                         font-weight: 700; color: #9fc6a6; }
.ib-wa-tarif--haupt li:first-child { font-weight: 600; color: #fff; }

/* Die Anfragekarte in der 340 Pixel schmalen Seitenspalte der Anmeldeseite.
   Dieselbe Karte wie im Band, nur enger gesetzt. */
.ib-wa-karte--schmal { padding: 1.1rem 1.15rem 1.2rem; margin-top: 1rem;
  border: 1px solid var(--linie); box-shadow: var(--schatten); }
.ib-wa-karte--schmal h3 { font-size: 1.05rem; }
.ib-wa-karte--schmal .ib-wa-kartenzeile { font-size: .88rem; margin-bottom: .9rem; }
.ib-wa-karte--schmal input { padding: .6rem .7rem; font-size: .95rem; margin-bottom: .8rem; }
.ib-wa-karte--schmal button { padding: .8rem 1rem; font-size: .95rem; }
.ib-wa-karte--schmal .ib-wa-marken { flex-direction: column; gap: .3rem; font-size: .8rem; }

/* Der Verweis unter den Preiskarten: "alles Weitere steht dort". Damit muessen
   Zusatzpreise nicht ins Band - man sieht dort sonst nur Zahlen, und jede
   weitere Zahl liest sich als teurer. */
.ib-wa-mehr { margin: 1.1rem 0 0; }
.ib-wa-mehr a { color: #bdd3e6; font-weight: 600; }
.ib-wa-mehr a:hover { color: #fff; }

@media (max-width: 860px) {
  .ib-wa-raster { grid-template-columns: minmax(0, 1fr); }
  .ib-wa-karte { max-width: 460px; }
}

/* =========================================================================
   Mehrfachauswahl im Anmeldeformular
   =========================================================================

   `.ib-formular label { display: block }` gilt fuer jedes Etikett im Formular -
   und das ist ueber einem Eingabefeld auch richtig. In einer Kaestchenzeile ist
   es falsch: Dort steht das Kaestchen links und die Beschriftung daneben, aber
   ein Block draengt sie in die naechste Zeile. Auf dem Prophylaxe-Berater
   standen deshalb alle fuenf Leistungen UNTER ihrem Kaestchen (17.09.2026:
   "ich faende es schoener wenn kein umbruch zwischen checkbox und ... waere").

   Die Regel stand bisher nur fuer `.ib-portalwahl-fein`, die Portalauswahl der
   Dachseite - dort war sie beim Bauen aufgefallen und nur dort behoben worden.
   Sie gehoert hierher, in die Datei, die alle Auftritte laden: Die Kaestchen
   erzeugt ein gemeinsames Modul, also braucht es auch nur einen Stil.
   ========================================================================= */
.ib-kaestchen {
  display: flex; align-items: flex-start; gap: .55rem; margin: 0 0 .5rem;
}
.ib-kaestchen input { flex: 0 0 auto; margin: .2rem 0 0; }
.ib-kaestchen label {
  display: inline; margin: 0; font: inherit; color: var(--text, #24292f);
  line-height: 1.4;
}
