/* ===========================================================================
   /dc/pact-act , approved redesign (2026-09-11 handoff)

   PAGE-SCOPED. Every selector starts at `.pact-page`, the class this one file
   puts on <body>, so no other DC guide can be reached. The existing
   `.pact-*` classes in dc.css still style the presumption panel and the
   Quick Check card; nothing here redefines them.

   THEMING. Bare `:root` holds the LIGHT values; both dark mechanisms
   (`data-theme` and the `prefers-color-scheme` mirror) are written out.
   =========================================================================== */

.pact-page {
  --pa-surface-2: #eef2f7;
  /* Gold INK. --color-accent (#b07a1f) is 3.72:1 as text on the white panel,
     so eyebrows and kickers use this; the 2px gold borders keep --color-accent. */
  --pa-accent-ink: #8a5e12;
  --pa-art-bg: #f1ecdf;
  --pa-input-bg: #ffffff;
  /* Card clarity (2026-09-23): a nested condition card is a pale blue-gray
     sheet on the white pathway panel, titles are navy ink (not link blue),
     and navigation links use the site's link colour. */
  --pa-card-bg: #eef2f7;
  --pa-card-border: var(--color-border-strong);
  --pa-title: #0e2a4d;
  --pa-link: var(--color-primary-light);
}

:root[data-theme="dark"] .pact-page {
  --pa-surface-2: #13253a;
  --pa-accent-ink: #f5c862;
  --pa-input-bg: #101b28;
  --pa-card-bg: #262e3d;
  --pa-card-border: #505b70;
  --pa-title: var(--color-text-strong);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .pact-page {
    --pa-surface-2: #13253a;
    --pa-accent-ink: #f5c862;
    --pa-input-bg: #101b28;
    --pa-card-bg: #262e3d;
    --pa-card-border: #505b70;
    --pa-title: var(--color-text-strong);
  }
}

.pact-page .pa-eyebrow {
  display: block;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .14em;
  color: var(--pa-accent-ink);
  margin-bottom: .5rem;
}

.pact-page .pa-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* --- Views --------------------------------------------------------------- */

.pact-page .pa-views {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 1.25rem;
}

.pact-page .pa-views button {
  min-height: 44px;
  padding: .5rem 1.1rem;
  font: inherit;
  font-size: .9rem;
  font-weight: 600;
  color: var(--color-text-muted);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  cursor: pointer;
}

.pact-page .pa-views button[aria-pressed="true"] {
  color: var(--color-primary);
  border-color: var(--color-primary);
  background: var(--pa-surface-2);
}

/* --- Search and exposure filters (Conditions only) ----------------------- */

.pact-page .pa-tools { margin-bottom: 1rem; }

.pact-page .pa-search-row { display: flex; gap: .5rem; align-items: center; margin-bottom: .75rem; }

.pact-page .pa-search-row input {
  flex: 1;
  min-width: 0;
  min-height: 48px;
  padding: .6rem .85rem;
  font-size: 1rem;
  background: var(--pa-input-bg);
  color: var(--color-text);
  border: 1px solid var(--color-control-border);
  border-radius: var(--radius-sm);
}

.pact-page .pa-btn {
  min-height: 44px;
  padding: .5rem 1rem;
  font: inherit;
  font-size: .88rem;
  font-weight: 600;
  color: var(--color-primary);
  background: var(--color-surface);
  border: 1px solid var(--color-control-border);
  border-radius: var(--radius-sm);
  cursor: pointer;
}
.pact-page .pa-btn:hover { border-color: var(--color-primary); }
.pact-page .pa-btn.pa-primary { background: var(--color-primary); color: var(--color-on-primary); border-color: var(--color-primary); }

.pact-page .pa-filters { display: flex; flex-wrap: wrap; gap: .5rem; }

.pact-page .pa-filters button {
  min-height: 44px;
  padding: .4rem .9rem;
  font: inherit;
  font-size: .84rem;
  font-weight: 600;
  color: var(--color-text-muted);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  cursor: pointer;
}
.pact-page .pa-filters button[aria-pressed="true"] {
  color: var(--color-primary);
  border-color: var(--color-primary);
  background: var(--pa-surface-2);
}

.pact-page .pa-result-count {
  font-size: .88rem;
  color: var(--color-text-muted);
  margin: .85rem 0 1.25rem;
}

/* --- Pathway sections ---------------------------------------------------- */

.pact-page .pa-pathway {
  border: 2px solid var(--color-accent);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
  scroll-margin-top: 84px;
}

