/* Travel Alerts only: editorial summaries need a reading hierarchy, not the
   small-label / bold-value treatment used by compact dashboard statistics. */
.travel-alerts-page .ta-navigation-shell {
  max-width: 1180px;
  margin: 24px auto;
  padding: 0 18px;
  box-sizing: border-box;
}

.travel-alerts-page .ta-jump-nav {
  margin: 0;
  box-shadow: none;
}

.travel-alerts-page .ta-jump-heading h2,
.travel-alerts-page .tph-section-head h2 {
  color: #173547;
  font-weight: 800;
  text-align: left;
  text-wrap: pretty;
}

body.travel-alerts-page .ta-status-strip.ta-status-strip--shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

body.hg-site-shell--app.travel-alerts-page .ta-status-strip .ta-status-item {
  display: grid;
  grid-template-columns: 165px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  padding: 26px 28px;
  background: #fff;
  border-top-color: #dfe8ec;
  border-right-color: #dfe8ec;
  border-bottom-color: #dfe8ec;
  box-shadow: none;
}

.travel-alerts-page .ta-status-item h2 {
  margin: 0;
  color: #173547;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.25;
  text-align: left;
}

.travel-alerts-page .ta-status-copy { min-width: 0; }

.travel-alerts-page .ta-status-copy p {
  max-width: 76ch;
  margin: 0;
  color: #344852;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.65;
  text-align: left;
}

.travel-alerts-page .ta-status-copy p + p { margin-top: 18px; }

.travel-alerts-page .ta-status-copy a,
.travel-alerts-page .tph-section-head p a,
.travel-alerts-page .tph-mini-card a {
  color: #124e91;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.travel-alerts-page .tph-section-head h2 { font-size: 30px; line-height: 1.25; }
.travel-alerts-page .tph-section-head p { max-width: 76ch; }
.travel-alerts-page .tph-eyebrow { color: #336654; font-size: 13px; line-height: 1.4; }
.travel-alerts-page .tph-module { margin-top: 32px; box-shadow: none; }

/* Detailed cards contain paragraphs, so keep them out of narrow three-up columns. */
.travel-alerts-page .tph-check-grid,
.travel-alerts-page .tph-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }

.travel-alerts-page .tph-mini-card h3,
.travel-alerts-page .tph-action-card h3 {
  margin: 10px 0;
  color: #173547;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  text-wrap: pretty;
}

.travel-alerts-page .tph-mini-card > span,
.travel-alerts-page .tph-action-card > span { font-size: 18px; line-height: 1.65; }

/* Informational cards stay still; only linked cards get an interaction treatment. */
.travel-alerts-page .tph-mini-card:hover,
.travel-alerts-page div.tph-action-card:hover {
  transform: none;
  border-left-color: var(--tph-accent, #1D9771);
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

.travel-alerts-page .tph-action-card > .tph-card-cta {
  display: block;
  font-size: 16px;
  line-height: 1.4;
}

.travel-alerts-page .tph-card-cta > span { color: inherit; font-size: inherit; line-height: inherit; }
.travel-alerts-page .tph-card-cta .ta-cta-tail { display: inline-flex; gap: 5px; white-space: nowrap; }
.travel-alerts-page .ta-cta-tail [aria-hidden] { color: inherit; font-size: inherit; line-height: inherit; }
.travel-alerts-page .tph-mini-card .ta-closure-window { margin: 0 0 12px; color: #755018; font-size: 16px; font-weight: 700; line-height: 1.5; }
.travel-alerts-page .tph-card-cta a { display: inline-flex; align-items: center; min-height: 44px; }
.travel-alerts-page #upcoming-closures { scroll-margin-top: 120px; }

.travel-alerts-page .ta-navigation-shell a:focus-visible,
.travel-alerts-page .ta-status-strip a:focus-visible,
.travel-alerts-page .tph-hub a:focus-visible {
  outline: 3px solid #124e91;
  outline-offset: 4px;
}

@media (max-width: 980px) {
  body.hg-site-shell--app.travel-alerts-page .ta-status-strip .ta-status-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 24px;
  }
}

@media (max-width: 680px) {
  .travel-alerts-page .ta-navigation-shell { padding: 0 12px; margin: 20px auto; }
  .travel-alerts-page .ta-jump-nav { padding: 20px 16px; }
  .travel-alerts-page .ta-jump-heading h2 { font-size: 24px; }
  .travel-alerts-page .ta-jump-links { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .travel-alerts-page .ta-jump-links a { min-height: 48px; }
  body.travel-alerts-page .ta-status-strip.ta-status-strip--shell { padding: 0 12px; }
  body.hg-site-shell--app.travel-alerts-page .ta-status-strip .ta-status-item { padding: 20px; }
  .travel-alerts-page .ta-status-item h2 { font-size: 25px; }
  .travel-alerts-page .tph-section-head h2 { font-size: 26px; }
  .travel-alerts-page .tph-module { padding: 22px 16px; }
  .travel-alerts-page .tph-check-grid,
  .travel-alerts-page .tph-action-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .travel-alerts-page .tph-card-cta { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .travel-alerts-page .tph-mini-card,
  .travel-alerts-page .tph-action-card { transition: none; }
  .travel-alerts-page .tph-action-card:hover { transform: none; }
}

/* Keep source-link icons from wrapping onto separate lines in the recovery brief. */
.travel-alerts-page section[aria-labelledby="alerts-storm-title"] a[target="_blank"]::after { content: none !important; }
