/* Header top bar and default footer columns (header.php, footer.php). */
.wsms-topbar__contact a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #cbd5e1;
  text-decoration: none;
}
.wsms-topbar__contact a:hover { color: #ffffff; }

.wsms-footer__grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2.5rem; margin-bottom: 3rem; }
.wsms-footer__title { font-size: 1.15rem; font-weight: 700; margin: 0 0 0.75rem; color: var(--wsms-text); }
.wsms-footer__heading {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wsms-text);
  margin: 0 0 1rem;
}
.wsms-footer__text { color: var(--wsms-text-muted); font-size: 0.92rem; line-height: 1.65; margin: 0 0 0.75rem; }
.wsms-footer__list { list-style: none; padding: 0; margin: 0; font-size: 0.92rem; line-height: 2.1; }
.wsms-footer__list a,
.wsms-footer__text a { color: var(--wsms-text-muted); text-decoration: none; }
.wsms-footer__list a:hover,
.wsms-footer__text a:hover { color: var(--wsms-primary); text-decoration: underline; }

/* On a phone the header actions ran 173px past the screen edge, cutting
   "Apply Online" off (audit 2026-09-17). Only the main action stays beside
   the menu button; the portal sign-in link remains in the footer. */
@media (max-width: 40rem) {
  .wsms-header__actions .wsms-btn--portal,
  .wsms-header__actions .wsms-btn--logout { display: none; }
  .wsms-header__actions { gap: 0.4rem; min-width: 0; }
  .wsms-header__actions .wsms-btn--apply,
  .wsms-header__actions .wsms-btn--cockpit { padding: 0.5rem 0.8rem; font-size: 0.82rem; white-space: nowrap; }
  .wsms-brand__tagline { display: none; }
}