.pact-page .pa-pathway-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: .75rem;
}
.pact-page .pa-pathway-heading h2 {
  font-size: 1.4rem;
  margin: 0 0 .25rem;
  color: var(--color-primary);
  border-bottom: none;
  padding-bottom: 0;
}
.pact-page .pa-pathway-heading p { font-size: .86rem; color: var(--color-text-muted); margin: 0; }
.pact-page .pa-pathway-heading > a { white-space: nowrap; }

.pact-page .pa-pathway-about { margin-bottom: 1rem; border-top: 1px solid var(--color-border); }
.pact-page .pa-pathway-about p { font-size: .88rem; color: var(--color-text-muted); line-height: 1.65; margin: .35rem 0 0; }

/* --- Condition cards ----------------------------------------------------- */

.pact-page .pa-cards { display: grid; gap: .75rem; }

.pact-page .pa-condition {
  border: 1px solid var(--pa-card-border);
  border-radius: var(--radius-sm);
  background: var(--pa-card-bg);
  padding: .9rem 1rem .25rem;
}

.pact-page .pa-condition-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.pact-page .pa-condition-title { min-width: 0; }
/* A heading, not a link: serif 600, clearly larger than the action labels,
   navy (off-white in dark), and no hover or pointer treatment. */
.pact-page .pa-condition-title h3 {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.3;
  margin: 0 0 .2rem;
  color: var(--pa-title);
  overflow-wrap: anywhere;
}
.pact-page .pa-condition-title small { display: block; font-family: var(--font-sans); font-size: .82rem; color: var(--color-text-muted); }
.pact-page .pa-condition-primary { margin-top: .1rem; }

/* The illustration is small, contained on its ivory mat, and never a crop. */
.pact-page .pa-condition-art {
  flex: 0 0 auto;
  width: 110px;
}
.pact-page .pa-condition-art img {
  display: block;
  width: 110px;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: var(--pa-art-bg);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
}

/* --- Navigation links: Inter, link colour, a persistent underline ------- */

/* Inline-block, not flex: a label that wraps on a phone keeps its underline
   and its arrow on the text, and padding still makes a 44px target. */
.pact-page .pa-nav-link,
.pact-page .pa-source-row a {
  display: inline-block;
  padding: .7rem 0;
  line-height: 1.4;
  font-family: var(--font-sans);
  font-size: .9rem;
  font-weight: 600;
  color: var(--pa-link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.pact-page .pa-nav-link:hover,
.pact-page .pa-source-row a:hover { text-decoration-thickness: 2px; }
.pact-page .pa-nowrap { white-space: nowrap; }
.pact-page .pa-arrow { display: inline-block; text-decoration: none; }

/* --- Disclosures: a full-width Inter row with the shared C10 sign ------- */

.pact-page .pa-notes { border-top: 1px solid var(--pa-card-border); margin-top: .6rem; }
.pact-page .pa-notes > summary,
.pact-page .pa-pathway-about > summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 44px;
  font-family: var(--font-sans);
  font-size: .9rem;
  font-weight: 600;
  color: var(--pa-title);
  cursor: pointer;
}
.pact-page .pa-notes > summary::-webkit-details-marker,
.pact-page .pa-pathway-about > summary::-webkit-details-marker { display: none; }
.pact-page .pa-notes > summary:focus-visible,
.pact-page .pa-pathway-about > summary:focus-visible {
  outline: 2px solid var(--pa-link);
  outline-offset: 2px;
  border-radius: 2px;
}
.pact-page .pa-notes > summary .dsc-sign,
.pact-page .pa-pathway-about > summary .dsc-sign { color: var(--pa-title); }

.pact-page .pa-source-row {
  border-top: 1px solid var(--color-border);
  padding: .65rem 0;
  font-size: .85rem;
  color: var(--color-text-muted);
  line-height: 1.6;
}
.pact-page .pa-source-row p { margin: .25rem 0; font-size: .85rem; }
.pact-page .pa-source-row a { margin-right: 1rem; }

.pact-page .pa-show-all {
  width: 100%;
  min-height: 44px;
  margin-top: .75rem;
  font: inherit;
  font-size: .88rem;
  font-weight: 600;
  color: var(--color-primary);
  background: var(--pa-surface-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  cursor: pointer;
}

/* --- States -------------------------------------------------------------- */

.pact-page .pa-state {
  border: 2px solid var(--color-accent);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  padding: 1.75rem;
  text-align: center;
}
.pact-page .pa-state h2 { font-size: 1.35rem; margin: 0 0 .5rem; color: var(--color-primary); border-bottom: none; padding-bottom: 0; }
.pact-page .pa-state p { font-size: .92rem; color: var(--color-text-muted); margin: 0 auto 1rem; max-width: var(--prose-measure); }

.pact-page .pa-callout {
  border-left: 4px solid var(--color-accent);
  background: var(--pa-surface-2);
  color: var(--color-text);
  padding: .85rem 1rem;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-size: .88rem;
  line-height: 1.65;
  margin: 1rem 0;
}

/* --- Rights -------------------------------------------------------------- */

.pact-page .pa-rights-intro h2 { font-size: 1.6rem; margin: 0 0 .5rem; color: var(--color-primary); border-bottom: none; padding-bottom: 0; }
.pact-page .pa-rights-intro p { font-size: .95rem; color: var(--color-text-muted); max-width: var(--prose-measure); }

.pact-page .pa-rights-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.75rem; align-items: start; margin-top: 1.25rem; }

.pact-page .pa-rights-cards { display: grid; gap: 1rem; }

.pact-page .pa-rights-card {
  border: 2px solid var(--color-accent);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  padding: 1.15rem 1.25rem;
}
.pact-page .pa-rights-card h3 { font-size: 1.1rem; margin: 0 0 .5rem; color: var(--color-primary); }
.pact-page .pa-rights-card p { font-size: .9rem; color: var(--color-text-muted); line-height: 1.7; margin: 0 0 .6rem; }
.pact-page .pa-rights-card a { display: inline-flex; align-items: center; min-height: 44px; font-size: .84rem; font-weight: 600; }

.pact-page .pa-next-step {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--pa-surface-2);
  padding: 1.15rem 1.25rem;
}
.pact-page .pa-next-step h3 { font-size: 1.1rem; margin: 0 0 .65rem; color: var(--color-primary); }
.pact-page .pa-next-step ul { padding-left: 1.15rem; margin: 0 0 .75rem; }
.pact-page .pa-next-step li { font-size: .88rem; color: var(--color-text); line-height: 1.6; margin-bottom: .4rem; }
.pact-page .pa-next-step a { display: inline-flex; align-items: center; min-height: 44px; font-size: .86rem; font-weight: 600; }

