/* =======================================================================
 * MANUAL-18: THE SHARED ROOM CARD (user, 2026-09-08).
 *
 * css/myth-gillingham.css section 4 lifted whole, with .myth-gill-card
 * rewritten to .myth-rcard and nothing else changed. Every declaration,
 * every value and every specificity is identical, which is what makes the
 * promotion a zero-pixel move on /gillingham/: the seven venue cards on
 * that route render from these rules now and must measure the same as they
 * did against the four current-gill-*-band-*.png shots in
 * loop/work/MANUAL-18/.
 *
 * The one addition is the location tag's accent, which is now driven by the
 * room's own location field rather than painted Maroon by assumption
 * (Vigil MANUAL-18 FAIL 1). The Gillingham values are unchanged and only
 * the selector that carries them is narrower; the Maidstone values are new
 * and, at the time of writing, render nowhere, because the tag is switched
 * off on both Maidstone grids (Vesper section 2.4).
 *
 * Enqueued at wp_enqueue_scripts priority 5 from inc/room-card.php, so it
 * prints ahead of both route stylesheets and either of them can still
 * override a value on its own page.
 *
 * .myth-card is NOT styled here. It is the sitewide hover, radius and
 * verify hook and it lives in css/myth-motion.css; this file owns the
 * card's appearance and nothing else.
 * ===================================================================== */

.myth-rcard {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  padding: 16px;
  min-width: 0;
}

.myth-rcard--ink {
  background-color: rgba(28, 19, 16, 0.92);
  border: 1px solid rgba(212, 169, 74, 0.2);
}

/* R05, the elevation scale. The room card carries `.myth-card`, so the
   resting step 1, the 2px hover lift, the 320ms curve and the Gold hover
   hairline all arrive from css/myth-motion.css and are not repeated here.
   The ONLY thing this file adds is the ground: an Ink card sits on an Ink
   band, where a shadow mixed at 0.10 is a 1.006:1 luminance step and is
   not there at all, so the on-dark alphas replace the light ones. The
   parchment variant needs no rule: the scale's light values are the
   default and are already correct on White.

   Two classes (0,2,0) so this beats the shared single-class rule whatever
   order WordPress prints the two stylesheets in. */
.myth-card.myth-rcard--ink {
  box-shadow: var(--myth-elev-1-on-dark);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .myth-card.myth-rcard--ink:hover {
    box-shadow: var(--myth-elev-2-on-dark), var(--myth-elev-glow-on-dark);
    border-color: var(--myth-hairline-gold-on-dark);
  }
}

.myth-rcard--parchment {
  background-color: #FFFFFF;
  border: 1px solid rgba(28, 19, 16, 0.1);
}

/* The 3:2 box is reserved by aspect-ratio plus the explicit width and
   height attributes wp_get_attachment_image() prints, so a card is full
   height before its image decodes and CLS is zero. No spinner, no
   skeleton shimmer: a flat placeholder fill only. */
.myth-rcard__frame {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 16px;
}

.myth-rcard--parchment .myth-rcard__frame {
  background-color: rgba(28, 19, 16, 0.08);
}

.myth-rcard--ink .myth-rcard__frame {
  background-color: rgba(212, 169, 74, 0.06);
}

.myth-rcard__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* REVIEW-21 (Sightline, 2026-09-11). The margins below on __name, __tag,
   __meta and __copy never rendered: all four are 0,1,0 and lose to the
   two location pages' own `.myth-gill-venue h2, h3 { margin: 0 }` and
   `.myth-gill-compare p, .myth-gill-venue p, ... { margin: 0 }` resets
   (0,1,1), the identical inert-margin shape MANUAL-25 already found and
   fixed on this exact route, on other selectors. Measured live on
   /gillingham/ and /maidstone/: every card's name, tag, meta and
   description sat with a genuine 0.00px gap between them, held apart only
   by line-height leading, not by the declared 8/12/12/20px rhythm. All
   four restated at 0,2,0 below, matching `.myth-rcard .myth-rcard__copy`'s
   own existing justify rule further down this file, the same technique. */
.myth-rcard__name {
  font-family: "Julius Sans One", sans-serif;
  font-size: 1.5rem;
  line-height: 1.2;
}

.myth-rcard .myth-rcard__name {
  margin: 0 0 8px;
}

