/* ============================================================================
 * 1171 PORTRAIT·WEEKROW — the week door row on the Portrait area page.
 * ============================================================================
 * claims/card-1171.md. One row per week under the section eyebrow
 * "WEEKS YOU TOLD US ABOUT <AREA>": the dates on the left ("4–10 Aug"),
 * the caps teal door on the right ("WEEK 22 →"). A hairline between rows;
 * no rule above the first, none below the last.
 *
 * From the locked Portrait area page render
 * (RENDER-portrait-areapage-locked-2x.png, the "WEEKS YOU TOLD US ABOUT
 * SLEEP" section): three rows, hairline between, dates-left / door-right.
 * 2026-09-16 ruling stripped the weeks-old prefix from the left label —
 * "WEEK 22 →" on the right already names the week.
 *
 * NOT a card — a row inside a section. The section eyebrow is the
 * tool-eyebrow (the ruled standard of 2026-09-15). The Portrait area card
 * (1064) holds the section; this row sits inside it. The door pattern
 * (caps, teal-700, arrow) is the shared text door (.pt-door at
 * workbench/portrait/_shared/portrait.css:116) — this card REUSES that
 * shape as its own trailing treatment, not by inheriting the class but
 * by declaring the same rule set under .ptwr-d so this card is
 * self-contained (D-470).
 *
 * WHOLE ROW IS THE TARGET (D-453). The trailing "→" inside the caps
 * door text is the affordance; the door is the row's label; the button
 * is the row. (A trailing chevron glyph was added in the 895 branch and
 * dropped on 2026-09-16 — the locked Portrait area page render shows
 * one arrow, "WEEK 22 →", not two.)
 *
 * FOUR DECLARED STATES, all reachable through the same markup:
 *   default   — single row, hairline above and below (the review form)
 *   in-list   — three rows showing the locked area-page pattern
 *   is-first  — first row of a list (no top hairline)
 *   is-last   — last row of a list (no bottom hairline)
 * ========================================================================== */

/* ── Card chrome ─ ── bare button chrome so the whole row is the target ── */
.ptwr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-12);
  width: 100%;
  padding: var(--space-12) 0;
  background: none;
  border: 0;
  border-top: 1px solid var(--border-hairline); /* token-exception: a hairline */
  border-bottom: 0;
  text-align: left;
  cursor: pointer;
  color: var(--text-primary);
  font: inherit;
  /* 🔴 LOAD-BEARING NOTHINGS — the row is a <button>; without these lines
     it takes the UA default (13.3333px / line-height: normal) and the
     label re-flows. The 2026-09-02 font:inherit lesson, by the same mechanism. */
}

/* The label-left — "4–10 Aug". Inter body, primary ink. */
.ptwr-l {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-600);
  line-height: var(--leading-150);
  color: var(--text-primary);
  /* Single-line form: the dates are short, the row is a list item. Wrap on
     narrow widths because a parent's portrait surface on a 360px handset
     is the worst case (D-777). */
  flex: 1 1 auto;
  min-width: 0;
}

/* The door-right — "WEEK 22 →". Caps, teal-700, the shared text-door
   shape. Same rule set as .pt-door (portrait.css:116), under this card's
   own prefix so the card is self-contained (D-470). */
.ptwr-d {
  font-family: var(--font-label);
  font-size: var(--text-label);
  font-weight: var(--weight-700);
  letter-spacing: var(--tracking-12);
  text-transform: uppercase;
  color: var(--accent-hover); /* --teal-700 — the eyebrow pass */
  display: inline-flex;
  align-items: center;
  gap: var(--space-4);
  flex: 0 0 auto;
}

/* Interactive micro-states — pressed, hovered, focused. */
.ptwr:hover { background: var(--black-a02); } /* token-exception: black 2% wash */
.ptwr:active { background: var(--teal-100); } /* pressed tint — same as .ptac-more (areacard.css:182) */
.ptwr:focus-visible {
  outline: var(--radius-2) solid var(--focus-ring);
  outline-offset: var(--radius-2);
}
.ptwr:active .ptwr-d { color: var(--accent); } /* --teal-600 on press */

/* ── STATES — first / last in a list ── */
/* No top hairline on the first row — the section eyebrow above is the
   visual divider (DECISIONS line 224: sub-heads have no line above them). */
.ptwr.is-first { border-top: 0; padding-top: var(--space-8); }
/* No bottom hairline on the last row — the section's own padding gives the
   gap, and a stranded bottom rule reads as the section being clipped. */
.ptwr.is-last { border-bottom: 0; padding-bottom: var(--space-8); }