/* Mobile-Optimierung Neu-Atlantis — Utility-Overrides für Inline-Styles */

/* Lange URLs in Datenschutz und Impressum sind ein einziges unbrechbares
   Wort und sprengen sonst den Textblock, statt umzubrechen. */
p, li, dd, td { overflow-wrap: break-word; }

@media (max-width: 900px) {
  .m-col { grid-template-columns: 1fr !important; }
  .m-col2 { grid-template-columns: 1fr 1fr !important; }
  /* Grid-Items haben von sich aus min-width:auto und schrumpfen deshalb nicht
     unter ihren Inhalt — ein breites Kind schiebt sonst die ganze Seite raus. */
  .m-col > *, .m-col2 > * { min-width: 0 !important; }
  /* Sticky-Spalten (Ralfs Bild, Seitenleisten) kleben nur neben dem Text —
     untereinander gestapelt würden sie beim Scrollen über den Text wandern. */
  .m-col > [style*="position:sticky"],
  .m-col > [style*="position: sticky"] { position: static !important; }
  /* Lange Komposita in den Versalien-Labels („Weiterbildungsmöglichkeiten“)
     sind ein einziges Wort und passen gesperrt nicht in den Kasten.
     Silbentrennung bricht sie sauber; anywhere ist der Notnagel.
     Beide Schreibweisen nötig: die DC-Runtime schreibt die Inline-Styles
     beim Rendern mit Leerzeichen nach dem Doppelpunkt neu. */
  [style*="text-transform:uppercase"],
  [style*="text-transform: uppercase"] { hyphens: auto; overflow-wrap: anywhere; }
  .m-flexcol { flex-direction: column !important; align-items: stretch !important; }
  .m-pad { padding-left: 20px !important; padding-right: 20px !important; }
  .m-pady { padding-top: 60px !important; padding-bottom: 64px !important; }
  .m-hero { font-size: 36px !important; }
  .m-h1 { font-size: 31px !important; }
  .m-h2 { font-size: 26px !important; }
  .m-gap { gap: 32px !important; }
  .m-innerpad { padding: 36px 24px !important; }
  .m-nav { gap: 10px 16px !important; }
  .m-logo { height: 44px !important; }
  .m-topbar { padding: 6px 16px !important; font-size: 12px !important; }
  .m-headrow { padding: 14px 16px !important; gap: 12px !important; }
}

/* Handy: Kasten- und Kartentexte größer (Heidi, Feedback 02 vom 29.09.2026 —
   „die kleinen Texte kann ich nicht lesen“). Greift nur bei Texten aus dem
   Schriftgrad-Sweep (data-fs-base = Ausgangswert), also nicht bei Menü, Buttons
   und Überschriften. Versalien-Labels bleiben, sonst brechen lange Komposita um.
   Der Fließtext (19,5px) bleibt, die kleineren Texte rücken an ihn heran. */
@media (max-width: 600px) {
  [data-fs-base="16"]:not([style*="uppercase"]),
  [data-fs-base="16.5"]:not([style*="uppercase"]) { font-size: 19px !important; }
  [data-fs-base="15.5"]:not([style*="uppercase"]) { font-size: 18.5px !important; }
  [data-fs-base="15"]:not([style*="uppercase"]) { font-size: 18px !important; }
  [data-fs-base="14"]:not([style*="uppercase"]),
  [data-fs-base="14.5"]:not([style*="uppercase"]) { font-size: 17px !important; }
}
