/* ============================================================
   North Aero - Free training aids
   Used by index.html (homepage section) and training-aids.html.
   Uses the design tokens in css/style.css.
   ============================================================ */

/* ---------- feature: sectional chart lessons ---------- */
.ta-feature {
  display: grid; gap: var(--space-xl); align-items: center;
}
@media (min-width: 900px) {
  .ta-feature { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--space-2xl); }
}
.ta-feature__media {
  border-radius: var(--radius-md); overflow: hidden; background: var(--hangar-900);
  border: 1px solid var(--hangar-300); aspect-ratio: 1120 / 502;
}
.ta-feature__media video, .ta-feature__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ta-feature__text h2 { margin: 0 0 var(--space-md); text-wrap: balance; }
.ta-feature__text p { margin: 0 0 var(--space-lg); }
.ta-feature__note { font-size: 13px; color: var(--na-fg-muted); margin-top: var(--space-md) !important; }

/* ---------- cards ---------- */
.ta-subhead {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-sm);
  margin: var(--space-3xl) 0 var(--space-lg);
}
.ta-subhead h3 { margin: 0; }
.ta-grid { display: grid; gap: var(--space-lg); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.ta-card {
  display: grid; grid-template-rows: auto auto 1fr auto; gap: var(--space-sm);
  background: var(--na-surface); border: 1px solid var(--na-border); border-radius: var(--radius-md);
  padding: var(--space-lg); color: var(--na-fg); text-decoration: none;
}
a.ta-card { transition: border-color .15s, transform .15s; }
a.ta-card:hover { border-color: var(--runway-400); transform: translateY(-2px); }
a.ta-card:focus-visible { outline: 2px solid var(--runway-500); outline-offset: 2px; }
.ta-card h4 { margin: 0; font-size: 19px; }
.ta-card p { margin: 0; font-size: 15px; color: var(--na-fg-2); }
.ta-card__go { font-weight: 600; color: var(--runway-700); font-size: 15px; }
.ta-card--soon { background: var(--parchment); border-style: dashed; border-color: var(--parchment-deep); }
.ta-card--soon h4, .ta-card--soon p { color: var(--na-fg-2); }
.ta-chip {
  justify-self: start; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 12px;
  letter-spacing: .08em; text-transform: uppercase; padding: 2px 10px; border-radius: 999px;
}
.ta-chip--live { color: var(--beacon-700); background: var(--beacon-100); }
.ta-chip--soon { color: var(--hangar-600); background: var(--hangar-100); }
.ta-more { margin-top: var(--space-lg); font-weight: 600; }

/* ---------- training aids page ---------- */
.ta-hero { padding: var(--space-4xl) 0 var(--space-2xl); }
.section--dark p.ta-hero__lead { color: var(--hangar-300); max-width: 60ch; margin-top: var(--space-md); }
.ta-group + .ta-group { margin-top: var(--space-3xl); }
.ta-group__head { border-bottom: 1px solid var(--na-border); padding-bottom: var(--space-sm); margin-bottom: var(--space-lg); }
.ta-group__head h2 { margin: 0; font-size: 26px; }
.ta-group__head p { margin: var(--space-xs) 0 0; color: var(--na-fg-2); }
.ta-card img { width: 100%; height: auto; border-radius: var(--radius-sm); }
.ta-fig { margin: 0; }
.ta-fig figcaption { font-size: 12px; color: var(--na-fg-muted); margin-top: var(--space-xs); line-height: 1.4; }
.ta-card--wide { grid-template-rows: auto auto auto 1fr auto; }
@media (min-width: 900px) {
  .ta-grid--feature { grid-template-columns: 2fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  a.ta-card { transition: none; }
  a.ta-card:hover { transform: none; }
}
