/* ═════════════════════════════════════════════════════════════════════════════
   ballot-measure.css — THE SHAPE OF A STATEWIDE BALLOT-QUESTION PAGE
   ────────────────────────────────────────────────────────────────────────────
   Read by /ballot/ut-amendment-a and /ballot/ut-amendment-b, and by nothing
   else. Two documents, one sheet, because both pages are the same record in
   the same order: the official question, a Yes line and a No line, the text
   change, the sponsors and the votes, what each side has published, the
   background, and the sources. A second copy of these rules is a second layout
   that drifts.

   The bar is /shell-chrome.css. --pdx-chrome, and the body's padding under the
   bar, are declared by each document, not here, on the contract that sheet
   states.

   SELF-SUFFICIENT: every colour is a literal. No app.css loads on these pages.
   ═════════════════════════════════════════════════════════════════════════════ */

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--pdx-chrome) + 0.5rem); }
html, body { background: #070b16; color: #e7eefb; }
body {
  margin: 0;
  font-family: 'Barlow', system-ui, -apple-system, sans-serif;
}

.pdxbm-wrap { max-width: 46rem; margin: 0 auto; padding: 0.75rem 1.1rem 3rem; }

.pdxbm-kick {
  margin: 0.5rem 0 0.25rem;
  font: 600 0.8rem/1.2 'Barlow Condensed', system-ui, sans-serif;
  letter-spacing: 0.12em; text-transform: uppercase; color: #9fb4d4;
}
.pdxbm-h1 {
  margin: 0 0 0.35rem;
  font: 400 2.4rem/1.05 'Bebas Neue', 'Barlow Condensed', system-ui, sans-serif;
  letter-spacing: 0.02em; color: #f5d77a;
}
.pdxbm-meta { margin: 0 0 1.25rem; color: #9fb4d4; font-size: 0.95rem; }

.pdxbm-sec { margin: 1.75rem 0 0; }
.pdxbm-h2 {
  margin: 0 0 0.6rem;
  font: 700 1.05rem/1.25 'Barlow Condensed', system-ui, sans-serif;
  letter-spacing: 0.08em; text-transform: uppercase; color: #cfdcf2;
}
.pdxbm-h3 {
  margin: 1rem 0 0.4rem;
  font: 600 1rem/1.3 'Barlow', system-ui, sans-serif; color: #e7eefb;
}
.pdxbm-sec p, .pdxbm-sec li { line-height: 1.6; color: #d3def2; }
.pdxbm-sec ul { margin: 0.4rem 0 0; padding-left: 1.2rem; }
.pdxbm-sec li + li { margin-top: 0.35rem; }
.pdxbm-sec a, .pdxbm-hall a { color: #f5d77a; }

/* The official question: the one block quoted word for word from the ballot. */
.pdxbm-question {
  margin: 0; padding: 1rem 1.1rem;
  border: 1px solid rgba(245, 215, 122, 0.35); border-radius: 0.6rem;
  background: rgba(245, 215, 122, 0.06);
  font-size: 1.1rem; line-height: 1.55; color: #f3f6fc;
}
.pdxbm-question cite { display: block; margin-top: 0.5rem; font-size: 0.85rem; font-style: normal; color: #9fb4d4; }

/* The two parallel lines. Same width, same weight, neither colour a verdict:
   the Yes and No cards differ only by their label. */
.pdxbm-yn { display: grid; gap: 0.75rem; grid-template-columns: 1fr; }
@media (min-width: 40rem) { .pdxbm-yn { grid-template-columns: 1fr 1fr; } }
.pdxbm-yn > div {
  padding: 0.9rem 1rem; border-radius: 0.6rem;
  border: 1px solid rgba(159, 180, 212, 0.22); background: rgba(18, 27, 48, 0.6);
}
.pdxbm-yn p { margin: 0; }
.pdxbm-yn strong { color: #f3f6fc; }

/* The text change. Struck words are struck and inserted words are underlined,
   the convention the Legislature's own enrolled copy uses. */
.pdxbm-text {
  margin: 0; padding: 0.9rem 1rem; border-radius: 0.6rem;
  border-left: 3px solid rgba(159, 180, 212, 0.45); background: rgba(18, 27, 48, 0.45);
  font-family: Georgia, 'Times New Roman', serif; font-size: 0.98rem; line-height: 1.65; color: #e7eefb;
}
.pdxbm-text p { margin: 0 0 0.6rem; color: inherit; }
.pdxbm-text p:last-child { margin-bottom: 0; }
.pdxbm-text del { color: #f0a3a3; text-decoration: line-through; }
.pdxbm-text ins { color: #a8e6b8; text-decoration: underline; }
.pdxbm-key { margin: 0.5rem 0 0; font-size: 0.85rem; color: #9fb4d4; }

/* Sponsors and votes. */
.pdxbm-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.pdxbm-table th, .pdxbm-table td {
  padding: 0.5rem 0.4rem; text-align: left; vertical-align: top;
  border-bottom: 1px solid rgba(159, 180, 212, 0.16); color: #d3def2;
}
.pdxbm-table th { font-weight: 600; color: #9fb4d4; }

/* What each side says. Two columns of equal weight; an empty side is a sentence. */
.pdxbm-sides { display: grid; gap: 0.75rem; grid-template-columns: 1fr; }
@media (min-width: 40rem) { .pdxbm-sides { grid-template-columns: 1fr 1fr; } }
.pdxbm-side {
  padding: 0.9rem 1rem; border-radius: 0.6rem;
  border: 1px solid rgba(159, 180, 212, 0.22); background: rgba(18, 27, 48, 0.6);
}
.pdxbm-side .pdxbm-h3 {
  margin-top: 0;
  font: 700 0.95rem/1.2 'Barlow Condensed', system-ui, sans-serif;
  letter-spacing: 0.1em; text-transform: uppercase; color: #f5d77a;
}
/* One block per named source: the source line, then its short lines. */
.pdxbm-group + .pdxbm-group { margin-top: 0.9rem; padding-top: 0.8rem; border-top: 1px solid rgba(159, 180, 212, 0.14); }
.pdxbm-from { margin: 0 0 0.4rem; font-size: 0.82rem; line-height: 1.45; color: #9fb4d4; }
.pdxbm-from-k {
  margin-right: 0.35rem;
  font: 700 0.68rem/1 'Barlow Condensed', system-ui, sans-serif;
  letter-spacing: 0.1em; text-transform: uppercase; color: #cfdcf2;
}
.pdxbm-sec .pdxbm-args { margin: 0; padding-left: 1.1rem; }
.pdxbm-args li { color: #e7eefb; }
/* The longer text, closed on arrival: the same native disclosure and 44px
   target the bill panel's "More" uses. */
.pdxbm-more-sum {
  display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; list-style: none;
  font: 700 0.7rem/1.2 'Barlow Condensed', system-ui, sans-serif;
  letter-spacing: 0.06em; text-transform: uppercase; color: #9ec8ff;
}
.pdxbm-more-sum::-webkit-details-marker { display: none; }
.pdxbm-more-sum::before { content: "\25B8"; margin-right: 0.3rem; }
.pdxbm-more[open] .pdxbm-more-sum::before { content: "\25BE"; }
.pdxbm-more-sum:focus-visible { outline: 2px solid #7fb4ff; outline-offset: 2px; }
.pdxbm-more p { margin: 0 0 0.3rem; color: #c9d6ec; font-size: 0.92rem; }
.pdxbm-none { margin: 0; font-style: italic; color: #9fb4d4; }
.pdxbm-none + .pdxbm-none { margin-top: 0.35rem; }

.pdxbm-src li { word-break: break-word; }

/* The one line that points at District Voice, on the Voice card itself. The
   rules between the two marks are index.html's pdx:home-voice-gate rules,
   copied byte for byte (as me.html's are) so this reads as the same door:
   forest fill, gold edge, gold eyebrow, gold control.
   scripts/test-ballot-measures.mjs fails if they drift. These pages take no
   comments. */
/* home:begin */
.pdxhv-card{max-width:40rem;margin:0.5rem auto 2rem;padding:1.5rem 1.6rem 1.4rem;text-align:left;border:1.5px solid rgba(245,200,66,0.55);border-left-width:4px;border-radius:0.9rem;background:linear-gradient(135deg,rgba(18,58,42,0.82),rgba(14,30,40,0.9));box-shadow:0 0 0 1px rgba(245,200,66,0.08),0 0 28px rgba(245,200,66,0.14),0 8px 24px rgba(0,0,0,0.28);}
.pdxhv-kick{margin:0 0 0.55rem;font:800 0.9rem/1 'Barlow Condensed','Barlow',sans-serif;letter-spacing:0.18em;text-transform:uppercase;color:#f5c842;}.pdxhv-title{margin:0 0 0.6rem;font:800 clamp(1.45rem,4.2vw,1.95rem)/1.15 'Barlow Condensed','Barlow',sans-serif;letter-spacing:0.01em;color:#fff7dc;}
.pdxhv-line{margin:0 0 1.1rem;font:400 1rem/1.6 'Barlow',system-ui,sans-serif;color:#d8e8dc;}
.pdxhv-door{display:inline-flex;align-items:center;min-height:44px;padding:0.6rem 1.15rem;border:1.5px solid rgba(245,200,66,0.9);border-radius:999px;font:700 0.95rem/1 'Barlow',system-ui,sans-serif;color:#0a0f1e;text-decoration:none;background:linear-gradient(135deg,#fad96a,#e6b800);transition:filter 0.2s ease;}
.pdxhv-door:hover,.pdxhv-door:focus-visible{filter:brightness(1.06);}.pdxhv-door:focus-visible{outline:2px solid #fff7dc;outline-offset:3px;}
.pdxhv-note{margin:0.95rem 0 0;font:400 0.85rem/1.55 'Barlow',system-ui,sans-serif;color:#9fb5a8;}
@media (prefers-reduced-motion:reduce){.pdxhv-door{transition:none;}}
/* home:end */
/* This page's fit, and nothing else: the reading column instead of the
   hero's centred rail. */
.pdxbm-hall.pdxhv-card { max-width: none; margin: 2rem 0 0; }
.pdxbm-hall .pdxhv-kick { margin-bottom: 0.8rem; }