.pact-page .pa-muted { font-size: .82rem; color: var(--color-text-muted); line-height: 1.6; margin-top: 1rem; }

/* --- About (collapsed by default, never removed) ------------------------- */

.pact-page .pa-about {
  border: 2px solid var(--color-accent);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  margin: 2rem 0 1.5rem;
  overflow: hidden;
}
.pact-page .pa-about > summary {
  padding: 1.15rem 1.25rem;
  min-height: 44px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
}
.pact-page .pa-about > summary::-webkit-details-marker { display: none; }
.pact-page .pa-about-title { font-size: 1.2rem; font-weight: 600; color: var(--color-primary); font-family: var(--font-serif, 'Source Serif 4', Georgia, serif); }
.pact-page .pa-about-label { font-size: .84rem; font-weight: 700; color: var(--color-primary); white-space: nowrap; }
.pact-page .pa-about-body { padding: 0 1.25rem 1.25rem; border-top: 1px solid var(--color-border); }
.pact-page .pa-about-body p { font-size: .92rem; color: var(--color-text-muted); line-height: 1.75; max-width: var(--prose-measure); }
.pact-page .pa-about-body a { font-weight: 600; }

/* --- Narrower ------------------------------------------------------------ */

@media (max-width: 900px) {
  .pact-page .pa-rights-layout { grid-template-columns: 1fr; gap: 1.25rem; }
}

@media (max-width: 700px) {
  .pact-page .pa-pathway { padding: 1rem; }
  .pact-page .pa-pathway-heading { display: block; }
  .pact-page .pa-pathway-heading > a { margin-top: .5rem; }
  .pact-page .pa-condition-art, .pact-page .pa-condition-art img { width: 84px; }
  .pact-page .pa-about > summary { padding: 1rem; }
  .pact-page .pa-about-body { padding: 0 1rem 1rem; }
}

/* The seven-control header squeezed at 320px before; the view row and the
   exposure row each wrap independently now, so nothing is forced off-screen. */
@media (max-width: 360px) {
  .pact-page .pa-views button,
  .pact-page .pa-filters button { padding: .4rem .7rem; font-size: .8rem; }
  .pact-page .pa-condition-top { display: block; }
  .pact-page .pa-condition-art { width: 100%; margin-top: .6rem; }
  .pact-page .pa-condition-art img { width: 100%; max-width: 14rem; }
}
