/* Ersatz fuer cdn.tailwindcss.com auf /seminare.
   ============================================================================
   Die Seminarseite hat Tailwind frueher als Play-CDN eingebunden - ein
   Skript von ~120 KB, das das CSS erst im Browser erzeugt. Lighthouse hat es
   als groessten Bremsklotz der Seite ausgewiesen (1644 ms render-blocking,
   Performance 61 mobil).

   Von Tailwind waren tatsaechlich nur zwanzig Hilfsklassen im Einsatz. Die
   stehen unten ausgeschrieben, mit den Originalwerten aus Tailwind 3.4.

   Der zweite Teil, den das CDN mitgebracht hat, ist "Preflight" - Tailwinds
   Grundzuruecksetzung. Die Seite ist damit gebaut worden: ohne sie haetten
   Ueberschriften ploetzlich Browser-Abstaende, Listen Aufzaehlungspunkte und
   Bilder eine Grundlinie. Deshalb steht sie hier ebenfalls, gekuerzt auf die
   Regeln, die auf dieser Seite etwas bewirken.

   Diese Datei wird VOR styles/seminare.css geladen. Das ist wichtig:
   Preflight trifft "button" und "[type=button]" mit Attribut-Staerke, also
   genauso stark wie eine Klasse. Stuende die Datei hinter seminare.css,
   gewaenne bei Gleichstand die spaetere Regel und die Schaltflaeche
   "Thema vorschlagen" verlore ihr Orange.

   Neue Tailwind-Klasse im Markup? Sie wirkt erst, wenn sie hier steht - und
   nur, solange keine Regel aus seminare.css dieselbe Eigenschaft mit
   mindestens gleicher Staerke setzt. */

/* ===== Preflight (Tailwind 3.4, gekuerzt) ================================ */

*,
::before,
::after {
    box-sizing: border-box;
    /* Traegt die Klasse "border" ueberhaupt erst: Tailwind setzt die Breite
       global auf 0 und einen Stil vor, damit "border" nur noch die Breite
       hochsetzen muss. */
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb;
}

html {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
}

body {
    margin: 0;
    line-height: inherit;
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
}

abbr:where([title]) {
    text-decoration: underline dotted;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
}

a {
    color: inherit;
    text-decoration: inherit;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp,
pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
}

button,
select {
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none;
}

:-moz-focusring {
    outline: auto;
}

progress {
    vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

summary {
    display: list-item;
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
    margin: 0;
}

fieldset {
    margin: 0;
    padding: 0;
}

legend {
    padding: 0;
}

ol,
ul,
menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

dialog {
    padding: 0;
}

textarea {
    resize: vertical;
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: #9ca3af;
}

button,
[role="button"] {
    cursor: pointer;
}

:disabled {
    cursor: default;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    display: block;
    vertical-align: middle;
}

img,
video {
    max-width: 100%;
    height: auto;
}

[hidden] {
    display: none;
}

/* ===== Verwendete Hilfsklassen =========================================== */

.hidden {
    display: none;
}

.mt-1 {
    margin-top: 0.25rem;
}

.mt-2 {
    margin-top: 0.5rem;
}

.mt-3 {
    margin-top: 0.75rem;
}

.p-4 {
    padding: 1rem;
}

.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.font-semibold {
    font-weight: 600;
}

.underline {
    text-decoration-line: underline;
}

.text-gray-500 {
    color: #6b7280;
}

.text-gray-600 {
    color: #4b5563;
}

/* #1d4ed8 auf Weiss sind 6,3:1 - der Wert stammt unveraendert aus Tailwind
   (blue-700) und erfuellt WCAG AA fuer Fliesstext. */
.text-blue-700 {
    color: #1d4ed8;
}

.text-red-700 {
    color: #b91c1c;
}

.bg-red-100 {
    background-color: #fee2e2;
}

.border {
    border-width: 1px;
}

.border-dashed {
    border-style: dashed;
}

.border-gray-300 {
    border-color: #d1d5db;
}

.border-red-200 {
    border-color: #fecaca;
}

.rounded-md {
    border-radius: 0.375rem;
}

.rounded-lg {
    border-radius: 0.5rem;
}
