/* Fahrkurve app entry; scoped selectors keep manager, school and product styling independent. */
.fk-app-promotion[hidden], [data-fk-app-install-entry][hidden] { display: none !important; }
.fk-app-promotion, .fk-app-promotion.pwa-install-banner {
  display: block; box-sizing: border-box; min-width: 0; max-width: 100%;
  padding: 20px; margin: 18px 0; border: 1px solid #ccc8f4; border-radius: 16px;
  background: #f6f5ff; color: #22203e; text-align: left; overflow-wrap: anywhere;
  font-size: 15px; line-height: 1.55;
}
.fk-app-promotion .fk-app-title { display: block; font-size: 1.1em; line-height: 1.4; font-weight: 700; color: #241f52; }
.fk-app-promotion p { margin: 9px 0 14px; font-size: 1em; line-height: 1.55; }
.fk-app-promotion .fk-app-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.fk-app-promotion .fk-app-button {
  box-sizing: border-box; display: inline-flex; justify-content: center; align-items: center;
  padding: 11px 15px; min-height: 44px; max-width: 100%; border: 1px solid #4a40c7;
  border-radius: 10px; background: #4a40c7; color: #fff; font: inherit; font-weight: 650;
  text-decoration: none; text-align: center; cursor: pointer; white-space: normal; line-height: 1.4;
}
.fk-app-promotion .fk-app-button:hover { background: #383099; }
.fk-app-promotion .fk-app-secondary { color: #332b89; background: #fff; border-color: #c9c5e8; }
.fk-app-promotion .fk-app-secondary:hover { background: #edebff; }
.fk-app-promotion .fk-app-button:disabled { opacity: .6; cursor: wait; }
.fk-app-promotion a:focus-visible, .fk-app-promotion button:focus-visible, .fk-app-promotion summary:focus-visible, .fk-student-entry a:focus-visible { outline: 3px solid #087e8b; outline-offset: 3px; }
.fk-app-promotion details { margin: 14px 0 0; }
.fk-app-promotion summary { cursor: pointer; min-height: 30px; color: #3e348c; font-weight: 600; }
.fk-app-promotion ol { padding-left: 23px; margin: 10px 0; }
.fk-app-promotion li { margin: 7px 0; }
.fk-app-promotion .fk-app-minor { margin-top: 8px; }
.fk-app-promotion .fk-app-minor button { background: transparent; border: 0; padding: 8px 0; color: #514971; font-size: 13px; min-height: 40px; text-align: left; justify-content: flex-start; }
.fk-app-promotion small { display: block; margin-top: 8px; font-size: 13px; color: #514971; }
.fk-app-promotion small:empty { display: none; }
.fk-student-entry { margin: 20px 0; padding: 14px 16px; border-left: 3px solid #4d42cb; background: #f5f4ff; border-radius: 0 12px 12px 0; color: #302c51; font-size: 14px; }
.fk-student-entry p { margin: 5px 0 8px; line-height: 1.5; }
.fk-student-entry a { display: inline-block; padding: 7px 0; margin-right: 16px; color: #473cae; font-weight: 650; text-underline-offset: 3px; }
.fk-entry-nav { color: #473cae; font-size: 13px; font-weight: 650; line-height: 1.3; }
.fk-example-caption { position: absolute; top: -25px; left: 12px; font-size: 12px; color: #696a7f; }
.fk-nav-actions .fk-button-small { white-space: normal; text-align: center; }
@media (max-width: 600px) {
  .fk-app-promotion, .fk-app-promotion.pwa-install-banner { padding: 16px; }
  .fk-app-promotion .fk-app-actions { align-items: stretch; }
  .fk-app-promotion .fk-app-actions > * { width: 100%; }
  .fk-student-entry { padding: 12px 14px; }
  .fk-entry-nav { font-size: 15px; padding: 8px 0; }
}
@media print { .fk-app-promotion, .fk-student-entry { display: none !important; } }
