/* PIGEMA: Grundgeruest. Die Inhaltsbloecke bringen ihre eigenen Stile mit. */
@font-face { font-family: "Work Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url("/fonts/work-sans-400.woff2") format("woff2"); }
@font-face { font-family: "Work Sans"; font-weight: 600; font-style: normal; font-display: swap; src: url("/fonts/work-sans-600.woff2") format("woff2"); }
@font-face { font-family: "Work Sans"; font-weight: 700; font-style: normal; font-display: swap; src: url("/fonts/work-sans-700.woff2") format("woff2"); }

:root { --tuerkis: #4fd1c5; --rand: 16px; }
@media (min-width: 750px) { :root { --rand: 40px; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; min-height: 100svh; display: flex; flex-direction: column;
  font-family: "Work Sans", sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.6;
  color: #000; background: #fff; -webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg { display: block; max-width: 100%; }
img { width: 100%; height: auto; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
p:empty { display: none; }
h1, h2, h3, h4, h5, h6 { font-family: "Work Sans", sans-serif; color: #000; }
h1 { font-size: 2rem; font-weight: 400; line-height: 1; }
h2 { font-size: clamp(2.25rem, 4.8vw, 3rem); font-weight: 600; line-height: 1; }
h3 { font-size: 1.5rem; font-weight: 600; line-height: 1.15; }
h4 { font-size: 1.5rem; font-weight: 400; line-height: 1.15; }
h5 { font-size: 1rem; line-height: 1.15; }
h6 { font-size: 0.875rem; font-weight: 400; line-height: 1.15; }
:first-child:is(p, h1, h2, h3, h4, h5, h6) { margin-block-start: 0; }
:last-child:is(p, h1, h2, h3, h4, h5, h6) { margin-block-end: 0; }
a { color: var(--tuerkis); text-decoration-color: transparent; text-decoration-thickness: 0.075em; text-underline-offset: 0.125em; transition: text-decoration-color 0.125s ease-in-out; }
ul, ol { margin-block-start: 0; padding-inline-start: 1.5em; }
:is(ul, ol):not(:is(ul, ol) :is(ul, ol)) { margin-block-end: 1em; }
table { width: 100%; border-collapse: collapse; }
:focus-visible { outline: 0.09375rem solid currentcolor; outline-offset: 0.2em; }

/* Kopf */
.kopf { padding: 33px var(--rand) 0; display: flex; justify-content: center; }
.kopf a { display: block; }
.kopf img { width: 185px; height: 37px; }
@media (min-width: 750px) { .kopf { padding-bottom: 11px; padding-top: 44px; } .kopf img { width: 225px; height: 45px; } }

/* Inhalt */
main { flex: 1; }
.abschnitt {
  display: grid;
  grid-template-columns: minmax(var(--rand), 1fr) min(1920px, calc(100% - var(--rand) * 2)) minmax(var(--rand), 1fr);
  padding-block: var(--oben, 0px) var(--unten, 0px);
}
.abschnitt > * { grid-column: 2; min-width: 0; }

/* Rechtstexte und Kontakt */
.rechtstext { max-width: 566px; margin: 0 auto; padding: 20px; }
.rechtstext h1 { margin: 0 0 16px; }
.rte :is(h1, h2, h3, h4, h5, h6) { margin-block: clamp(1.5rem, 3.3em, 2.5rem) clamp(1rem, 0.25em, 2rem); }
.rte > :first-child { margin-block-start: 0; }
.rechtstext .rte a:hover { text-decoration-color: currentcolor; }

/* Fuss */
.fuss { padding: 72px var(--rand) 0; }
.fuss-titel { margin: 0 0 12px; }
.fuss ul { list-style: none; margin: 0; padding: 0; }
.fuss li { margin: 0 0 5px; }
.fuss li a:hover { text-decoration-color: currentcolor; }
.fuss-unten { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 56px 0 24px; font-size: 0.75rem; color: rgb(0 0 0 / 0.6); }
.fuss-unten a { color: inherit; width: 24px; height: 24px; }
.fuss-unten svg { width: 24px; height: 24px; fill: currentcolor; }
.fuss-unten a:hover { color: #000; }

/* Fehlerseite */
.fehler { text-align: center; padding: 96px 0 120px; }
.fehler p { margin: 0 0 28px; font-size: 1rem; }
.fehler .knopf { display: inline-block; background: var(--tuerkis); color: #1A2C43; font-weight: 600; padding: 14px 32px; border-radius: 12px; text-decoration: none; }
.fehler .knopf:hover { background: #1A2C43; color: #fff; }
