/* ============================ GRUNDSYSTEM (07.10.) ============================
   Wird als letzte Datei geladen und zieht alle Seiten auf dieselben Grundelemente.
   Praefix :root:not(#k) hebt die Spezifitaet ueber alle Seitenregeln, ohne !important.

   1  KNOEPFE   Zwei Formen, wie auf der Startseite:
                a) eckig: roter Balken (.knopf-primaer) und als Zweitform der Rahmen
                   (.knopf-sekundaer), beide Radius 0, gleiche Schrift.
                b) kreisrund: roter Kreis (.cta-kreis und alle Abspiel-/Pfeil-Kreise).
                Keine Pillen, keine schwarzen Flaechen. Aktiv und Hover sind immer Rot.
   2  UEBERSCHRIFTEN   Zwei Groessen:
                --h-gross  Seitenkopf und vollflaechige Aussagen
                --h-klein  jede Sektionsueberschrift
                dazu --h-karte fuer Titel in Karten, Zeilen und Listen (kein Sektionstitel).
                Ein Schnitt (600), eine Laufweite, eine Zeilenhoehe.
   3  REGISTER  Die kleine Zeile ueber Ueberschriften sieht ueberall aus wie auf der Startseite.
   4  BILDER    a) vollflaechig (Hero, Buehne, Panorama): eckig, ohne Schatten
                b) Einzelbild oder Einzelvideo im Inhalt: Radius 14 px und weicher Schatten
                c) ab zwei Bildern (Raster, Reihe, Band, Collage): eckig, ohne Schatten
                d) Personen in Zitaten: kreisrund, wie die runden Knoepfe
   5  FLAECHEN  Karten, Kacheln und Felder bleiben eckig. */

:root{
  --h-gross:clamp(44px,5.2vw,86px);
  --h-klein:clamp(30px,3.75vw,60px);
  --h-karte:clamp(20px,1.6vw,27px);
  --h-schnitt:600;
  --h-laufweite:-.025em;
  --schatten-medien:0 28px 64px -36px rgba(53,9,10,.5);
}

