/* ==========================================================================
   Pölzl Fire Campus – WordPress
   Was nur im Theme gilt, nicht im Prototyp. tokens.css bleibt unverändert.
   ========================================================================== */

/* Keine Prototyp-Leiste im Theme, also kein Platz dafür. */
:root { --proto-h: 0px; }

/* Der Sendeknopf im Kontaktformular ist ein <button>, im Prototyp ein <a>; ohne das wäre er 5 px niedriger. */
.pfc-senden { line-height: inherit; }

/* Feld, das nur Bots ausfüllen: unsichtbar, ohne Versatz – ein physischer Versatz ergäbe in RTL eine Bildlaufleiste. */
.pfc-falle { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Prüfseite: abgelaufen, widerrufen, unbekannt. Zustände in Ink und Grau (Farbregel), nicht im Grün des gültigen Zertifikats. */
.verify-badge.ist-offen { background: var(--white); border-color: var(--surface); }
.verify-badge.ist-offen h1 { color: var(--ink); }

/* Noch nicht buchbare Branchen (inc/verfuegbar.php): Zustand in Ink und Grau (Farbregel), kein Grün, keine Wirkung. */
.branche-bald { align-self: flex-start; font-size: 10.5px; font-weight: 700; color: var(--ink-45); background: var(--linen); border: 1px solid var(--surface); padding: 4px 10px; border-radius: var(--r); white-space: nowrap; }
/* Auf einer Kachel mit Bild liegt das Schild oben links auf dem Bild, die KI-Kennzeichnung unten links. Im Fluss stünde es über
   dem Bild, schöbe es nach unten und die KI-Kennzeichnung (fest 150 px unter der Kachelkante) säße nicht mehr am Bild. */
.branche.mit-foto .branche-bald { position: absolute; inset-block-start: 12px; inset-inline-start: 12px; z-index: 2; }
/* Auf den kleinen Kacheln der Startseite steht das Schild unten (#669): oben schob es Icon, Überschrift und Schlagworte nach unten,
   und die Kacheln einer Reihe standen nicht mehr auf gleicher Höhe. Die Kacheln einer Reihe sind gleich hoch (Grid), das Schild
   rückt mit margin-block-start: auto an den unteren Rand. */
.branche.kompakt .branche-bald { order: 1; margin-block-start: auto; }
.btn.ist-bald, .btn.ist-bald:hover { background: var(--surface); color: var(--ink-45); cursor: default; }
/* „Weiter zu Episode …“ und „Zum Zwischentest“ bis zum Ende des Videos (#247): grau wie oben, nicht das blasse Grün von [disabled]. */
.btn[data-pfc-video-sperre], .btn[data-pfc-video-sperre]:hover { background: var(--surface); color: var(--ink-45); cursor: default; opacity: 1; }

/* Episode (learndash/ld30/lesson.php): Die Kursübersicht ist ein <details>. Am Desktop steht sie links und ist immer offen
   (theme.js öffnet sie), die Zeile zum Aufklappen bleibt unsichtbar. Auf dem Handy kommt zuerst das Video, darunter die
   eingeklappte Liste „Kursübersicht · 2 von 10“ (entschieden 28.09.2026). */
.side-liste > summary { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; list-style: none; cursor: pointer; }
.side-liste > summary::-webkit-details-marker { display: none; }
.side-liste > summary h2 { padding-block-end: 12px; }
.side-stand { display: none; font-size: var(--fs-label); font-weight: 700; color: var(--ink-45); padding-inline-end: 22px; }
@media (min-width: 961px) {
  .side-liste > summary { cursor: default; pointer-events: none; }
}
@media (max-width: 960px) {
  .player-main { order: 1; }
  .player-side { order: 2; padding-block: 0; border-block-end: none; border-block-start: 1px solid var(--surface); }
  .side-liste > summary { padding-block: 16px; }
  .side-liste > summary h2 { padding-block-end: 0; }
  .side-liste > summary h2::after { content: ' ▾'; }
  .side-liste[open] > summary h2::after { content: ' ▴'; }
  .side-stand { display: inline; }
  .side-liste[open] { padding-block-end: 12px; }
}

/* Test (learndash/ld30/quiz.php): der LearnDash-Test (WpProQuiz) im Aussehen von vorlagen/abschlusstest.html. Seine eigene
   Nummerierung, Übersicht und Ergebnisbox entfallen — Zähler und Ergebnis zeichnet das Theme (assets/js/kurs-test.js).
   Die Vorsilbe .pfc-test .wpProQuiz_content schlägt learndash_quiz_front.css; !important nur gegen dessen Inline-Stile. */
.pfc-test .wpProQuiz_content { margin: 0; }
.pfc-test .wpProQuiz_content .wpProQuiz_question_page,
.pfc-test .wpProQuiz_content .wpProQuiz_header,
.pfc-test .wpProQuiz_content .wpProQuiz_results,
.pfc-test .wpProQuiz_content .wpProQuiz_reviewDiv,
.pfc-test .wpProQuiz_content .wpProQuiz_checkPage,
.pfc-test .wpProQuiz_content .wpProQuiz_infopage,
.pfc-test .wpProQuiz_content .ld-quiz-question-item__status,
.pfc-test .wpProQuiz_content .wpProQuiz_questionList > span { display: none !important; }
.pfc-test .wpProQuiz_content .wpProQuiz_question { border: 0; padding: 0; margin: 0 !important; min-inline-size: 0; }
.pfc-test .wpProQuiz_content .wpProQuiz_question_text { display: block; inline-size: 100%; padding: 0; font-size: 19px; font-weight: 700; line-height: 1.35; color: var(--ink); margin-bottom: 20px; }
.pfc-test .wpProQuiz_content .wpProQuiz_question_text p { margin: 0; }
.pfc-test .wpProQuiz_content .wpProQuiz_questionList { background: none; border: 0; padding: 0; margin: 0; overflow: visible; }
.pfc-test .wpProQuiz_content .wpProQuiz_questionList .wpProQuiz_questionListItem { background: none; border: 0; padding: 0; margin: 0 0 7px; overflow: visible; font-weight: 400; }
.pfc-test .wpProQuiz_content .wpProQuiz_questionListItem label { display: flex; align-items: center; gap: 11px; background: var(--white); border: 1px solid var(--surface); border-radius: var(--r); padding: 11px 15px; font-size: var(--fs-sm); font-weight: 400; cursor: pointer; }
.pfc-test .wpProQuiz_content .wpProQuiz_questionListItem label:hover { border-color: var(--ink-45); }
.pfc-test .wpProQuiz_content .wpProQuiz_questionListItem input { appearance: none; inline-size: 18px; block-size: 18px; margin: 0; flex-shrink: 0; border-radius: 50%; border: 2px solid var(--surface); background: var(--white) center / 10px no-repeat; cursor: pointer; }
.pfc-test .wpProQuiz_content .wpProQuiz_questionListItem input:checked { border: 5px solid var(--ink); }
.pfc-test .wpProQuiz_content .wpProQuiz_questionListItem input:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.pfc-test .wpProQuiz_content .wpProQuiz_questionListItem label:has(input:checked) { border-color: var(--ink); }
/* Nach „Antwort prüfen“: die richtige Antwort wie .quiz-a.right, eine falsch gewählte in Orange. */
.pfc-test .wpProQuiz_content .wpProQuiz_questionList .wpProQuiz_answerCorrect,
.pfc-test .wpProQuiz_content .wpProQuiz_questionList .wpProQuiz_answerCorrectIncomplete,
.pfc-test .wpProQuiz_content .wpProQuiz_questionList .wpProQuiz_answerIncorrect { background: none; border: 0 !important; font-weight: 400; }
.pfc-test .wpProQuiz_content .wpProQuiz_questionList .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label,
.pfc-test .wpProQuiz_content .wpProQuiz_questionList .wpProQuiz_questionListItem.wpProQuiz_answerCorrectIncomplete label { border-color: var(--campus); background: var(--mint); font-weight: 600; }
.pfc-test .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerCorrect input,
.pfc-test .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerCorrectIncomplete input { border: 2px solid var(--campus); background-color: var(--campus); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3L9.5 3.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.pfc-test .wpProQuiz_content .wpProQuiz_questionList .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label { border-color: var(--blaze); background: var(--blaze-soft); }
.pfc-test .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect input { border: 5px solid var(--blaze); }
.pfc-test .wpProQuiz_content .wpProQuiz_response { background: none; border: 0; box-shadow: none; padding: 0; margin: 22px 0 0; }
.pfc-test .wpProQuiz_content .wpProQuiz_response > div { border-radius: var(--r); padding: 16px 18px; font-size: var(--fs-sm); line-height: var(--lh-relaxed); color: var(--ink-70); }
.pfc-test .wpProQuiz_content .wpProQuiz_correct { background: var(--mint); border: 1px solid var(--mint-mid); }
.pfc-test .wpProQuiz_content .wpProQuiz_incorrect { background: var(--blaze-soft); border: 1px solid #FFD9C7; }
.pfc-test .wpProQuiz_content .wpProQuiz_response span { color: var(--ink); font-weight: 700; }
.pfc-test .wpProQuiz_content .wpProQuiz_AnswerMessage:empty { display: none; }
/* Knöpfe wie .btn .btn-primary; LearnDash setzt float und Abstand inline. */
.pfc-test .wpProQuiz_content .wpProQuiz_button { font-family: inherit; font-size: var(--fs-sm); font-weight: 700; padding: 11px 22px; border-radius: var(--r); border: none; background: var(--campus); color: var(--white); cursor: pointer; transition: background .15s; float: inline-end !important; margin: 26px 0 0 !important; }
.pfc-test .wpProQuiz_content .wpProQuiz_button:hover { background: var(--campus-dark); }
.pfc-test .wpProQuiz_content .wpProQuiz_button:disabled { background: var(--surface); color: var(--ink-45); cursor: default; }
.pfc-test .wpProQuiz_content .wpProQuiz_sending { padding: 8px 0; font-size: var(--fs-sm); color: var(--ink-70); }
.pfc-test .wpProQuiz_content .wpProQuiz_sending .course_progress { margin: 12px 0 0; block-size: 6px; border-radius: var(--r-pill); background: var(--surface); overflow: hidden; }
.pfc-test .wpProQuiz_content .wpProQuiz_sending .sending_progress_bar { block-size: 100%; background: var(--campus); }
.pfc-test .player-nav { clear: both; }
/* kurs-test.js setzt „Zurück zu Episode n“ in die Knopfzeile der sichtbaren Frage, links neben „Antwort prüfen“. */
.pfc-test .wpProQuiz_listItem .pfc-test-zurueck { float: inline-start; margin-top: 26px; }

/* Kasse /buchung/ (#23, woocommerce/checkout/): Die Felder erzeugt WooCommerce als <p class="form-row …"> in unseren zweispaltigen
   .form-row; ohne das bekäme jedes Feld selbst das Raster. Pflicht- und Optional-Kennzeichen hat die Vorlage nicht. */
.kasse p.form-row { display: block; margin: 0; }
.kasse .woocommerce-input-wrapper { display: block; }
.kasse .field label .required, .kasse .field label .optional { display: none; }
.kasse .field.woocommerce-invalid input, .kasse .field.woocommerce-invalid select { border-color: var(--blaze-dark); }
.kasse .woocommerce-checkout-review-order-table { display: block; }
.kasse .pfc-gutschein-hinweis { color: var(--campus-dark); font-weight: 600; }
.kasse .pfc-gutschein-hinweis.ist-fehler { color: var(--ink); }
.kasse .payment_box { padding: 4px 16px 10px; font-size: var(--fs-xs); color: var(--ink-70); }
/* Meldungen von WooCommerce über beide Spalten, nicht als erste Rasterzelle. */
.kasse .checkout-grid > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.kasse .woocommerce-error, .kasse .woocommerce-message, .kasse .woocommerce-info { list-style: none; margin: 0 0 16px; padding: 14px 18px; border: 1px solid var(--surface); border-inline-start: 3px solid var(--ink); border-radius: var(--r); background: var(--white); font-size: var(--fs-sm); }
.kasse .woocommerce-error { background: var(--blaze-soft); border-color: #FFD9C7; border-inline-start-color: var(--blaze-dark); }
.kasse .woocommerce-error li + li { margin-block-start: 6px; }

/* Rechtsseiten (inc/recht.php): die Reiter der Vorlage sind im Theme Links auf die Seiten, im Prototyp Knöpfe. */
a.legal-tab { text-decoration: none; }
/* Mein Konto (page-konto.php): Sprache und „Ändern“ sind Knöpfe eines Formulars, in der Vorlage <span> und <a>. */
button.lang { font-family: inherit; line-height: inherit; cursor: pointer; }
button.lang:not(.active) { background: none; }
/* Sprachwahl oben auf /login/ (page-login.php, #38): „Deutsch ▾“ klappt die acht Sprachen als .lang-Links auf, ohne Skript. */
.pfc-sprachwahl { margin-block-end: 10px; text-align: end; }
.pfc-sprachwahl summary { display: inline-flex; align-items: center; gap: 6px; list-style: none; cursor: pointer; font-size: var(--fs-xs); font-weight: 600; color: var(--ink-70); }
.pfc-sprachwahl summary::-webkit-details-marker { display: none; }
.pfc-sprachwahl .lang-row { justify-content: flex-end; margin-block-start: 10px; }
a.lang { text-decoration: none; }
.pfc-knopf-link { background: none; border: 0; padding: 0; font-family: inherit; line-height: inherit; cursor: pointer; }
.field input[readonly] { background: var(--linen); color: var(--ink-70); }

/* Mitarbeitertabelle (page-mitarbeitende.php) ohne die Spalte „Gruppe“ der Vorlage (Arbeitsannahme: keine Gruppen): Fortschritt
   und Status rücken eine Spalte vor. Die Breiten der Vorlage gelten für die Spalte, nicht für die Stelle; am Telefon fällt wie in
   der Vorlage nur der Fortschritt weg, der Status bleibt. theme.css lädt vor components.css, deshalb die höhere Spezifität. */
table.data-auswahl.pfc-ohne-gruppe th:nth-child(3), table.data-auswahl.pfc-ohne-gruppe td:nth-child(3) { width: 110px; }
table.data-auswahl.pfc-ohne-gruppe th:nth-child(4), table.data-auswahl.pfc-ohne-gruppe td:nth-child(4) { width: 130px; }
@media (max-width: 620px) {
  table.data-auswahl.pfc-ohne-gruppe th:nth-child(4), table.data-auswahl.pfc-ohne-gruppe td:nth-child(4) { display: table-cell; }
}
