/* Article styling for the content hub (/help/). Loads after legal.css, which
 * supplies the page frame, typography and colour tokens; this file only adds the
 * pieces an article needs and a legal page doesn't. */

.toc {
  background: var(--surface);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 18px 22px;
  margin: 28px 0 34px;
}
.toc h2 {
  font-size: 15px;
  margin: 0 0 10px;
  border: 0;
  padding: 0;
  color: var(--ink-soft);
  letter-spacing: .04em;
}
.toc ol { margin: 0; padding-inline-start: 20px; }
.toc li { margin-bottom: 5px; }

.note {
  border-inline-start: 4px solid var(--gold);
  background: #FBF7EF;
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 24px 0;
  font-size: 15px;
}
.note b { color: var(--navy); }

/* Wide tables scroll inside their own box so the page body never does. */
.table-scroll { overflow-x: auto; margin: 18px 0 24px; }
table.calc { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 34rem; }
table.calc th, table.calc td { border: 1px solid var(--rule); padding: 9px 12px; text-align: start; }
table.calc th { background: var(--ground); font-weight: 700; color: var(--navy); }
table.calc tfoot td { font-weight: 700; background: var(--ground); }

.cta-box {
  background: var(--navy);
  color: #fff;
  border-radius: 12px;
  padding: 26px 28px;
  margin: 40px 0 8px;
}
.cta-box h2 { color: #fff; border: 0; padding: 0; margin: 0 0 8px; font-size: 21px; }
.cta-box p { color: #D8E0EA; margin-bottom: 16px; }
.cta-box a {
  display: inline-block;
  background: var(--gold);
  color: #1B2430;
  font-weight: 700;
  text-decoration: none;
  padding: 11px 20px;
  border-radius: 8px;
}
.cta-box a:hover { background: #D4B071; color: #1B2430; }

ul.related { padding-inline-start: 20px; }
ul.related li { margin-bottom: 7px; }

.updated-note {
  font-size: 14px;
  color: var(--ink-soft);
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
}

/* ---- Hub cards ---- */
.cards { display: grid; gap: 16px; margin: 28px 0 8px; }
.card {
  display: block;
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 22px 24px;
  text-decoration: none;
  background: var(--surface);
  transition: border-color 160ms ease, transform 160ms ease;
}
.card:hover { border-color: var(--gold); transform: translateY(-2px); }
.card h2 { margin: 0 0 8px; border: 0; padding: 0; font-size: 20px; color: var(--navy); }
.card p { margin: 0 0 10px; color: var(--ink); }
.card .meta { font-size: 13px; color: var(--ink-soft); }

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

/* ---- Interactive calculator (hesab-masareef-omara) ---- */
.calc-tool {
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 20px 22px;
  background: var(--surface);
  margin: 24px 0;
}
.calc-field { display: block; margin-bottom: 18px; }
.calc-field span { display: block; font-size: 14px; font-weight: 600; color: var(--navy); margin-bottom: 6px; }
.calc-tool input, .calc-tool select {
  font: inherit;
  font-size: 15px;
  padding: 8px 10px;
  border: 1px solid var(--rule);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  width: 100%;
  max-width: 100%;
}
.calc-field input { max-width: 220px; }
.calc-tool input:focus-visible, .calc-tool select:focus-visible,
.calc-tool button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.calc-tool td { vertical-align: middle; }
.calc-tool .u-out { font-weight: 700; color: var(--navy); white-space: nowrap; font-variant-numeric: tabular-nums; }
.calc-tool .u-del {
  font: inherit; font-size: 18px; line-height: 1;
  background: transparent; border: 1px solid var(--rule);
  color: var(--ink-soft); border-radius: 6px;
  width: 32px; height: 32px; cursor: pointer;
}
.calc-tool .u-del:hover { border-color: #C0392B; color: #C0392B; }
.calc-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 14px; }
.calc-actions button {
  font: inherit; font-weight: 700; font-size: 14px;
  background: var(--navy); color: #fff; border: 0;
  padding: 9px 16px; border-radius: 7px; cursor: pointer;
}
.calc-actions button:hover { background: var(--navy-soft); }
.calc-warn { font-size: 14px; color: #9E5F18; }