/* ---------- 1 · Knoepfe ---------- */
.knopf-sekundaer,
:root:not(#k) .kst-filter-knopf,
:root:not(#k) .an-mehr,
:root:not(#k) .an-ortfilter button,
:root:not(#k) .an-sort select{
  font-family:var(--schrift-hl);font-weight:500;letter-spacing:.06em;font-size:var(--t-15);line-height:1.2;text-transform:none;
  min-height:var(--ziel-min);padding:0 var(--r-24);border-radius:0;
  background:transparent;color:var(--tinte);border:1px solid var(--linie-stark);
  display:inline-flex;align-items:center;gap:var(--r-12);cursor:pointer;
  transition:background var(--dauer-ui) var(--kurve),color var(--dauer-ui) var(--kurve),border-color var(--dauer-ui) var(--kurve)}
:root:not(#k) .an-mehr{min-height:var(--knopf-hoehe);padding:0 var(--r-32);font-size:var(--t-18);border-color:var(--tinte)}
:root:not(#k) .an-sort select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2311100E' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center}
:root:not(#k) .an-ortfilter button{min-height:32px;padding:0 var(--r-12);font-size:12px}
.knopf-sekundaer:hover,
:root:not(#k) .kst-filter-knopf:hover,
:root:not(#k) .an-mehr:hover,
:root:not(#k) .an-ortfilter button:hover,
:root:not(#k) .an-sort select:hover{border-color:var(--rot);color:var(--rot);background:transparent}
:root:not(#k) .kst-filter-knopf[aria-pressed="true"]{background:var(--rot);border-color:var(--rot);color:var(--weiss)}
:root:not(#k) .kst-filter-knopf span{color:inherit;opacity:.7}
.knopf-sekundaer:focus-visible,:root:not(#k) .kst-filter-knopf:focus-visible,:root:not(#k) .an-mehr:focus-visible,
:root:not(#k) .an-sort select:focus-visible{outline:2px solid var(--rot);outline-offset:3px}
/* Rahmenknopf auf dunklem Grund */
:root:not(#k) .an-ende .knopf-sekundaer{color:var(--weiss);border-color:rgba(255,255,255,.5)}

/* Kreisrunde Elemente: immer Rot, nie Schwarz */
:root:not(#k) .an-karte .an-pfeil{border-radius:50%;border-color:var(--linie-stark)}
:root:not(#k) .an-link:hover .an-pfeil{background:var(--rot);border-color:var(--rot)}
:root:not(#k) .kst-lb-zu:hover{background:var(--rot);border-color:var(--rot)}
/* Kleine Merkmal-Etiketten sind keine Knoepfe: eckig, ohne Rahmenpille */
:root:not(#k) .kst-art{border-radius:0}

/* ---------- 2 · Ueberschriften ---------- */
/* gross: Seitenkopf und vollflaechige Aussagen */
:root:not(#k) .b2-claim,
:root:not(#k) .vh-titel,
:root:not(#k) .uh-gross,
:root:not(#k) .kst-gross,
:root:not(#k) .uh-team-titel,
:root:not(#k) .wisch-titel,
:root:not(#k) .vk-zug-titel,
:root:not(#k) .uh-karriere-titel,
:root:not(#k) .uh-dunkel-titel,
:root:not(#k) .tm-panorama-titel{
  font-size:var(--h-gross);font-weight:var(--h-schnitt);letter-spacing:var(--h-laufweite);line-height:1;word-spacing:normal;text-transform:none}
/* klein: jede Sektionsueberschrift, auch die Vorzeile im Seitenkopf */
:root:not(#k) main h2,
:root:not(#k) .film-titel,
:root:not(#k) .angebote-titel,
:root:not(#k) .ks-titel,
:root:not(#k) .team-titel,
:root:not(#k) .sit-titel-gross,
:root:not(#k) .hor-titel-gross,
:root:not(#k) .cta-titel,
:root:not(#k) .wd-titel,
:root:not(#k) .nw-titel,
:root:not(#k) .buero-titel,
:root:not(#k) .stoerer-titel,
:root:not(#k) .zahlen-titel,
:root:not(#k) .v2-titel,
:root:not(#k) .vpruef-titel,
:root:not(#k) .vks-titel,
:root:not(#k) .vab-titel,
:root:not(#k) .uh-rollen-titel,
:root:not(#k) .uh-presse-titel,
:root:not(#k) .uh-kicker,
:root:not(#k) .kst-kicker,
:root:not(#k) .kst-h2,
:root:not(#k) .an-ende-titel,
:root:not(#k) .an-kb-titel,
:root:not(#k) .an-wand,
:root:not(#k) .uh-satz-text{
  font-size:var(--h-klein);font-weight:var(--h-schnitt);letter-spacing:var(--h-laufweite);line-height:1.06;word-spacing:normal;text-transform:none;min-height:0;max-width:none}
:root:not(#k) .uh-kicker,:root:not(#k) .kst-kicker{margin-bottom:.12em}
/* die grossen Woerter haben Unterlaengen, die Maske braucht dafuer Luft */
:root:not(#k) .uh-zeile,:root:not(#k) .kst-zeile{padding-bottom:.1em;margin-bottom:-.1em}
/* Karten-, Zeilen- und Listentitel */
:root:not(#k) main h3,
:root:not(#k) .sit-titel,
:root:not(#k) .hor-titel,
:root:not(#k) .vks-name,
:root:not(#k) .kn-info-titel,
:root:not(#k) .bp-titel,
:root:not(#k) .an-karte .an-titel,
:root:not(#k) .an-vorschau-titel{
  font-size:var(--h-karte);font-weight:var(--h-schnitt);letter-spacing:-.015em;line-height:1.2;text-transform:none}
/* Seitenkopf der Angebote: die Orte sind die Ueberschrift, die Zahl darueber steht als Register */
:root:not(#k) #an-titel{font-family:var(--schrift-label);font-size:var(--t-18);font-weight:500;letter-spacing:.06em;line-height:1.3;
  color:var(--tinte);margin:0 0 var(--r-24)}
:root:not(#k) #an-titel .rot{color:var(--rot)}
:root:not(#k) .an-wand{letter-spacing:-.03em}

/* ---------- 3 · Register ---------- */
:root:not(#k) .kst-register,
:root:not(#k) .uh-register{
  font-family:var(--schrift-label);font-size:var(--t-18);font-weight:500;letter-spacing:.06em;line-height:1.2;text-transform:none;
  color:var(--rot);gap:0}
:root:not(#k) .kst-register .punkt,
:root:not(#k) .uh-register .punkt{width:5px;height:5px;background:currentColor;margin:0 12px 2px 0}
:root:not(#k) .kst-register--dunkel,
:root:not(#k) .an-ende-feld--rot .kst-register,
:root:not(#k) .uh-karriere .uh-register{color:rgba(255,255,255,.8)}

/* ---------- 4 · Bilder ---------- */
/* b) Einzelbild oder Einzelvideo im Inhalt: rund und mit Schatten */
:root:not(#k) .film-box,
:root:not(#k) .ks-d-vorschau,
:root:not(#k) .cta-bild,
:root:not(#k) .an-vorschau-bild,
:root:not(#k) .kst-lb-film{border-radius:var(--rund-medien);overflow:hidden;box-shadow:var(--schatten-medien)}
/* c) ab zwei Bildern: eckig, ohne Schatten */
:root:not(#k) .card,
:root:not(#k) .card img,
:root:not(#k) .card__veil,
:root:not(#k) .nw-feld,
:root:not(#k) .team-block__wrapper,
:root:not(#k) .team-block__wrapper img,
:root:not(#k) .sit-bild,
:root:not(#k) .sit-bild img,
:root:not(#k) .buero-bild,
:root:not(#k) .buero-bild img,
:root:not(#k) .vks-bild,
:root:not(#k) .uh-col-bild,
:root:not(#k) .uh-col-mitte,
:root:not(#k) .uh-team-bild,
:root:not(#k) .kst-notar-reihe li,
:root:not(#k) .kst-b-daumen,
:root:not(#k) .an-bild{border-radius:0;box-shadow:none}
/* a) vollflaechig: eckig */
:root:not(#k) .tm-panorama,
:root:not(#k) .tm-panorama img{border-radius:0}

/* ---------- 5 · Flaechen ---------- */
:root:not(#k) .an-ende-feld{border-radius:0}

/* Ueber-uns-Kopf (07.10.): die Vorzeile in Versalien bleibt schmaler als das grosse Wort darunter,
   deshalb hier in der Kartengroesse statt in der kleinen Ueberschrift */
:root:not(#k) .uh-c .uh-kicker{font-size:var(--h-karte);letter-spacing:.02em;line-height:1.1;margin-bottom:.5em}
:root:not(#k) .uh-c .uh-kicker{font-size:calc(var(--h-gross) * .3)}
/* Ueber uns (07.10.): Zitat schmaler, damit die dunkle Zeile nicht mit einem einzelnen Wort endet */
:root:not(#k) .uh-satz-text{max-width:16em}
/* Ueber uns (07.10.): etwas mehr Luft zwischen Teamkopf und Bildraster */
:root:not(#k) .uh-team-raster{margin-top:clamp(84px,9vw,150px)}
/* Kundenstimmen-Kopf (07.10.): Vorzeile deutlich kleiner als die grosse Aussage, wie beim Ueber-uns-Kopf */
:root:not(#k) .kst-hero .kst-kicker{font-size:var(--h-karte);letter-spacing:-.01em;line-height:1.1;margin-bottom:.6em}
