.header .brand__logo{height:58px !important;width:auto !important;} .header__social{display:none !important;} @media (max-width:768px){.header .brand__logo{height:42px !important;}}/* Breiten ausdruecklich festlegen, wie bei den anderen Sites */
.content-area > *,
.content-area > .frame,
.content-area .frame-type-html > .frame,
.content-area .cards-row { max-width:none !important; width:auto !important; margin-left:0 !important; margin-right:0 !important; }
.content-area .cards-row .card-col > .frame { width:100% !important; }
.content-area img { max-width:100%; height:auto; }
/* Sandton der Visitenkarte als ruhige Flaeche */
.sp-sand { background:#F8DEB5; border-radius:14px; padding:22px 26px; margin:0 0 24px; }
.sp-sand p { color:#4A4237; }/* TYPO3 liefert .frame-indent { margin: 0 15% } mit. Unsere Karten heissen
   genauso und wuerden dadurch schmaler dargestellt als der Rest. */
.content-area > .frame > .frame-indent,
.content-area > .frame > .frame-ruler-before,
.content-area > .frame > .frame-ruler-after {
  margin: 0 0 20px !important; width: auto !important; max-width: none !important;
}

/* Ruhiger Textabschnitt: echte Ueberschrift statt Farbkasten */
.tzj-abschnitt { margin: 0 0 30px; }
.tzj-abschnitt > h2 {
  font-size: 24px !important; font-weight: 800 !important; color: #1a1a2e !important;
  margin: 0 0 14px !important; line-height: 1.3; text-transform: none !important;
}
.tzj-abschnitt p, .tzj-abschnitt li { font-size: 16px; line-height: 1.8; color: #444; max-width: 78ch; }
.tzj-abschnitt p { margin: 0 0 12px; }
.tzj-abschnitt ul { margin: 0 0 14px 20px; }
.tzj-abschnitt details { max-width: 78ch; border-bottom: 1px solid #E6E8EC; padding: 12px 0; }
.tzj-abschnitt details summary { cursor: pointer; font-weight: 800; color: #1a1a2e; font-size: 15.5px; list-style: none; }
.tzj-abschnitt details summary::-webkit-details-marker { display: none; }
.tzj-abschnitt details summary::before { content: '+ '; color: var(--orange); font-weight: 800; }
.tzj-abschnitt details[open] summary::before { content: '\2013 '; }
.tzj-abschnitt details > div { margin-top: 8px; color: #444; line-height: 1.75; }

/* Leiser Einschub fuer Querverweise */
.tzj-einschub { background:#F4F6FA; border-left:4px solid var(--blue); border-radius:10px; padding:18px 22px; margin:0 0 30px; }
.tzj-einschub__titel { display:block; font-size:14px; font-weight:800; color:var(--blue); margin-bottom:6px; }
.tzj-einschub p { font-size:15.5px; line-height:1.75; color:#444; margin:0; max-width:78ch; }

/* Vier Kacheln nebeneinander */
.cards-row--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) { .cards-row--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px)  { .cards-row--4 { grid-template-columns: 1fr; } }

/* Kontrast: der Erklaersatz in den Karten stand in 12 px Hellgrau */
.card-diff { font-size: 13.5px !important; color: #566072 !important; line-height: 1.6 !important; }

/* Preisliste */
.sp-preise { width:100%; border-collapse:collapse; font-size:15px; margin:6px 0 0; }
.sp-preise td { padding:9px 4px; border-bottom:1px solid #E6E8EC; color:#444; }
.sp-preise td:last-child { text-align:right; font-weight:700; white-space:nowrap; color:#1a1a2e; }

@media (max-width: 860px) {
  .tzj-abschnitt > h2 { font-size: 20px !important; }
  .tzj-abschnitt p, .tzj-abschnitt li { font-size: 15.5px; }
}@media (max-width: 1300px) {
  .header__navrow .nav__link { padding: 8px 8px !important; font-size: 12.5px !important; }
  .header__grid { padding-left: 20px !important; padding-right: 20px !important; }
}
@media (max-width: 1100px) {
  html, body { overflow-x: hidden; }
  .header__grid { display: flex !important; flex-wrap: wrap; align-items: center; padding: 8px 16px !important; gap: 8px; }
  .header__logo-wrap { order: 1; padding: 0 !important; background: transparent !important; }
  .tzj-nav-burger { order: 2; margin-left: auto; display: inline-flex; flex-direction: column; justify-content: center;
                    gap: 5px; width: 46px; height: 46px; padding: 11px; cursor: pointer; border-radius: 10px;
                    border: 1px solid var(--n2); background: #fff; }
  .header__toprow { display: none !important; }
  .header__navrow { order: 3; flex-basis: 100%; display: none !important; padding: 0 !important; }
  .tzj-nav-toggle:checked ~ .header__grid .header__navrow { display: block !important; }
  .header__navrow .nav { flex-direction: column !important; gap: 2px !important; padding: 6px 0 10px !important; }
  .header__navrow .nav__link { display: block !important; padding: 12px 10px !important; font-size: 15px !important;
                               border-bottom: 1px solid var(--n2) !important; }
  .header .brand__logo { height: 44px !important; }
}/* --- Anfrageblock (Kontaktseite) --- */
.sp-anfrage { display:grid; grid-template-columns: 1.35fr 1fr; gap:26px; align-items:start;
              background:#F4F6FA; border-radius:16px; padding:26px 28px; margin:0 0 30px; }
.sp-anfrage h2 { font-size:24px; font-weight:800; color:#1a1a2e; margin:0 0 10px; line-height:1.3; }
.sp-anfrage p { font-size:15.5px; line-height:1.75; color:#444; margin:0 0 12px; max-width:60ch; }
.sp-anfrage__knoepfe { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:16px 0 12px !important; }
.sp-anfrage p a.sp-anfrage__cta { display:inline-block; background:var(--orange); color:#fff !important; padding:15px 30px;
                   border-radius:10px; font-weight:800; font-size:16px; text-decoration:none; min-height:44px; box-sizing:border-box; }
.sp-anfrage p a.sp-anfrage__cta:hover, .sp-anfrage p a.sp-anfrage__cta:focus { filter:brightness(0.93); color:#fff !important; }
.sp-anfrage__tel { font-weight:700; color:var(--blue); text-decoration:none; font-size:15.5px;
                   display:inline-flex; align-items:center; min-height:44px; }
.sp-anfrage__tel:hover, .sp-anfrage__tel:focus { text-decoration:underline; }
.sp-anfrage__fuss { font-size:14px !important; color:#566072 !important; margin:0 !important; }
.sp-anfrage__kasten { background:#fff; border:1px solid #E3E8EF; border-radius:12px; padding:18px 20px; }
.sp-anfrage__zeile { display:block; font-size:15px !important; margin:0 0 12px !important; line-height:1.6 !important; }
.sp-anfrage__zeile:last-child { margin-bottom:0 !important; }
.sp-anfrage__zeile > span { display:block; font-size:12px; font-weight:800; letter-spacing:0.6px;
                            text-transform:uppercase; color:#8A93A2; margin-bottom:2px; }
.sp-anfrage__zeile a { color:var(--blue); font-weight:700; text-decoration:none; word-break:break-word; }
.sp-anfrage__zeile a:hover, .sp-anfrage__zeile a:focus { text-decoration:underline; }
@media (max-width: 860px) {
  .sp-anfrage { grid-template-columns:1fr; padding:22px 20px; gap:20px; }
  .sp-anfrage h2 { font-size:21px; }
  .sp-anfrage__cta { width:100%; text-align:center; }
  .sp-anfrage__tel { width:100%; }
}

/* --- Kopfzeile: Patientenanfrage vor Jobs ---
   Das gemeinsame Grundgeruest gibt dem zweiten Knopf (hier "Jobs") die kraeftige
   Flaeche und dem ersten ("Termin") nur eine Kontur. Fuer eine Patientenseite ist
   das verkehrt herum. Nur fuer diese Site getauscht - MediPhys braucht die
   Kursseite weiterhin prominent. */
.header-cta--outline { background:var(--orange) !important; border:1.5px solid transparent !important; color:#fff !important; }
.header-cta--outline:hover { background:#d45a15 !important; }
.header-cta--primary { background:transparent !important; border:1.5px solid rgba(255,255,255,.5) !important; color:#fff !important; font-weight:600 !important; }
.header-cta--primary:hover { background:rgba(255,255,255,.10) !important; border-color:#fff !important; }

/* --- Kacheln der fuenf Physio-Leistungen (Startseite) --- */
.sp-kacheln { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin:16px 0 0; }
a.sp-kachel { display:block; text-decoration:none; background:#fff; border:1px solid #E3E8EF; border-top:4px solid var(--blue);
              border-radius:12px; padding:16px 18px; transition:box-shadow .15s ease, transform .15s ease; }
a.sp-kachel:hover, a.sp-kachel:focus { box-shadow:0 6px 18px rgba(16,32,64,.10); transform:translateY(-2px); }
.sp-kachel__kurz { display:inline-block; font-size:12px; font-weight:800; letter-spacing:1px; color:#fff;
                   background:var(--blue); border-radius:6px; padding:3px 8px; margin-bottom:8px; }
.sp-kachel__lang { display:block; font-size:16px; font-weight:800; color:#1a1a2e; line-height:1.35; margin-bottom:5px; }
.sp-kachel__satz { display:block; font-size:14px; line-height:1.6; color:#566072; }

/* --- Anspann-Zeile und Schlagworte in den Heilmittelkarten --- */
.sp-claim { font-size:15px !important; font-weight:800 !important; color:#11458F !important;
            margin:0 0 8px !important; line-height:1.5 !important; }
.sp-tags { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 0 !important; }
a.sp-tag { display:inline-block; background:#EEF2F8; color:#11458F !important; border-radius:999px;
           padding:5px 12px; font-size:12.5px; font-weight:700; text-decoration:none; }
a.sp-tag:hover, a.sp-tag:focus { background:#11458F; color:#fff !important; }

/* --- Team --- */
.sp-personen { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin:14px 0 0; }
.sp-person { background:#fff; border:1px solid #E3E8EF; border-radius:12px; padding:16px 18px; }
.sp-person__name { font-size:17px !important; font-weight:800 !important; color:#1a1a2e !important; margin:0 0 3px !important; }
.sp-person__rolle { font-size:14.5px !important; font-weight:700 !important; color:#11458F !important; margin:0 !important; }
.sp-person__zusatz { font-size:13.5px !important; color:#566072 !important; margin:5px 0 0 !important; line-height:1.55 !important; }
.sp-redaktion { background:#FFF4E5; border:2px dashed #E08A1E; border-radius:12px; padding:14px 18px; margin:0 0 22px;
                font-size:14.5px; line-height:1.7; color:#7A4A06; }

/* --- Typische Anliegen --- */
.sp-anliegen-reihe { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; margin-top:14px; }
a.sp-anliegen { display:block; text-decoration:none; background:#F7F8FA; border-radius:10px; border-left:4px solid var(--blue); padding:14px 16px; }
a.sp-anliegen strong { font-size:15px; font-weight:800; color:#1a1a2e; }
a.sp-anliegen:hover, a.sp-anliegen:focus { background:#EEF2F8; }

/* --- Schritte bis zum Termin --- */
ol.tzj-schritte { counter-reset:s; list-style:none; margin:16px 0 0; padding:0; display:grid; gap:12px; }
ol.tzj-schritte li { counter-increment:s; position:relative; background:#fff; border:1px solid #E3E8EF; border-radius:12px;
                     padding:16px 18px 16px 60px; font-size:15.5px; line-height:1.7; color:#444; }
ol.tzj-schritte li::before { content:counter(s); position:absolute; left:16px; top:15px; width:30px; height:30px;
                     border-radius:50%; background:var(--blue); color:#fff; font-weight:800; font-size:15px;
                     display:flex; align-items:center; justify-content:center; }
ol.tzj-schritte li strong { color:#1a1a2e; font-size:16px; }

/* --- Leistungen im Einzelnen --- */
.sp-leistungen { display:grid; gap:16px; margin:18px 0 6px; }
.sp-leistung { background:#fff; border:1px solid #E3E8EF; border-left:5px solid var(--blue); border-radius:14px; padding:22px 24px; }
.sp-leistung h3 { font-size:19px; font-weight:800; color:#11458F; margin:0 0 8px; line-height:1.3; }
.sp-leistung__kurz { font-size:16px !important; line-height:1.75 !important; color:#1F2937 !important; margin:0 0 14px !important; max-width:74ch; }
.sp-leistung__liste { margin:0; display:grid; gap:10px; }
.sp-leistung__liste dt { font-size:12.5px; font-weight:800; letter-spacing:0.5px; text-transform:uppercase; color:#8A93A2; }
.sp-leistung__liste dd { margin:2px 0 0; font-size:15.5px; line-height:1.75; color:#444; max-width:74ch; }
.sp-leistung__fuss { margin:16px 0 0 !important; display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; }
.sp-leistung a.sp-leistung__cta { display:inline-flex; align-items:center; min-height:44px; background:var(--orange); color:#fff !important;
                   padding:11px 22px; border-radius:10px; font-weight:800; font-size:15px; text-decoration:none; }
.sp-leistung a.sp-leistung__cta:hover, .sp-leistung a.sp-leistung__cta:focus { filter:brightness(0.93); color:#fff !important; }
.sp-leistung a.sp-leistung__mehr { font-weight:700; color:var(--blue); font-size:15px; display:inline-flex; align-items:center; min-height:44px; }
.tzj-hinweis-klein { font-size:13.5px !important; color:#6B7280 !important; margin:16px 0 0 !important; max-width:74ch; }
@media (max-width:860px) {
  .sp-leistung { padding:18px 18px; }
  .sp-leistung h3 { font-size:17.5px; }
  .sp-leistung a.sp-leistung__cta { width:100%; justify-content:center; }
}

.sp-fehlerbox { background:#FDECEC; border:1px solid #F3B9B9; border-left:5px solid #C0392B; border-radius:12px;
                padding:16px 18px; margin:0 0 20px; outline:none; }
.sp-fehlerbox__titel { font-size:16px !important; font-weight:800 !important; color:#8E241A !important; margin:0 0 8px !important; }
.sp-fehlerbox ul { margin:0; padding-left:20px; }
.sp-fehlerbox li { font-size:15px; line-height:1.7; color:#8E241A; }
.sp-fehlerbox a { color:#8E241A; font-weight:700; }
.sp-fehlerbox:focus-visible { box-shadow:0 0 0 3px rgba(192,57,43,.35); }

.sp-vorauswahl { background:#EAF6EC; border:1px solid #BFE3C8; border-radius:10px; color:#1B5E33;
                 font-size:14.5px; font-weight:700; padding:10px 14px; margin:0 0 10px; }

/* --- Band zur Terminlage (Seitenfeld tx_tzj_terminlage) --- */
.tzj-terminlage { position:relative; background:#FFF4E5; border:1px solid #F2C98A; border-left:6px solid var(--orange);
                  border-radius:14px; color:#6B3D05; font-size:17px; line-height:1.55; font-weight:800;
                  padding:16px 22px 16px 52px; margin:0 0 20px; }
.tzj-terminlage::before { content:"\2713"; position:absolute; left:20px; top:50%; transform:translateY(-50%);
                  width:22px; height:22px; border-radius:50%; background:var(--orange); color:#fff;
                  font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.tzj-terminlage a { color:#8A4B06; font-weight:800; }
@media (max-width:860px) { .tzj-terminlage { font-size:15.5px; padding:14px 16px 14px 46px; } }

/* --- feste Leiste unten, nur auf kleinen Bildschirmen --- */
.sp-leiste { display:none; }
@media (max-width: 768px) {
  .sp-leiste { display:grid; grid-template-columns:1fr 1fr; gap:10px; position:fixed; left:0; right:0; bottom:0;
               z-index:900; background:#fff; border-top:1px solid #E3E8EF; padding:10px 12px;
               padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
               box-shadow:0 -2px 14px rgba(16,32,64,0.10); }
  .sp-leiste a { display:flex; align-items:center; justify-content:center; min-height:48px; border-radius:10px;
                 font-weight:800; font-size:15px; text-decoration:none; padding:0 10px; }
  .sp-leiste__tel { background:#fff; color:var(--blue); border:2px solid var(--blue); }
  .sp-leiste__anfrage { background:var(--orange); color:#fff; }
  /* Die Leiste ist 70 Pixel hoch. Genau so viel Platz bekommt der Inhalt
     zusaetzlich, damit Fusszeile und Knoepfe nicht darunter verschwinden. */
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media print { .sp-leiste { display:none !important; } }/* Unternavigation. Auf breiten Bildschirmen klappt sie beim Zeigen oder bei
   Tastaturfokus auf; im Klappmenue steht sie dauerhaft eingerueckt darunter. */
.nav__item { position: relative; }
.nav__sub {
  display: none; list-style: none; margin: 0; padding: 6px 0;
  position: absolute; top: 100%; left: 0; z-index: 60; min-width: 250px;
  background: #fff; border: 1px solid #E3E8EF; border-radius: 10px;
  box-shadow: 0 10px 26px rgba(16,32,64,.14);
}
.nav__item:hover > .nav__sub,
.nav__item:focus-within > .nav__sub { display: block; }
.nav__sublink {
  display: block; padding: 10px 16px; font-size: 14.5px; font-weight: 600;
  color: #1a1a2e !important; text-decoration: none; white-space: nowrap;
}
.nav__sublink:hover, .nav__sublink:focus { background: #F4F6FA; color: #11458F !important; }
.nav__sublink.is-active { color: #11458F !important; font-weight: 800; }
@media (max-width: 1100px) {
  .nav__sub {
    display: block !important; position: static; border: 0; box-shadow: none;
    background: transparent; min-width: 0; padding: 0 0 6px 0;
  }
  .nav__sublink {
    padding: 9px 10px 9px 26px !important; font-size: 14px !important;
    border-bottom: 1px solid var(--n2); color: #444 !important;
  }
  .nav__sublink::before { content: "\2013 \00a0"; color: #9AA1AC; }
}.tzj-abschnitt {
  background: #fff; border: 1px solid #E3E8EF; border-radius: 16px;
  padding: 26px 30px; margin: 0 0 20px;
}
.tzj-abschnitt > h2 { margin-top: 0 !important; }
.tzj-abschnitt > *:last-child { margin-bottom: 0 !important; }
/* Abschnitte, die nur eine Ueberschrift und einen Vorspann tragen und direkt
   von Karten gefolgt werden, brauchen keinen eigenen Rahmen. */
.tzj-abschnitt--vorspann {
  background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0 0 14px;
}
/* Der Einschub hat schon eine Flaeche - nur die Abstaende angleichen. */
.tzj-einschub { margin: 0 0 20px !important; }
.cards-row { margin: 0 0 20px; }
@media (max-width: 860px) {
  .tzj-abschnitt { padding: 20px 20px; border-radius: 14px; }
}