/* Auf die Studentenprüfung begrenzte Anpassung an das Portaldesign. */
.fv-student-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 28px;
  padding: 24px 28px;
  border: 1px solid #c8daf8;
  border-radius: 12px;
  background: #f0f6ff;
}
.fv-student-entry strong { display: block; color: #142f53; font-size: 20px; }
.fv-student-entry p { margin: 6px 0 0; color: #5a6e84; font-size: 15px; }
.fv-student-entry .button { flex-shrink: 0; }
#studentCalculatorSection { margin-top: 56px; margin-bottom: 64px; scroll-margin-top: 28px; }
#studentCalculatorSection > p { max-width: 800px; }
#studentCalculatorSection .fv-student-privacy { font-size: 14px; color: #5a6e84; }
#studentCalculatorSection #studentCalculatorMount {
  --primary: #142f53;
  --secondary: #175cd3;
  --accent: #104aaf;
  --white: #fff;
  --success: #175cd3;
  --danger: #b42318;
  min-width: 0;
  overflow-wrap: anywhere;
}
#studentCalculatorSection #studentCalculatorMount > details.card {
  padding: clamp(16px, 3vw, 36px);
  border: 1px solid #dce5ef;
  background: #fff;
  box-shadow: 0 8px 28px #142f5308;
}
#studentCalculatorSection #studentCalculatorMount details.card > summary {
  font-size: clamp(21px, 3vw, 28px);
  line-height: 1.3;
}
#studentCalculatorSection #studentCalculatorMount h2 {
  display: block;
  font-size: clamp(22px, 2.5vw, 29px);
  line-height: 1.3;
  letter-spacing: -.02em;
}
#studentCalculatorSection #studentCalculatorMount h3 { font-size: 21px; }
#studentCalculatorSection #studentCalculatorMount p { line-height: 1.6; }
#studentCalculatorSection #studentCalculatorMount .workstudent-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}
#studentCalculatorSection #studentCalculatorMount .workstudent-grid > * { min-width: 0; }
#studentCalculatorSection #studentCalculatorMount .alert-box {
  margin: 18px 0;
  padding: 16px 18px;
  background: #f0f6ff;
  border-left: 4px solid #175cd3;
  border-radius: 6px;
}
#studentCalculatorSection #studentCalculatorMount label { line-height: 1.5; }
#studentCalculatorSection #studentCalculatorMount input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: 0;
  vertical-align: middle;
  margin-right: 5px;
}
#studentCalculatorSection #studentCalculatorMount button { min-height: 44px; white-space: normal; }
#studentCalculatorSection #studentCalculatorMount input:focus-visible,
#studentCalculatorSection #studentCalculatorMount select:focus-visible,
#studentCalculatorSection #studentCalculatorMount textarea:focus-visible,
#studentCalculatorSection #studentCalculatorMount button:focus-visible,
#studentCalculatorSection #studentCalculatorMount summary:focus-visible,
.fv-student-table-scroll:focus-visible { outline: 3px solid #df971c; outline-offset: 3px; }
#studentCalculatorSection #studentCalculatorMount .fv-student-table-scroll { max-width: 100%; overflow-x: auto; }
@media (max-width: 600px) {
  .fv-student-entry { flex-direction: column; align-items: stretch; padding: 20px; gap: 18px; }
  #studentCalculatorSection { margin-top: 32px; }
  #studentCalculatorSection #studentCalculatorMount .job-entry,
  #studentCalculatorSection #studentCalculatorMount .calculation-steps,
  #studentCalculatorSection #studentCalculatorMount .calculation-stage,
  #studentCalculatorSection #studentCalculatorMount .workstudent-job-fields,
  #studentCalculatorSection #studentCalculatorMount .result-box { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(#studentCalculatorSection) { scroll-behavior: auto; }
}
@media print {
  body > header, body > footer, .topbar, .skip,
  #main > :not(#studentCalculatorSection),
  #studentCalculatorSection > :not(#studentCalculatorMount) { display: none !important; }
  #main, #studentCalculatorSection { width: 100%; max-width: none; margin: 0; padding: 0; }
  #studentCalculatorSection #studentCalculatorMount > details.card { padding: 0; margin: 0; border: 0; box-shadow: none; }
  #studentCalculatorSection #studentCalculatorMount h2 { font-size: 13pt; line-height: 1.2; }
  #studentCalculatorSection #studentCalculatorMount h3 { font-size: 11pt; }
  #studentCalculatorSection #studentCalculatorMount p { font-size: 8.7pt; line-height: 1.25; }
  #studentCalculatorSection #studentCalculatorMount .fv-student-print-title { font-size: 16pt; border: 0; margin-top: 0; }
  #studentCalculatorSection #studentCalculatorMount .fv-student-table-scroll { overflow: visible; }
  #studentCalculatorSection #studentCalculatorMount input:not([type="checkbox"]),
  #studentCalculatorSection #studentCalculatorMount select { min-height: 0; }
}
