/* ========================================================================
   KHAO HEALTHY — content / policy pages
   Loaded *after* style.css, which stays the single source of the design
   tokens. The hero rules in style.css simply match nothing here, and the
   file is already cached from the home page.
   ======================================================================== */

/* the hero locks the page to one screen; these pages have to scroll */
body.page {
  overflow: visible;
  background: var(--paper);
}

.page__wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: calc(var(--nav-h) + 3rem) var(--pad-x) 4rem;
}

/* ---------- header ---------- */
/* content pages reuse .nav from style.css; only the "← Shop" link is local */
.page__back {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink-soft);
  transition: color 0.25s ease;
}
.page__back:hover { color: var(--ink); }

/* ---------- type ---------- */
.page__kicker {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.page__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(2.2rem, 7vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0.5rem 0 0.6rem;
}
.page__updated { font-size: 0.85rem; color: var(--ink-soft); }
.page__lede {
  font-size: 1.08rem;
  line-height: 1.65;
  color: var(--ink-soft);
  margin-top: 1.4rem;
}

.page__wrap h2 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.3rem;
  margin: 2.4rem 0 0.7rem;
}
.page__wrap h3 {
  font-weight: 700;
  font-size: 1rem;
  margin: 1.4rem 0 0.4rem;
}
.page__wrap p,
.page__wrap li {
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--ink-soft);
}
.page__wrap p { margin-bottom: 0.9rem; }
.page__wrap ul, .page__wrap ol { margin: 0 0 1rem 1.1rem; }
.page__wrap li { margin-bottom: 0.45rem; }
.page__wrap strong { color: var(--ink); font-weight: 600; }
.page__wrap a:not(.btn):not(.page__back) {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--ink-faint);
  transition: text-decoration-color 0.25s ease;
}
.page__wrap a:not(.btn):not(.page__back):hover { text-decoration-color: var(--ink); }

/* ---------- callout ---------- */
.page__note {
  margin: 1.4rem 0;
  padding: 1rem 1.15rem;
  border-radius: 16px;
  background: rgba(37, 26, 16, 0.05);
  border-left: 3px solid var(--accent);
}
.page__note p:last-child { margin-bottom: 0; }

/* ---------- key/value table (rates, timelines) ---------- */
.page__table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.4rem; }
.page__table th, .page__table td {
  padding: 0.7rem 0.2rem;
  border-bottom: 1px solid rgba(37, 26, 16, 0.1);
  text-align: left;
  font-size: 0.95rem;
}
.page__table th {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-soft);
  font-weight: 600;
}
.page__table td { color: var(--ink-soft); }
.page__table td:last-child { text-align: right; font-weight: 600; color: var(--ink); white-space: nowrap; }

/* ---------- contact cards ---------- */
.page__cards {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin: 1.6rem 0;
}
.page__card {
  padding: 1.15rem 1.25rem;
  border-radius: 18px;
  background: rgba(37, 26, 16, 0.05);
}
.page__card h3 { margin: 0 0 0.3rem; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-soft); }
.page__card p { margin: 0; font-size: 1rem; color: var(--ink); font-weight: 500; line-height: 1.5; }

@media (max-width: 720px) {
  .page__wrap { padding-top: calc(var(--nav-h) + 1.6rem); }
}
