/* Reiners Fahrschule, Bausteine für die Unterseiten */

/* ===== Jeder Abschnitt ist eine Glastafel =====
   Zwei Bauweisen kommen vor: Die Section ist selbst die Bahn, oder die Bahn
   liegt darin. Beide werden hier gleich behandelt, damit die Tafeln auf
   allen Seiten gleich sitzen. */
.rf-bahn{max-width:1120px;margin-inline:auto;padding:56px 50px}
.rf-bahn-schmal{max-width:900px}

main > section{margin-block:38px}
main > section.rf-hell,
main > section.rf-titel,
main > section.rf-schluss{background:none;border:0;padding:0;margin-block:38px}

/* Jede Bahn, die nicht selbst in einer Bahn steckt, bekommt Glas.

   Vorher hiess die Regel `main > section.rf-bahn, main > section > .rf-bahn`
   und hing damit am Elementnamen. Die drei Beitragsseiten bauen aber auf
   `article` und `header` auf: Dort standen Titel und der komplette
   Fliesstext ohne Glas auf der farbigen Kulisse, nur der Schlussabschnitt
   hatte eine Tafel. Aufgefallen ist es am 23.09.2026 beim Lesen.

   :where() haelt die Spezifitaet bei 0,2,1 und damit genau dort, wo sie
   vorher lag. Sonst haette diese Regel die Innenabstaende am Dateiende
   geschlagen. */
main .rf-bahn:not(:where(.rf-bahn .rf-bahn)){
  position:relative;
  background:var(--glas);
  -webkit-backdrop-filter:blur(30px) saturate(1.9);
  backdrop-filter:blur(30px) saturate(1.9);
  border-radius:var(--glas-rund);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(120,90,60,.10),
    inset 1px 0 0 rgba(255,255,255,.40),
    inset -1px 0 0 rgba(255,255,255,.40),
    0 20px 50px rgba(70,45,25,.14),
    0 2px 8px rgba(70,45,25,.07);
  overflow:hidden;
}
/* Lichtstreifen und warmer Schimmer, wie auf der Startseite. */
main .rf-bahn:not(:where(.rf-bahn .rf-bahn))::before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:0;
  background:linear-gradient(118deg,
    rgba(255,255,255,.55) 0%,rgba(255,255,255,.14) 22%,
    transparent 42%,transparent 62%,
    rgba(255,255,255,.20) 84%,rgba(255,255,255,.44) 100%);
  mix-blend-mode:screen;opacity:.55;
}
main .rf-bahn:not(:where(.rf-bahn .rf-bahn))::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:0;
  background:
    radial-gradient(120% 70% at 18% 106%,rgba(255,202,40,.20),transparent 58%),
    radial-gradient(110% 68% at 88% 104%,rgba(181,49,61,.16),transparent 56%);
}
main .rf-bahn:not(:where(.rf-bahn .rf-bahn)) > *{position:relative;z-index:1}

@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  main .rf-bahn:not(:where(.rf-bahn .rf-bahn)){background:rgba(255,253,250,.94)}
}

@media(max-width:760px){
  main > section{margin-block:18px}
  main > section.rf-hell,
  main > section.rf-titel,
  main > section.rf-schluss{margin-block:18px}
}

/* Seitenkopf */
.rf-titel{position:relative}
/* Der schraege Streifen ist entfallen, das Glas bringt seine eigene
   Lichtfuehrung mit und beides zusammen wirkte unruhig. */
