/* AppHub uses the existing site typography and offer layout. */
.hub-index { border: 1px solid #48607e; background: #122c4f; }
.hub-index > a { display: grid; grid-template-columns: 32px 1fr 20px; align-items: center; gap: 18px; padding: 30px; color: white; border-bottom: 1px solid #48607e; text-decoration: none; }
.hub-index > a:hover { background: #1a3b64; }
.hub-index-number { font: .8rem var(--mono); color: #eaae37; }
.hub-index strong { display: block; font-size: 1.18rem; }
.hub-index small { display: block; margin-top: 8px; color: #c0d3eb; line-height: 1.6; }
.hub-index > p { padding: 8px 30px 20px; font-size: .86rem; line-height: 1.8; color: #c0d3eb; }
.hub-lanes, .hub-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.hub-lane { display: flex; flex-direction: column; padding: 32px; border-top: 4px solid #175fb8; }
.hub-lane--learning { background: #fff8e9; border-top-color: #ab6b00; }
.hub-lane h3 { font-size: 1.6rem; }
.hub-lane p { flex-grow: 1; margin: 0 0 24px; }
.hub-lane .button { align-self: flex-start; }
.hub-label { display: inline-block; margin: 0 0 20px; padding: 6px 10px; background: #fff0ca; color: #694500; font: .73rem var(--mono); line-height: 1.6; }
.hub-app h3 a { text-underline-offset: 5px; }
.hub-facts { background: #eaf2fd; padding: 28px; }
.apphub .offer-note .button.secondary { display: inline-flex; }
.apphub a:focus-visible { outline: 3px solid #eaae37; outline-offset: 4px; }
.legal .legal-draft { border-left: 4px solid #ab6b00; background: #fff8e9; padding: 20px 24px; margin: 24px 0; }
.legal .legal-draft p { margin: 0 0 12px; }
.legal .legal-draft p:last-child { margin-bottom: 0; }
.legal .legal-toc { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 24px 0; }
.legal #lernapps { scroll-margin-top: 100px; border-top: 1px solid var(--line); margin-top: 48px; padding-top: 24px; }
.legal h3 { margin-top: 28px; }
.learning-feature-list, .learning-steps { display: grid; gap: 14px; padding-left: 1.25rem; color: #4d5f77; line-height: 1.75; }
.learning-feature-list li, .learning-steps li { padding-left: .35rem; }
.learning-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-pending { margin-top: 26px; border-left: 4px solid #ab6b00; background: #fff8e9; padding: 20px 24px; color: #4d4a3f; }
.payment-pending p { margin: 0; }
.learning-warning { margin: 10px 0 64px; padding: 28px 32px; background: #122c4f; color: white; border-left: 4px solid #eaae37; }
.learning-warning h2 { color: white; font-size: 1.5rem; }
.learning-warning p { color: #d0dced; line-height: 1.8; margin-bottom: 0; }
.legal #widerruf { scroll-margin-top: 100px; border-top: 1px solid var(--line); margin-top: 56px; padding-top: 28px; }
.legal-form-list { padding-left: 1.25rem; line-height: 1.75; }
.legal-table-wrap { overflow-x: auto; margin: 22px 0 32px; border: 1px solid var(--line); }
.legal-data-table { width: 100%; min-width: 880px; border-collapse: collapse; font-size: .83rem; background: white; }
.legal-data-table th, .legal-data-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.55; }
.legal-data-table th { background: #eaf2fd; color: var(--navy); }
@media (max-width: 760px) {
  .hub-lanes, .hub-feature { grid-template-columns: 1fr; }
  .hub-lane, .hub-facts { padding: 24px; }
  .learning-benefits { grid-template-columns: 1fr; }
  .hub-index > a { gap: 12px; padding: 24px 20px; }
  .hub-index > p { padding-inline: 20px; }
}