/* T08 Fold. The room name is the card's second tap target and on a single
   line it measured 26px, under the 44px floor. Vertical padding takes the
   hit area to 44px and an equal negative block margin gives it straight
   back to the layout, so card heights, the equal-height rows and the
   button baselines are all unchanged. */
.myth-rcard__link {
  text-decoration: none;
  display: inline-block;
  padding-block: 9px;
  margin-block: -9px;
}

.myth-rcard--ink .myth-rcard__link {
  color: #FFFFFF;
}

.myth-rcard--parchment .myth-rcard__link {
  color: #6E0C01;
}

.myth-rcard--ink .myth-rcard__link:focus-visible {
  outline: 2px solid #D4A94A;
  outline-offset: 2px;
}

/* Gold on a light card fails the 3:1 non-text floor, so the Parchment
   card's focus ring is Maroon. */
.myth-rcard--parchment .myth-rcard__link:focus-visible {
  outline: 2px solid #6E0C01;
  outline-offset: 2px;
}

.myth-rcard__tag {
  font-family: Karma, serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.myth-rcard .myth-rcard__tag {
  margin: 0 0 12px;
}

/* MANUAL-18. The tag's accent follows the ROOM's location, not the file it
   is rendered from. Both towns share one palette and each has its own
   accent (brand.config.json palette.locationAccents), and locations are not
   sub-brands, so the accent is the only thing that changes between these
   four rules.

   Gillingham, Maroon. Identical values to the ones this card shipped
   before the promotion; only the selector is narrower, and it stays at the
   same 0,2,0 specificity, so nothing on /gillingham/ moves.

   Maidstone, Gold. Gold as TEXT is 2.19:1 on a white card and is forbidden
   by palette.contrastLaws, so on the parchment surface the accent is a 2px
   Gold left rule with Ink text, which is the same answer the Ink card
   already gives for Maroon. On the Ink card Gold text is 8.32:1 and is the
   accent's own approved use. Neither Maidstone rule renders anywhere
   today: both Maidstone grids pass tag => false, because a label that
   never varies on a page headed Maidstone is not information. They ship so
   the component is correct by data rather than by the caller remembering
   to switch a tag off. */
.myth-rcard--parchment .myth-rcard__tag--gillingham {
  color: #6E0C01;
}

/* Maroon as text on Ink is 1.5:1 and is never used: on the Ink cards the
   location accent is a 2px Maroon left rule and the text is White. */
.myth-rcard--ink .myth-rcard__tag--gillingham {
  color: #FFFFFF;
  border-left: 2px solid #6E0C01;
  padding-left: 8px;
}

.myth-rcard--parchment .myth-rcard__tag--maidstone {
  color: #1C1310;
  border-left: 2px solid #D4A94A;
  padding-left: 8px;
}

.myth-rcard--ink .myth-rcard__tag--maidstone {
  color: #D4A94A;
}

.myth-rcard__meta {
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.myth-rcard .myth-rcard__meta {
  margin: 0 0 12px;
}

.myth-rcard--parchment .myth-rcard__meta {
  color: #767676;
}

.myth-rcard--ink .myth-rcard__meta {
  color: rgba(255, 255, 255, 0.85);
}

.myth-rcard__copy {
  font-size: 17px;
  line-height: 1.6;
  max-width: 70ch;
  hyphens: auto;
}

/* REVIEW-21: the 20px margin-bottom is inert for the same reason as
   __name, __tag and __meta above; restated here at 0,2,0 rather than
   inside the justify block below, since it applies at every width, not
   only from 1440px. */
.myth-rcard .myth-rcard__copy {
  margin: 0 0 20px;
}

/* MANUAL-25 (Sightline, 2026-09-11). Alignment rule 3: paragraph text
 * inside a card is justified above the rule's own approximate 40-character
 * floor, off below it (a ragged edge beats a river on a short line). This
 * is the only card/tile body copy on the site outside the frozen homepage
 * grid and carousel (`.myth-games__blurb`, `.myth-carousel__blurb`; both
 * render only on / and the carousel, S6, out of scope) and the frozen
 * feature tiles (`.myth-band-tiles__text`, homepage only, reported as a
 * proposal, not fixed here). Measured live on both routes that render this
 * card (Chromium, text length / rendered line count): the column is 249 to
 * 334px on Gillingham's 3-up grid at 1024 to 1280 (29 to 40 characters per
 * line) and a steady 362px on Maidstone's 2-up grid at every width from
 * 1024 (38 to 42 cpl), clearing the 1200 breakpoint at 350px (40 to 41 cpl)
 * on Gillingham. Below 1440 the two grids disagree on whether the column
 * clears the floor, so justify is gated to the one width both grids
 * measure at or above it, rather than guessed per breakpoint.
 *
 * `.myth-rcard .myth-rcard__copy`, not the plain class: this card renders
 * inside both location pages' own bands, and both declare a page-wide
 * `.myth-gill-venue p` / `.myth-maid-open p` (etc.) reset at 0,1,1 that
 * beat a plain 0,1,0 rule here (measured: justify shipped in the file but
 * computed style stayed left on both routes). 0,2,0 wins without touching
 * either page's own file. */
@media (min-width: 1440px) {
  .myth-rcard .myth-rcard__copy {
    text-align: justify;
  }
}

.myth-rcard--parchment .myth-rcard__copy {
  color: #1C1310;
}

.myth-rcard--ink .myth-rcard__copy {
  color: #FFFFFF;
}

/* The actions row is the shared .myth-card-actions from css/myth-motion.css,
   which carries the margin-top: auto that lands the buttons on one baseline
   regardless of excerpt length, the 8px gap and the flex basis the second
   item needs. This file does not restate it. */

/* =======================================================================
 * MANUAL-18: THE CROSS-TOWN BAND (user, 2026-09-08), Vesper section 5.
 *
 * Appended to this file rather than given its own, on the same reasoning
 * that put [myth_xtown] in inc/room-card.php: it is a shared component that
 * renders on both location pages and on no other route, and this stylesheet
 * is already enqueued on exactly those two pages and on no other.
 *
 * Poster: a bg-section plate under a two-layer ink scrim with White text,
 * which is the law's Poster archetype, dissolving into the frozen
 * carousel's own Charcoal with no line, no rule and no step between them.
 * ===================================================================== */

/* The wrapper RESETS .myth-band's inline padding, and this is load bearing.
   css/myth-bands.css supplies .myth-band with 20px / 40px / 64px of side
   padding; leaving it on would inset the frozen carousel by that much at
   every width, which is a pixel change to a frozen surface. Measured in
   Vesper's prototype: the carousel's inner went from 390 to 350 at 390 and
   from 1024 to 896 at 1024. The plate and the tail restate the padding for
   themselves, so only the carousel escapes it.

   THE WRAPPER CARRIES NO .myth-band CLASS; the plate does. See the long
   note at the markup in inc/room-card.php: with .myth-band on the wrapper,
   its own descendant rules for h1 to h3 and for p reached inside the frozen
   carousel and changed it, and no amount of padding resetting fixes that.
   The wrapper therefore declares for itself the three things .myth-band
   would have given it, minus the inline padding, which is what would have
   inset the carousel by 20 / 40 / 64px at every width.

   MANUAL-20: the wrapper is a <div> and carries no town modifier. See
   inc/room-card.php. */
.myth-xtown {
  position: relative;
  padding: 0;
  overflow: hidden;
  background-color: #231F1E;
}

/* MANUAL-20 (user, 2026-09-08), Vesper section 3.2. THE PLATE, with the
   head's text gone. .myth-xtown__head is renamed .myth-xtown__plate because
   it no longer holds a head, and every rule that styled the head's own
   contents is deleted with the markup it styled: __inner, __eyebrow, __bar,
   __heading, __body, __actions, __rule, __pool and the two town modifiers
   that set --myth-xtown-accent (a property REVIEW-03 retired with the
   eyebrow bar that was its only reader).

   One profile at every width. With nothing to protect, the scrim's only
   jobs are to hold the plate in the Ink family and to land on exactly
   Charcoal at the seam the frozen carousel starts on. 0,2,0 beats
   css/myth-bands.css's own .myth-band padding, which prints after this
   file (this stylesheet is enqueued at priority 5; measured served order is
   myth-card, myth-bands, route file, myth-motion, myth-games).

   200 / 224 / 256px, every one above law section 1's 196px floor for a
   full-bleed strip to count as the band's surface, and the shortest height
   at which a lit plate reads as a surface rather than a rule. */
.myth-band.myth-xtown__plate {
  position: relative;
  overflow: hidden;
  padding: 0;
  height: 200px;
}

@media (min-width: 768px) {
  .myth-band.myth-xtown__plate {
    height: 224px;
  }
}

@media (min-width: 1024px) {
  .myth-band.myth-xtown__plate {
    height: 256px;
  }
}

.myth-xtown__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.myth-xtown__ground {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* MANUAL-18 ran two profiles, 0.72 at the top under 1024 and 0.38 from
   1024, both computed to hold White body text at 4.5:1 over the plate's
   brightest pixel. There is no text on the plate now, so one profile at
   0.45 replaces both: lighter than the phone profile it replaces, darker
   than the desktop one, and the artwork finally reads. Nothing on the plate
   is text, so law section 5's 4.5:1 does not apply to it and no contrast
   number is traded away.

   The seam into the carousel is still dissolved, not drawn: the last stop
   is #231F1E, the wrapper is #231F1E and the carousel paints its own
   #231F1E, so there is no line, no rule and no step. The last two stops are
   MANUAL-18's, copied across verbatim, which is why they are the values
   they are. */
.myth-xtown__scrim {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(
    180deg,
    rgba(28, 19, 16, 0.45) 0%,
    rgba(28, 19, 16, 0.58) 40%,
    rgba(35, 31, 30, 0.88) 80%,
    #231F1E 100%
  );
}

/* MANUAL-21 (user, 2026-09-08), Vesper section 5: the /maidstone/ link row
   is no longer part of this band. .myth-xtown__tail and .myth-xtown__links
   are deleted with the markup that carried them; the row lives in
   .myth-xtown-block__links at the foot of this file, on the FAQ band's
   parchment, and re-enabling this section does not bring it back because it
   is not this section's row any more. The tail's page-level values
   (max-width: 1200px, margin-inline: auto, padding: 0 16/24/32px 48/64/96px)
   would have had no meaning inside a 416px column, which is why the block
   gets two declarations rather than three overrides. */

/* =======================================================================
 * MANUAL-20: THE FAQ BAND'S TWO-COLUMN SHELL AND THE CROSS-TOWN BLOCK
 * (user, 2026-09-08), Vesper sections 1.3, 1.5 and 1.6.
 *
 * Both location pages' FAQ bands become two columns from 1200: the
 * accordion and its tail link on the left, this block on the right, top
 * aligned and sticky. This file is enqueued on exactly those two routes and
 * on no other, at priority 5, which is why the shell lives beside the
 * cross-town rules rather than being written twice in the route files.
 *
 * 1200 and not 768 or 1024, and that is a measurement, not a preference.
 * The PRIMARY label needs 320.61px at band size with the atom's
 * white-space: nowrap; at 768 a 40 percent column gives it 192px of content
 * box and at 1024 it gives 294.40px, so it overflows at both. At 1200 the
 * column's content box is 364.81px and the button fits by 44.20px.
 * ===================================================================== */

.myth-faq-cols {
  display: grid;
  grid-template-columns: 1fr;
}

.myth-faq-cols__main {
  min-width: 0;
}

/* column-gap: 0 with a 64px pad each side of a 1px rule, rather than a gap
   plus a background rule, so the rule is drawn by the TALL column and
   therefore runs the full height of the band's content at every accordion
   state. align-items: start is required: without it the block stretches to
   the row height and position: sticky has nothing to travel in. */
@media (min-width: 1200px) {
  .myth-faq-cols {
    grid-template-columns: minmax(0, 60fr) minmax(0, 40fr);
    column-gap: 0;
    align-items: start;
  }

  .myth-faq-cols__main {
    padding-inline-end: 64px;
    border-inline-end: 1px solid rgba(28, 19, 16, 0.12);
  }
}

/* THE BLOCK ITSELF, on the parchment. No card, no panel, no fill, no radius
   and no border box: the FAQ band is the page's reading band and this is a
   second piece of reading on the same sheet, and card anatomy is reserved
   (docs/PAGE-TEMPLATE-LAWS.md section 6). What separates it is a rule and a
   gutter. From 1200 that is the main column's vertical border-inline-end;
   below 1200 it is this horizontal border-top, and rgba(28, 19, 16, 0.12)
   is not a new value: it is exactly the hairline the accordion already
   draws between its own items on both pages.

   The accent was spent twice, and both were the OTHER town's accent, which
   is the whole idea MANUAL-18 registered: the 24x2px eyebrow bar and the
   PRIMARY fill. REVIEW-03 removed the eyebrow and its bar, so the button
   fill is the only accent the block spends now, and it takes it from the
   copy table's own tone class. */
.myth-xtown-block {
  min-width: 0;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid rgba(28, 19, 16, 0.12);
}

/* REVIEW-03: --myth-xtown-accent had exactly one reader, the eyebrow bar
   this task removed, so the two modifier rules that set it are deleted with
   it. The town modifier is still printed on the <aside>: it is the hook the
   two route stylesheets tone the block through, and R05 and R06 will want
   it. The PRIMARY button's fill never read the property; it takes its tone
   from the copy table's own class. */

@media (min-width: 768px) {
  .myth-xtown-block {
    margin-top: 56px;
    padding-top: 40px;
  }
}

/* --myth-h-stuck is the header's own token from style.css: 64px below 640,
   72px from 640, 84px from 1025. The block is only sticky from 1200, so the
   value in play is always 84px and the offset resolves to 109px. The + 1px
   is the stuck bar's own bottom border and the + 24px is breathing room on
   the band's spacing scale, one step up from the fragment-landing rule's
   + 16px because this panel sits at the offset for the whole scroll rather
   than for one jump. Never a literal: if the header retunes the token this
   follows. The MANUAL-17 breadcrumb strip is in flow and not sticky, so it
   adds nothing here. */
@media (min-width: 1200px) {
  .myth-xtown-block {
    position: sticky;
    top: calc(var(--myth-h-stuck) + 1px + 24px);
    margin-top: 0;
    padding-top: 0;
    padding-inline-start: 64px;
    border-top: 0;
  }
}

/* 0,2,1 on every text rule below, because both route stylesheets carry
   `.myth-<route>-faq p { font-family; font-size; line-height; margin }` at
   0,1,1 and css/myth-bands.css carries `.myth-band h1, h2, h3 {
   font-family; margin: 0 }` at 0,1,1, and this file is enqueued at priority
   5 and therefore prints BEFORE both. Specificity, not source order, is
   what makes these win. `padding: 0` is not decoration: Divi ships
   `p { padding-bottom: 1em }`. */
/* REVIEW-03 (review A2, question 1): the block's eyebrow and its 24x2px bar
   are removed with every other eyebrow on the site, and their rules go with
   the markup they styled. The block now opens on its H3. */

/* 1.5rem is the law's H3 and is also the accordion question size, so no new
   size enters the scale. Maroon on the parchment texture is 7.27:1 against
   its darkest pixel. */
.myth-xtown-block h3.myth-xtown-block__heading {
  font-family: "Julius Sans One", sans-serif;
  font-size: 1.5rem;
  line-height: 1.2;
  color: #6E0C01;
  margin: 0 0 12px;
  padding: 0;
  text-align: left;
}

.myth-xtown-block p.myth-xtown-block__body {
  font-family: Karma, serif;
  font-size: 17px;
  line-height: 1.6;
  color: #1C1310;
  margin: 0 0 24px;
  padding: 0;
  max-width: 46ch;
  text-align: left;
}

@media (min-width: 768px) {
  .myth-xtown-block p.myth-xtown-block__body {
    font-size: 18px;
  }
}

/* The atom is not restyled: only the box it sits in. 326px at 390 is what
   the cross-town band gives this same button today, and 52px under 768 is
   the height it already ships at. */
.myth-xtown-block__actions {
  display: flex;
  justify-content: flex-start;
}

.myth-xtown-block__actions .myth-btn {
  min-height: 52px;
  width: 326px;
  max-width: 100%;
}

@media (min-width: 768px) {
  .myth-xtown-block__actions .myth-btn {
    min-height: 48px;
    width: auto;
  }
}

/* MANUAL-21 (user, 2026-09-08), Vesper section 5.2. The moved link row,
   inside the block, under its button and on its left edge.

   24px of separation and NO second hairline: the block already draws one
   above itself below 1200, and two ink rules inside one 416px column would
   frame the links as a third thing rather than as the block's own tail.

   The flex values are the ones the row already had on the carousel wrapper,
   so no wrapping behaviour is invented: the wrap is decided by the column's
   measured width and no breakpoint is written, exactly as law section 7.5
   requires of the card CTA row. The two ghosts measure 163.08px and 298.03px
   at Karma 700, 14px, 0.08em with the 14px arrow slot, and .myth-btn never
   sets its own width, so the longest label wraps the ROW rather than
   shrinking the control: 2 lines at 320, 390, 1200 and 1440, 1 line from
   768. Every target keeps the atom's 48px height, above the 44px floor.

   align-items: flex-start so each ghost is its own width and the underline
   draws under the words rather than across the column. */
.myth-xtown-block__links {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 24px;
  margin-top: 24px;
}

/* =======================================================================
 * MANUAL-23 (coordinator, 2026-09-09). TWO CARD BUTTONS ON ONE ROW AT 768.
 *
 * After MANUAL-23 item 1 took the visible room-name suffix out of the
 * labels, the two buttons still stacked at 768 on both location pages. The
 * cause is arithmetic, not the suffix: the actions row is 274.00px there
 * and two buttons needed 287.69px.
 *
 * BOTH declarations below are required, and the second alone does nothing.
 * Flex items default to `min-width: auto`, so an item's hypothetical main
 * size is its flex basis CLAMPED BY its content-based minimum. With the
 * shared `flex: 1 1 138px` the hypothetical size stays 138px however small
 * the content gets, 2 x 138 + 8 = 284 > 274, and the line still breaks. So
 * the basis has to come down BELOW the content minimum before the content
 * minimum is what decides, and then the content minimum has to come down
 * far enough to fit.
 *
 * The numbers, measured on the page rather than guessed
 * (loop/work/MANUAL-23/pad-probe.mjs, at 768, min-content of the widest
 * button, which is Learn More):
 *
 *   padding  gap   Karma            platform serif (the swap face)
 *   12  8    139.84 -> 287.69 no    148.91 -> 305.81 no
 *    8  8    131.84 -> 271.69 YES   140.91 -> 289.81 no
 *    4  8    123.84 -> 255.69 YES   132.91 -> 273.81 YES by 0.19px
 *    4  6    121.84 -> 251.69 YES   130.91 -> 269.81 YES by 4.19px
 *
 * 4px and 6px is the first pair that fits in BOTH faces with room to spare,
 * and fitting in both faces is the point: `.myth-btn` is `Karma, serif`, so
 * the platform serif paints first and a pair that fits in one face and not
 * the other reflows the row when the webfont swaps in, which is a shift on
 * the card the visitor is reading. (Georgia, at 138.14 -> 284.28, never
 * fits at any padding. It is not in the stack and can never be used; it is
 * in the probe as a stress case only.)
 *
 * The declared padding is not what the visitor sees. `.myth-btn` centres
 * its content with `justify-content: center`, so wherever the button is
 * wider than its content, which is everywhere, the inset a reader sees is
 * half the slack: 5.6px each side of the 4px at 768, 15.4px at 1440.
 *
 * SCOPE. `.myth-rcard` is the shared room card and it renders on exactly
 * two routes today (7 cards on /gillingham/, 5 on /maidstone/, 0 anywhere
 * else, counted in the served HTML). The frozen homepage grid
 * (inc/games-grid.php) and the frozen carousel (inc/games-carousel.php)
 * have their own renderers and never carry this class, so neither can be
 * reached by these rules. This is a scope on the COMPONENT, not a per-page
 * exception: any future caller of myth_room_card() gets the same row.
 *
 * NO order, row-reverse or wrap-reverse rule is added here or anywhere.
 * DOM order stays Learn More then Book Now, and where the row is still too
 * narrow for two (320 at 222.00px, and 1024 on /gillingham/ at 208.33px)
 * they stack with Learn More on top, which is the user's own fallback.
 *
 * This file is enqueued at priority 5 and therefore prints BEFORE
 * css/myth-motion.css, so both rules win on specificity, not on order:
 * 0-2-0 and 0-3-0 against the shared 0-1-0.
 * ===================================================================== */

.myth-rcard .myth-card-actions > * {
  flex: 1 1 120px;
}

.myth-rcard .myth-card-actions .myth-btn--card {
  gap: 6px;
  padding: 0 4px;
}