.rf-titel .rf-bahn{padding-block:54px}
.rf-titel h1{
  margin:0;max-width:16ch;
  font-size:clamp(33px,4.9vw,54px);font-weight:800;line-height:1.02;letter-spacing:-.028em;text-wrap:pretty;
}
.rf-titel p{margin:22px 0 0;max-width:60ch;font-size:18px;color:#3a4049;line-height:1.6}

/* Das Label muss jede Textfarbe seiner Umgebung schlagen. Regeln wie
   .rf-text p oder .rf-titel p sind spezifischer als eine einzelne Klasse,
   deshalb hier alle Kontexte zusammen aufzaehlen. */
.rf-kicker,
p.rf-kicker,
.rf-text p.rf-kicker,
.rf-titel p.rf-kicker,
.rf-wege p.rf-kicker,
.rf-kontakt p.rf-kicker,
.rf-hinter p.rf-kicker,
.rf-artikel p.rf-kicker{
  display:inline-block;margin:0 0 16px;
  font-size:11px;font-weight:600;letter-spacing:.14em;line-height:1.5;
  color:#fff;background:var(--red);
  padding:5px 11px;border-radius:3px;
  max-width:none;
}
.rf-kicker a,
.rf-text .rf-kicker a,
.rf-artikel .rf-kicker a{color:#fff;text-decoration:none}
.rf-kicker a:hover{text-decoration:underline}

/* Fließtext */
.rf-text h2{margin:0 0 16px;font-size:clamp(25px,3.1vw,34px);font-weight:700;line-height:1.16;letter-spacing:-.022em;text-wrap:pretty}
.rf-text h3{margin:34px 0 10px;font-size:19px;font-weight:700;letter-spacing:-.012em}
.rf-text p{margin:0 0 15px;max-width:66ch;font-size:16.5px;line-height:1.68;color:#3a4049}
.rf-text ul{margin:0 0 18px;padding-left:0;list-style:none;max-width:66ch}
.rf-text li{position:relative;padding-left:26px;margin-bottom:10px;line-height:1.65;color:#3a4049}
.rf-text li::before{
  content:"";position:absolute;left:2px;top:9px;
  width:8px;height:8px;border-radius:50%;background:var(--red);
}
.rf-text strong{color:var(--ink)}

/* Klassen-Abschnitte */
.rf-klasse{
  border-top:1px solid var(--line);
  padding-top:44px;margin-top:44px;
  display:grid;grid-template-columns:176px 1fr;gap:34px;
}
.rf-klasse:first-of-type{border-top:0;padding-top:0;margin-top:0}
/* Sprungziel, etwa ausbildung.html#b197: Abstand fuer die feste Kopfleiste. */
.rf-klasse{scroll-margin-top:calc(var(--kopf-hoehe) + 24px)}

/* Dunkle Kachel mit gelbem Kuerzel, dieselbe wie in der Klassenuebersicht
   der Startseite (.rfj-klasse). Das Kuerzel stand hier vorher frei in Rot
   auf dem Glas. Wer von der Startseite kommt, soll dieselbe Sache
   wiedererkennen. Die Werte sind bewusst identisch gehalten. */
.rf-klasse>div:first-child{
  align-self:start;
  padding:22px 20px;border-radius:20px;
  background:linear-gradient(158deg,rgba(28,18,14,.78),rgba(18,13,11,.86));
  -webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 26px rgba(30,16,8,.30);
}
/* 56px: In der Kachel bleiben neben dem Innenabstand 136 Pixel. Das
   breiteste Kuerzel ist BF17 und braucht davon 104, das passt einzeilig.
   Nachgemessen wurden alle acht. */
.rf-klasse>div:first-child b{
  display:block;font-size:56px;font-weight:800;line-height:.95;
  color:var(--yellow);letter-spacing:-.045em;
}
.rf-klasse>div:first-child span{
  display:block;margin-top:10px;font-size:13.5px;font-weight:700;
  letter-spacing:.055em;line-height:1.45;color:#d5c9bb;
}
@media(max-width:760px){
  /* Einspaltig soll die Kachel nicht ueber die ganze Breite laufen,
     sonst wird aus der Marke ein Balken. */
  .rf-klasse{grid-template-columns:1fr;gap:18px}
  .rf-klasse>div:first-child{justify-self:start;min-width:150px;padding:18px 20px}
  .rf-klasse>div:first-child b{font-size:44px}
}

/* Merkkasten */
.rf-merk{
  background:rgba(255,255,255,.52);border:0;border-left:4px solid var(--red);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  border-radius:12px;padding:26px 30px;margin:26px 0;
}
.rf-merk h3{margin:0 0 10px;font-size:17px}
.rf-merk p{margin:0 0 10px;font-size:15px;line-height:1.68;color:#3a4049}
.rf-merk p:last-child{margin-bottom:0}
.rf-merk.rf-betont{background:rgba(255,255,255,.66);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 26px rgba(70,45,25,.10)}
.rf-merk.rf-betont p{color:#3a4049}

/* Nummerierte Positionen */
.rf-posten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:38px}
.rf-posten>article{
  background:rgba(255,255,255,.52);border:0;border-radius:16px;padding:26px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 26px rgba(70,45,25,.10);
  display:grid;grid-template-columns:104px 1fr;gap:20px;align-items:center;
  transition:transform .2s,border-color .2s;
}
.rf-posten>article:hover{transform:translateY(-5px);border-color:#c9aa58}
/* Dieselbe dunkle Kachel wie beim Klassenkuerzel (.rf-klasse) und in der
   Klassenuebersicht der Startseite (.rfj-klasse). Die Ziffer stand vorher
   frei in Rot. Wer die Seite durchblaettert, soll dieselbe Form
   wiedererkennen, egal ob dahinter eine Klasse oder ein Posten steht. */
.rf-posten b{
  /* Quadratisch und mittig statt auf Texthoehe gestreckt: Einspaltig auf
     dem Handy wurde aus der Kachel sonst eine 123 Pixel hohe Saeule neben
     einem vierzeiligen Absatz. */
  display:grid;place-items:center;align-self:center;
  aspect-ratio:1/1;padding:10px;border-radius:18px;
  background:linear-gradient(158deg,rgba(28,18,14,.78),rgba(18,13,11,.86));
  -webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 26px rgba(30,16,8,.30);
  font-size:46px;font-weight:800;color:var(--yellow);
  line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums;
}
.rf-posten h3{margin:0 0 6px;font-size:17px}
.rf-posten p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.rf-posten .rf-breit{grid-column:1/-1}
@media(max-width:720px){
  .rf-posten{grid-template-columns:1fr}
  .rf-posten>article{grid-template-columns:80px 1fr;padding:22px;gap:16px}
  .rf-posten b{font-size:34px;padding:8px;border-radius:15px}
}

/* Bild mit Text */
.rf-bild-text{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.rf-bild-text img{border-radius:12px;display:block;width:100%;height:auto}
.rf-bild-text figure{margin:0}
.rf-bild-text figcaption{margin-top:10px;font-size:12.5px;color:var(--muted)}
@media(max-width:860px){
  .rf-bild-text{grid-template-columns:1fr;gap:30px}
}

/* Abschluss mit Handlungsaufruf */
.rf-schluss .rf-bahn{display:flex;justify-content:space-between;align-items:end;gap:50px;flex-wrap:wrap}
.rf-schluss h2{margin:0 0 12px;font-size:clamp(24px,3vw,33px);line-height:1.2}
.rf-schluss p{margin:0;max-width:52ch;line-height:1.68;color:#3a4049}
.rf-knopf{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff!important;border:1px solid var(--red);
  padding:15px 24px;border-radius:6px;font-weight:700;font-size:15px;letter-spacing:.01em;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 8px 20px rgba(181,49,61,.2);
  transition:transform .2s,background .2s;
}
.rf-knopf:hover{background:#9d2a35;transform:translateY(-2px)}
.rf-knopf-dunkel{background:transparent;color:#a52c37!important;border:2px solid #a52c37;box-shadow:none}
.rf-knopf-dunkel:hover{background:var(--red);color:#fff!important}
@media(max-width:620px){
  .rf-knopf{width:100%}
}

/* Seitenkopf mit Bild */
.rf-titel-bild .rf-bahn{
  display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
  padding-block:56px;
}
.rf-titel-bild h1{max-width:none}
.rf-titel-bild figure{margin:0;position:relative}
.rf-titel-bild img{
  display:block;width:100%;height:auto;border-radius:12px;
  box-shadow:14px 14px 0 rgba(181,49,61,.13);
}
.rf-titel-bild figcaption{margin-top:12px;font-size:12.5px;color:var(--muted)}
@media(max-width:880px){
  .rf-titel-bild .rf-bahn{grid-template-columns:1fr;gap:32px}
  .rf-titel-bild img{box-shadow:9px 9px 0 rgba(181,49,61,.13)}
}

/* Zwei Wege nebeneinander, für die Anmeldeseite */
.rf-wege{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.rf-wege>article{
  background:rgba(255,255,255,.52);border:0;border-top:4px solid var(--red);
  border-radius:16px;padding:32px 34px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 26px rgba(70,45,25,.10);
}
.rf-wege h2{margin:0 0 12px;font-size:24px}
.rf-wege p{max-width:none}
.rf-wege p:last-child{margin:22px 0 0}
@media(max-width:780px){
  .rf-wege{grid-template-columns:1fr}
  .rf-wege>article{padding:26px 24px}
}

/* Nummerierter Ablauf */
.rf-schritte{list-style:none;margin:34px 0 0;padding:0;counter-reset:schritt}
.rf-schritte>li{
  counter-increment:schritt;position:relative;
  padding:0 0 30px 66px;
}
.rf-schritte>li::before{
  content:counter(schritt);position:absolute;left:0;top:0;
  width:44px;height:44px;border-radius:50%;
  background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;
}
.rf-schritte>li::after{
  content:"";position:absolute;left:21px;top:52px;bottom:8px;width:2px;
  background:var(--line);
}
.rf-schritte>li:last-child{padding-bottom:0}
.rf-schritte>li:last-child::after{display:none}
.rf-schritte h3{margin:9px 0 7px;font-size:20px;font-weight:700;letter-spacing:-.015em}
.rf-schritte p{margin:0}
@media(max-width:560px){
  .rf-schritte>li{padding-left:54px}
  .rf-schritte>li::before{width:38px;height:38px;font-size:15px}
  .rf-schritte>li::after{left:18px;top:46px}
}

/* Team, Bild neben Text */
.rf-leute{margin-top:38px;display:grid;gap:20px}
.rf-leute>article{
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:28px 32px;display:grid;grid-template-columns:120px 1fr;gap:30px;align-items:start;
}
.rf-leute img{border-radius:50%;width:120px;height:120px;object-fit:cover;display:block}
.rf-leute small{
  display:block;font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--red);
}
.rf-leute h3{margin:7px 0 11px;font-size:22px}
.rf-leute p{margin:0 0 11px;font-size:15px}
.rf-leute p:last-child{margin-bottom:0}
@media(max-width:680px){
  .rf-leute>article{grid-template-columns:1fr;gap:18px;padding:24px}
  .rf-leute img{width:92px;height:92px}
}

/* Die beiden Fahrzeuge nebeneinander */
.rf-autos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:36px 0 30px}
.rf-autos figure{margin:0}
.rf-autos img{width:100%;height:auto;border-radius:12px;display:block;box-shadow:10px 10px 0 rgba(181,49,61,.12)}
.rf-autos figcaption{margin-top:14px;font-size:14px;line-height:1.6;color:#3a4049}
.rf-autos figcaption b{display:block;color:var(--ink);margin-bottom:4px}
@media(max-width:780px){
  .rf-autos{grid-template-columns:1fr;gap:30px}
}

/* Anmeldeformular bei Maxi: sieht aus wie ein Knopf, ist aber ein Formular */
.rf-maxi{margin:22px 0 0}
.rf-maxi button{font:inherit;cursor:pointer}
.rf-maxi small{display:block;margin-top:11px;font-size:12.5px;line-height:1.5;color:var(--muted)}

/* Die beiden im Hintergrund, bewusst kleiner als das Haupt-Team */
.rf-hinter{
  margin-top:44px;padding-top:38px;
  border-top:1px solid var(--line);
}
.rf-hinter h3{margin:0 0 8px;font-size:22px}
.rf-hinter-intro{margin:0 0 26px;max-width:62ch}
.rf-hinter>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.rf-hinter article{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 26px;
}
.rf-hinter h4{margin:0;font-size:18px}
.rf-hinter small{
  display:block;margin:5px 0 11px;
  font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--red);
}
.rf-hinter p{margin:0;font-size:14.5px;line-height:1.65}
@media(max-width:700px){
  .rf-hinter>div{grid-template-columns:1fr}
}

/* Tobi, die Fahrschulbiene */
.rf-tobi{
  display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:32px 36px;
}
.rf-tobi>img{width:130px;height:auto;display:block}
.rf-tobi h2{margin:0 0 12px;font-size:26px}
.rf-tobi p:last-child{margin-bottom:0}
@media(max-width:620px){
  .rf-tobi{grid-template-columns:1fr;gap:14px;padding:26px 24px}
  .rf-tobi>img{width:104px}
}

/* Tobi begleitet den Anmeldeablauf */
.rf-ablauf-kopf{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center}
.rf-ablauf-kopf h2{margin:0 0 12px}
.rf-ablauf-kopf img{width:112px;height:auto;display:block}
.rf-ablauf-intro{margin:0;max-width:52ch}
@media(max-width:640px){
  .rf-ablauf-kopf{grid-template-columns:1fr 88px;gap:20px}
  .rf-ablauf-kopf img{width:88px}
}

/* Kontaktseite */
.rf-kontakt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.rf-kontakt>article{
  background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);
  border-radius:12px;padding:32px 34px;
}
.rf-kontakt h2{margin:0 0 12px;font-size:23px}
.rf-kontakt p{max-width:none}
.rf-kontakt p:last-child{margin:22px 0 0;display:flex;gap:12px;flex-wrap:wrap}
.rf-adresse{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px}
.rf-adresse h2{margin:0 0 16px;font-size:25px}
.rf-adresse address{font-style:normal;line-height:1.8;color:#3a4049;margin-bottom:16px}
.rf-adresse address b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
.rf-textlink{color:var(--red);font-weight:700;text-decoration:none;border-bottom:2px solid rgba(181,49,61,.3)}
.rf-textlink:hover{border-bottom-color:var(--red)}
@media(max-width:800px){
  .rf-kontakt,.rf-adresse{grid-template-columns:1fr;gap:22px}
  .rf-kontakt>article{padding:26px 24px}
}
@media(max-width:620px){
  .rf-kontakt p:last-child .rf-knopf{width:100%}
}


/* Aktuelles: Anrisse als anklickbare Kacheln */
.rf-anriss{
  display:block;text-decoration:none;color:inherit;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:34px 38px;margin-bottom:20px;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.rf-anriss:last-of-type{margin-bottom:0}
.rf-anriss:hover{transform:translateY(-4px);border-color:#c9aa58;box-shadow:0 14px 30px rgba(120,90,50,.09)}
.rf-beitrag-kopf{display:flex;gap:14px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.rf-beitrag-kopf time{font-size:13px;color:var(--muted)}
.rf-beitrag-kopf span{
  font-size:11px;font-weight:900;letter-spacing:.1em;
  background:var(--soft);color:var(--red);padding:5px 11px;border-radius:20px;
}
.rf-anriss h2{margin:0 0 12px;font-size:clamp(20px,2.4vw,26px);line-height:1.28}
.rf-anriss p{margin:0 0 16px;line-height:1.7;color:#3a4049}
.rf-weiter{font-size:13px;font-weight:900;color:var(--red)}
@media(max-width:620px){
  .rf-anriss{padding:26px 24px}
}

/* Einzelner Beitrag */
.rf-artikel .rf-titel h1{max-width:22ch;font-size:clamp(27px,3.8vw,40px)}
.rf-artikel .rf-kicker a:hover{text-decoration:underline}
.rf-autor{margin-top:18px!important;font-size:14px;font-style:italic;color:var(--muted)}
.rf-artikel h2{margin:44px 0 16px}
.rf-artikel h3{margin:30px 0 8px;font-size:17px}
.rf-artikel .rf-merk h2{margin:0 0 12px;font-size:19px}
.rf-artikel .rf-merk ul{margin-bottom:0}
.rf-zitat{
  margin:36px 0;padding:26px 32px;
  border-left:4px solid var(--red);background:var(--soft);border-radius:0 12px 12px 0;
  font-size:19px;line-height:1.5;font-weight:700;
}
.rf-nachwort{font-size:14px;color:var(--muted);font-style:italic}

/* Rechtstexte: lange Fliesstexte, enger gesetzt und ruhiger als Werbeseiten */
.rf-recht h2{
  margin:42px 0 12px;font-size:20px;font-weight:700;letter-spacing:-.015em;
  padding-top:22px;border-top:1px solid var(--line);
}
.rf-recht h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.rf-recht h3{margin:26px 0 8px;font-size:17px}
.rf-recht p{font-size:15.5px;line-height:1.72;max-width:none}
.rf-recht ul{margin:0 0 18px;max-width:none}
.rf-recht li{font-size:15.5px}
.rf-recht address{font-style:normal;line-height:1.8;font-size:15.5px}

/* Sehr breite Bildschirme, siehe basis.css. Die Bahn darf etwas mitwachsen,
   damit der Inhalt nicht als schmale Saeule in der Mitte steht. Die
   Textzeilen bleiben durch max-width:66ch trotzdem lesbar kurz. */
@media(min-width:1760px){
  .rf-bahn{max-width:1290px}
  .rf-bahn-schmal{max-width:900px}
}

/* Abschliessender Hinweis unter der Klassenliste. Er gilt fuer alle Klassen
   und steht deshalb ausserhalb des 150px-Rasters der einzelnen Klassen. */
.rf-merk.rf-voraussetzungen{margin-top:44px;border-top:1px solid var(--line);border-radius:12px}
.rf-merk.rf-voraussetzungen ul{margin:14px 0 14px}
.rf-merk.rf-voraussetzungen li{font-size:15px;color:#3a4049}

/* Links im Fliesstext. Ohne diese Regel stehen sie im Browser-Blau da, das
   ist weder die Hausfarbe noch geprueft. #a52c37 auf allen Untergruenden
   der Seite mindestens 5,30:1.
   Der Kicker ist ausgenommen: Er ist ein Label mit weisser Schrift auf Rot.
   Eine Regel wie .rf-text p a waere spezifischer als .rf-text .rf-kicker a
   und wuerde dort die Schrift rot auf rot faerben. Wer einen neuen Kontext
   mit Links anlegt, traegt ihn hier nach. */
.rf-text p:not(.rf-kicker) a:not([class]),
.rf-text li a:not([class]),
.rf-text dd a:not([class]),
.rf-merk p a:not([class]),
.rf-merk li a:not([class]),
.rf-artikel p:not(.rf-kicker) a:not([class]),
.rf-artikel li a:not([class]){
  color:#a52c37;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.rf-text p:not(.rf-kicker) a:not([class]):hover,
.rf-text li a:not([class]):hover,
.rf-merk p a:not([class]):hover,
.rf-merk li a:not([class]):hover,
.rf-artikel p:not(.rf-kicker) a:not([class]):hover,
.rf-artikel li a:not([class]):hover{
  color:#8c2129;
  text-decoration-thickness:2px;
}


/* Abschlussbild vor dem Handlungsaufruf. */
.rf-ziel{margin:0}
.rf-ziel img{display:block;width:100%;height:auto;border-radius:12px}
.rf-ziel figcaption{
  margin-top:12px;font-size:13px;line-height:1.6;color:var(--muted);
}


/* Gespann bei seiner Erklaerung. Fruehere Fassung war eine eigene
   Vergleichsgrafik ueber allen Klassen, dann stand jede Aussage zweimal auf
   der Seite: einmal als Bild oben, einmal als Text unten. Jetzt traegt jeder
   Klassenblock sein eigenes Bild.
   Die Bilder sind senkrecht gemeinsam und waagerecht einzeln zugeschnitten.
   Deshalb ueber die Hoehe steuern: gleiche Hoehe haelt den Massstab, die
   unterschiedliche Breite zeigt die Laenge des Gespanns. */
.rf-gespann-zeile{
  display:grid;grid-template-columns:300px 212px;
  gap:20px;align-items:center;
  width:max-content;max-width:100%;
  margin:0 0 10px;padding:12px 18px;
  background:rgba(255,255,255,.58);border:0;border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 20px rgba(70,45,25,.09);
}
.rf-gespann-zeile img{display:block;height:128px;width:auto;max-width:100%}
.rf-gespann-zeile p{margin:0!important;max-width:none;font-size:14px;line-height:1.5;color:var(--muted)}
.rf-gespann-zeile strong{display:block;font-size:16px;color:var(--ink);margin-bottom:2px}
.rf-gespann-zeile + .rf-gespann-zeile{margin-top:-2px}

@media(max-width:700px){
  .rf-gespann-zeile{
    grid-template-columns:1fr;gap:10px;padding:14px 16px;
    width:auto;                      /* sonst bleibt max-content aus der
                                        breiten Fassung stehen und der
                                        Kasten schrumpft auf Textbreite */
  }
  .rf-gespann-zeile img{height:auto;width:100%}
  .rf-gespann-zeile p{order:-1}
}


/* Hinweis auf das Widerrufsrecht direkt am Anmeldeknopf. Er gehoert dorthin,
   wo der Vertrag zustande kommt, nicht nur in den Fussbereich. */
.rf-widerruf-hinweis{
  margin:16px 0 0!important;padding-top:14px;
  border-top:1px solid var(--line);
  font-size:13px;line-height:1.6;color:var(--muted);
}

/* ===== Fahrzeugseite ===== */

.rf-fahrzeug{
  border-top:1px solid var(--line);
  padding-top:44px;margin-top:44px;
  display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;
}
.rf-fahrzeug:first-of-type{border-top:0;padding-top:0;margin-top:0}
.rf-fahrzeug-bild{position:relative}
.rf-fahrzeug-bild img{display:block;width:100%;height:auto;border-radius:12px}
.rf-fahrzeug-kennzeichen{
  position:absolute!important;left:16px;bottom:16px;margin:0!important;
  background:rgba(255,255,255,.94);color:var(--ink);
  padding:7px 14px;border-radius:5px;
  font-size:15px;font-weight:800;letter-spacing:.06em;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
}
@media(max-width:860px){
  .rf-fahrzeug{grid-template-columns:1fr;gap:26px}
}

/* Datenblatt */
.rf-daten{margin:24px 0 0;display:grid;grid-template-columns:150px 1fr;gap:0}
.rf-daten dt{
  padding:13px 0;border-top:1px solid var(--line);
  font-size:12px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--muted);
}
.rf-daten dd{
  margin:0;padding:13px 0;border-top:1px solid var(--line);
  font-size:15px;line-height:1.6;color:#3a4049;
}
@media(max-width:560px){
  .rf-daten{grid-template-columns:1fr}
  .rf-daten dt{padding-bottom:2px}
  .rf-daten dd{border-top:0;padding-top:0;padding-bottom:14px}
}

/* Galerie */
.rf-galerie{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}
.rf-galerie figure{margin:0}
/* Feste Kachelform. Die Galeriebilder haben unterschiedliche
   Seitenverhaeltnisse, ohne Zuschnitt entstuenden ungleiche Zeilen.
   Die Bildlupe zeigt anschliessend das vollstaendige Bild. */
.rf-galerie img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.rf-galerie figcaption{margin-top:8px;font-size:13.5px;line-height:1.5;color:var(--muted)}
.rf-galerie-hinweis{margin-top:14px!important;font-size:13px;color:var(--muted)}
@media(max-width:620px){
  .rf-galerie{grid-template-columns:1fr}
}

/* ===== Fahrschulsong ===== */

/* Das Bild sitzt zwischen Einleitung und Abspieler: erst das Motiv, dann
   der Knopf. Unten eckig, damit es buendig auf dem Abspieler aufsitzt. */
.rf-song-bild{margin:26px 0 0}
.rf-song-bild img{
  display:block;width:100%;height:auto;
  border-radius:12px 12px 0 0;
}
.rf-song-bild + .rf-song{margin-top:0;border-radius:0 0 12px 12px;border-top:0}

.rf-song{
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
  margin-top:28px;padding:20px 24px;
  background:#fff;border:1px solid var(--line);border-radius:12px;
}
.rf-song-knopf{
  width:58px;height:58px;border-radius:50%;flex-shrink:0;
  background:var(--red);border:0;cursor:pointer;
  display:grid;place-items:center;
  box-shadow:0 8px 20px rgba(181,49,61,.24);
  transition:transform .18s,background .18s;
}
.rf-song-knopf:hover{background:#9d2a35;transform:scale(1.06)}
.rf-song-knopf:focus-visible{outline:3px solid var(--red2);outline-offset:3px}
.rf-song-knopf svg{width:26px;height:26px;fill:#fff;margin-left:2px}
.rf-song-knopf .rf-song-pause{display:none}
.rf-song-laeuft .rf-song-knopf svg{margin-left:0}
.rf-song-laeuft .rf-song-play{display:none}
.rf-song-laeuft .rf-song-pause{display:block}

.rf-song-mitte{min-width:0}
.rf-song-mitte b{display:block;font-size:16px;font-weight:700;color:var(--ink)}
.rf-song-fortschritt{
  height:6px;margin:10px 0 7px;border-radius:3px;
  background:var(--soft);overflow:hidden;cursor:pointer;
}
.rf-song-fortschritt span{
  display:block;height:100%;width:100%;
  background:linear-gradient(90deg,var(--red),var(--yellow));
  transform:scaleX(0);transform-origin:left;
}
.rf-song-zeit{display:block;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}

.rf-song-laden{
  display:inline-flex;flex-direction:column;align-items:center;gap:2px;
  padding:12px 18px;border-radius:8px;
  border:2px solid #a52c37;color:#a52c37!important;
  font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;
  transition:background .18s,color .18s;
}
.rf-song-laden small{font-size:11px;font-weight:600;opacity:.8}
.rf-song-laden:hover{background:var(--red);color:#fff!important;border-color:var(--red)}

@media(max-width:640px){
  .rf-song{grid-template-columns:auto 1fr;gap:14px 16px;padding:18px}
  .rf-song-laden{grid-column:1/-1;flex-direction:row;justify-content:center;gap:8px;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){
  .rf-song-knopf{transition:none}
  .rf-song-knopf:hover{transform:none}
}

/* Nur in den eigenstaendigen Vorschaudateien sichtbar. */
.rf-song-hinweis{
  margin-top:24px!important;padding:16px 20px;
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);
  border-radius:10px;font-size:14px;line-height:1.6;color:var(--muted);
}

/* Wartebereich auf "Ueber uns", Bild links, Text rechts. */
.rf-raum-zwei{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.rf-raum-zwei figure{margin:0}
.rf-raum-zwei img{display:block;width:100%;height:auto;border-radius:12px}
@media(max-width:860px){
  .rf-raum-zwei{grid-template-columns:1fr;gap:28px}
}

/* ===== Innenabstaende auf schmalen Schirmen =====
   Steht bewusst ganz am Ende der Datei. Regeln wie .rf-titel-bild .rf-bahn
   haben dieselbe Spezifitaet, und bei Gleichstand gewinnt die spaetere.
   Weiter oben notiert wuerde das hier wirkungslos bleiben. Wer eine neue
   Bahn-Variante mit eigenem Innenabstand anlegt, traegt sie hier nach. */
@media(max-width:760px){
  .rf-bahn,
  .rf-titel .rf-bahn,
  .rf-titel-bild .rf-bahn,
  .rf-hell .rf-bahn,
  .rf-schluss .rf-bahn{padding:34px 20px}
}

/* Widerrufsseite: Text zum Kopieren, falls kein E-Mail-Programm eingerichtet ist */
.rf-widerruf-text{margin:6px 0 4px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.7);font-size:15px;line-height:1.7;-webkit-user-select:all;user-select:all;cursor:text}
