/* rtns-event.css — B7 (2026-09-15)
   ==========================================================================
   Additive CSS for the two NEW page types only: the PTC26 London event hub
   (`templates/event.html`) and the article page (`templates/article.html`).
   Loaded by base.html AFTER rtns.css, and ONLY on those two page types
   (`extra_css` context key), so none of Domi's seven pages sees a byte of it.

   Rules of engagement, same as T1b's:
   - her tokens only (--gold/--gold2/--line/--muted/--ink/--paper, #111714
     room ground), her type scale (Georgia display at 42/30/24px, Arial
     body, 11/10/9px uppercase labels);
   - `styles.css` itself is never edited and stays byte-frozen;
   - no new chip/status classes: status copy uses HER `.demo-note`.

   What this file DOES override in her CSS, and why (corrected 2026-09-15:
   the earlier claim "no donor declaration is overridden anywhere" was
   wrong -- the `.rtns-session` variant exists precisely to override her
   room grid and media sizing for landscape video):
   - `.room-v4 {grid-template-columns:.8fr 1.2fr}` -> `1.1fr .9fr` on
     `.room-v4.rtns-session`. Her room is portrait-proportioned for a
     standing photograph; an interview cut is 16:9 and letterboxes into a
     tall dark band at her ratio.
   - `.room-v4-image {min-height:500px}` -> `min-height:0` on the variant,
     same reason: the portrait minimum is what creates the letterbox.
   - `@media (max-width:1050px) .room-v4 {grid-template-columns:1fr}` and
     `.room-v4-image {height:360px}` -> restated on the variant. This is
     not a design change but a specificity repair: her single-class rule
     cannot beat the two-class variant, so without restating it the block
     stayed two-column down to 375px and a fixed 360px height cropped the
     16:9 facade.
   Nothing else here touches a donor selector: every other rule is net-new
   (`.rtns-poster`, `.rtns-article-body`, `.rtns-byline`,
   `.rtns-article-video`) or scoped to the new event page only
   (`.event-v2 .feed-item small`, a date element her `.feed-item` does not
   have).
   ========================================================================== */

/* session
   --------------------------------------------------------------------------
   Landscape adaptation of her `.room-v4` (edge.html, the block captured at
   qa/refs/edge-room-v4-block.html). Hers is portrait-proportioned: media
   column 0.8fr with `min-height:500px` (styles.pretty.css:3283), which
   letterboxes a 16:9 video into a tall dark band. The `.rtns-session`
   variant widens the media column and releases the portrait minimum; every
   other room-v4 property (ground #111714, .room-date gold uppercase,
   .room-match-list rows, .room-actions) is hers, untouched.
   Gate-1 Q5 default: "a landscape-video adaptation of her .room-v4" —
   shown to Domi on the B0 slice. */
.room-v4.rtns-session {
  grid-template-columns: 1.1fr 0.9fr;
  align-items: center;
}
.room-v4.rtns-session .room-v4-image {
  min-height: 0;
  padding: 28px 0 28px 28px;
}
@media (max-width: 1050px) {
  /* Her 1050 breakpoint collapses `.room-v4` to one column
     (styles.pretty.css:3462) — but that rule is a single class, so the
     two-class `.room-v4.rtns-session` above out-specifies it and the block
     stayed two-column down to 375px, clipping the copy. Caught on the
     rendered 375 screenshot, NOT by the scrollWidth check (the overflow is
     clipped inside the block, so the document never widens). Restate the
     collapse at the variant's own specificity.
     Her `.room-v4-image{height:360px}` at this breakpoint would crop a 16:9
     facade, so the variant keeps the media height intrinsic. */
  .room-v4.rtns-session {
    grid-template-columns: 1fr;
  }
  .room-v4.rtns-session .room-v4-image {
    height: auto;
    padding: 28px 28px 0;
  }
}

/* Typographic poster: the still that stands in for a cut not yet cleared
   (Gate-1 Q3 — frame stills are produced by the session that owns
   ~/ptc26-london-media/, and the interview article carries no hero file).
   Same answer Domi approved for photo-less city tiles: a typographic tile
   inside the existing geometry, never a stock photo and never an empty
   embed. 16:9 so it occupies exactly the space the facade will. */
.rtns-poster {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 22px;
  background: #0d100e;
  border: 1px solid #303b37;
}
.rtns-poster b {
  display: block;
  font-family: Georgia, serif;
  font-size: 30px;
  line-height: 1.05;
  font-weight: 400;
  color: #fff;
}
.rtns-poster span {
  display: block;
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.5;
  color: #aeb6b2;
}

/* Date line on the coverage feed. Her `.feed-item` (index.html "More News")
   has no date element, and her small-date idiom elsewhere is a `<small>`
   inside the item (`.latest-item small`, styles.pretty.css:1065), reused
   here at the same weight.
   Contrast fix (2026-09-15, Astra B0 review): this shipped as 9px #8c6a32
   on her `#f1ebdf` soft section, which measures 4.19:1 and fails AA. The
   two candidate fixes were measured rather than assumed: 11px in the same
   gold is still 4.19:1 (WCAG ignores size below 18.66px bold / 24px, so
   enlarging cannot pass), while her own `--ink` #11120f measures 15.83:1.
   So the value is her ink token, at her 9px small-label size, and no new
   colour is invented. Scoped to `.event-v2` so it can never reach her
   `.feed-item` on index.html. */
.event-v2 .feed-item small {
  display: block;
  margin-top: 6px;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink);
}

/* article
   --------------------------------------------------------------------------
   Reading column. She has no article page and therefore no body scale at
   all: this is the one genuinely missing piece, added at the width the plan
   specifies (Arial 17px/1.65, max 720px, h2/h3 Georgia). Scoped to
   `.rtns-article-body` by element selector, so it cannot reach any donor
   markup. */
.rtns-article-body {
  max-width: 720px;
  font-size: 17px;
  line-height: 1.65;
}
.rtns-article-body p {
  margin: 0 0 20px;
}
.rtns-article-body h2,
.rtns-article-body h3 {
  font-family: Georgia, serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.12;
  margin: 34px 0 12px;
}
.rtns-article-body ul {
  margin: 0 0 20px;
  padding-left: 20px;
}
.rtns-article-body li {
  margin-bottom: 8px;
}
.rtns-article-body blockquote {
  margin: 26px 0;
  padding: 2px 0 2px 20px;
  border-left: 4px solid var(--gold);
  font-family: Georgia, serif;
  font-size: 22px;
  line-height: 1.3;
}
.rtns-article-body a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Compact attribution line under the dek. Astra 5d: attribution and dates
   belong in a metadata line, never as 30px `.hero-stat` numerals. Type is
   her `.hero-stat span` spec (10px uppercase muted, letter-spacing .08em);
   only the layout is new. */
.rtns-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 0;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}
.rtns-byline i {
  display: block;
  width: 18px;
  height: 1px;
  margin-top: 6px;
  background: var(--line);
}

/* The video block on an article sits between the standfirst and the body,
   at the reading width, so it is not a second oversized hero (Astra 5d). */
.rtns-article-video {
  max-width: 720px;
  margin: 0 0 30px;
}
.rtns-article-video .more {
  display: inline-block;
  margin-top: 12px;
}

/* P4.1 defect 1 (2026-09-15): lifted articles carry raw source URLs inside
   list items and paragraphs; let them wrap instead of widening the page at 375. */
.rtns-article-body p,
.rtns-article-body li,
.rtns-article-body blockquote,
.rtns-article-body a {
  overflow-wrap: anywhere;
  word-break: normal;
  min-width: 0;
}
