@import url('https://fonts.googleapis.com/css2?family=Saira:ital,wght@0,500;0,600;0,700;0,800;1,700;1,800;1,900&family=Yellowtail&display=swap');
/* 11 Nov 2026 racing photo invite (kids-racer-photo), LOCAL TEST ONLY. This theme's own sheet (theme.json "polish"), loaded after
   public/css/adventure.css, so these rules win and no shared file changes. The film's own card colours: paper #F3EDE7 (sampled from
   the film), red #B3202A, ink #262321, muted #6E655C; Saira (italic 800/900 headings, 500-700 body) and Yellowtail (the name). */

/* ---- the film: it fills the screen. Its paper is plain, so the space round it is the same paper and the card reads edge to edge.
   A strip at the bottom holds the chips, the tap button and the scroll link, so they never cover the card's words. ---- */
.adventure-scene[data-theme="kids-racer-photo"] { --rc-strip: 68px; --adv-bg: #F3EDE7; --adv-ink: #262321; --adv-muted: #6E655C; --adv-accent: #B3202A; background: #F3EDE7; color: #262321; }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-frame { width: 100%; max-width: 720px; height: 100vh !important; height: 100svh !important; min-height: 480px; background: #F3EDE7; }
/* the film's box is exactly 9:18 (12 Nov: was 9:16, which left empty paper under the words on a phone) and as large as fits above the strip; its edges fade into the paper (the film's paper is a shade
   darker at the bottom than the top, so a hard edge showed as a faint line) */
.adventure-scene[data-theme="kids-racer-photo"] { --rc-box: calc(max(100vh, 480px) - var(--rc-strip)); }
@supports (height: 100svh) { .adventure-scene[data-theme="kids-racer-photo"] { --rc-box: calc(max(100svh, 480px) - var(--rc-strip)); } }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-frame { --rc-h: min(var(--rc-box), calc(min(100vw, 720px) * 2)); }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-frame > video,
.adventure-scene[data-theme="kids-racer-photo"] .adventure-final { top: calc((var(--rc-box) - var(--rc-h)) / 2); right: auto; bottom: auto; left: 50%; width: calc(var(--rc-h) / 2); height: var(--rc-h);
  margin-left: calc(var(--rc-h) / -4); background: transparent; object-fit: cover; object-position: 50% 50%;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 3%, #000 97%, transparent 100%), linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  -webkit-mask-composite: source-in; mask-image: linear-gradient(180deg, transparent 0, #000 3%, #000 97%, transparent 100%), linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%); mask-composite: intersect; }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-hero,
.adventure-scene[data-theme="kids-racer-photo"] .adventure-card-film,
.adventure-scene[data-theme="kids-racer-photo"] .adventure-calibrated { display: none !important; }   /* every word is in the film */
/* the editor's preview and ?stage=card: the finished card stands still at the top */
body.adventure-preview .adventure-scene[data-theme="kids-racer-photo"] .adventure-final { display: block; }
body[data-adventure="kids-racer-photo"].adventure-sealed { background: #F3EDE7; }

/* the start screen: the opening frame of the film behind, the words low down on plain paper */
.adventure-scene[data-theme="kids-racer-photo"] .adventure-open { justify-content: flex-end; gap: 10px; padding: 0 16px calc(var(--rc-strip) - 46px + max(14px, env(safe-area-inset-bottom)));
  background: linear-gradient(180deg, rgba(243,237,231,0) 66%, rgba(243,237,231,.92) 82%, #F3EDE7 92%); color: #262321; }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-open-kicker { color: #6E655C; font: 700 13px/1.2 'Saira', system-ui, sans-serif; letter-spacing: .3em; }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-go { padding: 16px 24px; white-space: nowrap; border-radius: 999px; background: linear-gradient(180deg, #C92A34, #A21C25); color: #FFF8EF;
  font: italic 900 clamp(16px, 4.9vw, 21px)/1 'Saira', system-ui, sans-serif; letter-spacing: .02em; text-transform: uppercase; box-shadow: 0 10px 22px rgba(139,24,32,.28), inset 0 -3px 0 rgba(0,0,0,.18); }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-open.ready .adventure-go { animation: rc-pulse 1.8s infinite; }
@keyframes rc-pulse { 0%, 100% { box-shadow: 0 10px 22px rgba(139,24,32,.28), 0 0 0 0 rgba(179,32,42,.45); } 70% { box-shadow: 0 10px 22px rgba(139,24,32,.28), 0 0 0 16px rgba(179,32,42,0); } }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-hint { color: #6E655C; font: 500 14px 'Saira', system-ui, sans-serif; }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-open { text-shadow: none; }   /* the shared start screen shadows its words for a dark film */
/* the hold at the end of the film: the tap button sits in the strip under the finished card */
.adventure-scene[data-theme="kids-racer-photo"] .adventure-pause { bottom: max(10px, env(safe-area-inset-bottom)); padding: 0; border: 0; background: none; }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-pause > span { display: inline-block; padding: 14px 24px; border-radius: 999px; background: linear-gradient(180deg, #C92A34, #A21C25); color: #FFF8EF;
  font: italic 800 17px/1 'Saira', system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 8px 18px rgba(139,24,32,.28); animation: rc-pulse 1.8s infinite; }
.adventure-scene[data-theme="kids-racer-photo"]:has(.adventure-pause:not([hidden])) .adventure-bar { display: none; }
/* the chips and the scroll link, in the strip too */
.adventure-scene[data-theme="kids-racer-photo"] .adventure-bar,
body:not(.adventure-sealed) .adventure-scene[data-theme="kids-racer-photo"] .adventure-bar { top: auto; right: auto; left: 12px; bottom: max(16px, env(safe-area-inset-bottom)); }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-chip { border: 1.5px solid rgba(38,35,33,.25); background: rgba(251,248,243,.92); color: #262321; font: 600 14px 'Saira', system-ui, sans-serif; }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-scroll { left: auto; right: 12px; bottom: max(16px, env(safe-area-inset-bottom)); transform: none; flex-direction: row; gap: 6px; padding: 8px 14px;
  border-radius: 999px; background: #B3202A; color: #FFF8EF; font: italic 800 14px/1 'Saira', system-ui, sans-serif; letter-spacing: .06em; text-shadow: none; }
.adventure-scene[data-theme="kids-racer-photo"] .adventure-scroll span { color: #FFF8EF; font-size: 15px; }

/* ---- the page under the film: race-day cards on the film's paper ---- */
body[data-adventure="kids-racer-photo"] {
  --adv-page: #F3EDE7; --adv-bg: #F3EDE7; --adv-ink: #262321; --adv-muted: #6E655C; --adv-accent: #B3202A; --adv-accent-2: #6E655C; --adv-hot: #B3202A;
  --adv-card: #FBF8F3; --adv-card-line: #B3202A; --adv-card-ring: rgba(38,35,33,.14);
  --adv-head: 'Saira', 'Arial Narrow', sans-serif; --adv-label: 'Saira', system-ui, sans-serif; --adv-script: 'Yellowtail', cursive; --adv-body: 'Saira', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #C92A34, #A21C25); --adv-btn-ink: #FFF8EF; --adv-field: #FFFFFF; --adv-field-line: rgba(38,35,33,.28);
  --adv-radius: 8px; --adv-head-case: uppercase; --adv-head-track: .01em;
  --adv-emblem: url(/themes/kids-racer-photo/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-racer-photo/assets/adventure/page/divider.svg);
  --adv-top-bg: none; --adv-finale-bg: none;
  --adv-a: url(/themes/kids-racer-photo/assets/adventure/page/decor-speed.svg); --adv-b: url(/themes/kids-racer-photo/assets/adventure/page/decor-flag.svg);
  --rc-check: repeating-conic-gradient(#262321 0 25%, #FBF8F3 0 50%);
  background: #F3EDE7; color: #262321;
}
/* the invitation card under the film */
body[data-adventure="kids-racer-photo"] .adventure-top { padding: 0 14px 30px; }
body[data-adventure="kids-racer-photo"] .adv-top-art { height: 14px; background: var(--rc-check) 0 0 / 14px 14px; -webkit-mask: none; mask: none; opacity: .9; }
body[data-adventure="kids-racer-photo"] .adv-top-card { margin-top: 58px; padding: 50px 20px 28px; }
body[data-adventure="kids-racer-photo"] .adv-top-card .adv-emblem { top: -30px; width: 60px; height: 60px; margin-left: -30px; border-radius: 50%; background: #FBF8F3 var(--adv-emblem) 55% 50% / 42px no-repeat; box-shadow: 0 0 0 2px #B3202A, 0 6px 14px rgba(38,35,33,.18); filter: none; }
body[data-adventure="kids-racer-photo"] .adventure-top .adventure-eyebrow { color: #6E655C; font: 700 12px/1.2 var(--adv-label); letter-spacing: .3em; }
body[data-adventure="kids-racer-photo"] .adventure-top .adv-name { padding: 2px 8px 10px; font: 400 clamp(54px, 16vw, 84px)/1.05 'Yellowtail', cursive; color: #B3202A; text-transform: none; letter-spacing: 0; }
body[data-adventure="kids-racer-photo"] .adventure-top h1 .adv-age { margin-top: 2px; color: #262321; font: italic 900 clamp(26px, 7.4vw, 36px)/1.1 var(--adv-head); letter-spacing: .02em; text-transform: uppercase; }
body[data-adventure="kids-racer-photo"] .adventure-top .adv-occasion { margin-top: 8px; color: #6E655C; font: 600 clamp(13px, 3.6vw, 16px)/1.3 var(--adv-label); letter-spacing: .22em; }
body[data-adventure="kids-racer-photo"] .adventure-top .adventure-detail { background: #F3EDE7; box-shadow: inset 0 0 0 1px rgba(38,35,33,.16); color: #262321; font: 600 17px/1.4 var(--adv-label); }
body[data-adventure="kids-racer-photo"] .adventure-top .adventure-detail strong { color: #B3202A; font: 800 11px/1.4 var(--adv-label); letter-spacing: .24em; }
body[data-adventure="kids-racer-photo"] .adventure-actions a { border-radius: 999px; font: italic 800 15px/1 var(--adv-label); letter-spacing: .05em; text-transform: uppercase; }
body[data-adventure="kids-racer-photo"] .adventure-actions a, body[data-adventure="kids-racer-photo"] .sc-btn-solid { box-shadow: 0 8px 18px rgba(139,24,32,.22), inset 0 -3px 0 rgba(0,0,0,.15); }
/* every section: a cream card with a red edge and a chequered band along its top */
body[data-adventure="kids-racer-photo"] .sc-flow > .sc-section, body[data-adventure="kids-racer-photo"] .adv-top-card {
  box-shadow: inset 0 0 0 2px #B3202A, 0 14px 32px rgba(38,35,33,.12); }
body[data-adventure="kids-racer-photo"] .sc-flow > .sc-section { padding-top: 50px; overflow: hidden; }
body[data-adventure="kids-racer-photo"] .sc-flow > .sc-section::before { inset: 0 0 auto 0; height: 12px; border: 0; border-radius: 0; background: var(--rc-check) 0 0 / 12px 12px; }
body[data-adventure="kids-racer-photo"] .sc-flow > .sc-section.sc-countdown-wrap { padding: 30px 14px 18px; }
body[data-adventure="kids-racer-photo"] .adv-ring { display: none; }
body[data-adventure="kids-racer-photo"] .adv-eyebrow { color: #B3202A; font: 700 12px/1.2 var(--adv-label); letter-spacing: .28em; }
body[data-adventure="kids-racer-photo"] .adv-eyebrow .adv-emblem { width: 42px; height: 42px; }
body[data-adventure="kids-racer-photo"] .sc-h2 { color: #262321; font: italic 900 clamp(26px, 7.2vw, 36px)/1.08 var(--adv-head); letter-spacing: .01em; }
body[data-adventure="kids-racer-photo"] .sc-script { color: #B3202A; font: 400 clamp(36px, 10vw, 46px)/1.15 'Yellowtail', cursive; }
body[data-adventure="kids-racer-photo"] .sc-signature { color: #B3202A; font: 400 30px/1.2 'Yellowtail', cursive; }
body[data-adventure="kids-racer-photo"] :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { color: #262321; font-family: var(--adv-body); }
body[data-adventure="kids-racer-photo"] .sc-lead { font-weight: 500; font-size: 17px; line-height: 1.6; }
body[data-adventure="kids-racer-photo"] .sc-value { font-weight: 600; }
body[data-adventure="kids-racer-photo"] .sc-detail { border-bottom: 1px dashed rgba(38,35,33,.22); }
body[data-adventure="kids-racer-photo"] :is(.sc-label, .sc-time, .sc-form label, .sc-legend) { color: #B3202A; }
body[data-adventure="kids-racer-photo"] .sc-label { font-weight: 800; letter-spacing: .22em; }
body[data-adventure="kids-racer-photo"] .sc-map { box-shadow: 0 0 0 2px #262321, 0 10px 24px rgba(38,35,33,.14); }
body[data-adventure="kids-racer-photo"] .sc-btn { border-radius: 999px; font: italic 800 13px/1.1 var(--adv-label); letter-spacing: .12em; }
body[data-adventure="kids-racer-photo"] .sc-btn-ghost { color: #B3202A; box-shadow: inset 0 0 0 2px #B3202A; background: #FBF8F3; }
body[data-adventure="kids-racer-photo"] .sc-alt-links, body[data-adventure="kids-racer-photo"] .sc-alt-links a,
body[data-adventure="kids-racer-photo"] .sc-footer-sub, body[data-adventure="kids-racer-photo"] .rsvp-privacy { color: #6E655C; }
body[data-adventure="kids-racer-photo"] .rsvp-privacy { text-transform: none; letter-spacing: 0; font: 500 13px/1.45 var(--adv-body) !important; }
body[data-adventure="kids-racer-photo"] .sc-form :is(input[type="text"], select, textarea) { background: #FFFFFF; border: 1.5px solid rgba(38,35,33,.28); color: #262321; font: 500 16px var(--adv-body); }
body[data-adventure="kids-racer-photo"] .sc-form :is(input, textarea):focus { border-color: #B3202A; box-shadow: 0 0 0 3px rgba(179,32,42,.15); }
body[data-adventure="kids-racer-photo"] .sc-choice span { border: 1.5px solid rgba(38,35,33,.28); background: #FFFFFF; color: #262321; font: 700 12px/1.3 var(--adv-label); letter-spacing: .08em; }
body[data-adventure="kids-racer-photo"] .sc-choice input:checked + span { background: var(--adv-btn); border-color: transparent; color: #FFF8EF; }
body[data-adventure="kids-racer-photo"] .countdown-item { background: #F3EDE7; box-shadow: inset 0 0 0 1.5px rgba(38,35,33,.18); }
body[data-adventure="kids-racer-photo"] .countdown-val { color: #262321; font: italic 900 30px/1 var(--adv-head); }
body[data-adventure="kids-racer-photo"] .countdown-lbl { color: #B3202A; }
/* corner pieces: the film's speed lines on the details and reply cards */
body[data-adventure="kids-racer-photo"] .sc-section.adv-details::after, body[data-adventure="kids-racer-photo"] .sc-section.adv-rsvp::after { right: 14px; top: 24px; width: 58px; height: 31px; transform: none; }
body[data-adventure="kids-racer-photo"] .sc-section.adv-location::after, body[data-adventure="kids-racer-photo"] .sc-section.adv-welcome::after,
body[data-adventure="kids-racer-photo"] .sc-section.adv-programme::after { display: none; }   /* the flag is already in each card's heading */
/* the finish: a dark strip with a chequered edge */
body[data-adventure="kids-racer-photo"] .sc-footer { margin-top: 26px; padding: 64px 22px 84px; background: #262321; }
body[data-adventure="kids-racer-photo"] .sc-footer::before { inset: 0 0 auto 0; height: 24px; background: repeating-conic-gradient(#262321 0 25%, #F3EDE7 0 50%) 0 0 / 24px 24px; }
body[data-adventure="kids-racer-photo"] .sc-footer .sc-script { color: #FFF8EF; font: 400 clamp(38px, 10.5vw, 54px)/1.15 'Yellowtail', cursive; text-shadow: none; }
body[data-adventure="kids-racer-photo"] .sc-footer .sc-footer-sub { color: #D9CFC4; font: 600 13px/1.4 var(--adv-label); letter-spacing: .2em; text-transform: uppercase; text-shadow: none; opacity: 1; }
body[data-adventure="kids-racer-photo"] .sc-music { border-color: #B3202A; color: #B3202A; background: rgba(251,248,243,.94); }

/* Android (?ss=1, routes/guest.js samsungSafeFor): the same three rules the Dinosaur face film uses for its buttons */
[data-ss] body[data-adventure="kids-racer-photo"] .sc-choice input:checked + span { background-image: var(--ss-button); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #ffffff; }
[data-ss] body[data-adventure="kids-racer-photo"] .adventure-pause .ss-fill { display: none; }
[data-ss] body[data-adventure="kids-racer-photo"] .adventure-pause .ss-ink { background: none; -webkit-text-fill-color: #ffffff; }
/* the closing strip is dark: its words take the near-white picture (the light-theme rule fills them with the red and grey ink pictures) */
[data-ss] body[data-adventure="kids-racer-photo"] .sc-footer :is(.sc-script, .sc-footer-sub) { background-image: var(--ss-white) !important; }
