/* Scam alerts. Loaded only on these pages. Large type on the paper band for older readers.
   The site header and footer stay the shared studio chrome. */

.is-alerts .alert-page {
  padding-top: calc(var(--hd) + 32px);
  padding-bottom: 72px;
  background: var(--paper);
  color: var(--on-paper);
  font-size: 18px;
  line-height: 1.6;
}
.alert-wrap { max-width: 760px; }
.alert-page h1 {
  font-family: var(--serif);
  font-weight: 450;
  font-size: clamp(2.15rem, 4.2vw, 3.1rem);
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 0 0 12px;
  color: var(--on-paper);
}
.alert-page h2 {
  font-family: var(--serif);
  font-weight: 450;
  font-size: clamp(1.6rem, 2.4vw, 2.05rem);
  line-height: 1.2;
  letter-spacing: -.02em;
  margin: 1.6em 0 .5em;
  color: var(--on-paper);
}
.alert-page h3 {
  font-family: var(--serif);
  font-weight: 450;
  font-size: 1.45rem;
  line-height: 1.25;
  margin: 1.2em 0 .4em;
  color: var(--on-paper);
}
.alert-page p, .alert-page li { color: var(--on-paper); }
.alert-page a { color: var(--on-paper); text-underline-offset: .15em; }
.alert-page .crumbs {
  font-family: var(--sans);
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--on-paper);
  margin-bottom: 20px;
}
.alert-purpose { font-size: 1.25rem; line-height: 1.45; margin: 0 0 8px; max-width: 42ch; }
.alert-updated, .alert-meta, .alert-checked { font-size: 1.05rem; margin: 0 0 8px; }
.alert-checked { font-weight: 650; }
.alert-short { font-size: 1.15rem; }

.help-box {
  background: var(--surface-paper);
  color: var(--on-paper);
  border: 3px solid var(--on-paper);
  border-radius: 16px;
  padding: 20px 22px 8px;
  margin: 28px 0;
}
.help-box h2 { margin-top: 0; }
.help-box li { margin: .7em 0; }
.help-box a[href^="tel:"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 2px;
  font-weight: 700;
  font-size: 1.2rem;
}
.help-box__note { font-weight: 650; }

.alert-filters ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
}
.alert-filters a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-height: 44px;
  min-width: 44px;
  padding: 10px 16px;
  border: 2px solid var(--on-paper);
  border-radius: 14px;
  text-decoration: none;
  color: var(--on-paper);
  background: transparent;
}
.alert-filters a:hover, .alert-filters a:focus-visible { background: var(--paper-2); }
.alert-filters a[aria-current="page"],
.alert-filters a[aria-current="page"]:hover {
  background: var(--on-paper);
  color: var(--paper);
}
.alert-filter__name { font-weight: 700; font-size: 1.05rem; }
.alert-filter__note { font-size: 1rem; font-weight: 450; max-width: 28ch; }

.alert-list { list-style: none; padding: 0; margin: 8px 0 0; }
.alert-card { border-top: 2px solid var(--on-paper); padding: 22px 0 8px; }
.alert-card h3 { margin: 8px 0; }
.alert-card h3 a { text-decoration-thickness: 2px; }
.alert-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.alert-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px 12px;
  border: 2px solid var(--on-paper);
  border-radius: 999px;
  text-decoration: none;
  font-weight: 650;
  font-size: 1rem;
}

.stale-banner {
  background: var(--surface-paper);
  color: var(--on-paper);
  border: 3px solid var(--on-paper);
  border-radius: 12px;
  padding: 14px 16px;
  font-weight: 700;
  font-size: 1.125rem;
}
.alert-print { margin: 12px 0 0; }
.alert-print button {
  min-height: 44px;
  padding: 0 18px;
  border: 2px solid var(--on-paper);
  border-radius: 999px;
  font-weight: 700;
  font-size: 1rem;
  color: var(--on-paper);
}
.alert-print button:hover, .alert-print button:focus-visible { background: var(--on-paper); color: var(--paper); }
.alert-print__hint { display: inline-block; margin-left: 8px; font-size: 1rem; }

.alert-sources { padding-left: 1.4rem; }
.alert-sources a { overflow-wrap: anywhere; }
.alert-end, .alert-disclaimer, .alert-corrections { border-top: 2px solid var(--on-paper); padding-top: 8px; }
.alert-signup { font-size: 1.1rem; }

.is-alerts .ft__cols a { min-height: 44px; }

@media print {
  @page { size: A4; margin: 16mm; }
  body.is-alerts { background: #fff !important; color: #000 !important; font-size: 14pt; }
  body.is-alerts::after { display: none !important; }
  .hd, .mnav, .ft, .skip, .alert-filters, .alert-print, .alert-signup { display: none !important; }
  .is-alerts .alert-page, .help-box, .stale-banner {
    background: #fff !important;
    color: #000 !important;
    border-color: #000 !important;
    padding-top: 0;
  }
  .alert-page, .alert-page p, .alert-page li, .alert-page a { color: #000 !important; font-size: 14pt; }
  .alert-page h1 { font-size: 22pt !important; color: #000 !important; }
  .alert-page h2, .alert-page h3 { font-size: 18pt !important; color: #000 !important; }
  .alert-sources a { overflow-wrap: anywhere; }
}
