/* ---------------------------------------------------------------------------
 * LCA! Film Festival 2026 — Partners page adjustments
 *
 * Added under LCA2026-SITE-010. Fixes one mobile defect found by rendering the
 * page at a verified 390px viewport:
 *
 *   The festival's theme word broke mid-word: "gathering" rendered as
 *   "gatherin" / "g." because the card sits in the constellation's two-column
 *   grid at phone width and received only about half the line length.
 *
 * FIRST ATTEMPT AND WHY IT WAS REVERTED
 *   An earlier version of this file forced `.r06-partner-constellation` to a
 *   single column at phone width. That was wrong: the constellation's overlapping,
 *   tilted composition IS the design — the yellow card and the three logo marks
 *   are meant to sit on top of one another and to bleed past the container edge.
 *   Collapsing it to one column crushed the yellow card to a sliver, shrank the
 *   MTN mark, and stacked the logos. Rendering showed the regression immediately.
 *   The constellation grid is therefore left exactly as the adopted layer authored
 *   it, and only the word-breaking is corrected below.
 *
 * This file owns that one correction. It defines no token and redefines none.
 * ------------------------------------------------------------------------ */

/* Never split an identity-bearing word. "Gathering" is the festival's theme word
 * and must wrap to the next line whole. This is the same rule the design contract
 * states for display type: never split an identity-bearing word mid-word.
 * `keep-all` stops the break without changing the card's width or its clip-path. */
.r06-partner-centre strong,
.r06-partner-centre span {
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}

/* On the narrowest phones the card is genuinely too small for the theme word at
 * its desktop size. Reducing only its own type size keeps the composition intact
 * while letting the word fit on one line. No layout property is touched. */
@media (max-width: 480px) {
  .r06-partner-centre strong {
    font-size: clamp(1.05rem, 4.6vw, 1.4rem);
  }

  .r06-partner-centre span {
    font-size: .85rem;
  }
}

/* The logo rail scrolls horizontally by design. Snap it to whole items so the
 * first mark is never presented half-cut at the left edge, which reads as a
 * broken image rather than as a scrollable rail. */
.partner-rail.poster-rail {
  scroll-snap-type: x mandatory;
}

.partner-rail.poster-rail > .partner-card {
  scroll-snap-align: start;
}
