/* Shared cinematic adventure opening. Theme colours come from the page; these
   defaults keep the stage usable before a theme-specific palette is applied. */
:root { --adv-ink: #eef6ff; --adv-muted: rgba(238,246,255,.78); --adv-accent: #7ee7ff; --adv-accent-2: #d9a7ff; --adv-bg: #050912; }
body.adventure-sealed { overflow: hidden; background: var(--adv-bg); }
body.adventure-sealed .adventure-scene { pointer-events: auto; }
body.adventure-sealed .adventure-top, body.adventure-sealed .sc-flow, body.adventure-sealed .sc-footer { display: none !important; }
body.adventure-sealed .sc-hero, .adventure-page .sc-hero { display: none !important; }
.adventure-scene { position: relative; z-index: 20; width: 100%; min-height: min(100svh, 900px); overflow: hidden; background: #000; color: var(--adv-ink); }
.adventure-scene [hidden] { display: none !important; }
.adventure-frame { position: relative; width: min(100vw, 720px); height: min(177.78vw, 100svh); min-height: 420px; margin: 0 auto; overflow: hidden; background: #000; }
.adventure-frame > video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
.adventure-idle { opacity: 0; transition: opacity .45s ease; pointer-events: none; }
.adventure-idle.is-visible { opacity: 1; }
.adventure-final { position: absolute; inset: 0; z-index: 3; display: none; width: 100%; height: 100%; object-fit: contain; background: #000; }
.adventure-final.is-visible { display: block; }
.adventure-fx { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; pointer-events: none; }
.adventure-calibrated { position: absolute; inset: 0; z-index: 4; display: none; overflow: hidden; pointer-events: none; }
.adventure-calibrated.is-visible { display: block; }
.adventure-calibrated canvas { position: absolute; left: 0; top: 0; transform-origin: 0 0; }
#adventure-film.is-hidden { opacity: 0; }
body:not(.adventure-sealed) .adventure-scene { min-height: 0; }
.adventure-card { position: absolute; left: 8%; right: 8%; top: 50%; z-index: 5; transform: translateY(-45%) scale(.98); padding: clamp(20px, 5vw, 42px); border: 1px solid rgba(126,231,255,.45); border-radius: 22px; background: linear-gradient(145deg, rgba(5,9,18,.92), rgba(12,18,35,.9)); box-shadow: 0 20px 80px rgba(0,0,0,.65), inset 0 0 40px rgba(126,231,255,.07); text-align: center; opacity: 0; pointer-events: none; transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.adventure-card.is-visible { opacity: 1; transform: translateY(-50%) scale(1); }
.adventure-scene[data-theme*="underwater"] { --adv-bg:#073e45; --adv-ink:#f1ead5; --adv-muted:rgba(241,234,213,.82); --adv-accent:#6fc8be; }
.adventure-scene[data-theme*="safari"] { --adv-bg:#3b2a16; --adv-ink:#f4e5bd; --adv-muted:rgba(244,229,189,.82); --adv-accent:#d8a447; }
.adventure-card-kicker, .adventure-eyebrow { margin: 0 0 10px; color: var(--adv-accent); font: 700 14px/1.2 system-ui, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.adventure-card h2 { margin: 0 0 18px; color: var(--adv-ink); font: 800 clamp(28px, 7vw, 54px)/1.02 system-ui, sans-serif; }
.adventure-card p { margin: 7px 0; color: var(--adv-muted); font: 600 clamp(15px, 3.4vw, 22px)/1.35 system-ui, sans-serif; }
.adventure-open { position: absolute; inset: 0; z-index: 10; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: 100%; border: 0; background: linear-gradient(180deg, rgba(5,9,18,.15), rgba(5,9,18,.9)); color: var(--adv-ink); cursor: pointer; }
.adventure-open.ready .adventure-go { animation: adventure-pulse 1.8s infinite; }
.adventure-open-kicker { color: var(--adv-accent); font: 700 16px system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.adventure-go { display: inline-block; padding: 15px 26px; border-radius: 999px; background: var(--adv-accent); color: #06121b; font: 800 21px system-ui, sans-serif; }
.adventure-hint { color: var(--adv-muted); font: 500 14px system-ui, sans-serif; }
@keyframes adventure-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(126,231,255,.45); } 70% { box-shadow: 0 0 0 18px rgba(126,231,255,0); } }
.adventure-pause { position: absolute; left: 50%; bottom: 12%; z-index: 12; transform: translateX(-50%); padding: 13px 22px; border: 1px solid rgba(126,231,255,.8); border-radius: 999px; background: rgba(5,9,18,.78); color: var(--adv-ink); font: 700 17px system-ui, sans-serif; cursor: pointer; white-space: nowrap; }
.adventure-bar { position: absolute; top: max(12px, env(safe-area-inset-top)); right: 12px; z-index: 15; display: flex; gap: 8px; }
body:not(.adventure-sealed) .adventure-bar { left: 12px; right: auto; }
.adventure-chip { padding: 8px 13px; border: 1px solid rgba(238,246,255,.35); border-radius: 999px; background: rgba(5,9,18,.62); color: var(--adv-ink); font: 600 14px system-ui, sans-serif; cursor: pointer; }
.adventure-scroll { position: absolute; left: 50%; bottom: max(16px, env(safe-area-inset-bottom)); z-index: 8; display: flex; flex-direction: column; gap: 6px; align-items: center; transform: translateX(-50%); color: var(--adv-ink); font: 700 15px system-ui, sans-serif; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; text-shadow: 0 2px 12px #000; }
.adventure-scroll span { color: var(--adv-accent); font-size: 26px; }
.edit-mode .adventure-scene { min-height: 0; }
.edit-mode .adventure-open, .edit-mode .adventure-bar, .edit-mode .adventure-pause, .edit-mode .adventure-scroll { display: none !important; }
.adventure-top { position: relative; max-width: 620px; margin: 0 auto; padding: 56px 22px 40px; color: var(--adv-ink); text-align: center; }
.adventure-top h1 { margin: 0 0 24px; color: var(--adv-accent); font: 800 clamp(34px, 9vw, 62px)/1.02 system-ui, sans-serif; }
.adventure-detail { margin: 11px auto; color: var(--adv-muted); font: 600 18px/1.45 system-ui, sans-serif; }
.adventure-detail strong { display: block; margin-bottom: 3px; color: var(--adv-accent); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
.adventure-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.adventure-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border: 2px solid var(--adv-accent); border-radius: 999px; background: var(--adv-accent); color: #06121b; font: 800 16px system-ui, sans-serif; text-decoration: none; }
.adventure-actions a.adventure-ghost { background: transparent; color: var(--adv-accent); }
@media (min-width: 700px) { .adventure-frame { border-radius: 0 0 18px 18px; } }
@media (prefers-reduced-motion: reduce) { .adventure-open.ready .adventure-go { animation: none; } }
/* Direct card previews must remain readable without scroll-triggered animation. */
.adventure-preview .sc-section.reveal > *,
.adventure-preview .sc-footer.reveal > *,
.adventure-preview .sc-section.reveal .sc-timeline li,
.adventure-preview .sc-section.reveal .countdown-item,
.adventure-preview .sc-section.reveal .sc-gallery figure {
  opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important;
}

.adventure-hero { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;pointer-events:none; }
.adventure-open {justify-content:flex-end;padding:0 18px 8%;background:linear-gradient(180deg,transparent 50%,rgba(5,9,18,.15) 65%,rgba(5,9,18,.88) 100%);text-shadow:0 2px 8px #000;}
.adventure-go {text-shadow:none;}

/* ======================================================================================================
   28 Oct 2026 redesign (Gary: "too plain"). The whole page under the film now carries its theme:
   body[data-adventure] is set by adventure-stage.js; each theme below sets variables + a few accents.
   Pictures: /themes/<id>/assets/adventure/page/ (film frames + original SVG ornaments). Fonts: the themes' own OFL copies.
   ====================================================================================================== */
@font-face { font-family: 'Fredoka Adv'; font-weight: 400 900; font-display: swap; src: url(/themes/kids-underwater/print/fonts/Fredoka-Bold.ttf) format('truetype'); }
@font-face { font-family: 'Saira Expanded Adv'; font-weight: 400 900; font-display: swap; src: url(/themes/kids-space/print/fonts/SairaExpanded-Black.ttf) format('truetype'); }
@font-face { font-family: 'Saira Adv'; font-weight: 600 900; font-display: swap; src: url(/themes/kids-space/print/fonts/Saira-Bold.ttf) format('truetype'); }
@font-face { font-family: 'Saira Adv'; font-weight: 300 599; font-display: swap; src: url(/themes/kids-space/print/fonts/Saira-Medium.ttf) format('truetype'); }
@font-face { font-family: 'Kaushan Adv'; font-display: swap; src: url(/themes/kids-safari-adventure/print/fonts/KaushanScript-Regular.ttf) format('truetype'); }
/* 28/10 next three films (Monster Truck / Construction / Pirate): card + page fonts, served from each theme's print/fonts */
@font-face { font-family: 'Bowlby Adv'; font-display: swap; src: url(/themes/kids-trucks-adventure/print/fonts/BowlbyOne-Regular.ttf) format('truetype'); }
@font-face { font-family: 'Barlow Cond Adv'; font-weight: 400 700; font-display: swap; src: url(/themes/kids-trucks-adventure/print/fonts/BarlowCondensed-Bold.ttf) format('truetype'); }
@font-face { font-family: 'Barlow Cond Adv'; font-weight: 800 900; font-display: swap; src: url(/themes/kids-trucks-adventure/print/fonts/BarlowCondensed-ExtraBold.ttf) format('truetype'); }
@font-face { font-family: 'Archivo Adv'; font-display: swap; src: url(/themes/kids-construction-adventure/print/fonts/ArchivoBlack-Regular.ttf) format('truetype'); }
@font-face { font-family: 'Cinzel Deco Adv'; font-display: swap; src: url(/themes/kids-pirate-adventure/print/fonts/CinzelDecorative-Black.ttf) format('truetype'); }
@font-face { font-family: 'Cinzel Adv'; font-weight: 400 700; font-display: swap; src: url(/themes/kids-pirate-adventure/print/fonts/Cinzel-Bold.ttf) format('truetype'); }
@font-face { font-family: 'Cinzel Adv'; font-weight: 800 900; font-display: swap; src: url(/themes/kids-pirate-adventure/print/fonts/Cinzel-Black.ttf) format('truetype'); }
@font-face { font-family: 'Cormorant Adv'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(/themes/kids-pirate-adventure/print/fonts/CormorantGaramond-SemiBoldItalic-600.ttf) format('truetype'); }

body[data-adventure="kids-underwater"] {
  --adv-page: #04263b; --adv-ink: #f2fbff; --adv-muted: #c4e6ee; --adv-accent: #ffd36b; --adv-accent-2: #7fe7ee; --adv-hot: #ff8a65;
  --adv-card: linear-gradient(180deg, rgba(8,74,104,.78), rgba(4,44,66,.86)); --adv-card-line: rgba(127,231,238,.38); --adv-card-ring: rgba(255,211,107,.55);
  --adv-head: 'Fredoka Adv', 'Nunito', system-ui, sans-serif; --adv-label: 'Montserrat', system-ui, sans-serif; --adv-script: 'Fredoka Adv', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #ffe08f, #ffc443); --adv-btn-ink: #062f45; --adv-field: rgba(2,26,40,.55); --adv-field-line: rgba(127,231,238,.45);
  --adv-radius: 28px; --adv-head-case: none; --adv-head-track: 0;
  --adv-emblem: url(/themes/kids-underwater/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-underwater/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-underwater/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-underwater/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-underwater/assets/adventure/page/decor-fish.svg); --adv-b: url(/themes/kids-underwater/assets/adventure/page/decor-star.svg);
  background: #04263b linear-gradient(180deg, #0a5f80 0, #064865 22%, #04324c 60%, #021d2e 100%) no-repeat;
}
body[data-adventure="kids-space"], body[data-adventure="kids-space-expedition"] {
  --adv-page: #040817; --adv-ink: #eef6ff; --adv-muted: #b9d3ea; --adv-accent: #7fe3ff; --adv-accent-2: #ffb547; --adv-hot: #ffb547;
  --adv-card: linear-gradient(180deg, rgba(12,30,62,.86), rgba(6,16,38,.92)); --adv-card-line: rgba(127,227,255,.55); --adv-card-ring: rgba(127,227,255,0);
  --adv-head: 'Saira Expanded Adv', 'Saira Adv', system-ui, sans-serif; --adv-label: 'Saira Adv', system-ui, sans-serif; --adv-script: 'Saira Expanded Adv', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #a6efff, #56d2f5); --adv-btn-ink: #041029; --adv-field: rgba(2,8,24,.7); --adv-field-line: rgba(127,227,255,.5);
  --adv-radius: 4px; --adv-head-case: uppercase; --adv-head-track: .04em;
  --adv-emblem: url(/themes/kids-space/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-space/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-space/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-space/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-space/assets/adventure/page/decor-rocket.svg); --adv-b: url(/themes/kids-space/assets/adventure/page/decor-planet.svg);
  background-color: #040817;
  background-image:
    radial-gradient(1.2px 1.2px at 20px 30px, #fff 50%, transparent 52%), radial-gradient(1px 1px at 140px 90px, #cfe9ff 50%, transparent 52%),
    radial-gradient(1.6px 1.6px at 90px 160px, #fff 50%, transparent 52%), radial-gradient(1px 1px at 200px 210px, #ffe2b8 50%, transparent 52%),
    radial-gradient(1.3px 1.3px at 260px 40px, #fff 50%, transparent 52%), radial-gradient(1px 1px at 40px 250px, #fff 50%, transparent 52%),
    radial-gradient(900px 700px at 85% 10%, rgba(80,60,170,.30), transparent 70%), radial-gradient(800px 700px at 0% 60%, rgba(20,90,160,.25), transparent 70%);
  background-size: 300px 280px, 300px 280px, 300px 280px, 300px 280px, 300px 280px, 300px 280px, 100% 100%, 100% 100%;
}
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) {
  --adv-page: #2c2112; --adv-ink: #3b2410; --adv-muted: #5f4224; --adv-accent: #8a4512; --adv-accent-2: #4f6b2a; --adv-hot: #c9762c;
  --adv-card: radial-gradient(ellipse at 50% 40%, #fbf1d9 0, #f3e2bd 70%, #e6c992 100%); --adv-card-line: #7a4a1c; --adv-card-ring: rgba(165,87,26,.55);
  --adv-head: 'Cinzel', Georgia, serif; --adv-label: 'Montserrat', system-ui, sans-serif; --adv-script: 'Kaushan Adv', cursive;
  --adv-btn: linear-gradient(180deg, #c06a23, #9a4c14); --adv-btn-ink: #fff6e4; --adv-field: #fffaf0; --adv-field-line: rgba(122,74,28,.55);
  --adv-radius: 10px; --adv-head-case: uppercase; --adv-head-track: .03em;
  --adv-emblem: url(/themes/kids-safari-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-safari-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-safari-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-safari-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-safari-adventure/assets/adventure/page/decor-leaves.svg); --adv-b: url(/themes/kids-safari-adventure/assets/adventure/page/decor-paws.svg);
  background: #2c2112 linear-gradient(180deg, #3d2d16 0, #33260f 40%, #241a0b 100%);
}

/* ---- the page shell: the theme shows through everywhere ---- */
body[data-adventure] #card-stage.stage-scroll, body[data-adventure] .app-container.app-scroll, body[data-adventure] .stage-scroll { background: transparent; }
body[data-adventure] .sc-flow { padding: 8px 0 0; }

/* ---- the designed invitation under the film ---- */
body[data-adventure] .adventure-top { position: relative; max-width: none; margin: 0; padding: 0 14px 34px; overflow: hidden; }
body[data-adventure] .adv-top-art { position: absolute; left: 0; right: 0; top: 0; height: 520px; background: var(--adv-top-bg) center 30% / cover no-repeat;
  -webkit-mask: linear-gradient(#000 0, #000 45%, transparent 100%); mask: linear-gradient(#000 0, #000 45%, transparent 100%); }
body[data-adventure] .adv-top-card { position: relative; max-width: 560px; margin: 210px auto 0; padding: 46px 22px 30px; border-radius: var(--adv-radius);
  background: var(--adv-card); box-shadow: inset 0 0 0 2px var(--adv-card-line), 0 24px 60px rgba(0,0,0,.45); text-align: center; }
body[data-adventure] .adv-top-card .adv-emblem { position: absolute; left: 50%; top: -34px; width: 68px; height: 68px; margin-left: -34px; background: var(--adv-emblem) center / contain no-repeat; filter: drop-shadow(0 6px 10px rgba(0,0,0,.4)); }
body[data-adventure] .adventure-top .adventure-eyebrow { margin: 0 0 8px; color: var(--adv-accent); font: 700 13px/1.2 var(--adv-label); letter-spacing: .26em; text-transform: uppercase; }
body[data-adventure] .adventure-top h1 { margin: 0; color: var(--adv-ink); font: 800 clamp(30px, 8vw, 50px)/1.04 var(--adv-head); letter-spacing: var(--adv-head-track); text-transform: var(--adv-head-case); }
body[data-adventure] .adventure-top h1 span { display: block; }
body[data-adventure] .adventure-top .adv-name { font-size: clamp(40px, 12vw, 72px); line-height: 1; color: var(--adv-ink); overflow-wrap: normal; word-break: normal; }
body[data-adventure] .adventure-top .adv-occasion { margin-top: 10px; font: 700 clamp(14px, 3.9vw, 18px)/1.3 var(--adv-label); letter-spacing: .2em; text-transform: uppercase; color: var(--adv-accent-2); }
/* the age as a line under the name, like the leaflet (Gary 28/10: the round badge did not suit) */
body[data-adventure] .adventure-top h1 .adv-age, body[data-adventure] .adv-age { margin: 10px 0 0; color: var(--adv-accent); font: 800 clamp(20px, 5.6vw, 28px)/1.2 var(--adv-head); letter-spacing: .04em; text-transform: uppercase; }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .adventure-top h1 .adv-age, body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .adv-age { font: 400 clamp(26px, 7vw, 36px)/1.2 var(--adv-script); letter-spacing: 0; text-transform: none; }
body[data-adventure="kids-space"] .adventure-top h1 .adv-age, body[data-adventure="kids-space"] .adv-age, body[data-adventure="kids-space-expedition"] .adventure-top h1 .adv-age, body[data-adventure="kids-space-expedition"] .adv-age { color: var(--adv-accent-2); }
body[data-adventure] .adv-divider, body[data-adventure] .sc-rule, body[data-adventure] .sc-rule-sm { width: 200px; height: 24px; margin: 16px auto 20px; background: var(--adv-divider) center / contain no-repeat; }
body[data-adventure] .adventure-top .adventure-detail { margin: 0 auto 10px; max-width: 420px; padding: 11px 14px; border-radius: calc(var(--adv-radius) * .6); background: rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 1px var(--adv-card-line); color: var(--adv-ink); font: 600 17px/1.4 var(--adv-label); }
body[data-adventure] .adventure-top .adventure-detail strong { color: var(--adv-accent); font: 800 11px/1.4 var(--adv-label); letter-spacing: .22em; }
body[data-adventure] .adventure-actions { margin-top: 22px; }
body[data-adventure] .adventure-actions a, body[data-adventure] .sc-btn-solid { border: 0; background: var(--adv-btn); color: var(--adv-btn-ink); box-shadow: 0 10px 24px rgba(0,0,0,.3), inset 0 -3px 0 rgba(0,0,0,.15); }
body[data-adventure] .adventure-actions a.adventure-ghost, body[data-adventure] .sc-btn-ghost { background: transparent; color: var(--adv-accent); box-shadow: inset 0 0 0 2px var(--adv-accent); border: 0; }
body[data-adventure] .adventure-actions a { font: 800 15px/1 var(--adv-label); letter-spacing: .06em; }

/* ---- every section is a themed card with its emblem + eyebrow ---- */
body[data-adventure] .sc-flow > .sc-section { position: relative; width: calc(100% - 28px); max-width: 600px; margin: 14px auto; padding: 44px 22px 34px; border: 0; border-radius: var(--adv-radius);
  background: var(--adv-card); box-shadow: inset 0 0 0 2px var(--adv-card-line), 0 18px 44px rgba(0,0,0,.35); color: var(--adv-ink); }
/* a fine second line inside each card's frame */
body[data-adventure] .sc-flow > .sc-section::before, body[data-adventure] .adv-ring { content: ""; position: absolute; inset: 8px; border: 1.5px solid var(--adv-card-ring); border-radius: max(0px, calc(var(--adv-radius) - 7px)); pointer-events: none; }
body[data-adventure] .sc-flow > .sc-section.sc-countdown-wrap { padding: 22px 14px; }
body[data-adventure] .adv-eyebrow { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0 0 6px; color: var(--adv-accent); font: 800 12px/1.2 var(--adv-label); letter-spacing: .24em; text-transform: uppercase; text-align: center; }
body[data-adventure] .adv-eyebrow .adv-emblem { display: block; width: 46px; height: 46px; background: var(--adv-emblem) center / contain no-repeat; }
body[data-adventure] .sc-h2 { color: var(--adv-ink); font: 800 clamp(28px, 7.4vw, 40px)/1.08 var(--adv-head); letter-spacing: var(--adv-head-track); text-transform: var(--adv-head-case); text-align: center; }
body[data-adventure] .sc-script { color: var(--adv-accent); font: 800 clamp(30px, 8vw, 42px)/1.12 var(--adv-script); text-align: center; }
body[data-adventure] .sc-lead { color: var(--adv-ink); font: 500 17px/1.65 var(--adv-label); }
body[data-adventure] .sc-signature { color: var(--adv-accent); font: 400 26px/1.2 var(--adv-script); }
body[data-adventure] .sc-detail { gap: 14px; padding: 14px 4px; border-bottom: 1px dashed var(--adv-card-line); }
body[data-adventure] .sc-detail:last-child { border-bottom: 0; }
body[data-adventure] .sc-label { flex-basis: 88px; color: var(--adv-accent); font: 800 11px/1.3 var(--adv-label); letter-spacing: .2em; }
body[data-adventure] .sc-value { color: var(--adv-ink); font: 600 18px/1.45 var(--adv-label); }
body[data-adventure] .sc-timeline li { grid-template-columns: 76px 22px 1fr; padding: 12px 0; border-bottom: 1px dashed var(--adv-card-line); }
body[data-adventure] .sc-timeline li:last-child { border-bottom: 0; }
body[data-adventure] .sc-time { color: var(--adv-accent); font: 800 15px/1.2 var(--adv-label); letter-spacing: .04em; }
body[data-adventure] .sc-dot { width: 20px; height: 20px; opacity: 1; background: var(--adv-emblem) center / contain no-repeat; border-radius: 0; }
body[data-adventure] .sc-what { color: var(--adv-ink); font: 600 17px/1.4 var(--adv-label); }
body[data-adventure] .sc-map { border: 0; border-radius: calc(var(--adv-radius) * .7); box-shadow: 0 0 0 3px var(--adv-card-line), 0 14px 30px rgba(0,0,0,.35); }
body[data-adventure] .sc-btn { font: 800 13px/1.1 var(--adv-label); letter-spacing: .16em; }
body[data-adventure] .sc-alt-links, body[data-adventure] .sc-alt-links a { color: var(--adv-muted); }
body[data-adventure] .sc-form label, body[data-adventure] .sc-legend { color: var(--adv-accent); font: 800 11px/1.3 var(--adv-label); letter-spacing: .2em; }
body[data-adventure] .sc-form input[type="text"], body[data-adventure] .sc-form select, body[data-adventure] .sc-form textarea { background: var(--adv-field); border: 1.5px solid var(--adv-field-line); border-radius: calc(var(--adv-radius) * .5); color: var(--adv-ink); font: 500 16px var(--adv-label); }
body[data-adventure] .sc-form input::placeholder, body[data-adventure] .sc-form textarea::placeholder { color: var(--adv-muted); opacity: .75; }
body[data-adventure] .sc-form input:focus, body[data-adventure] .sc-form textarea:focus, body[data-adventure] .sc-form select:focus { border-color: var(--adv-accent); box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
body[data-adventure] .sc-choice span { border: 1.5px solid var(--adv-field-line); border-radius: calc(var(--adv-radius) * .5); color: var(--adv-ink); background: var(--adv-field); font: 700 12px/1.3 var(--adv-label); letter-spacing: .1em; }
body[data-adventure] .sc-choice input:checked + span { background: var(--adv-btn); border-color: transparent; color: var(--adv-btn-ink); }
body[data-adventure] .sc-footer-sub, body[data-adventure] .rsvp-privacy { color: var(--adv-muted); }
body[data-adventure] .sc-thanks { color: var(--adv-ink); }
/* countdown: four themed tiles */
body[data-adventure] .countdown-bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
body[data-adventure] .countdown-item { padding: 12px 0 9px; border-radius: calc(var(--adv-radius) * .6); background: rgba(0,0,0,.18); box-shadow: inset 0 0 0 1.5px var(--adv-card-line); text-align: center; }
body[data-adventure] .countdown-val { display: block; color: var(--adv-ink); font: 800 32px/1 var(--adv-head); font-variant-numeric: tabular-nums; }
body[data-adventure] .countdown-lbl { color: var(--adv-accent); font: 800 10px/1.6 var(--adv-label); letter-spacing: .18em; text-transform: uppercase; }
/* ornaments that sit on the cards' corners (decorative only) */
body[data-adventure] .sc-section.adv-details::after, body[data-adventure] .sc-section.adv-location::after, body[data-adventure] .sc-section.adv-rsvp::after,
body[data-adventure] .sc-section.adv-programme::after, body[data-adventure] .sc-section.adv-welcome::after { content: ""; position: absolute; pointer-events: none; }
body[data-adventure] .sc-section.adv-details::after, body[data-adventure] .sc-section.adv-rsvp::after { right: -6px; top: -22px; width: 86px; height: 46px; background: var(--adv-a) center / contain no-repeat; }
body[data-adventure] .sc-section.adv-programme::after, body[data-adventure] .sc-section.adv-location::after, body[data-adventure] .sc-section.adv-welcome::after { left: -8px; top: -20px; width: 54px; height: 54px; background: var(--adv-b) center / contain no-repeat; }
/* the closing card */
body[data-adventure] .sc-footer { position: relative; overflow: hidden; margin-top: 18px; padding: 120px 22px 90px; background: var(--adv-finale-bg) center 40% / cover no-repeat; }
body[data-adventure] .sc-footer::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--adv-page) 0, rgba(0,0,0,.25) 35%, rgba(0,0,0,.55) 100%); }
body[data-adventure] .sc-footer > * { position: relative; }
body[data-adventure] .sc-footer .sc-script { color: #fff; font: 800 clamp(36px, 10vw, 54px)/1.08 var(--adv-script); text-shadow: 0 3px 18px rgba(0,0,0,.6); }
body[data-adventure] .sc-footer .sc-footer-sub { color: #fff; opacity: .9; text-shadow: 0 2px 10px rgba(0,0,0,.7); }
body[data-adventure] .sc-music { border-color: var(--adv-accent); color: var(--adv-accent); background: rgba(0,0,0,.55); }

/* ---- theme accents ---- */
/* Underwater: bubbles on the cards, a reef along the bottom of the invitation block */
body[data-adventure="kids-underwater"] .adv-top-card::after { content: ""; position: absolute; left: -14px; right: -14px; bottom: -44px; height: 70px; background: url(/themes/kids-underwater/assets/adventure/page/reef.svg) center bottom / 640px 85px repeat-x; pointer-events: none; }
body[data-adventure="kids-underwater"] .adventure-top { padding-bottom: 64px; }
body[data-adventure="kids-underwater"] .sc-flow > .sc-section { background-image: radial-gradient(circle at 93% 80%, rgba(191,255,255,.22) 0 5px, transparent 6px), radial-gradient(circle at 87% 89%, rgba(191,255,255,.18) 0 3px, transparent 4px), radial-gradient(circle at 7% 72%, rgba(191,255,255,.16) 0 4px, transparent 5px), var(--adv-card); }
body[data-adventure="kids-underwater"] .sc-h2, body[data-adventure="kids-underwater"] .adventure-top .adv-name { text-shadow: 0 3px 0 #032536; }
/* Space: chamfered console panels with corner brackets and a faint grid */
body[data-adventure="kids-space"] .sc-flow > .sc-section, body[data-adventure="kids-space"] .adv-top-card, body[data-adventure="kids-space-expedition"] .sc-flow > .sc-section, body[data-adventure="kids-space-expedition"] .adv-top-card {
  clip-path: polygon(22px 0, calc(100% - 22px) 0, 100% 22px, 100% calc(100% - 22px), calc(100% - 22px) 100%, 22px 100%, 0 calc(100% - 22px), 0 22px);
  background-image: linear-gradient(#7fe3ff, #7fe3ff), linear-gradient(#7fe3ff, #7fe3ff), linear-gradient(#7fe3ff, #7fe3ff), linear-gradient(#7fe3ff, #7fe3ff),
    repeating-linear-gradient(0deg, rgba(127,227,255,.05) 0 1px, transparent 1px 34px), repeating-linear-gradient(90deg, rgba(127,227,255,.05) 0 1px, transparent 1px 34px), var(--adv-card);
  background-size: 54px 3px, 54px 3px, 54px 3px, 54px 3px, auto, auto, auto; background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat, repeat, no-repeat;
  background-position: 30px 6px, calc(100% - 30px) 6px, 30px calc(100% - 6px), calc(100% - 30px) calc(100% - 6px), 0 0, 0 0, 0 0; }
body[data-adventure="kids-space"] .adv-top-card, body[data-adventure="kids-space-expedition"] .adv-top-card { padding-top: 64px; }
body[data-adventure="kids-space"] .adv-top-card .adv-emblem, body[data-adventure="kids-space-expedition"] .adv-top-card .adv-emblem { top: 12px; width: 48px; height: 48px; margin-left: -24px; }
body[data-adventure="kids-space"] .sc-h2, body[data-adventure="kids-space"] .adventure-top .adv-name, body[data-adventure="kids-space-expedition"] .sc-h2, body[data-adventure="kids-space-expedition"] .adventure-top .adv-name { text-shadow: 0 0 18px rgba(127,227,255,.45); }
body[data-adventure="kids-space"] .adventure-top .adv-name, body[data-adventure="kids-space-expedition"] .adventure-top .adv-name { font-size: clamp(34px, 10vw, 60px); }
body[data-adventure="kids-space"] .sc-section.adv-details::after, body[data-adventure="kids-space"] .sc-section.adv-rsvp::after, body[data-adventure="kids-space-expedition"] .sc-section.adv-details::after, body[data-adventure="kids-space-expedition"] .sc-section.adv-rsvp::after { right: 14px; top: 14px; width: 40px; height: 52px; }
body[data-adventure="kids-space"] .sc-section.adv-programme::after, body[data-adventure="kids-space"] .sc-section.adv-location::after, body[data-adventure="kids-space"] .sc-section.adv-welcome::after, body[data-adventure="kids-space-expedition"] .sc-section.adv-programme::after, body[data-adventure="kids-space-expedition"] .sc-section.adv-location::after, body[data-adventure="kids-space-expedition"] .sc-section.adv-welcome::after { left: 14px; top: 14px; width: 44px; height: 44px; }
body[data-adventure="kids-space"] .countdown-val, body[data-adventure="kids-space-expedition"] .countdown-val { color: var(--adv-accent); text-shadow: 0 0 12px rgba(127,227,255,.6); }
body[data-adventure="kids-space"] .adventure-actions a, body[data-adventure="kids-space"] .sc-btn, body[data-adventure="kids-space-expedition"] .adventure-actions a, body[data-adventure="kids-space-expedition"] .sc-btn { border-radius: 4px; }
/* Safari: field-notebook paper on a dark savannah page; leaves on the corners */
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-flow > .sc-section, body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .adv-top-card { box-shadow: inset 0 0 0 3px var(--adv-card-line), 0 18px 40px rgba(0,0,0,.45); }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-flow > .sc-section::before, body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .adv-ring { border-style: dashed; }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .adventure-top .adventure-detail { background: rgba(255,250,240,.7); }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .adventure-top .adv-name { text-shadow: 0 3px 0 #e2c58e; }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-script { font-weight: 400; }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .countdown-item { background: rgba(255,250,240,.6); }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-section.adv-details::after, body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-section.adv-rsvp::after { right: -18px; top: -26px; width: 92px; height: 92px; transform: scaleX(-1); }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-section.adv-programme::after, body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-section.adv-location::after, body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-section.adv-welcome::after { left: 10px; top: 12px; width: 34px; height: 64px; }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .adv-top-card::before { content: ""; position: absolute; left: -16px; top: -16px; width: 110px; height: 110px; background: var(--adv-a) center / contain no-repeat; pointer-events: none; }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-footer .sc-script { font-weight: 400; }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .sc-music { background: rgba(43,31,14,.8); }
/* the gate button, the mid-film prompt and the film's chips in the theme's colours and type */
body[data-adventure] .adventure-go { background: var(--adv-btn); color: var(--adv-btn-ink); font: 800 20px/1 var(--adv-label); letter-spacing: .04em; }
body[data-adventure] .adventure-open-kicker { color: var(--adv-accent); font-family: var(--adv-label); font-weight: 800; }
body[data-adventure] .adventure-hint { font-family: var(--adv-label); }
body[data-adventure] .adventure-pause { border-color: var(--adv-accent); font-family: var(--adv-label); font-weight: 800; }
body[data-adventure] .adventure-chip { border-color: var(--adv-card-line); font-family: var(--adv-label); font-weight: 700; }
body[data-adventure] .adventure-scroll { font-family: var(--adv-label); }
body[data-adventure] .adventure-scroll span { color: var(--adv-accent); }
body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .adventure-open-kicker, body:is([data-adventure="kids-safari-adventure"], [data-adventure="kids-dino-face"]) .adventure-scroll span { color: #f6c27a; }
@media (min-width: 700px) { body[data-adventure] .adv-top-art { height: 640px; } body[data-adventure] .adv-top-card { margin-top: 300px; } }
/* ======================================================================================================
   28 Oct 2026 next three films: Monster Truck (kids-trucks-adventure), Construction (kids-construction-adventure),
   Pirate (kids-pirate-adventure). Same page as the three above, in each film's own look. Appended only.
   Pictures: /themes/<id>/assets/adventure/page/ (film frames + original SVG ornaments). Fonts: the @font-face rules above.
   --adv-body = the paragraph/answer face (the display faces are kept for headings and labels).
   ====================================================================================================== */
.adventure-scene:is([data-theme="kids-trucks-adventure"], [data-theme="kids-trucks-face"]) { --adv-bg:#071028; --adv-ink:#f6f8ff; --adv-muted:rgba(246,248,255,.84); --adv-accent:#ffb52e; }
.adventure-scene[data-theme="kids-construction-adventure"] { --adv-bg:#12161d; --adv-ink:#f6f7fa; --adv-muted:rgba(246,247,250,.84); --adv-accent:#ffc814; }
.adventure-scene[data-theme="kids-pirate-adventure"] { --adv-bg:#0a171b; --adv-ink:#f6ead0; --adv-muted:rgba(246,234,208,.86); --adv-accent:#f0c869; }

body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) {
  --adv-page: #071028; --adv-bg: #071028; --adv-ink: #f6f8ff; --adv-muted: #c6d0ee; --adv-accent: #ffb52e; --adv-accent-2: #ff8a3d; --adv-hot: #ff5a1f;
  --adv-card: linear-gradient(180deg, #13295f 0, #0c1c4a 55%, #091539 100%); --adv-card-line: #ff9a1f; --adv-card-ring: rgba(255,181,46,.22);
  --adv-head: 'Bowlby Adv', 'Barlow Cond Adv', Impact, sans-serif; --adv-label: 'Barlow Cond Adv', 'Oswald', system-ui, sans-serif; --adv-script: 'Bowlby Adv', Impact, sans-serif;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #ffc24a, #ff8a1a); --adv-btn-ink: #1a0b02; --adv-field: rgba(3,9,28,.62); --adv-field-line: rgba(255,181,46,.5);
  --adv-radius: 16px; --adv-head-case: uppercase; --adv-head-track: .01em;
  --adv-emblem: url(/themes/kids-trucks-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-trucks-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-trucks-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-trucks-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-trucks-adventure/assets/adventure/page/decor-flag.svg); --adv-b: url(/themes/kids-trucks-adventure/assets/adventure/page/decor-tyre.svg);
  font-synthesis: none;
  background: #071028;
  background-image: radial-gradient(560px 380px at 10% 0, rgba(255,226,160,.18), transparent 70%), radial-gradient(560px 380px at 90% 0, rgba(255,226,160,.14), transparent 70%),
    linear-gradient(180deg, #0f2259 0, #0a1840 30%, #060d26 100%);
}
body[data-adventure="kids-construction-adventure"] {
  --adv-page: #12161d; --adv-bg: #12161d; --adv-ink: #f6f7fa; --adv-muted: #c9d1dd; --adv-accent: #ffc814; --adv-accent-2: #ffe08a; --adv-hot: #ff7a1a;
  --adv-card: linear-gradient(180deg, #1d2b45 0, #16223a 60%, #121c31 100%); --adv-card-line: #ffc814; --adv-card-ring: rgba(255,200,20,.2);
  --adv-head: 'Archivo Adv', 'Arial Black', sans-serif; --adv-label: 'Barlow Cond Adv', 'Oswald', system-ui, sans-serif; --adv-script: 'Archivo Adv', 'Arial Black', sans-serif;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #ffd84a, #ffc014); --adv-btn-ink: #16130a; --adv-field: rgba(8,12,20,.6); --adv-field-line: rgba(255,200,20,.5);
  --adv-radius: 8px; --adv-head-case: uppercase; --adv-head-track: .01em;
  --adv-emblem: url(/themes/kids-construction-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-construction-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-construction-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-construction-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-construction-adventure/assets/adventure/page/decor-cone.svg); --adv-b: url(/themes/kids-construction-adventure/assets/adventure/page/decor-hat.svg);
  font-synthesis: none;
  background: #12161d;
  background-image: repeating-linear-gradient(-45deg, rgba(255,200,20,.025) 0 2px, transparent 2px 26px), linear-gradient(180deg, #232a35 0, #181d25 35%, #0f1217 100%);
}
body[data-adventure="kids-pirate-adventure"] {
  --adv-page: #0a171b; --adv-bg: #0a171b; --adv-ink: #3a1c07; --adv-muted: #5e3d22; --adv-accent: #7f3a10; --adv-accent-2: #7a5a12; --adv-hot: #a3241b;
  --adv-card: radial-gradient(ellipse at 50% 38%, #fcf3dd 0, #f3e3bf 62%, #dfc48f 100%); --adv-card-line: #6e4a22; --adv-card-ring: rgba(110,74,34,.5);
  --adv-head: 'Cinzel Adv', 'Cinzel', Georgia, serif; --adv-label: 'Cinzel Adv', 'Cinzel', Georgia, serif; --adv-script: 'Cormorant Adv', 'Cormorant Garamond', Georgia, serif;
  --adv-body: 'Cormorant Garamond', Georgia, serif;
  --adv-btn: linear-gradient(180deg, #b8382a, #8a1f15); --adv-btn-ink: #fff3dc; --adv-field: #fffaf0; --adv-field-line: rgba(110,74,34,.55);
  --adv-radius: 6px; --adv-head-case: uppercase; --adv-head-track: .03em;
  --adv-emblem: url(/themes/kids-pirate-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-pirate-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-pirate-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-pirate-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-pirate-adventure/assets/adventure/page/decor-compass.svg); --adv-b: url(/themes/kids-pirate-adventure/assets/adventure/page/decor-anchor.svg);
  font-synthesis: none;
  background: #0a171b;
  background-image: radial-gradient(760px 520px at 50% 0, rgba(46,120,128,.32), transparent 70%), radial-gradient(520px 420px at 0 55%, rgba(214,130,46,.10), transparent 70%),
    radial-gradient(520px 420px at 100% 80%, rgba(214,130,46,.08), transparent 70%), linear-gradient(180deg, #12292e 0, #0c1d21 40%, #070f12 100%);
}

/* ---- shared by the three: readable body face, display faces at their own weight ---- */
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"], [data-adventure="kids-pirate-adventure"]) :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"], [data-adventure="kids-pirate-adventure"]) .adventure-top .adventure-detail { font-family: var(--adv-body); }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"], [data-adventure="kids-pirate-adventure"]) .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) :is(.adventure-top h1, .sc-h2, .countdown-val, .adv-age b) { font-weight: 400; }
/* Barlow Condensed is narrow: labels a size up and a little less tracking than the wide label faces above */
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .adv-eyebrow { font-size: 15px; letter-spacing: .2em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .adventure-top .adventure-eyebrow { font: 800 16px/1.2 var(--adv-label); letter-spacing: .2em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) :is(.sc-label, .sc-form label, .sc-legend) { font-size: 14px; letter-spacing: .14em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .adventure-top .adventure-detail strong { font-size: 14px; letter-spacing: .18em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .adventure-top .adv-occasion { font: 800 clamp(17px, 4.6vw, 21px)/1.25 var(--adv-label); letter-spacing: .16em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .sc-time { font-size: 18px; letter-spacing: .06em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .countdown-lbl { font-size: 12px; letter-spacing: .16em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .adventure-actions a { font: 800 18px/1 var(--adv-label); letter-spacing: .1em; text-transform: uppercase; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .sc-btn { font: 800 15px/1.1 var(--adv-label); letter-spacing: .14em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .sc-choice span { font: 800 14px/1.25 var(--adv-label); letter-spacing: .1em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .adv-age span { font: 800 12px/1 var(--adv-label); letter-spacing: .16em; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"], [data-adventure="kids-construction-adventure"]) .rsvp-privacy { font-family: var(--adv-label); font-size: 14px; letter-spacing: .1em; }

/* ---- Monster Truck: race-control panels (navy, orange rim, chequered strips) and the Flame name from the film ---- */
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-flow > .sc-section, body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adv-top-card {
  background: repeating-conic-gradient(#f2f4fb 0 25%, #10131c 0 50%) 0 3px / 14px 14px repeat-x, repeating-conic-gradient(#f2f4fb 0 25%, #10131c 0 50%) 0 calc(100% - 3px) / 14px 14px repeat-x, var(--adv-card);
  box-shadow: inset 0 0 0 3px var(--adv-card-line), 0 0 0 1px rgba(0,0,0,.45), 0 18px 44px rgba(0,0,0,.5), 0 0 36px rgba(255,140,30,.14); }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-flow > .sc-section::before, body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adv-ring { inset: 24px 9px; border-radius: 8px; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-flow > .sc-section { padding-top: 48px; padding-bottom: 40px; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-flow > .sc-section.sc-countdown-wrap { padding: 30px 14px; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adventure-top .adventure-eyebrow { display: inline-block; margin: 0 0 14px; padding: 7px 18px 6px; background: linear-gradient(180deg, #ffc24a, #ff8a1a); color: #1a0b02; transform: skewX(-12deg); box-shadow: 0 3px 0 #8f3504; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adventure-top .adv-name, body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-footer .sc-script {
  color: transparent; background: linear-gradient(180deg, #fffbe0 8%, #ffe14a 34%, #ff9a12 60%, #e8380d 92%) 0 0 / 100% 1em repeat-y; -webkit-background-clip: text; background-clip: text;
  -webkit-text-stroke: 3px #1a0700; paint-order: stroke fill; text-shadow: none; transform: skewX(-9deg);
  filter: drop-shadow(0 2px 0 #b8330a) drop-shadow(0 2px 0 #7a1d04) drop-shadow(0 2px 0 #4a1002) drop-shadow(0 8px 8px rgba(0,0,0,.6)); }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adventure-top .adv-name { padding: 2px 6px 8px; line-height: 1; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-footer .sc-script { background-size: 100% 1.08em; font-weight: 400; font-size: clamp(28px, 8vw, 46px); text-transform: uppercase; -webkit-text-stroke-width: 2px; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adventure-top .adv-occasion { color: var(--adv-accent-2); }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-h2 { color: #fff; font-size: clamp(25px, 6.8vw, 36px); text-shadow: 0 3px 0 #c2410c, 0 7px 14px rgba(0,0,0,.45); transform: skewX(-6deg); }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-script { font: 400 clamp(22px, 6vw, 30px)/1.15 var(--adv-script); color: var(--adv-accent); transform: skewX(-6deg); }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-signature { font: 400 22px/1.2 var(--adv-script); }
/* 28/10: the age is a line under the name (Gary: the round badge did not suit the adventures), themed per design */
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adventure-top h1 .adv-age { display: block; color: #ffb12e; font: 400 clamp(22px, 6vw, 30px)/1.2 "Bowlby Adv", var(--adv-head); letter-spacing: .04em; transform: skewX(-9deg); text-shadow: 0 2px 0 #8f3504, 0 4px 0 #4a1002; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .countdown-item { background: rgba(2,8,26,.45); }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .countdown-val { color: #fff; font-size: 30px; text-shadow: 0 2px 0 #c2410c; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adventure-actions a, body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-btn { border-radius: 10px; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-section.adv-details::after, body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-section.adv-rsvp::after { right: -12px; top: -34px; width: 104px; height: 70px; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-section.adv-programme::after, body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-section.adv-location::after, body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-section.adv-welcome::after { left: -12px; top: -24px; width: 60px; height: 60px; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adv-top-card::before { content: ""; position: absolute; left: -10px; top: -40px; width: 112px; height: 76px; background: var(--adv-a) center / contain no-repeat; pointer-events: none; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .adv-top-card::after { content: ""; position: absolute; right: -8px; top: -26px; width: 64px; height: 64px; background: var(--adv-b) center / contain no-repeat; pointer-events: none; }
body:is([data-adventure="kids-trucks-adventure"], [data-adventure="kids-trucks-face"]) .sc-music { background: rgba(7,16,40,.82); }

/* ---- Construction: site signs (navy panel in a safety-yellow frame, hazard bands, corner bolts) ---- */
body[data-adventure="kids-construction-adventure"] .sc-flow > .sc-section, body[data-adventure="kids-construction-adventure"] .adv-top-card {
  background:
    radial-gradient(circle at 18px 30px, #ffe27a 0 2.5px, #8a6d00 3px 4px, transparent 4.6px), radial-gradient(circle at calc(100% - 18px) 30px, #ffe27a 0 2.5px, #8a6d00 3px 4px, transparent 4.6px),
    radial-gradient(circle at 18px calc(100% - 30px), #ffe27a 0 2.5px, #8a6d00 3px 4px, transparent 4.6px), radial-gradient(circle at calc(100% - 18px) calc(100% - 30px), #ffe27a 0 2.5px, #8a6d00 3px 4px, transparent 4.6px),
    repeating-linear-gradient(-45deg, #ffc814 0 12px, #16130a 12px 24px) 0 0 / 100% 16px no-repeat, repeating-linear-gradient(-45deg, #ffc814 0 12px, #16130a 12px 24px) 0 100% / 100% 16px no-repeat,
    var(--adv-card);
  box-shadow: inset 0 0 0 4px var(--adv-card-line), 0 0 0 1px rgba(0,0,0,.5), 0 18px 40px rgba(0,0,0,.5); }
body[data-adventure="kids-construction-adventure"] .sc-flow > .sc-section::before, body[data-adventure="kids-construction-adventure"] .adv-ring { inset: 24px 30px; border-width: 1px; border-radius: 2px; }
body[data-adventure="kids-construction-adventure"] .sc-flow > .sc-section { padding-top: 50px; padding-bottom: 42px; }
body[data-adventure="kids-construction-adventure"] .sc-flow > .sc-section.sc-countdown-wrap { padding: 32px 16px; }
body[data-adventure="kids-construction-adventure"] .sc-flow > .sc-section.sc-countdown-wrap::before { display: none; }
body[data-adventure="kids-construction-adventure"] .adv-top-card { padding-top: 52px; }
body[data-adventure="kids-construction-adventure"] .adventure-top .adv-name, body[data-adventure="kids-construction-adventure"] .sc-h2 { color: #fff; text-shadow: 0 4px 0 rgba(0,0,0,.5); }
body[data-adventure="kids-construction-adventure"] .adventure-top .adv-name { font-size: clamp(38px, 11vw, 66px); }
body[data-adventure="kids-construction-adventure"] .sc-h2 { font-size: clamp(25px, 6.8vw, 36px); }
body[data-adventure="kids-construction-adventure"] .sc-script { font: 400 clamp(21px, 5.6vw, 28px)/1.15 var(--adv-script); color: var(--adv-accent); }
body[data-adventure="kids-construction-adventure"] .sc-signature { font: 400 21px/1.2 var(--adv-script); }
body[data-adventure="kids-construction-adventure"] .adventure-top h1 .adv-age { display: block; color: #ffd331; font: 400 clamp(20px, 5.6vw, 26px)/1.2 "Archivo Adv", var(--adv-head); letter-spacing: .03em; }
body[data-adventure="kids-construction-adventure"] .countdown-item { border-radius: 4px; background: rgba(8,12,20,.55); box-shadow: inset 0 0 0 2px rgba(255,200,20,.55); }
body[data-adventure="kids-construction-adventure"] .countdown-val { color: #fff; font-size: 30px; }
body[data-adventure="kids-construction-adventure"] .adventure-actions a, body[data-adventure="kids-construction-adventure"] .sc-btn { border-radius: 6px; }
body[data-adventure="kids-construction-adventure"] .sc-footer .sc-script { font: 400 clamp(30px, 8.6vw, 48px)/1.1 var(--adv-script); text-transform: uppercase; text-shadow: 0 4px 0 rgba(0,0,0,.55), 0 6px 22px rgba(0,0,0,.6); }
body[data-adventure="kids-construction-adventure"] .sc-section.adv-details::after, body[data-adventure="kids-construction-adventure"] .sc-section.adv-rsvp::after { right: 10px; top: -44px; width: 48px; height: 60px; }
body[data-adventure="kids-construction-adventure"] .sc-section.adv-programme::after, body[data-adventure="kids-construction-adventure"] .sc-section.adv-location::after, body[data-adventure="kids-construction-adventure"] .sc-section.adv-welcome::after { left: -8px; top: -30px; width: 78px; height: 52px; }
body[data-adventure="kids-construction-adventure"] .adv-top-card::before { content: ""; position: absolute; left: 10px; top: -50px; width: 54px; height: 68px; background: var(--adv-a) center / contain no-repeat; pointer-events: none; }
body[data-adventure="kids-construction-adventure"] .adv-top-card::after { content: ""; position: absolute; right: -4px; top: -32px; width: 86px; height: 58px; background: var(--adv-b) center / contain no-repeat; pointer-events: none; }
body[data-adventure="kids-construction-adventure"] .sc-music { background: rgba(18,22,29,.85); }

/* ---- Pirate: treasure-map parchment on a dark sea-cave page; wax-seal red, old gold, ink-brown ---- */
body[data-adventure="kids-pirate-adventure"] .sc-flow > .sc-section, body[data-adventure="kids-pirate-adventure"] .adv-top-card {
  box-shadow: inset 0 0 0 2px var(--adv-card-line), inset 0 0 42px rgba(122,74,28,.34), 0 0 0 1px rgba(0,0,0,.4), 0 18px 44px rgba(0,0,0,.55); }
body[data-adventure="kids-pirate-adventure"] .sc-flow > .sc-section::before, body[data-adventure="kids-pirate-adventure"] .adv-ring { inset: 9px; border: 3px double var(--adv-card-ring); border-radius: 2px; }
body[data-adventure="kids-pirate-adventure"] .adventure-top .adv-name { font: 400 clamp(40px, 12vw, 70px)/1.02 'Cinzel Deco Adv', 'Cinzel Adv', Georgia, serif; color: #3a1c07; text-transform: none; text-shadow: 0 1px 0 #fff3cf, 0 3px 0 rgba(122,74,28,.25); }
body[data-adventure="kids-pirate-adventure"] .adventure-top h1, body[data-adventure="kids-pirate-adventure"] .sc-h2 { font-weight: 900; }
body[data-adventure="kids-pirate-adventure"] .sc-h2 { color: #3a1c07; font-size: clamp(25px, 6.8vw, 36px); text-shadow: 0 1px 0 #fff3cf; }
body[data-adventure="kids-pirate-adventure"] .adventure-top .adv-occasion { font: 700 clamp(14px, 3.9vw, 17px)/1.3 var(--adv-label); }
body[data-adventure="kids-pirate-adventure"] .adventure-top .adventure-eyebrow, body[data-adventure="kids-pirate-adventure"] .adv-eyebrow { font-weight: 700; }
body[data-adventure="kids-pirate-adventure"] :is(.sc-script, .sc-signature) { font-family: var(--adv-script); font-style: italic; font-weight: 600; color: #8f2a1c; }
body[data-adventure="kids-pirate-adventure"] .sc-script { font-size: clamp(30px, 8vw, 40px); }
body[data-adventure="kids-pirate-adventure"] .sc-signature { font-size: 28px; }
body[data-adventure="kids-pirate-adventure"] .sc-lead { font-size: 20px; font-weight: 600; line-height: 1.55; }
body[data-adventure="kids-pirate-adventure"] .sc-value { font-size: 20px; font-weight: 600; line-height: 1.4; }
body[data-adventure="kids-pirate-adventure"] .sc-what { font-size: 19px; font-weight: 600; }
body[data-adventure="kids-pirate-adventure"] .adventure-top .adventure-detail { font-size: 19px; font-weight: 700; background: rgba(255,250,240,.6); }
body[data-adventure="kids-pirate-adventure"] .sc-form :is(input[type="text"], select, textarea) { font-size: 18px; font-weight: 600; }
body[data-adventure="kids-pirate-adventure"] .sc-time { font-weight: 700; }
body[data-adventure="kids-pirate-adventure"] :is(.sc-lead, .sc-value, .sc-what, .sc-time, .adventure-detail, .sc-form input, .sc-form textarea) { font-variant-numeric: lining-nums; }
body[data-adventure="kids-pirate-adventure"] .adventure-top h1 .adv-age { display: block; color: #a3241b; font: italic 600 clamp(26px, 7vw, 34px)/1.2 "Cormorant Adv", var(--adv-script); letter-spacing: 0; text-transform: none; }
body[data-adventure="kids-pirate-adventure"] .countdown-item { background: rgba(255,250,240,.55); }
body[data-adventure="kids-pirate-adventure"] .countdown-val { font-weight: 900; }
body[data-adventure="kids-pirate-adventure"] .adventure-actions a, body[data-adventure="kids-pirate-adventure"] .sc-btn { border-radius: 8px; }
body[data-adventure="kids-pirate-adventure"] .adventure-actions a { font: 700 15px/1 var(--adv-label); letter-spacing: .08em; }
body[data-adventure="kids-pirate-adventure"] .sc-footer .sc-script { color: #fff6e0; font-size: clamp(38px, 10.5vw, 56px); text-shadow: 0 3px 18px rgba(0,0,0,.7); }
body[data-adventure="kids-pirate-adventure"] .sc-footer .sc-footer-sub { font-weight: 700; }
body[data-adventure="kids-pirate-adventure"] .sc-section.adv-details::after, body[data-adventure="kids-pirate-adventure"] .sc-section.adv-rsvp::after { right: -14px; top: -28px; width: 78px; height: 78px; }
body[data-adventure="kids-pirate-adventure"] .sc-section.adv-programme::after, body[data-adventure="kids-pirate-adventure"] .sc-section.adv-location::after, body[data-adventure="kids-pirate-adventure"] .sc-section.adv-welcome::after { left: -8px; top: -30px; width: 46px; height: 58px; transform: rotate(-14deg); }
body[data-adventure="kids-pirate-adventure"] .adv-top-card::before { content: ""; position: absolute; left: -16px; top: -24px; width: 96px; height: 96px; background: var(--adv-a) center / contain no-repeat; pointer-events: none; }
body[data-adventure="kids-pirate-adventure"] .sc-music { background: rgba(10,23,27,.85); }
/* the gate, the mid-film prompt and the chips sit on the film: light on dark for the parchment theme too */
body[data-adventure="kids-pirate-adventure"] .adventure-chip { border-color: rgba(240,200,105,.55); }
body[data-adventure="kids-pirate-adventure"] .adventure-pause { background: rgba(10,23,27,.82); }
/* ======================================================================================================
   29 Oct 2026 Superhero (kids-superhero-adventure): comic-book page. Deep navy page, cream comic panels with navy ink
   outlines and a hard red offset shadow, hero red + a touch of yellow, faint halftone dots. Appended only; same structure
   as the three blocks above. Pictures: /themes/kids-superhero-adventure/assets/adventure/page/ (film frames + original SVGs).
   The shared "body:is(...)" rules above do not list this id, so their equivalents are repeated here.
   ====================================================================================================== */
.adventure-scene[data-theme="kids-superhero-adventure"] { --adv-bg:#0b1a3d; --adv-ink:#f6f8ff; --adv-muted:rgba(246,248,255,.86); --adv-accent:#ffcc33; }

body[data-adventure="kids-superhero-adventure"] {
  --adv-page: #0b1a3d; --adv-bg: #0b1a3d; --adv-ink: #0e1f4a; --adv-muted: #3a4768; --adv-accent: #b3201f; --adv-accent-2: #0e1f4a; --adv-hot: #ffcc33;
  --adv-navy: #0b1a3d; --adv-red: #d22f26; --adv-yellow: #ffcc33; --adv-cream: #f4edd9;
  --adv-card: #f4edd9; --adv-card-line: #0b1a3d; --adv-card-ring: rgba(11,26,61,.16);
  --adv-head: 'Bowlby Adv', 'Barlow Cond Adv', Impact, sans-serif; --adv-label: 'Barlow Cond Adv', 'Oswald', system-ui, sans-serif; --adv-script: 'Bowlby Adv', Impact, sans-serif;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #e2402f, #b8231c); --adv-btn-ink: #ffffff; --adv-field: #fffaf0; --adv-field-line: rgba(11,26,61,.6);
  --adv-radius: 10px; --adv-head-case: uppercase; --adv-head-track: .01em;
  --adv-emblem: url(/themes/kids-superhero-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-superhero-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-superhero-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-superhero-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-superhero-adventure/assets/adventure/page/decor-burst.svg); --adv-b: url(/themes/kids-superhero-adventure/assets/adventure/page/decor-mask.svg);
  font-synthesis: none;
  background-color: #0b1a3d;
  background-image: repeating-conic-gradient(from 0deg at 50% -6%, rgba(255,255,255,.045) 0 3deg, transparent 3deg 9deg), radial-gradient(circle, rgba(255,204,51,.10) 1.3px, transparent 1.9px),
    radial-gradient(700px 480px at 50% 0, rgba(60,110,220,.35), transparent 72%), linear-gradient(180deg, #14306a 0, #0d2150 28%, #0a1a40 60%, #071230 100%);
  background-size: 100% 900px, 14px 14px, 100% 100%, 100% 100%; background-repeat: no-repeat, repeat, no-repeat, no-repeat;
}

/* ---- readable body face, display faces at their own weight (the shared rules above do not list this id) ---- */
body[data-adventure="kids-superhero-adventure"] :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body[data-adventure="kids-superhero-adventure"] .adventure-top .adventure-detail { font-family: var(--adv-body); }
body[data-adventure="kids-superhero-adventure"] .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); }
body[data-adventure="kids-superhero-adventure"] :is(.adventure-top h1, .sc-h2, .countdown-val, .adv-age b) { font-weight: 400; }
body[data-adventure="kids-superhero-adventure"] .adv-eyebrow { font-size: 15px; letter-spacing: .2em; }
body[data-adventure="kids-superhero-adventure"] .adventure-top .adventure-eyebrow { font: 800 16px/1.2 var(--adv-label); letter-spacing: .2em; }
body[data-adventure="kids-superhero-adventure"] :is(.sc-label, .sc-form label, .sc-legend) { font-size: 14px; letter-spacing: .14em; }
body[data-adventure="kids-superhero-adventure"] .adventure-top .adventure-detail strong { font-size: 14px; letter-spacing: .18em; }
body[data-adventure="kids-superhero-adventure"] .adventure-top .adv-occasion { font: 800 clamp(17px, 4.6vw, 21px)/1.25 var(--adv-label); letter-spacing: .16em; }
body[data-adventure="kids-superhero-adventure"] .sc-time { font-size: 18px; letter-spacing: .06em; }
body[data-adventure="kids-superhero-adventure"] .countdown-lbl { font-size: 12px; letter-spacing: .16em; }
body[data-adventure="kids-superhero-adventure"] .adventure-actions a { font: 800 18px/1 var(--adv-label); letter-spacing: .1em; text-transform: uppercase; }
body[data-adventure="kids-superhero-adventure"] .sc-btn { font: 800 15px/1.1 var(--adv-label); letter-spacing: .14em; }
body[data-adventure="kids-superhero-adventure"] .sc-choice span { font: 800 14px/1.25 var(--adv-label); letter-spacing: .1em; }
body[data-adventure="kids-superhero-adventure"] .adv-age span { font: 800 12px/1 var(--adv-label); letter-spacing: .16em; }
body[data-adventure="kids-superhero-adventure"] .rsvp-privacy { font-family: var(--adv-label); font-size: 14px; letter-spacing: .1em; }

/* ---- comic panels: cream paper, navy ink outline, hard red offset shadow, red + yellow header band, faint halftone at the edges ---- */
body[data-adventure="kids-superhero-adventure"] .sc-flow > .sc-section, body[data-adventure="kids-superhero-adventure"] .adv-top-card {
  background:
    linear-gradient(#d22f26, #d22f26) 0 0 / 100% 9px no-repeat, linear-gradient(#ffcc33, #ffcc33) 0 9px / 100% 3px no-repeat,
    radial-gradient(ellipse 62% 66% at 50% 56%, #f4edd9 52%, rgba(244,237,217,0) 100%),
    radial-gradient(circle, rgba(210,47,38,.22) 1.4px, transparent 1.9px) 0 0 / 9px 9px,
    var(--adv-card);
  box-shadow: inset 0 0 0 3px #0b1a3d, 6px 7px 0 #d22f26, 6px 7px 0 3px #0b1a3d, 0 22px 40px rgba(0,0,0,.4); }
body[data-adventure="kids-superhero-adventure"] .sc-flow > .sc-section { padding-top: 54px; padding-bottom: 38px; width: calc(100% - 40px); }
body[data-adventure="kids-superhero-adventure"] .sc-flow > .sc-section::before, body[data-adventure="kids-superhero-adventure"] .adv-ring { inset: 20px 10px 10px; border: 2px solid rgba(11,26,61,.16); border-radius: 4px; }
body[data-adventure="kids-superhero-adventure"] .adv-top-card { padding-top: 56px; }
body[data-adventure="kids-superhero-adventure"] .adventure-top { padding-left: 20px; padding-right: 20px; }
body[data-adventure="kids-superhero-adventure"] .adv-top-card .adv-emblem { top: -36px; width: 72px; height: 72px; margin-left: -36px; z-index: 2; }
/* the countdown is a navy panel with yellow numbers */
body[data-adventure="kids-superhero-adventure"] .sc-flow > .sc-section.sc-countdown-wrap {
  --adv-ink: #fff; --adv-accent: #ffcc33; --adv-card-line: #ffcc33; padding: 46px 14px 28px;
  background: linear-gradient(#ffcc33, #ffcc33) 0 0 / 100% 7px no-repeat, linear-gradient(#d22f26, #d22f26) 0 7px / 100% 3px no-repeat, radial-gradient(circle, rgba(255,204,51,.14) 1.3px, transparent 1.8px) 0 0 / 10px 10px, linear-gradient(180deg, #1b3a7a, #10285a);
  box-shadow: inset 0 0 0 3px #ffcc33, 6px 7px 0 #d22f26, 6px 7px 0 3px #0b1a3d, 0 22px 40px rgba(0,0,0,.4); }
body[data-adventure="kids-superhero-adventure"] .sc-flow > .sc-section.sc-countdown-wrap::before { display: none; }
body[data-adventure="kids-superhero-adventure"] .countdown-item { border-radius: 6px; background: rgba(6,14,38,.5); box-shadow: inset 0 0 0 2px rgba(255,204,51,.7); }
body[data-adventure="kids-superhero-adventure"] .countdown-val { color: #ffcc33; font-size: 30px; text-shadow: 0 3px 0 #d22f26; }
body[data-adventure="kids-superhero-adventure"] .countdown-lbl { color: #fff; }

/* ---- name, headings: red Bowlby with a navy outline and a navy 3D edge, as on the film's end card ---- */
body[data-adventure="kids-superhero-adventure"] .adventure-top .adv-name, body[data-adventure="kids-superhero-adventure"] .sc-h2, body[data-adventure="kids-superhero-adventure"] .sc-script {
  color: #e63b2c; -webkit-text-stroke: 5px #0b1a3d; paint-order: stroke fill; text-shadow: none; transform: skewX(-7deg);
  filter: drop-shadow(0 2px 0 #0b1a3d) drop-shadow(0 4px 0 #0b1a3d) drop-shadow(0 7px 6px rgba(11,26,61,.3)); }
body[data-adventure="kids-superhero-adventure"] .adventure-top .adv-name { padding: 4px 8px 8px; font-size: clamp(40px, 12vw, 66px); line-height: 1; -webkit-text-stroke-width: 7px; }
body[data-adventure="kids-superhero-adventure"] .sc-h2 { font-size: clamp(25px, 6.8vw, 34px); line-height: 1.2; -webkit-text-stroke-width: 4.5px; }
body[data-adventure="kids-superhero-adventure"] .sc-script { font: 400 clamp(24px, 6.4vw, 31px)/1.16 var(--adv-script); -webkit-text-stroke-width: 4.5px; }
body[data-adventure="kids-superhero-adventure"] .sc-signature { font: 400 21px/1.2 var(--adv-script); color: #b3201f; }
body[data-adventure="kids-superhero-adventure"] .sc-lead { font-size: 17px; font-weight: 500; line-height: 1.6; color: #0e1f4a; }
body[data-adventure="kids-superhero-adventure"] .sc-value { font-size: 17px; font-weight: 600; line-height: 1.45; color: #0e1f4a; }
body[data-adventure="kids-superhero-adventure"] .sc-what { font-size: 16.5px; font-weight: 600; color: #0e1f4a; }
body[data-adventure="kids-superhero-adventure"] .sc-label, body[data-adventure="kids-superhero-adventure"] .sc-time { color: #b3201f; }
body[data-adventure="kids-superhero-adventure"] .sc-detail, body[data-adventure="kids-superhero-adventure"] .sc-timeline li { border-bottom-color: rgba(11,26,61,.22); }
body[data-adventure="kids-superhero-adventure"] .adv-eyebrow { color: #b3201f; }
body[data-adventure="kids-superhero-adventure"] .sc-flow > .sc-section.sc-countdown-wrap .adv-eyebrow { color: #ffcc33; }
body[data-adventure="kids-superhero-adventure"] .adv-eyebrow .adv-emblem { width: 50px; height: 50px; margin-top: -4px; filter: drop-shadow(0 3px 0 rgba(11,26,61,.25)); }
body[data-adventure="kids-superhero-adventure"] .sc-dot { width: 22px; height: 22px; }
body[data-adventure="kids-superhero-adventure"] .sc-alt-links, body[data-adventure="kids-superhero-adventure"] .sc-alt-links a { color: #2a3860; }
body[data-adventure="kids-superhero-adventure"] .sc-map { box-shadow: 0 0 0 3px #0b1a3d, 5px 6px 0 3px #d22f26; }
/* the "invited" tag and the age as a line (not a badge) */
body[data-adventure="kids-superhero-adventure"] .adventure-top .adventure-eyebrow { display: inline-block; margin: 0 0 14px; padding: 7px 18px 6px; background: #0b1a3d; color: #ffcc33; transform: skewX(-10deg); box-shadow: 3px 3px 0 #d22f26; }
body[data-adventure="kids-superhero-adventure"] .adventure-top h1 { margin-top: 2px; }
body[data-adventure="kids-superhero-adventure"] .adventure-top h1 .adv-age { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 10px 0 0; color: #0b1a3d; font: 400 clamp(21px, 5.8vw, 28px)/1.2 "Bowlby Adv", var(--adv-head); letter-spacing: .04em; text-shadow: 0 2px 0 rgba(255,204,51,.9); }
body[data-adventure="kids-superhero-adventure"] .adventure-top h1 .adv-age::before, body[data-adventure="kids-superhero-adventure"] .adventure-top h1 .adv-age::after { content: ""; flex: 0 1 44px; height: 4px; background: linear-gradient(90deg, #d22f26 0 70%, #ffcc33 70%); transform: skewX(-30deg); }
body[data-adventure="kids-superhero-adventure"] .adventure-top h1 .adv-age::after { transform: skewX(-30deg) scaleX(-1); }
body[data-adventure="kids-superhero-adventure"] .adventure-top .adv-occasion { color: #0e1f4a; margin-top: 12px; }
body[data-adventure="kids-superhero-adventure"] .adventure-top .adventure-detail { background: rgba(11,26,61,.06); color: #0e1f4a; font-size: 17px; font-weight: 700; box-shadow: inset 4px 0 0 #d22f26, inset 0 0 0 1.5px rgba(11,26,61,.3); }
body[data-adventure="kids-superhero-adventure"] .adventure-top .adventure-detail strong { color: #b3201f; }

/* ---- buttons, form ---- */
body[data-adventure="kids-superhero-adventure"] .adventure-actions a, body[data-adventure="kids-superhero-adventure"] .sc-btn { border-radius: 8px; }
body[data-adventure="kids-superhero-adventure"] .adventure-actions a { box-shadow: 0 0 0 3px #0b1a3d, 4px 5px 0 3px #0b1a3d; }
body[data-adventure="kids-superhero-adventure"] .adventure-actions a.adventure-ghost, body[data-adventure="kids-superhero-adventure"] .sc-btn-ghost { background: #fffaf0; color: #0b1a3d; box-shadow: inset 0 0 0 2.5px #0b1a3d, 3px 4px 0 #0b1a3d; }
body[data-adventure="kids-superhero-adventure"] .adventure-actions a.adventure-ghost { box-shadow: 0 0 0 3px #0b1a3d, 4px 5px 0 3px #0b1a3d; }
body[data-adventure="kids-superhero-adventure"] .sc-btn-solid { box-shadow: 0 0 0 2.5px #0b1a3d, 3px 4px 0 2.5px #0b1a3d; }
body[data-adventure="kids-superhero-adventure"] .sc-form input[type="text"], body[data-adventure="kids-superhero-adventure"] .sc-form select, body[data-adventure="kids-superhero-adventure"] .sc-form textarea { border-width: 2px; border-color: #0b1a3d; border-radius: 6px; background: #fffaf0; color: #0b1a3d; font-size: 16px; font-weight: 600; }
body[data-adventure="kids-superhero-adventure"] .sc-form input::placeholder, body[data-adventure="kids-superhero-adventure"] .sc-form textarea::placeholder { color: #55607e; opacity: 1; }
body[data-adventure="kids-superhero-adventure"] .sc-form input:focus, body[data-adventure="kids-superhero-adventure"] .sc-form textarea:focus, body[data-adventure="kids-superhero-adventure"] .sc-form select:focus { border-color: #d22f26; box-shadow: 0 0 0 3px rgba(255,204,51,.7); outline: none; }
body[data-adventure="kids-superhero-adventure"] .sc-choice span { border: 2px solid #0b1a3d; border-radius: 6px; background: #fffaf0; color: #0b1a3d; }
body[data-adventure="kids-superhero-adventure"] .sc-choice input:checked + span { background: var(--adv-btn); color: #fff; border-color: #0b1a3d; box-shadow: 3px 3px 0 #0b1a3d; }
body[data-adventure="kids-superhero-adventure"] .sc-choice input:focus-visible + span { outline: 3px solid #ffcc33; outline-offset: 2px; }
body[data-adventure="kids-superhero-adventure"] .sc-form label, body[data-adventure="kids-superhero-adventure"] .sc-legend { color: #b3201f; }
body[data-adventure="kids-superhero-adventure"] .rsvp-privacy, body[data-adventure="kids-superhero-adventure"] .sc-footer-sub { color: #3a4768; }
body[data-adventure="kids-superhero-adventure"] .sc-thanks { color: #0e1f4a; }

/* ---- corner ornaments ---- */
body[data-adventure="kids-superhero-adventure"] .sc-section.adv-details::after, body[data-adventure="kids-superhero-adventure"] .sc-section.adv-rsvp::after { right: -16px; top: -34px; width: 96px; height: 67px; }
body[data-adventure="kids-superhero-adventure"] .sc-section.adv-programme::after, body[data-adventure="kids-superhero-adventure"] .sc-section.adv-location::after, body[data-adventure="kids-superhero-adventure"] .sc-section.adv-welcome::after { left: -12px; top: -26px; width: 72px; height: 45px; transform: rotate(-12deg); }
body[data-adventure="kids-superhero-adventure"] .adv-top-card::before { content: ""; position: absolute; left: -16px; top: -30px; width: 92px; height: 64px; background: var(--adv-a) center / contain no-repeat; pointer-events: none; z-index: 1; }
body[data-adventure="kids-superhero-adventure"] .adv-top-card::after { content: ""; position: absolute; right: -12px; top: -24px; width: 78px; height: 49px; background: var(--adv-b) center / contain no-repeat; transform: rotate(10deg); pointer-events: none; z-index: 1; }

/* ---- the closing card: end-of-film frame, yellow name with a navy outline and red edge ---- */
body[data-adventure="kids-superhero-adventure"] .sc-footer { background-position: center 86%; }
body[data-adventure="kids-superhero-adventure"] .sc-footer::before { background: radial-gradient(circle, rgba(255,204,51,.16) 1.3px, transparent 1.9px) 0 0 / 11px 11px, linear-gradient(180deg, var(--adv-page) 0, rgba(11,26,61,.3) 35%, rgba(5,12,34,.72) 100%); }
body[data-adventure="kids-superhero-adventure"] .sc-footer .sc-script {
  color: #ffd23f; font: 400 clamp(28px, 8vw, 46px)/1.1 var(--adv-script); text-transform: uppercase; -webkit-text-stroke: 8px #0b1a3d; paint-order: stroke fill; text-shadow: none; transform: skewX(-7deg);
  filter: drop-shadow(0 3px 0 #d22f26) drop-shadow(0 6px 0 #0b1a3d) drop-shadow(0 12px 10px rgba(0,0,0,.55)); }
body[data-adventure="kids-superhero-adventure"] .sc-footer .sc-footer-sub { color: #fff; font-family: var(--adv-label); font-weight: 800; letter-spacing: .12em; }
body[data-adventure="kids-superhero-adventure"] .sc-music { background: rgba(11,26,61,.88); border-color: #ffcc33; color: #ffcc33; }
/* the gate, the mid-film prompt and the chips sit on the film: light on dark */
body[data-adventure="kids-superhero-adventure"] .adventure-go { box-shadow: 0 0 0 3px #0b1a3d, 0 0 0 5px #ffcc33; }
body[data-adventure="kids-superhero-adventure"] .adventure-open.ready .adventure-go { animation: adv-hero-pulse 1.8s infinite; }
@keyframes adv-hero-pulse { 0%, 100% { box-shadow: 0 0 0 3px #0b1a3d, 0 0 0 5px #ffcc33, 0 0 0 5px rgba(255,204,51,.55); } 70% { box-shadow: 0 0 0 3px #0b1a3d, 0 0 0 5px #ffcc33, 0 0 0 20px rgba(255,204,51,0); } }
@media (prefers-reduced-motion: reduce) { body[data-adventure="kids-superhero-adventure"] .adventure-open.ready .adventure-go { animation: none; } }
body[data-adventure="kids-superhero-adventure"] .adventure-chip { border-color: rgba(255,204,51,.6); background: rgba(11,26,61,.72); }
body[data-adventure="kids-superhero-adventure"] .adventure-pause { background: rgba(11,26,61,.86); border-color: #ffcc33; }
/* wide screens: the 720px-wide film frames stay at their own size, centred, fading into the page at the sides (not blown up 2x) */
@media (min-width: 700px) {
  body[data-adventure="kids-superhero-adventure"] .adv-top-art { left: 50%; right: auto; width: 720px; margin-left: -360px; background-size: 100% auto; background-position: center top; background-repeat: no-repeat;
    -webkit-mask: linear-gradient(#000 0, #000 45%, transparent 100%), linear-gradient(90deg, transparent 0, #000 20%, #000 80%, transparent 100%); -webkit-mask-composite: source-in;
    mask: linear-gradient(#000 0, #000 45%, transparent 100%), linear-gradient(90deg, transparent 0, #000 20%, #000 80%, transparent 100%); mask-composite: intersect; }
  body[data-adventure="kids-superhero-adventure"] .sc-footer { background: #0a1a40 var(--adv-finale-bg) calc(50% + 90px) 72% / 720px auto no-repeat; }
  body[data-adventure="kids-superhero-adventure"] .sc-footer::before { background: linear-gradient(90deg, #0a1a40 calc(50% - 270px), rgba(10,26,64,0) calc(50% - 90px), rgba(10,26,64,0) calc(50% + 300px), #0a1a40 calc(50% + 450px)),
    radial-gradient(circle, rgba(255,204,51,.16) 1.3px, transparent 1.9px) 0 0 / 11px 11px, linear-gradient(180deg, var(--adv-page) 0, rgba(11,26,61,.3) 35%, rgba(5,12,34,.6) 100%); }
}
/* ======================================================================================================
   29 Oct 2026 Princess (kids-princess-adventure) and Train (kids-train-adventure) films, Claude. Appended only; same structure
   as the blocks above. Pictures: /themes/<id>/assets/adventure/page/ (film frames + original SVGs). Fonts: their own print/fonts.
   Princess = a royal storybook: deep rose page, blush-ivory pages in the film book's gold border, Great Vibes names, Cinzel labels.
   Train = a railway notice: racing-green page, cream notices with a brass rim and red bands, Playfair Display names, Barlow labels.
   ====================================================================================================== */
@font-face { font-family: 'Vibes Adv'; font-display: swap; src: url(/themes/kids-princess-adventure/print/fonts/GreatVibes-Regular.ttf) format('truetype'); }
@font-face { font-family: 'Playfair Adv'; font-display: swap; src: url(/themes/kids-train-adventure/print/fonts/PlayfairDisplay-Black.ttf) format('truetype'); }
.adventure-scene:is([data-theme="kids-princess-adventure"], [data-theme="kids-flower-princess-face"]) { --adv-bg:#2a0a1a; --adv-ink:#fff4f7; --adv-muted:rgba(255,244,247,.86); --adv-accent:#f6d98a; }
.adventure-scene[data-theme="kids-train-adventure"] { --adv-bg:#0a1c12; --adv-ink:#fff6e0; --adv-muted:rgba(255,246,224,.86); --adv-accent:#e8bf52; }

body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) {
  --adv-page: #3a0f24; --adv-bg: #3a0f24; --adv-ink: #4a1530; --adv-muted: #7a4a5e; --adv-accent: #8a2a4a; --adv-accent-2: #a8792a; --adv-hot: #c2477a;
  --adv-card: radial-gradient(ellipse at 50% 38%, #fffaf4 0, #fdeee6 62%, #f4d9cf 100%); --adv-card-line: #c9a24a; --adv-card-ring: rgba(201,162,74,.75);
  --adv-head: 'Cinzel Adv', 'Cinzel', Georgia, serif; --adv-label: 'Cinzel Adv', 'Cinzel', Georgia, serif; --adv-script: 'Vibes Adv', 'Great Vibes', cursive;
  --adv-body: 'Cormorant Garamond', Georgia, serif;
  --adv-btn: linear-gradient(180deg, #d2668f, #9c3358); --adv-btn-ink: #ffffff; --adv-field: #fffaf6; --adv-field-line: rgba(138,42,74,.45);
  --adv-radius: 8px; --adv-head-case: uppercase; --adv-head-track: .03em;
  --adv-emblem: url(/themes/kids-princess-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-princess-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-princess-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-princess-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-princess-adventure/assets/adventure/page/decor-tiara.svg); --adv-b: url(/themes/kids-princess-adventure/assets/adventure/page/decor-rose.svg);
  font-synthesis: none;
  background: #3a0f24;
  background-image: radial-gradient(circle, rgba(255,226,160,.16) 1.2px, transparent 2px), radial-gradient(760px 520px at 50% 0, rgba(242,169,196,.3), transparent 70%),
    radial-gradient(520px 420px at 0 55%, rgba(226,179,74,.10), transparent 70%), linear-gradient(180deg, #6a1e44 0, #4a1430 40%, #2a0a1a 100%);
  background-size: 26px 26px, 100% 100%, 100% 100%, 100% 100%;
}
body[data-adventure="kids-train-adventure"] {
  --adv-page: #0f2a1e; --adv-bg: #0f2a1e; --adv-ink: #1d3a26; --adv-muted: #4a5e4f; --adv-accent: #b8322a; --adv-accent-2: #6b4a10; --adv-hot: #e8bf52;
  --adv-card: radial-gradient(ellipse at 50% 38%, #fffaea 0, #fbf3dd 62%, #ecdcb4 100%); --adv-card-line: #c9a24a; --adv-card-ring: rgba(107,74,16,.4);
  --adv-head: 'Playfair Adv', 'Playfair Display', Georgia, serif; --adv-label: 'Barlow Cond Adv', 'Oswald', system-ui, sans-serif; --adv-script: 'Playfair Adv', 'Playfair Display', Georgia, serif;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #d2463a, #9a2a21); --adv-btn-ink: #fff6e0; --adv-field: #fffaea; --adv-field-line: rgba(29,58,38,.5);
  --adv-radius: 8px; --adv-head-case: none; --adv-head-track: 0;
  --adv-emblem: url(/themes/kids-train-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-train-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-train-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-train-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-train-adventure/assets/adventure/page/decor-ticket.svg); --adv-b: url(/themes/kids-train-adventure/assets/adventure/page/decor-lamp.svg);
  font-synthesis: none;
  background: #0f2a1e;
  background-image: repeating-linear-gradient(90deg, rgba(201,162,74,.045) 0 2px, transparent 2px 64px), radial-gradient(760px 520px at 50% 0, rgba(90,160,110,.3), transparent 70%),
    linear-gradient(180deg, #1d4a32 0, #12301f 40%, #0a1c12 100%);
}

/* ---- readable body face (the shared "body:is(...)" rules above do not list these ids) ---- */
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"], [data-adventure="kids-train-adventure"]) :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"], [data-adventure="kids-train-adventure"]) .adventure-top .adventure-detail { font-family: var(--adv-body); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"], [data-adventure="kids-train-adventure"]) .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"], [data-adventure="kids-train-adventure"]) .sc-music { border-color: var(--adv-card-line); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"], [data-adventure="kids-train-adventure"]) .adventure-actions a, body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"], [data-adventure="kids-train-adventure"]) .sc-btn { border-radius: 10px; }

/* ---- Princess: storybook pages with the film book's gold border ---- */
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-flow > .sc-section, body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adv-top-card {
  box-shadow: inset 0 0 0 2px #c9a24a, inset 0 0 36px rgba(194,71,122,.16), 0 0 0 1px rgba(0,0,0,.35), 0 18px 44px rgba(0,0,0,.5), 0 0 30px rgba(242,169,196,.18); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-flow > .sc-section::before, body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adv-ring { inset: 10px; border: 3px double var(--adv-card-ring); border-radius: 3px; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adventure-top .adv-name { font: 400 clamp(52px, 15vw, 86px)/1.05 'Vibes Adv', 'Great Vibes', cursive; color: #8a2a4a; text-transform: none; letter-spacing: 0; padding: 0 6px 6px; text-shadow: 0 2px 0 #fff6f2, 0 3px 0 rgba(201,162,74,.55); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adventure-top h1, body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-h2 { font-weight: 900; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-h2 { color: #6a1e44; font-size: clamp(24px, 6.6vw, 34px); text-shadow: 0 1px 0 #fff6f2; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adventure-top .adv-occasion { font: 700 clamp(14px, 3.9vw, 17px)/1.3 var(--adv-label); color: #a8792a; letter-spacing: .14em; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adventure-top .adventure-eyebrow, body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adv-eyebrow { font-weight: 700; color: #a8792a; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) :is(.sc-script, .sc-signature) { font-family: var(--adv-script); font-weight: 400; color: #8a2a4a; text-transform: none; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-script { font-size: clamp(38px, 10vw, 50px); line-height: 1.15; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-signature { font-size: 34px; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-lead { font-size: 20px; font-weight: 600; line-height: 1.55; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-value { font-size: 20px; font-weight: 600; line-height: 1.4; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-what { font-size: 19px; font-weight: 600; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adventure-top .adventure-detail { font-size: 19px; font-weight: 700; background: rgba(255,250,246,.65); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-form :is(input[type="text"], select, textarea) { font-size: 18px; font-weight: 600; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) :is(.sc-label, .sc-time, .sc-form label, .sc-legend) { color: #a8792a; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-time { font-weight: 700; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) :is(.sc-lead, .sc-value, .sc-what, .sc-time, .adventure-detail, .sc-form input, .sc-form textarea) { font-variant-numeric: lining-nums; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adventure-top h1 .adv-age { display: block; color: #a8792a; font: italic 600 clamp(26px, 7vw, 34px)/1.2 "Cormorant Adv", 'Cormorant Garamond', Georgia, serif; letter-spacing: 0; text-transform: none; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .countdown-item { background: rgba(255,250,246,.6); box-shadow: inset 0 0 0 1.5px rgba(201,162,74,.6); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .countdown-val { font-weight: 900; color: #8a2a4a; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adventure-actions a { font: 700 15px/1 var(--adv-label); letter-spacing: .08em; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-footer .sc-script { color: #fff4f7; font-size: clamp(46px, 13vw, 70px); text-shadow: 0 2px 0 rgba(201,162,74,.8), 0 3px 18px rgba(0,0,0,.7); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-footer .sc-footer-sub { font-weight: 700; color: #f6d98a; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-section.adv-details::after, body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-section.adv-rsvp::after { right: -12px; top: -30px; width: 64px; height: 72px; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-section.adv-programme::after, body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-section.adv-location::after, body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-section.adv-welcome::after { left: -10px; top: -26px; width: 78px; height: 52px; transform: rotate(-10deg); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adv-top-card::before { content: ""; position: absolute; left: -14px; top: -30px; width: 96px; height: 64px; background: var(--adv-a) center / contain no-repeat; transform: rotate(-8deg); pointer-events: none; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adv-top-card::after { content: ""; position: absolute; right: -10px; top: -30px; width: 60px; height: 68px; background: var(--adv-b) center / contain no-repeat; pointer-events: none; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .sc-music { background: rgba(58,15,36,.86); color: #f6d98a; }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adventure-chip { border-color: rgba(246,217,138,.55); }
body:is([data-adventure="kids-princess-adventure"], [data-adventure="kids-flower-princess-face"]) .adventure-pause { background: rgba(58,15,36,.84); border-color: #f6d98a; }

/* ---- Train: cream railway notices, brass rim, red bands top and bottom, corner rivets ---- */
body[data-adventure="kids-train-adventure"] .sc-flow > .sc-section, body[data-adventure="kids-train-adventure"] .adv-top-card {
  background:
    radial-gradient(circle at 18px 30px, #fff3c4 0 2.5px, #a87a1e 3px 4.5px, transparent 5px), radial-gradient(circle at calc(100% - 18px) 30px, #fff3c4 0 2.5px, #a87a1e 3px 4.5px, transparent 5px),
    radial-gradient(circle at 18px calc(100% - 30px), #fff3c4 0 2.5px, #a87a1e 3px 4.5px, transparent 5px), radial-gradient(circle at calc(100% - 18px) calc(100% - 30px), #fff3c4 0 2.5px, #a87a1e 3px 4.5px, transparent 5px),
    linear-gradient(#b8322a, #b8322a) 0 8px / 100% 10px no-repeat, linear-gradient(#b8322a, #b8322a) 0 calc(100% - 8px) / 100% 10px no-repeat,
    var(--adv-card);
  box-shadow: inset 0 0 0 5px #c9a24a, inset 0 0 0 7px #6b4a10, 0 0 0 1px rgba(0,0,0,.45), 0 18px 44px rgba(0,0,0,.5); }
body[data-adventure="kids-train-adventure"] .sc-flow > .sc-section::before, body[data-adventure="kids-train-adventure"] .adv-ring { inset: 26px 30px; border: 1px solid var(--adv-card-ring); border-radius: 2px; }
body[data-adventure="kids-train-adventure"] .sc-flow > .sc-section { padding-top: 50px; padding-bottom: 44px; }
body[data-adventure="kids-train-adventure"] .sc-flow > .sc-section.sc-countdown-wrap { padding: 34px 16px; }
body[data-adventure="kids-train-adventure"] .adv-top-card { padding-top: 52px; }
body[data-adventure="kids-train-adventure"] .adventure-top .adv-name { font: 400 clamp(44px, 12.5vw, 72px)/1.04 'Playfair Adv', 'Playfair Display', Georgia, serif; color: #1f4a2c; text-transform: none; text-shadow: 0 3px 0 rgba(201,162,74,.85); }
body[data-adventure="kids-train-adventure"] :is(.adventure-top h1, .sc-h2, .countdown-val) { font-weight: 400; }
body[data-adventure="kids-train-adventure"] .sc-h2 { color: #1f4a2c; font-size: clamp(26px, 7vw, 36px); text-shadow: 0 2px 0 rgba(201,162,74,.6); }
body[data-adventure="kids-train-adventure"] .adv-eyebrow { font-size: 15px; letter-spacing: .2em; color: #b8322a; }
body[data-adventure="kids-train-adventure"] .adventure-top .adventure-eyebrow { display: inline-block; margin: 0 0 14px; padding: 7px 18px 6px; border-radius: 4px; background: #b8322a; color: #fff6e0; font: 800 16px/1.2 var(--adv-label); letter-spacing: .2em; box-shadow: 0 3px 0 #7d1f15; }
body[data-adventure="kids-train-adventure"] :is(.sc-label, .sc-form label, .sc-legend) { font-size: 14px; letter-spacing: .14em; color: #b8322a; }
body[data-adventure="kids-train-adventure"] .adventure-top .adventure-detail { font-size: 17px; font-weight: 700; background: rgba(255,250,234,.7); }
body[data-adventure="kids-train-adventure"] .adventure-top .adventure-detail strong { font-size: 14px; letter-spacing: .18em; color: #b8322a; }
body[data-adventure="kids-train-adventure"] .adventure-top .adv-occasion { font: 800 clamp(17px, 4.6vw, 21px)/1.25 var(--adv-label); letter-spacing: .16em; color: #6b4a10; text-transform: uppercase; }
body[data-adventure="kids-train-adventure"] .sc-time { font: 800 18px/1.2 var(--adv-label); letter-spacing: .06em; color: #b8322a; }
body[data-adventure="kids-train-adventure"] .countdown-lbl { font-size: 12px; letter-spacing: .16em; }
body[data-adventure="kids-train-adventure"] .adventure-actions a { font: 800 18px/1 var(--adv-label); letter-spacing: .1em; text-transform: uppercase; }
body[data-adventure="kids-train-adventure"] .sc-btn { font: 800 15px/1.1 var(--adv-label); letter-spacing: .14em; }
body[data-adventure="kids-train-adventure"] .sc-choice span { font: 800 14px/1.25 var(--adv-label); letter-spacing: .1em; }
body[data-adventure="kids-train-adventure"] .adv-age span { font: 800 12px/1 var(--adv-label); letter-spacing: .16em; }
body[data-adventure="kids-train-adventure"] .rsvp-privacy { font-family: var(--adv-label); font-size: 14px; letter-spacing: .1em; }
body[data-adventure="kids-train-adventure"] .sc-script { font: 400 clamp(26px, 7vw, 34px)/1.15 var(--adv-script); color: #b8322a; }
body[data-adventure="kids-train-adventure"] .sc-signature { font: 400 24px/1.2 var(--adv-script); color: #1f4a2c; }
body[data-adventure="kids-train-adventure"] .sc-lead { font-size: 17px; font-weight: 500; line-height: 1.6; }
body[data-adventure="kids-train-adventure"] .sc-value { font-size: 17px; font-weight: 600; line-height: 1.45; }
body[data-adventure="kids-train-adventure"] .sc-what { font-size: 16.5px; font-weight: 600; }
body[data-adventure="kids-train-adventure"] .adventure-top h1 .adv-age { display: inline-block; margin-top: 10px; padding: 4px 16px 3px; border-radius: 5px; background: #1f4a2c; color: #f3d27a; font: 800 clamp(20px, 5.6vw, 26px)/1.2 "Barlow Cond Adv", var(--adv-label); letter-spacing: .12em; box-shadow: 0 3px 0 #0e2416; }
body[data-adventure="kids-train-adventure"] .countdown-item { border-radius: 6px; background: #1f4a2c; box-shadow: inset 0 0 0 2px #c9a24a; }
body[data-adventure="kids-train-adventure"] .countdown-val { color: #f3d27a; font-size: 30px; }
body[data-adventure="kids-train-adventure"] .countdown-lbl { color: #fff6e0; }
body[data-adventure="kids-train-adventure"] .sc-footer .sc-script { color: #fff6e0; font-size: clamp(36px, 10vw, 56px); text-shadow: 0 3px 0 rgba(184,50,42,.9), 0 4px 22px rgba(0,0,0,.7); }
body[data-adventure="kids-train-adventure"] .sc-footer .sc-footer-sub { color: #f3d27a; font-family: var(--adv-label); font-weight: 800; letter-spacing: .12em; }
body[data-adventure="kids-train-adventure"] .sc-section.adv-details::after, body[data-adventure="kids-train-adventure"] .sc-section.adv-rsvp::after { right: -14px; top: -30px; width: 92px; height: 58px; transform: rotate(8deg); }
body[data-adventure="kids-train-adventure"] .sc-section.adv-programme::after, body[data-adventure="kids-train-adventure"] .sc-section.adv-location::after, body[data-adventure="kids-train-adventure"] .sc-section.adv-welcome::after { left: -8px; top: -34px; width: 50px; height: 64px; }
body[data-adventure="kids-train-adventure"] .adv-top-card::before { content: ""; position: absolute; left: -14px; top: -30px; width: 92px; height: 58px; background: var(--adv-a) center / contain no-repeat; transform: rotate(-8deg); pointer-events: none; }
body[data-adventure="kids-train-adventure"] .adv-top-card::after { content: ""; position: absolute; right: -6px; top: -36px; width: 50px; height: 64px; background: var(--adv-b) center / contain no-repeat; pointer-events: none; }
body[data-adventure="kids-train-adventure"] .sc-music { background: rgba(15,42,30,.88); color: #f3d27a; }
body[data-adventure="kids-train-adventure"] .adventure-chip { border-color: rgba(232,191,82,.6); }
body[data-adventure="kids-train-adventure"] .adventure-pause { background: rgba(15,42,30,.86); border-color: #e8bf52; }

/* ======================================================================================================
   7 Nov 2026 Roller Disco (kids-roller-disco-glow). Same page as the films above, in the film's neon. Appended only.
   ====================================================================================================== */
@font-face { font-family: 'Kanit Adv'; font-display: swap; src: url(/themes/kids-roller-disco-glow/print/fonts/Kanit-BlackItalic.ttf) format('truetype'); }
.adventure-scene[data-theme="kids-roller-disco-glow"] { --adv-bg:#0a0720; --adv-ink:#f4f7ff; --adv-muted:rgba(244,247,255,.86); --adv-accent:#46e1ff; }
body[data-adventure="kids-roller-disco-glow"] {
  --adv-page: #0a0720; --adv-bg: #0a0720; --adv-ink: #f4f7ff; --adv-muted: #cfcff0; --adv-accent: #46e1ff; --adv-accent-2: #ff7cc8; --adv-hot: #ff3eaa;
  --adv-card: radial-gradient(ellipse at 50% 30%, #1f1658 0, #140d3e 62%, #0d0829 100%); --adv-card-line: #ff3eaa; --adv-card-ring: rgba(70,225,255,.8);
  --adv-head: 'Saira Adv', 'Arial Narrow', system-ui, sans-serif; --adv-label: 'Saira Adv', 'Arial Narrow', system-ui, sans-serif; --adv-script: 'Kaushan Adv', cursive;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #ff5cbc, #c81e86); --adv-btn-ink: #ffffff; --adv-field: #1b1350; --adv-field-line: rgba(70,225,255,.65);
  --adv-radius: 22px; --adv-head-case: uppercase; --adv-head-track: .04em;
  --adv-emblem: url(/themes/kids-roller-disco-glow/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-roller-disco-glow/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-roller-disco-glow/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-roller-disco-glow/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-roller-disco-glow/assets/adventure/page/decor-skate.svg); --adv-b: url(/themes/kids-roller-disco-glow/assets/adventure/page/decor-ball.svg);
  font-synthesis: none;
  background: #0a0720;
  background-image: radial-gradient(760px 520px at 50% 0, rgba(255,62,170,.26), transparent 70%), radial-gradient(560px 460px at 100% 55%, rgba(70,225,255,.14), transparent 70%), linear-gradient(180deg, #1a0f4a 0, #100a33 40%, #0a0720 100%);
}
/* readable body face (the shared "body:is(...)" rules above do not list this id) */
body[data-adventure="kids-roller-disco-glow"] :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body[data-adventure="kids-roller-disco-glow"] .adventure-top .adventure-detail { font-family: var(--adv-body); font-size: 17px; font-weight: 600; background: rgba(70,225,255,.08); }
body[data-adventure="kids-roller-disco-glow"] .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); }
body[data-adventure="kids-roller-disco-glow"] .sc-music { border-color: var(--adv-accent); background: rgba(10,7,32,.86); color: var(--adv-accent); }
body[data-adventure="kids-roller-disco-glow"] .adventure-actions a, body[data-adventure="kids-roller-disco-glow"] .sc-btn { border-radius: 999px; }
/* neon tube cards: a pink tube with a cyan tube inside it, as on the film's sign */
body[data-adventure="kids-roller-disco-glow"] .sc-flow > .sc-section, body[data-adventure="kids-roller-disco-glow"] .adv-top-card {
  box-shadow: inset 0 0 0 2.5px #ff3eaa, inset 0 0 22px rgba(255,62,170,.28), 0 0 22px rgba(255,62,170,.42), 0 18px 44px rgba(0,0,0,.55); }
body[data-adventure="kids-roller-disco-glow"] .sc-flow > .sc-section::before, body[data-adventure="kids-roller-disco-glow"] .adv-ring { inset: 9px; border: 2px solid var(--adv-card-ring); border-radius: 15px; box-shadow: 0 0 10px rgba(70,225,255,.4); }
body[data-adventure="kids-roller-disco-glow"] .adventure-top .adv-name { font: 400 clamp(46px, 13.5vw, 76px)/1.1 'Kaushan Adv', cursive; color: #ff84f0; text-transform: none; letter-spacing: 0; padding: 0 6px 4px; text-shadow: 0 0 6px #ff3eaa, 0 0 20px #ff3eaa; }
body[data-adventure="kids-roller-disco-glow"] .adventure-top h1 .adv-age { display: block; margin-top: 2px; color: #8cffff; font: 800 clamp(20px, 5.6vw, 26px)/1.25 var(--adv-label); letter-spacing: .06em; text-transform: uppercase; text-shadow: 0 0 12px rgba(70,225,255,.7); }
body[data-adventure="kids-roller-disco-glow"] .adventure-top .adv-occasion { font: 800 clamp(15px, 4.2vw, 19px)/1.3 var(--adv-label); color: #ffffff; letter-spacing: .12em; text-transform: uppercase; }
body[data-adventure="kids-roller-disco-glow"] .adventure-top .adventure-eyebrow, body[data-adventure="kids-roller-disco-glow"] .adv-eyebrow { color: var(--adv-accent); font-family: var(--adv-label); font-weight: 800; }
body[data-adventure="kids-roller-disco-glow"] .sc-h2 { color: #ffffff; font-weight: 800; font-size: clamp(25px, 6.8vw, 34px); text-shadow: 0 0 14px rgba(255,62,170,.85); }
body[data-adventure="kids-roller-disco-glow"] :is(.sc-script, .sc-signature) { font-family: var(--adv-script); font-weight: 400; color: #ff84f0; text-transform: none; text-shadow: 0 0 12px rgba(255,62,170,.7); }
body[data-adventure="kids-roller-disco-glow"] .sc-script { font-size: clamp(32px, 8.6vw, 42px); line-height: 1.2; }
body[data-adventure="kids-roller-disco-glow"] .sc-signature { font-size: 28px; }
body[data-adventure="kids-roller-disco-glow"] .sc-lead { font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--adv-ink); }
body[data-adventure="kids-roller-disco-glow"] .sc-value { font-size: 17px; font-weight: 600; line-height: 1.45; color: var(--adv-ink); }
body[data-adventure="kids-roller-disco-glow"] .sc-what { font-size: 16.5px; font-weight: 600; color: var(--adv-ink); }
body[data-adventure="kids-roller-disco-glow"] .sc-time { font: 800 17px/1.2 var(--adv-label); color: var(--adv-accent); }
body[data-adventure="kids-roller-disco-glow"] :is(.sc-label, .sc-form label, .sc-legend) { color: var(--adv-accent); }
body[data-adventure="kids-roller-disco-glow"] .sc-form :is(input[type="text"], select, textarea) { color: #ffffff; font-size: 17px; font-weight: 600; }
body[data-adventure="kids-roller-disco-glow"] .sc-form :is(input, textarea)::placeholder { color: #b9b8e0; opacity: 1; }
body[data-adventure="kids-roller-disco-glow"] .countdown-item { background: rgba(70,225,255,.08); box-shadow: inset 0 0 0 1.5px rgba(70,225,255,.55); }
body[data-adventure="kids-roller-disco-glow"] .countdown-val { color: #8cffff; font-weight: 800; text-shadow: 0 0 12px rgba(70,225,255,.7); }
body[data-adventure="kids-roller-disco-glow"] .countdown-lbl { color: #ffffff; }
body[data-adventure="kids-roller-disco-glow"] .adventure-actions a { font: 800 16px/1 var(--adv-label); letter-spacing: .06em; }
body[data-adventure="kids-roller-disco-glow"] .sc-footer .sc-script { color: #ffffff; font-size: clamp(38px, 10.5vw, 56px); text-shadow: 0 0 8px #ff3eaa, 0 0 26px #ff3eaa, 0 3px 18px rgba(0,0,0,.7); }
body[data-adventure="kids-roller-disco-glow"] .sc-footer .sc-footer-sub { font-family: var(--adv-label); font-weight: 800; color: #8cffff; letter-spacing: .08em; }
body[data-adventure="kids-roller-disco-glow"] .sc-section.adv-details::after, body[data-adventure="kids-roller-disco-glow"] .sc-section.adv-rsvp::after { right: -12px; top: -30px; width: 76px; height: 76px; transform: rotate(8deg); }
body[data-adventure="kids-roller-disco-glow"] .sc-section.adv-programme::after, body[data-adventure="kids-roller-disco-glow"] .sc-section.adv-location::after, body[data-adventure="kids-roller-disco-glow"] .sc-section.adv-welcome::after { left: -8px; top: -34px; width: 60px; height: 72px; }
body[data-adventure="kids-roller-disco-glow"] .adv-top-card::before { content: ""; position: absolute; left: -12px; top: -30px; width: 84px; height: 84px; background: var(--adv-a) center / contain no-repeat; transform: rotate(-8deg); pointer-events: none; }
body[data-adventure="kids-roller-disco-glow"] .adv-top-card::after { content: ""; position: absolute; right: -6px; top: -36px; width: 60px; height: 72px; background: var(--adv-b) center / contain no-repeat; pointer-events: none; }
body[data-adventure="kids-roller-disco-glow"] .adventure-chip { border-color: rgba(70,225,255,.65); }
/* the pause: the whole frame takes the tap, a ring pulses round the film's mirror ball, the label sits under it. Sized to the frame, not the scene, which can be taller */
body[data-adventure="kids-roller-disco-glow"] .adventure-pause { inset: 0 0 auto 0; transform: none; width: 100%; height: min(177.78vw, 100svh); min-height: 420px; padding: 0; border: 0; border-radius: 0; background: transparent; }
body[data-adventure="kids-roller-disco-glow"] .adventure-pause::before { content: ""; position: absolute; left: 50%; top: 42.2%; height: 31%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,62,170,.92), 0 0 22px rgba(255,62,170,.7), inset 0 0 22px rgba(255,62,170,.3); animation: adventure-roller-ring 1.7s ease-in-out infinite; }
body[data-adventure="kids-roller-disco-glow"] .adventure-pause span { position: absolute; left: 50%; top: 61%; transform: translateX(-50%); padding: 12px 22px; border: 0; border-radius: 999px; background: #ff3eaa; color: #180414; font: 800 17px/1 var(--adv-label); white-space: nowrap; }
@keyframes adventure-roller-ring { 0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); } }
@media (prefers-reduced-motion: reduce) { body[data-adventure="kids-roller-disco-glow"] .adventure-pause::before { animation: none; opacity: 1; } }
/* 7 Nov 2026, Gary: Samsung Internet's dark mode repaints the colours a page draws, whatever the page declares. So on Android a design
   with "ss_film_buttons" has its solid buttons as a picture (.ss-fill, redrawn as a canvas by ss-canvas.js, which it leaves at full
   brightness) under plain white words. Lettering filled with a picture would dim to grey, so white designs keep real white text. */
.ss-solid { isolation: isolate; }
.adventure-go.ss-solid, .adventure-actions a.ss-solid { position: relative; }
.ss-solid > .ss-fill { position: absolute; left: -1px; top: -1px; width: calc(100% + 2px); height: calc(100% + 2px); border-radius: inherit; object-fit: cover; z-index: -1; pointer-events: none; }
[data-ss] body[data-adventure="kids-roller-disco-glow"] .adventure-pause span { color: #ffffff; }
[data-ss] body[data-adventure="kids-roller-disco-glow"] .sc-btn-solid > .ss-ink { background: none; -webkit-text-fill-color: #ffffff; }
[data-ss] body[data-adventure="kids-roller-disco-glow"] .sc-choice input:checked + span { background-image: var(--ss-button); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #ffffff; }

/* ======================================================================================================
   8 Nov 2026 New Year's Eve (party-new-year-countdown). Same page as the films above, in the film's gold on midnight blue. Appended only.
   ====================================================================================================== */
@font-face { font-family: 'NYE Script'; font-display: swap; src: url(/themes/party-new-year-countdown/print/fonts/Parisienne-Regular.ttf) format('truetype'); }
@font-face { font-family: 'NYE Sans'; font-display: swap; font-weight: 700; src: url(/themes/party-new-year-countdown/print/fonts/Montserrat-Bold.ttf) format('truetype'); }
@font-face { font-family: 'NYE Cinzel'; font-display: swap; font-weight: 700; src: url(/themes/party-new-year-countdown/print/fonts/Cinzel-Bold.ttf) format('truetype'); }
@font-face { font-family: 'NYE Serif'; font-display: swap; src: url(/themes/party-new-year-countdown/print/fonts/PlayfairDisplay-Black.ttf) format('truetype'); }
.adventure-scene[data-theme="party-new-year-countdown"] { --adv-bg:#060b24; --adv-ink:#f7f4ea; --adv-muted:rgba(247,244,234,.86); --adv-accent:#f6dc9a; }
body[data-adventure="party-new-year-countdown"] {
  --adv-page: #060b24; --adv-bg: #060b24; --adv-ink: #f7f4ea; --adv-muted: #c9cfe6; --adv-accent: #f6dc9a; --adv-accent-2: #fff3c9; --adv-hot: #e6bb5e;
  --adv-card: radial-gradient(ellipse at 50% 30%, #131c50 0, #0c1339 62%, #080d29 100%); --adv-card-line: #d8a94a; --adv-card-ring: rgba(246,220,154,.55);
  --adv-head: 'NYE Serif', Georgia, serif; --adv-label: 'NYE Sans', system-ui, sans-serif; --adv-script: 'NYE Script', cursive;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #f6dc9a, #c48f30); --adv-btn-ink: #14100a; --adv-field: #111a48; --adv-field-line: rgba(246,220,154,.55);
  --adv-radius: 6px; --adv-head-case: uppercase; --adv-head-track: .03em;
  --adv-emblem: url(/themes/party-new-year-countdown/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/party-new-year-countdown/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/party-new-year-countdown/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/party-new-year-countdown/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/party-new-year-countdown/assets/adventure/page/decor-coupe.svg); --adv-b: url(/themes/party-new-year-countdown/assets/adventure/page/decor-burst.svg);
  font-synthesis: none;
  background: #060b24;
  background-image: radial-gradient(760px 520px at 50% 0, rgba(230,187,94,.16), transparent 70%), linear-gradient(180deg, #111a4a 0, #0a1033 40%, #060b24 100%);
}
body[data-adventure="party-new-year-countdown"] :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body[data-adventure="party-new-year-countdown"] .adventure-top .adventure-detail { font-family: var(--adv-body); font-size: 17px; font-weight: 600; background: rgba(246,220,154,.07); }
body[data-adventure="party-new-year-countdown"] .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); color: #ffffff; font-size: 17px; font-weight: 600; }
body[data-adventure="party-new-year-countdown"] .sc-form :is(input, textarea)::placeholder { color: #b5bcd8; opacity: 1; }
body[data-adventure="party-new-year-countdown"] .sc-music { border-color: var(--adv-accent); background: rgba(6,11,36,.86); color: var(--adv-accent); }
body[data-adventure="party-new-year-countdown"] .adventure-actions a, body[data-adventure="party-new-year-countdown"] .sc-btn { border-radius: 4px; }
/* gold deco cards: an outer gold line with a finer one inside it, as on the film's frame */
body[data-adventure="party-new-year-countdown"] .sc-flow > .sc-section, body[data-adventure="party-new-year-countdown"] .adv-top-card {
  box-shadow: inset 0 0 0 2px #d8a94a, 0 18px 44px rgba(0,0,0,.55); }
body[data-adventure="party-new-year-countdown"] .sc-flow > .sc-section::before, body[data-adventure="party-new-year-countdown"] .adv-ring { inset: 8px; border: 1px solid var(--adv-card-ring); border-radius: 2px; }
body[data-adventure="party-new-year-countdown"] .adventure-top .adv-name { font: 400 clamp(52px, 15vw, 84px)/1.15 var(--adv-script); color: #ffe9b0; text-transform: none; letter-spacing: 0; padding: 0 8px 4px; text-shadow: 0 2px 14px rgba(230,187,94,.45); }
body[data-adventure="party-new-year-countdown"] .adventure-top .adv-occasion { font: 700 clamp(15px, 4.2vw, 19px)/1.3 'NYE Cinzel', var(--adv-label); color: #ffffff; letter-spacing: .1em; text-transform: uppercase; }
body[data-adventure="party-new-year-countdown"] .adventure-top .adventure-eyebrow, body[data-adventure="party-new-year-countdown"] .adv-eyebrow { color: var(--adv-accent); font-family: 'NYE Cinzel', var(--adv-label); font-weight: 700; }
body[data-adventure="party-new-year-countdown"] .sc-h2 { color: #fff3c9; font-weight: 400; font-size: clamp(25px, 6.8vw, 34px); }
body[data-adventure="party-new-year-countdown"] :is(.sc-script, .sc-signature) { font-family: var(--adv-script); font-weight: 400; color: #ffe9b0; text-transform: none; }
body[data-adventure="party-new-year-countdown"] .sc-script { font-size: clamp(36px, 9.6vw, 46px); line-height: 1.25; }
body[data-adventure="party-new-year-countdown"] .sc-signature { font-size: 32px; }
body[data-adventure="party-new-year-countdown"] .sc-lead { font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--adv-ink); }
body[data-adventure="party-new-year-countdown"] .sc-value { font-size: 17px; font-weight: 600; line-height: 1.45; color: var(--adv-ink); }
body[data-adventure="party-new-year-countdown"] .sc-what { font-size: 16.5px; font-weight: 600; color: var(--adv-ink); }
body[data-adventure="party-new-year-countdown"] .sc-time { font: 700 16px/1.2 var(--adv-label); color: var(--adv-accent); white-space: nowrap; }
body[data-adventure="party-new-year-countdown"] :is(.sc-label, .sc-form label, .sc-legend) { color: var(--adv-accent); }
body[data-adventure="party-new-year-countdown"] .countdown-item { background: rgba(246,220,154,.07); box-shadow: inset 0 0 0 1px rgba(246,220,154,.55); }
body[data-adventure="party-new-year-countdown"] .countdown-val { color: #ffe9b0; font-weight: 800; }
body[data-adventure="party-new-year-countdown"] .countdown-lbl { color: #ffffff; }
body[data-adventure="party-new-year-countdown"] .adventure-actions a { font: 700 15px/1 var(--adv-label); letter-spacing: .06em; }
body[data-adventure="party-new-year-countdown"] .sc-footer .sc-script { color: #ffe9b0; font-size: clamp(40px, 11vw, 58px); text-shadow: 0 3px 18px rgba(0,0,0,.7); }
body[data-adventure="party-new-year-countdown"] .sc-footer .sc-footer-sub { font-family: 'NYE Cinzel', var(--adv-label); font-weight: 700; color: #ffffff; letter-spacing: .08em; }
body[data-adventure="party-new-year-countdown"] .sc-section.adv-details::after, body[data-adventure="party-new-year-countdown"] .sc-section.adv-rsvp::after { right: -8px; top: -30px; width: 68px; height: 68px; }
body[data-adventure="party-new-year-countdown"] .sc-section.adv-programme::after, body[data-adventure="party-new-year-countdown"] .sc-section.adv-location::after, body[data-adventure="party-new-year-countdown"] .sc-section.adv-welcome::after { left: -6px; top: -34px; width: 56px; height: 68px; }
body[data-adventure="party-new-year-countdown"] .adv-top-card::before { content: ""; position: absolute; left: -8px; top: -34px; width: 64px; height: 78px; background: var(--adv-a) center / contain no-repeat; transform: rotate(-8deg); pointer-events: none; }
body[data-adventure="party-new-year-countdown"] .adv-top-card::after { content: ""; position: absolute; right: -8px; top: -34px; width: 72px; height: 72px; background: var(--adv-b) center / contain no-repeat; pointer-events: none; }
body[data-adventure="party-new-year-countdown"] .adventure-chip { border-color: rgba(246,220,154,.65); }
/* the pause: the whole frame takes the tap, a soft gold pulse round the film's sparkler ring, the label under it. Sized to the frame, not the scene */
body[data-adventure="party-new-year-countdown"] .adventure-pause { inset: 0 0 auto 0; transform: none; width: 100%; height: min(177.78vw, 100svh); min-height: 420px; padding: 0; border: 0; border-radius: 0; background: transparent; }
body[data-adventure="party-new-year-countdown"] .adventure-pause::before { content: ""; position: absolute; left: 50%; top: 40.5%; height: 31%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; box-shadow: 0 0 22px rgba(246,220,154,.55), inset 0 0 22px rgba(246,220,154,.25); animation: adventure-nye-ring 1.7s ease-in-out infinite; }
body[data-adventure="party-new-year-countdown"] .adventure-pause > span { position: absolute; left: 50%; top: 66%; transform: translateX(-50%); padding: 12px 22px; border: 0; border-radius: 4px; background: var(--adv-btn); color: var(--adv-btn-ink); font: 700 17px/1 var(--adv-label); white-space: nowrap; }
@keyframes adventure-nye-ring { 0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.04); } }
@media (prefers-reduced-motion: reduce) { body[data-adventure="party-new-year-countdown"] .adventure-pause::before { animation: none; opacity: 1; } }
/* Samsung: dark lettering on a picture button is a picture too, or it would be repainted light. Only where the theme says "ss_film_buttons": "ink" */
.ss-solid > .ss-ink { background: var(--ss-ink-button) center / cover; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
[data-ss] body[data-adventure="party-new-year-countdown"] .sc-choice input:checked + span { background-image: var(--ss-button); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #ffffff; }

/* ======================================================================================================
   8 Nov 2026 Western Rodeo (kids-western-howdy). Same page as the films above, in the film's sunset gold on dark wood. Appended only.
   ====================================================================================================== */
@font-face { font-family: 'West Script'; font-display: swap; src: url(/themes/kids-western-howdy/print/fonts/BerkshireSwash-Regular.ttf) format('truetype'); }
@font-face { font-family: 'West Slab'; font-display: swap; font-weight: 900; src: url(/themes/kids-western-howdy/print/fonts/RobotoSlab-Black.ttf) format('truetype'); }
@font-face { font-family: 'West Sans'; font-display: swap; font-weight: 700; src: url(/themes/kids-western-howdy/print/fonts/BarlowSemiCondensed-Bold.ttf) format('truetype'); }
.adventure-scene[data-theme="kids-western-howdy"] { --adv-bg:#140a05; --adv-ink:#fff4df; --adv-muted:rgba(255,244,223,.86); --adv-accent:#ffcf7a; }
body[data-adventure="kids-western-howdy"] {
  --adv-page: #140a05; --adv-bg: #140a05; --adv-ink: #fff4df; --adv-muted: #e3cfae; --adv-accent: #ffcf7a; --adv-accent-2: #ffe7ae; --adv-hot: #f0a03c;
  --adv-card: radial-gradient(ellipse at 50% 30%, #3f1f0e 0, #2a1408 62%, #1c0d05 100%); --adv-card-line: #c98a3a; --adv-card-ring: rgba(255,224,163,.45);
  --adv-head: 'West Slab', Georgia, serif; --adv-label: 'West Sans', system-ui, sans-serif; --adv-script: 'West Script', cursive;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #ffcf7a, #c9701f); --adv-btn-ink: #2a1003; --adv-field: #351a0b; --adv-field-line: rgba(255,207,122,.55);
  --adv-radius: 8px; --adv-head-case: uppercase; --adv-head-track: .02em;
  --adv-emblem: url(/themes/kids-western-howdy/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-western-howdy/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-western-howdy/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-western-howdy/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-western-howdy/assets/adventure/page/decor-hat.svg); --adv-b: url(/themes/kids-western-howdy/assets/adventure/page/decor-shoe.svg);
  font-synthesis: none;
  background: #140a05;
  background-image: radial-gradient(760px 520px at 50% 0, rgba(240,160,60,.22), transparent 70%), linear-gradient(180deg, #3a1a10 0, #1f0e07 40%, #140a05 100%);
}
body[data-adventure="kids-western-howdy"] :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body[data-adventure="kids-western-howdy"] .adventure-top .adventure-detail { font-family: var(--adv-body); font-size: clamp(14.5px, 4vw, 17px); font-weight: 600; background: rgba(255,207,122,.08); }
body[data-adventure="kids-western-howdy"] .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); color: #ffffff; font-size: 17px; font-weight: 600; }
body[data-adventure="kids-western-howdy"] .sc-form :is(input, textarea)::placeholder { color: #d9c2a0; opacity: 1; }
body[data-adventure="kids-western-howdy"] .sc-music { border-color: var(--adv-accent); background: rgba(20,10,5,.86); color: var(--adv-accent); }
body[data-adventure="kids-western-howdy"] .sc-flow > .sc-section, body[data-adventure="kids-western-howdy"] .adv-top-card { box-shadow: inset 0 0 0 2px #c98a3a, 0 18px 44px rgba(0,0,0,.55); }
body[data-adventure="kids-western-howdy"] .sc-flow > .sc-section::before, body[data-adventure="kids-western-howdy"] .adv-ring { inset: 8px; border: 1px dashed var(--adv-card-ring); border-radius: 4px; }
body[data-adventure="kids-western-howdy"] .adventure-top .adv-name { font: 400 clamp(52px, 15vw, 84px)/1.15 var(--adv-script); color: #ffe7ae; text-transform: none; letter-spacing: 0; padding: 0 8px 4px; text-shadow: 0 3px 0 #5a2a10, 0 4px 14px rgba(0,0,0,.6); }
body[data-adventure="kids-western-howdy"] .adventure-top .adv-occasion { font: 700 clamp(16px, 4.4vw, 20px)/1.3 var(--adv-label); color: #ffffff; letter-spacing: .1em; text-transform: uppercase; }
body[data-adventure="kids-western-howdy"] .adventure-top .adventure-eyebrow, body[data-adventure="kids-western-howdy"] .adv-eyebrow { color: var(--adv-accent); font-family: var(--adv-label); font-weight: 700; }
body[data-adventure="kids-western-howdy"] .sc-h2 { color: #ffe7ae; font-weight: 900; font-size: clamp(24px, 6.6vw, 32px); }
body[data-adventure="kids-western-howdy"] :is(.sc-script, .sc-signature) { font-family: var(--adv-script); font-weight: 400; color: #ffe7ae; text-transform: none; }
body[data-adventure="kids-western-howdy"] .sc-script { font-size: clamp(34px, 9.2vw, 44px); line-height: 1.25; }
body[data-adventure="kids-western-howdy"] .sc-signature { font-size: 30px; }
body[data-adventure="kids-western-howdy"] .sc-lead { font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--adv-ink); }
body[data-adventure="kids-western-howdy"] .sc-value { font-size: 17px; font-weight: 600; line-height: 1.45; color: var(--adv-ink); }
body[data-adventure="kids-western-howdy"] .sc-what { font-size: 16.5px; font-weight: 600; color: var(--adv-ink); }
body[data-adventure="kids-western-howdy"] .sc-time { font: 700 17px/1.2 var(--adv-label); color: var(--adv-accent); white-space: nowrap; }
body[data-adventure="kids-western-howdy"] :is(.sc-label, .sc-form label, .sc-legend) { color: var(--adv-accent); }
body[data-adventure="kids-western-howdy"] .countdown-item { background: rgba(255,207,122,.08); box-shadow: inset 0 0 0 1px rgba(255,207,122,.55); }
body[data-adventure="kids-western-howdy"] .countdown-val { color: #ffe7ae; font-weight: 800; }
body[data-adventure="kids-western-howdy"] .countdown-lbl { color: #ffffff; }
body[data-adventure="kids-western-howdy"] .adventure-actions a { font: 700 16px/1 var(--adv-label); letter-spacing: .06em; }
body[data-adventure="kids-western-howdy"] .sc-footer .sc-script { color: #ffe7ae; font-size: clamp(40px, 11vw, 58px); text-shadow: 0 3px 18px rgba(0,0,0,.75); }
body[data-adventure="kids-western-howdy"] .sc-footer .sc-footer-sub { font-family: var(--adv-label); font-weight: 700; color: #ffffff; letter-spacing: .08em; text-shadow: 0 2px 10px rgba(0,0,0,.8); }
body[data-adventure="kids-western-howdy"] .sc-section.adv-details::after, body[data-adventure="kids-western-howdy"] .sc-section.adv-rsvp::after { right: -8px; top: -30px; width: 72px; height: 60px; }
body[data-adventure="kids-western-howdy"] .sc-section.adv-programme::after, body[data-adventure="kids-western-howdy"] .sc-section.adv-location::after, body[data-adventure="kids-western-howdy"] .sc-section.adv-welcome::after { left: -6px; top: -34px; width: 56px; height: 68px; }
body[data-adventure="kids-western-howdy"] .adv-top-card::before { content: ""; position: absolute; left: -8px; top: -30px; width: 74px; height: 62px; background: var(--adv-a) center / contain no-repeat; transform: rotate(-8deg); pointer-events: none; }
body[data-adventure="kids-western-howdy"] .adv-top-card::after { content: ""; position: absolute; right: -6px; top: -32px; width: 58px; height: 70px; background: var(--adv-b) center / contain no-repeat; transform: rotate(10deg); pointer-events: none; }
body[data-adventure="kids-western-howdy"] .adventure-open { background: linear-gradient(180deg, transparent 50%, rgba(20,10,5,.15) 65%, rgba(20,10,5,.9) 100%); }
body[data-adventure="kids-western-howdy"] .adventure-chip { border-color: rgba(255,207,122,.65); }
/* the pause: the whole frame takes the tap, a soft gold pulse on the gate's rope latch, the label under the gate. Sized to the frame, not the scene */
body[data-adventure="kids-western-howdy"] .adventure-pause { inset: 0 0 auto 0; transform: none; width: 100%; height: min(177.78vw, 100svh); min-height: 420px; padding: 0; border: 0; border-radius: 0; background: transparent; }
body[data-adventure="kids-western-howdy"] .adventure-pause::before { content: ""; position: absolute; left: 50%; top: 49%; height: 15%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; box-shadow: 0 0 22px rgba(255,207,122,.6), inset 0 0 22px rgba(255,207,122,.28); animation: adventure-west-ring 1.7s ease-in-out infinite; }
body[data-adventure="kids-western-howdy"] .adventure-pause > span { position: absolute; left: 50%; top: 72%; transform: translateX(-50%); padding: 13px 24px; border: 0; border-radius: 8px; background: var(--adv-btn); color: var(--adv-btn-ink); font: 700 19px/1 var(--adv-label); letter-spacing: .03em; white-space: nowrap; }
@keyframes adventure-west-ring { 0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); } }
@media (prefers-reduced-motion: reduce) { body[data-adventure="kids-western-howdy"] .adventure-pause::before { animation: none; opacity: 1; } }
[data-ss] body[data-adventure="kids-western-howdy"] .sc-choice input:checked + span { background-image: var(--ss-button); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #ffffff; }

/* ======================================================================================================
   8 Nov 2026 Moonlight Sleepover (kids-sleepover-moonlight). Same page as the films above, in the film's moonlit purple with warm gold. Appended only.
   ====================================================================================================== */
@font-face { font-family: 'Sleep Script'; font-display: swap; src: url(/themes/kids-sleepover-moonlight/print/fonts/KaushanScript-Regular.ttf) format('truetype'); }
@font-face { font-family: 'Sleep Titan'; font-display: swap; font-weight: 400; src: url(/themes/kids-sleepover-moonlight/print/fonts/TitanOne-Regular.ttf) format('truetype'); }
@font-face { font-family: 'Sleep Sans'; font-display: swap; font-weight: 700; src: url(/themes/kids-sleepover-moonlight/print/fonts/Saira-Bold.ttf) format('truetype'); }
.adventure-scene[data-theme="kids-sleepover-moonlight"] { --adv-bg:#120a2c; --adv-ink:#fff6e4; --adv-muted:rgba(255,246,228,.86); --adv-accent:#ffd47a; }
body[data-adventure="kids-sleepover-moonlight"] {
  --adv-page: #120a2c; --adv-bg: #120a2c; --adv-ink: #fff6e4; --adv-muted: #dccdf0; --adv-accent: #ffd47a; --adv-accent-2: #ffe9b8; --adv-hot: #ffa0da;
  --adv-card: radial-gradient(ellipse at 50% 30%, #3a1f6e 0, #27134f 62%, #190c38 100%); --adv-card-line: #d6a95a; --adv-card-ring: rgba(255,224,163,.45);
  --adv-head: 'Sleep Titan', Georgia, serif; --adv-label: 'Sleep Sans', system-ui, sans-serif; --adv-script: 'Sleep Script', cursive;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #ffd47a, #e08a3c); --adv-btn-ink: #2a1043; --adv-field: #2e1760; --adv-field-line: rgba(255,212,122,.55);
  --adv-radius: 16px; --adv-head-case: uppercase; --adv-head-track: .02em;
  --adv-emblem: url(/themes/kids-sleepover-moonlight/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-sleepover-moonlight/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-sleepover-moonlight/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-sleepover-moonlight/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-sleepover-moonlight/assets/adventure/page/decor-moon.svg); --adv-b: url(/themes/kids-sleepover-moonlight/assets/adventure/page/decor-star.svg);
  font-synthesis: none;
  background: #120a2c;
  background-image: radial-gradient(760px 520px at 50% 0, rgba(150,90,255,.28), transparent 70%), linear-gradient(180deg, #2c1560 0, #1a0d3c 40%, #120a2c 100%);
}
body[data-adventure="kids-sleepover-moonlight"] :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body[data-adventure="kids-sleepover-moonlight"] .adventure-top .adventure-detail { font-family: var(--adv-body); font-size: clamp(14.5px, 4vw, 17px); font-weight: 600; background: rgba(255,212,122,.08); }
body[data-adventure="kids-sleepover-moonlight"] .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); color: #ffffff; font-size: 17px; font-weight: 600; }
body[data-adventure="kids-sleepover-moonlight"] .sc-form :is(input, textarea)::placeholder { color: #cdbbe6; opacity: 1; }
body[data-adventure="kids-sleepover-moonlight"] .sc-music { border-color: var(--adv-accent); background: rgba(18,10,44,.86); color: var(--adv-accent); }
body[data-adventure="kids-sleepover-moonlight"] .sc-flow > .sc-section, body[data-adventure="kids-sleepover-moonlight"] .adv-top-card { box-shadow: inset 0 0 0 2px #d6a95a, 0 18px 44px rgba(0,0,0,.55); }
body[data-adventure="kids-sleepover-moonlight"] .sc-flow > .sc-section::before, body[data-adventure="kids-sleepover-moonlight"] .adv-ring { inset: 8px; border: 1px dashed var(--adv-card-ring); border-radius: 10px; }
body[data-adventure="kids-sleepover-moonlight"] .adventure-top .adv-name { font: 400 clamp(52px, 15vw, 84px)/1.15 var(--adv-script); color: #ffe9b8; text-transform: none; letter-spacing: 0; padding: 0 8px 4px; text-shadow: 0 3px 0 #4a1f8a, 0 4px 14px rgba(0,0,0,.6); }
body[data-adventure="kids-sleepover-moonlight"] .adventure-top .adv-occasion { font: 700 clamp(16px, 4.4vw, 20px)/1.3 var(--adv-label); color: #ffffff; letter-spacing: .1em; text-transform: uppercase; }
body[data-adventure="kids-sleepover-moonlight"] .adventure-top .adventure-eyebrow, body[data-adventure="kids-sleepover-moonlight"] .adv-eyebrow { color: var(--adv-accent); font-family: var(--adv-label); font-weight: 700; }
body[data-adventure="kids-sleepover-moonlight"] .sc-h2 { color: #ffe9b8; font-weight: 400; font-size: clamp(24px, 6.6vw, 32px); }
body[data-adventure="kids-sleepover-moonlight"] :is(.sc-script, .sc-signature) { font-family: var(--adv-script); font-weight: 400; color: #ffe9b8; text-transform: none; }
body[data-adventure="kids-sleepover-moonlight"] .sc-script { font-size: clamp(34px, 9.2vw, 44px); line-height: 1.25; }
body[data-adventure="kids-sleepover-moonlight"] .sc-signature { font-size: 30px; }
body[data-adventure="kids-sleepover-moonlight"] .sc-lead { font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--adv-ink); }
body[data-adventure="kids-sleepover-moonlight"] .sc-value { font-size: 17px; font-weight: 600; line-height: 1.45; color: var(--adv-ink); }
body[data-adventure="kids-sleepover-moonlight"] .sc-what { font-size: 16.5px; font-weight: 600; color: var(--adv-ink); }
body[data-adventure="kids-sleepover-moonlight"] .sc-time { font: 700 17px/1.2 var(--adv-label); color: var(--adv-accent); white-space: nowrap; }
body[data-adventure="kids-sleepover-moonlight"] :is(.sc-label, .sc-form label, .sc-legend) { color: var(--adv-accent); }
body[data-adventure="kids-sleepover-moonlight"] .countdown-item { background: rgba(255,212,122,.08); box-shadow: inset 0 0 0 1px rgba(255,212,122,.55); }
body[data-adventure="kids-sleepover-moonlight"] .countdown-val { color: #ffe9b8; font-weight: 800; }
body[data-adventure="kids-sleepover-moonlight"] .countdown-lbl { color: #ffffff; }
body[data-adventure="kids-sleepover-moonlight"] .adventure-actions a { font: 700 16px/1 var(--adv-label); letter-spacing: .06em; }
body[data-adventure="kids-sleepover-moonlight"] .sc-footer .sc-script { color: #ffe9b8; font-size: clamp(40px, 11vw, 58px); text-shadow: 0 3px 18px rgba(0,0,0,.75); }
body[data-adventure="kids-sleepover-moonlight"] .sc-footer .sc-footer-sub { font-family: var(--adv-label); font-weight: 700; color: #ffffff; letter-spacing: .08em; text-shadow: 0 2px 10px rgba(0,0,0,.8); }
body[data-adventure="kids-sleepover-moonlight"] .sc-section.adv-details::after, body[data-adventure="kids-sleepover-moonlight"] .sc-section.adv-rsvp::after { right: -8px; top: -30px; width: 72px; height: 60px; }
body[data-adventure="kids-sleepover-moonlight"] .sc-section.adv-programme::after, body[data-adventure="kids-sleepover-moonlight"] .sc-section.adv-location::after, body[data-adventure="kids-sleepover-moonlight"] .sc-section.adv-welcome::after { left: -6px; top: -34px; width: 56px; height: 68px; }
body[data-adventure="kids-sleepover-moonlight"] .adv-top-card::before { content: ""; position: absolute; left: -8px; top: -30px; width: 74px; height: 62px; background: var(--adv-a) center / contain no-repeat; transform: rotate(-8deg); pointer-events: none; }
body[data-adventure="kids-sleepover-moonlight"] .adv-top-card::after { content: ""; position: absolute; right: -6px; top: -32px; width: 58px; height: 70px; background: var(--adv-b) center / contain no-repeat; transform: rotate(10deg); pointer-events: none; }
body[data-adventure="kids-sleepover-moonlight"] .adventure-open { background: linear-gradient(180deg, transparent 50%, rgba(18,10,44,.15) 65%, rgba(18,10,44,.9) 100%); }
body[data-adventure="kids-sleepover-moonlight"] .adventure-chip { border-color: rgba(255,212,122,.65); }
/* the pause: the whole frame takes the tap, a soft gold pulse on the ring on the tent flap, the label under the tent. Sized to the frame, not the scene */
body[data-adventure="kids-sleepover-moonlight"] .adventure-pause { inset: 0 0 auto 0; transform: none; width: 100%; height: min(177.78vw, 100svh); min-height: 420px; padding: 0; border: 0; border-radius: 0; background: transparent; }
body[data-adventure="kids-sleepover-moonlight"] .adventure-pause::before { content: ""; position: absolute; left: 50%; top: 44%; height: 15%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; box-shadow: 0 0 22px rgba(255,212,122,.6), inset 0 0 22px rgba(255,212,122,.28); animation: adventure-sleep-ring 1.7s ease-in-out infinite; }
body[data-adventure="kids-sleepover-moonlight"] .adventure-pause > span { position: absolute; left: 50%; top: 76%; transform: translateX(-50%); padding: 13px 24px; border: 0; border-radius: 8px; background: var(--adv-btn); color: var(--adv-btn-ink); font: 700 19px/1 var(--adv-label); letter-spacing: .03em; white-space: nowrap; }
@keyframes adventure-sleep-ring { 0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); } }
@media (prefers-reduced-motion: reduce) { body[data-adventure="kids-sleepover-moonlight"] .adventure-pause::before { animation: none; opacity: 1; } }
[data-ss] body[data-adventure="kids-sleepover-moonlight"] .sc-choice input:checked + span { background-image: var(--ss-button); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #ffffff; }
body[data-adventure="kids-sleepover-moonlight"] .adventure-scroll { bottom: max(2px, env(safe-area-inset-bottom)); gap: 0; font-size: 0; }  /* the sign fills the frame, so only the arrow shows, in the strip under the sign */
   3 Nov 2026 Farmyard (kids-farmyard-adventure), Penguin (kids-penguin-adventure) and Rainbow (kids-rainbow-adventure) films, Claude.
   Appended only; same structure as the Princess/Train block above. Pictures: /themes/<id>/assets/adventure/page/ (film frames +
   original SVGs). Fonts: the existing 'Archivo Adv' / 'Bowlby Adv' / 'Fredoka Adv' / 'Kaushan Adv' / 'Barlow Cond Adv' faces.
   Farmyard = a painted farm sign: meadow-green page, cream boards in the barn board's green frame, Archivo Black names, barn red.
   Penguin = a frosted window: deep polar-blue page, icy white cards with a frost rim, Bowlby One names in navy.
   Rainbow = the pavilion panel: violet sky page, ivory cards with a gold edge and a rainbow band, Fredoka names in rainbow colours.
   ====================================================================================================== */
.adventure-scene[data-theme="kids-farmyard-adventure"] { --adv-bg:#1f3314; --adv-ink:#fff8e6; --adv-muted:rgba(255,248,230,.86); --adv-accent:#f2c94c; }
.adventure-scene[data-theme="kids-penguin-adventure"] { --adv-bg:#06203a; --adv-ink:#f4faff; --adv-muted:rgba(244,250,255,.86); --adv-accent:#9fd6f5; }
.adventure-scene[data-theme="kids-rainbow-adventure"] { --adv-bg:#2a1d5c; --adv-ink:#fffaf0; --adv-muted:rgba(255,250,240,.86); --adv-accent:#f5c518; }

body[data-adventure="kids-farmyard-adventure"] {
  --adv-page: #2f4a1f; --adv-bg: #2f4a1f; --adv-ink: #3a2414; --adv-muted: #6b5a3e; --adv-accent: #b3261e; --adv-accent-2: #2f5d2a; --adv-hot: #f2c94c;
  --adv-card: radial-gradient(ellipse at 50% 38%, #fffbec 0, #fbf3dc 62%, #efe0b8 100%); --adv-card-line: #2f5d2a; --adv-card-ring: rgba(47,93,42,.35);
  --adv-head: 'Archivo Adv', 'Archivo Black', system-ui, sans-serif; --adv-label: 'Barlow Cond Adv', 'Oswald', system-ui, sans-serif; --adv-script: 'Archivo Adv', 'Archivo Black', system-ui, sans-serif;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #d23a2f, #9a1f17); --adv-btn-ink: #ffffff; --adv-field: #fffbec; --adv-field-line: rgba(47,93,42,.5);
  --adv-radius: 8px; --adv-head-case: uppercase; --adv-head-track: .02em;
  --adv-emblem: url(/themes/kids-farmyard-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-farmyard-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-farmyard-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-farmyard-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-farmyard-adventure/assets/adventure/page/decor-chick.svg); --adv-b: url(/themes/kids-farmyard-adventure/assets/adventure/page/decor-sunflower.svg);
  font-synthesis: none;
  background: #2f4a1f;
  background-image: repeating-linear-gradient(100deg, rgba(242,201,76,.05) 0 3px, transparent 3px 22px), radial-gradient(760px 520px at 50% 0, rgba(242,201,76,.22), transparent 70%),
    linear-gradient(180deg, #4f7a2c 0, #36571f 40%, #1f3314 100%);
}
body[data-adventure="kids-penguin-adventure"] {
  --adv-page: #0b2f52; --adv-bg: #0b2f52; --adv-ink: #0d3b66; --adv-muted: #3a6f99; --adv-accent: #1f6fb2; --adv-accent-2: #3a6f99; --adv-hot: #f28c28;
  --adv-card: radial-gradient(ellipse at 50% 38%, #ffffff 0, #f4faff 60%, #dcefff 100%); --adv-card-line: #7cc2ee; --adv-card-ring: rgba(124,194,238,.75);
  --adv-head: 'Bowlby Adv', 'Bowlby One', system-ui, sans-serif; --adv-label: 'Barlow Cond Adv', 'Oswald', system-ui, sans-serif; --adv-script: 'Bowlby Adv', 'Bowlby One', system-ui, sans-serif;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #3a8fd6, #155a96); --adv-btn-ink: #ffffff; --adv-field: #ffffff; --adv-field-line: rgba(13,59,102,.45);
  --adv-radius: 14px; --adv-head-case: none; --adv-head-track: 0;
  --adv-emblem: url(/themes/kids-penguin-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-penguin-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-penguin-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-penguin-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-penguin-adventure/assets/adventure/page/decor-penguin.svg); --adv-b: url(/themes/kids-penguin-adventure/assets/adventure/page/decor-fish.svg);
  font-synthesis: none;
  background: #0b2f52;
  background-image: radial-gradient(circle, rgba(255,255,255,.22) 1.2px, transparent 2px), radial-gradient(circle, rgba(255,255,255,.12) 1px, transparent 1.6px),
    radial-gradient(760px 520px at 50% 0, rgba(159,214,245,.32), transparent 70%), linear-gradient(180deg, #1c5a8f 0, #0f3d68 40%, #06203a 100%);
  background-size: 34px 34px, 21px 21px, 100% 100%, 100% 100%; background-position: 0 0, 11px 7px, 0 0, 0 0;
}
body[data-adventure="kids-rainbow-adventure"] {
  --adv-page: #3b2a7a; --adv-bg: #3b2a7a; --adv-ink: #3b2a5e; --adv-muted: #6b5a86; --adv-accent: #e0457b; --adv-accent-2: #7a4fb0; --adv-hot: #f5c518;
  --adv-card: radial-gradient(ellipse at 50% 38%, #ffffff 0, #fffaf0 62%, #f6ecd6 100%); --adv-card-line: #e9b308; --adv-card-ring: rgba(233,179,8,.6);
  --adv-head: 'Fredoka Adv', 'Fredoka', system-ui, sans-serif; --adv-label: 'Barlow Cond Adv', 'Oswald', system-ui, sans-serif; --adv-script: 'Kaushan Adv', 'Kaushan Script', cursive;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #f0619a, #b8335f); --adv-btn-ink: #ffffff; --adv-field: #ffffff; --adv-field-line: rgba(122,79,176,.45);
  --adv-radius: 16px; --adv-head-case: none; --adv-head-track: 0;
  --adv-emblem: url(/themes/kids-rainbow-adventure/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-rainbow-adventure/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-rainbow-adventure/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-rainbow-adventure/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-rainbow-adventure/assets/adventure/page/decor-cloud.svg); --adv-b: url(/themes/kids-rainbow-adventure/assets/adventure/page/decor-sun.svg);
  font-synthesis: none;
  background: #3b2a7a;
  background-image: radial-gradient(circle, rgba(255,240,180,.2) 1.2px, transparent 2px), radial-gradient(760px 520px at 50% 0, rgba(255,214,230,.3), transparent 70%),
    radial-gradient(520px 420px at 0 60%, rgba(63,174,73,.12), transparent 70%), radial-gradient(520px 420px at 100% 80%, rgba(47,127,216,.16), transparent 70%),
    linear-gradient(180deg, #5b3fa8 0, #463190 40%, #2a1d5c 100%);
  background-size: 28px 28px, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
}

/* ---- readable body face (the shared "body:is(...)" rules above do not list these ids) ---- */
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .adventure-top .adventure-detail { font-family: var(--adv-body); }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-music { border-color: var(--adv-card-line); }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) :is(.adventure-actions a, .sc-btn) { border-radius: 10px; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-lead { font-size: 17px; font-weight: 500; line-height: 1.6; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-value { font-size: 17px; font-weight: 600; line-height: 1.45; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-what { font-size: 16.5px; font-weight: 600; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) :is(.adventure-top h1, .sc-h2, .countdown-val) { font-weight: 400; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) :is(.sc-label, .sc-form label, .sc-legend) { font-size: 14px; letter-spacing: .14em; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .adventure-top .adventure-detail { font-size: 17px; font-weight: 700; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .adventure-top .adventure-detail strong { font-size: 14px; letter-spacing: .18em; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-time { font: 800 18px/1.2 var(--adv-label); letter-spacing: .06em; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .countdown-lbl { font-size: 12px; letter-spacing: .16em; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .adventure-actions a { font: 800 18px/1 var(--adv-label); letter-spacing: .1em; text-transform: uppercase; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-btn { font: 800 15px/1.1 var(--adv-label); letter-spacing: .14em; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-choice span { font: 800 14px/1.25 var(--adv-label); letter-spacing: .1em; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .rsvp-privacy { font-family: var(--adv-label); font-size: 14px; letter-spacing: .1em; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .adv-top-card::before { content: ""; position: absolute; left: -12px; top: -30px; width: 70px; height: 70px; background: var(--adv-a) center / contain no-repeat; transform: rotate(-8deg); pointer-events: none; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .adv-top-card::after { content: ""; position: absolute; right: -8px; top: -30px; width: 64px; height: 64px; background: var(--adv-b) center / contain no-repeat; pointer-events: none; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-section.adv-details::after,
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) .sc-section.adv-rsvp::after { right: -12px; top: -30px; width: 64px; height: 64px; }
body:is([data-adventure="kids-farmyard-adventure"], [data-adventure="kids-penguin-adventure"], [data-adventure="kids-rainbow-adventure"]) :is(.sc-section.adv-programme, .sc-section.adv-location, .sc-section.adv-welcome)::after { left: -10px; top: -30px; width: 66px; height: 66px; transform: rotate(-8deg); }

/* ---- Farmyard: cream boards in the film board's green frame, barn-red lettering ---- */
body[data-adventure="kids-farmyard-adventure"] .sc-flow > .sc-section, body[data-adventure="kids-farmyard-adventure"] .adv-top-card {
  box-shadow: inset 0 0 0 7px #2f5d2a, inset 0 0 0 9px #1c3a19, 0 0 0 1px rgba(0,0,0,.4), 0 18px 44px rgba(0,0,0,.45); }
body[data-adventure="kids-farmyard-adventure"] .sc-flow > .sc-section::before, body[data-adventure="kids-farmyard-adventure"] .adv-ring { inset: 18px; border: 2px dashed rgba(122,74,28,.35); border-radius: 3px; }
body[data-adventure="kids-farmyard-adventure"] .adventure-top .adventure-eyebrow { display: inline-block; margin: 0 0 14px; padding: 7px 18px 6px; border-radius: 4px; background: #2f5d2a; color: #fff8e6; font: 800 16px/1.2 var(--adv-label); letter-spacing: .2em; box-shadow: 0 3px 0 #1c3a19; }
body[data-adventure="kids-farmyard-adventure"] .adventure-top .adv-name { font: 400 clamp(40px, 11.5vw, 66px)/1.04 'Archivo Adv', 'Archivo Black', system-ui, sans-serif; color: #b3261e; text-transform: uppercase; text-shadow: 0 4px 0 rgba(122,23,18,.28); }
body[data-adventure="kids-farmyard-adventure"] .adventure-top h1 .adv-age { display: block; margin-top: 6px; color: #2f5d2a; font: 800 clamp(22px, 6vw, 28px)/1.2 'Barlow Cond Adv', var(--adv-label); letter-spacing: .12em; text-transform: uppercase; }
body[data-adventure="kids-farmyard-adventure"] .adventure-top .adv-occasion { font: 800 clamp(17px, 4.6vw, 21px)/1.25 var(--adv-label); letter-spacing: .16em; color: #7a4a1c; text-transform: uppercase; }
body[data-adventure="kids-farmyard-adventure"] .sc-h2 { color: #b3261e; font-size: clamp(24px, 6.6vw, 32px); text-transform: uppercase; text-shadow: 0 2px 0 rgba(122,23,18,.2); }
body[data-adventure="kids-farmyard-adventure"] .adv-eyebrow { font-size: 15px; letter-spacing: .2em; color: #2f5d2a; }
body[data-adventure="kids-farmyard-adventure"] :is(.sc-label, .sc-form label, .sc-legend, .sc-time) { color: #2f5d2a; }
body[data-adventure="kids-farmyard-adventure"] .adventure-top .adventure-detail { background: rgba(255,251,236,.75); }
body[data-adventure="kids-farmyard-adventure"] .adventure-top .adventure-detail strong { color: #b3261e; }
body[data-adventure="kids-farmyard-adventure"] .sc-script { font: 400 clamp(24px, 6.6vw, 32px)/1.15 var(--adv-script); color: #b3261e; text-transform: uppercase; }
body[data-adventure="kids-farmyard-adventure"] .sc-signature { font: 800 24px/1.2 var(--adv-label); letter-spacing: .08em; color: #2f5d2a; }
body[data-adventure="kids-farmyard-adventure"] .countdown-item { border-radius: 6px; background: #2f5d2a; box-shadow: inset 0 0 0 2px #f2c94c; }
body[data-adventure="kids-farmyard-adventure"] .countdown-val { color: #fff8e6; font-size: 30px; }
body[data-adventure="kids-farmyard-adventure"] .countdown-lbl { color: #f2c94c; }
body[data-adventure="kids-farmyard-adventure"] .sc-footer .sc-script { color: #fff8e6; font-size: clamp(32px, 9vw, 50px); text-shadow: 0 3px 0 rgba(179,38,30,.9), 0 4px 22px rgba(0,0,0,.7); }
body[data-adventure="kids-farmyard-adventure"] .sc-footer .sc-footer-sub { color: #f2c94c; font-family: var(--adv-label); font-weight: 800; letter-spacing: .12em; }
body[data-adventure="kids-farmyard-adventure"] .sc-music { background: rgba(31,51,20,.88); color: #f2c94c; }
body[data-adventure="kids-farmyard-adventure"] .adventure-chip { border-color: rgba(242,201,76,.6); }
body[data-adventure="kids-farmyard-adventure"] .adventure-pause { background: rgba(31,51,20,.86); border-color: #f2c94c; }

/* ---- Penguin: icy white cards with a frost rim ---- */
body[data-adventure="kids-penguin-adventure"] .sc-flow > .sc-section, body[data-adventure="kids-penguin-adventure"] .adv-top-card {
  box-shadow: inset 0 0 0 2px #9fd6f5, inset 0 0 26px rgba(124,194,238,.45), 0 0 0 1px rgba(0,0,0,.3), 0 18px 44px rgba(0,0,0,.45), 0 0 34px rgba(159,214,245,.25); }
body[data-adventure="kids-penguin-adventure"] .sc-flow > .sc-section::before, body[data-adventure="kids-penguin-adventure"] .adv-ring { inset: 10px; border: 2px dotted var(--adv-card-ring); border-radius: 10px; }
body[data-adventure="kids-penguin-adventure"] .adventure-top .adventure-eyebrow { display: inline-block; margin: 0 0 14px; padding: 7px 18px 6px; border-radius: 999px; background: #1f6fb2; color: #ffffff; font: 800 16px/1.2 var(--adv-label); letter-spacing: .2em; box-shadow: 0 3px 0 #0d3b66; }
body[data-adventure="kids-penguin-adventure"] .adventure-top .adv-name { font: 400 clamp(42px, 12vw, 70px)/1.04 'Bowlby Adv', 'Bowlby One', system-ui, sans-serif; color: #0d3b66; text-transform: none; text-shadow: 0 3px 0 rgba(124,194,238,.8); }
body[data-adventure="kids-penguin-adventure"] .adventure-top h1 .adv-age { display: inline-block; margin-top: 10px; padding: 4px 16px 3px; border-radius: 999px; background: #0d3b66; color: #ffffff; font: 800 clamp(20px, 5.6vw, 26px)/1.2 'Barlow Cond Adv', var(--adv-label); letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 3px 0 #06203a; }
body[data-adventure="kids-penguin-adventure"] .adventure-top .adv-occasion { font: 800 clamp(17px, 4.6vw, 21px)/1.25 var(--adv-label); letter-spacing: .16em; color: #1f6fb2; text-transform: uppercase; }
body[data-adventure="kids-penguin-adventure"] .sc-h2 { color: #0d3b66; font-size: clamp(24px, 6.6vw, 32px); text-shadow: 0 2px 0 rgba(124,194,238,.7); }
body[data-adventure="kids-penguin-adventure"] .adv-eyebrow { font-size: 15px; letter-spacing: .2em; color: #1f6fb2; }
body[data-adventure="kids-penguin-adventure"] :is(.sc-label, .sc-form label, .sc-legend, .sc-time) { color: #1f6fb2; }
body[data-adventure="kids-penguin-adventure"] .adventure-top .adventure-detail { background: rgba(255,255,255,.7); }
body[data-adventure="kids-penguin-adventure"] .adventure-top .adventure-detail strong { color: #1f6fb2; }
body[data-adventure="kids-penguin-adventure"] .sc-script { font: 400 clamp(24px, 6.6vw, 32px)/1.15 var(--adv-script); color: #1f6fb2; }
body[data-adventure="kids-penguin-adventure"] .sc-signature { font: 800 24px/1.2 var(--adv-label); letter-spacing: .08em; color: #0d3b66; }
body[data-adventure="kids-penguin-adventure"] .countdown-item { border-radius: 12px; background: #0d3b66; box-shadow: inset 0 0 0 2px #9fd6f5; }
body[data-adventure="kids-penguin-adventure"] .countdown-val { color: #ffffff; font-size: 30px; }
body[data-adventure="kids-penguin-adventure"] .countdown-lbl { color: #9fd6f5; }
body[data-adventure="kids-penguin-adventure"] .sc-footer .sc-script { color: #ffffff; font-size: clamp(32px, 9vw, 50px); text-shadow: 0 3px 0 rgba(31,111,178,.9), 0 4px 22px rgba(0,0,0,.7); }
body[data-adventure="kids-penguin-adventure"] .sc-footer .sc-footer-sub { color: #9fd6f5; font-family: var(--adv-label); font-weight: 800; letter-spacing: .12em; }
body[data-adventure="kids-penguin-adventure"] .sc-music { background: rgba(6,32,58,.88); color: #9fd6f5; }
body[data-adventure="kids-penguin-adventure"] .adventure-chip { border-color: rgba(159,214,245,.65); }
body[data-adventure="kids-penguin-adventure"] .adventure-pause { background: rgba(6,32,58,.84); border-color: #9fd6f5; }

/* ---- Rainbow: ivory cards with the pavilion panel's gold edge and a rainbow band along the top ---- */
body[data-adventure="kids-rainbow-adventure"] .sc-flow > .sc-section, body[data-adventure="kids-rainbow-adventure"] .adv-top-card {
  background: linear-gradient(90deg, #e8413c, #f28c28 20%, #e9b308 40%, #3fae49 60%, #2f7fd8 80%, #7a4fb0) 0 0 / 100% 8px no-repeat, var(--adv-card);
  box-shadow: inset 0 0 0 2px #e9b308, 0 0 0 1px rgba(0,0,0,.3), 0 18px 44px rgba(0,0,0,.45), 0 0 30px rgba(255,214,230,.2); }
body[data-adventure="kids-rainbow-adventure"] .sc-flow > .sc-section::before, body[data-adventure="kids-rainbow-adventure"] .adv-ring { inset: 14px 10px 10px; border: 1.5px solid var(--adv-card-ring); border-radius: 12px; }
body[data-adventure="kids-rainbow-adventure"] .adventure-top .adventure-eyebrow { font: 800 16px/1.2 var(--adv-label); letter-spacing: .2em; color: #7a4fb0; }
body[data-adventure="kids-rainbow-adventure"] .adventure-top .adv-name { font: 400 clamp(44px, 12.5vw, 74px)/1.04 'Fredoka Adv', 'Fredoka', system-ui, sans-serif; text-transform: none;
  background: linear-gradient(180deg, #e8413c 8%, #f28c28 28%, #e9b308 46%, #3fae49 63%, #2f7fd8 80%, #7a4fb0 95%); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 3px 0 #ffffff) drop-shadow(0 4px 6px rgba(122,79,176,.3)); }
body[data-adventure="kids-rainbow-adventure"] .adventure-top h1 .adv-age { display: block; margin-top: 4px; color: #e0457b; font: 400 clamp(28px, 7.6vw, 38px)/1.2 'Kaushan Adv', 'Kaushan Script', cursive; letter-spacing: 0; text-transform: none; }
body[data-adventure="kids-rainbow-adventure"] .adventure-top .adv-occasion { font: 800 clamp(17px, 4.6vw, 21px)/1.25 var(--adv-label); letter-spacing: .16em; color: #2f7fd8; text-transform: uppercase; }
body[data-adventure="kids-rainbow-adventure"] .sc-h2 { color: #7a4fb0; font-size: clamp(26px, 7vw, 34px); text-shadow: 0 2px 0 rgba(245,197,24,.45); }
body[data-adventure="kids-rainbow-adventure"] .adv-eyebrow { font-size: 15px; letter-spacing: .2em; color: #e0457b; }
body[data-adventure="kids-rainbow-adventure"] :is(.sc-label, .sc-form label, .sc-legend, .sc-time) { color: #e0457b; }
body[data-adventure="kids-rainbow-adventure"] .adventure-top .adventure-detail { background: rgba(255,250,240,.75); }
body[data-adventure="kids-rainbow-adventure"] .adventure-top .adventure-detail strong { color: #7a4fb0; }
body[data-adventure="kids-rainbow-adventure"] .sc-script { font: 400 clamp(30px, 8vw, 40px)/1.15 var(--adv-script); color: #e0457b; }
body[data-adventure="kids-rainbow-adventure"] .sc-signature { font: 400 28px/1.2 var(--adv-script); color: #7a4fb0; }
body[data-adventure="kids-rainbow-adventure"] .countdown-item { border-radius: 14px; background: #ffffff; box-shadow: inset 0 0 0 2px #e9b308; }
body[data-adventure="kids-rainbow-adventure"] .countdown-val { color: #7a4fb0; font-size: 30px; }
body[data-adventure="kids-rainbow-adventure"] .countdown-lbl { color: #e0457b; }
body[data-adventure="kids-rainbow-adventure"] .sc-footer .sc-script { color: #ffffff; font-size: clamp(36px, 10vw, 56px); text-shadow: 0 3px 0 rgba(224,69,123,.9), 0 4px 22px rgba(0,0,0,.7); }
body[data-adventure="kids-rainbow-adventure"] .sc-footer .sc-footer-sub { color: #f5c518; font-family: var(--adv-label); font-weight: 800; letter-spacing: .12em; }
body[data-adventure="kids-rainbow-adventure"] .sc-music { background: rgba(42,29,92,.88); color: #f5c518; }
body[data-adventure="kids-rainbow-adventure"] .adventure-chip { border-color: rgba(245,197,24,.6); }
body[data-adventure="kids-rainbow-adventure"] .adventure-pause { background: rgba(42,29,92,.84); border-color: #f5c518; }

/* 8 Nov Samsung for Farmyard, Penguin, Rainbow: the pause prompt keeps its dark glass pill, which is dark either way; button words and the chosen RSVP answer as on Roller */
[data-ss] body:is([data-adventure="kids-farmyard-adventure"],[data-adventure="kids-penguin-adventure"],[data-adventure="kids-rainbow-adventure"]) .adventure-pause .ss-fill { display: none; }
[data-ss] body:is([data-adventure="kids-farmyard-adventure"],[data-adventure="kids-penguin-adventure"],[data-adventure="kids-rainbow-adventure"]) .sc-btn-solid > .ss-ink { background: none; -webkit-text-fill-color: #ffffff; }
[data-ss] body:is([data-adventure="kids-farmyard-adventure"],[data-adventure="kids-penguin-adventure"],[data-adventure="kids-rainbow-adventure"]) .sc-choice input:checked + span { background-image: var(--ss-button); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #ffffff; }

/* ======================================================================================================
   8 Nov 2026 Army Boot Camp (kids-army-boot-camp). Same page as the films above, in this film's own colours. Appended only.
   ====================================================================================================== */
@font-face { font-family: 'Army Stencil'; font-display: swap; font-weight: 400; src: url(/themes/kids-army-boot-camp/print/fonts/BlackOpsOne-Regular.ttf) format('truetype'); }
@font-face { font-family: 'Army Russo'; font-display: swap; font-weight: 400; src: url(/themes/kids-army-boot-camp/print/fonts/RussoOne-Regular.ttf) format('truetype'); }
@font-face { font-family: 'Army Sans'; font-display: swap; font-weight: 700; src: url(/themes/kids-army-boot-camp/print/fonts/ChakraPetch-Bold.ttf) format('truetype'); }
.adventure-scene[data-theme="kids-army-boot-camp"] { --adv-bg:#10160b; --adv-ink:#f6efd8; --adv-muted:rgba(246,239,216,.86); --adv-accent:#ecc86f; }
body[data-adventure="kids-army-boot-camp"] {
  --adv-page: #10160b; --adv-bg: #10160b; --adv-ink: #f6efd8; --adv-muted: #d8cfac; --adv-accent: #ecc86f; --adv-accent-2: #f5e2aa; --adv-hot: #d98f3d;
  --adv-card: radial-gradient(ellipse at 50% 30%, #3d4a24 0, #2a3419 62%, #1b2210 100%); --adv-card-line: #c09a55; --adv-card-ring: rgba(245,226,170,.45);
  --adv-head: 'Army Stencil', Georgia, serif; --adv-label: 'Army Sans', system-ui, sans-serif; --adv-script: 'Army Stencil', cursive;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #ecc86f, #b9863a); --adv-btn-ink: #1e2410; --adv-field: #2f3a1d; --adv-field-line: rgba(236,200,111,.55);
  --adv-radius: 6px; --adv-head-case: uppercase; --adv-head-track: .02em;
  --adv-emblem: url(/themes/kids-army-boot-camp/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-army-boot-camp/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-army-boot-camp/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-army-boot-camp/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-army-boot-camp/assets/adventure/page/decor-a.svg); --adv-b: url(/themes/kids-army-boot-camp/assets/adventure/page/decor-b.svg);
  font-synthesis: none;
  background: #10160b;
  background-image: radial-gradient(760px 520px at 50% 0, rgba(200,160,70,.2), transparent 70%), linear-gradient(180deg, #2c3618 0, #1a210f 40%, #10160b 100%);
}
body[data-adventure="kids-army-boot-camp"] :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body[data-adventure="kids-army-boot-camp"] .adventure-top .adventure-detail { font-family: var(--adv-body); font-size: clamp(14.5px, 4vw, 17px); font-weight: 600; background: rgba(236,200,111,.08); }
body[data-adventure="kids-army-boot-camp"] .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); color: #ffffff; font-size: 17px; font-weight: 600; }
body[data-adventure="kids-army-boot-camp"] .sc-form :is(input, textarea)::placeholder { color: #c8bf9c; opacity: 1; }
body[data-adventure="kids-army-boot-camp"] .sc-music { border-color: var(--adv-accent); background: rgba(16,22,11,.86); color: var(--adv-accent); }
body[data-adventure="kids-army-boot-camp"] .sc-flow > .sc-section, body[data-adventure="kids-army-boot-camp"] .adv-top-card { box-shadow: inset 0 0 0 2px #c09a55, 0 18px 44px rgba(0,0,0,.55); }
body[data-adventure="kids-army-boot-camp"] .sc-flow > .sc-section::before, body[data-adventure="kids-army-boot-camp"] .adv-ring { inset: 8px; border: 1px dashed var(--adv-card-ring); border-radius: 10px; }
body[data-adventure="kids-army-boot-camp"] .adventure-top .adv-name { font: 400 clamp(44px, 12.5vw, 72px)/1.15 var(--adv-script); color: #f5e2aa; text-transform: none; letter-spacing: 0; padding: 0 8px 4px; text-shadow: 0 3px 0 #10160b, 0 4px 14px rgba(0,0,0,.6); }
body[data-adventure="kids-army-boot-camp"] .adventure-top .adv-occasion { font: 700 clamp(16px, 4.4vw, 20px)/1.3 var(--adv-label); color: #ffffff; letter-spacing: .1em; text-transform: uppercase; }
body[data-adventure="kids-army-boot-camp"] .adventure-top .adventure-eyebrow, body[data-adventure="kids-army-boot-camp"] .adv-eyebrow { color: var(--adv-accent); font-family: var(--adv-label); font-weight: 700; }
body[data-adventure="kids-army-boot-camp"] .sc-h2 { color: #f5e2aa; font-weight: 400; font-size: clamp(24px, 6.6vw, 32px); }
body[data-adventure="kids-army-boot-camp"] :is(.sc-script, .sc-signature) { font-family: var(--adv-script); font-weight: 400; color: #f5e2aa; text-transform: none; }
body[data-adventure="kids-army-boot-camp"] .sc-script { font-size: clamp(34px, 9.2vw, 44px); line-height: 1.25; }
body[data-adventure="kids-army-boot-camp"] .sc-signature { font-size: 30px; }
body[data-adventure="kids-army-boot-camp"] .sc-lead { font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--adv-ink); }
body[data-adventure="kids-army-boot-camp"] .sc-value { font-size: 17px; font-weight: 600; line-height: 1.45; color: var(--adv-ink); }
body[data-adventure="kids-army-boot-camp"] .sc-what { font-size: 16.5px; font-weight: 600; color: var(--adv-ink); }
body[data-adventure="kids-army-boot-camp"] .sc-time { font: 700 17px/1.2 var(--adv-label); color: var(--adv-accent); white-space: nowrap; }
body[data-adventure="kids-army-boot-camp"] :is(.sc-label, .sc-form label, .sc-legend) { color: var(--adv-accent); }
body[data-adventure="kids-army-boot-camp"] .countdown-item { background: rgba(236,200,111,.08); box-shadow: inset 0 0 0 1px rgba(236,200,111,.55); }
body[data-adventure="kids-army-boot-camp"] .countdown-val { color: #f5e2aa; font-weight: 800; }
body[data-adventure="kids-army-boot-camp"] .countdown-lbl { color: #ffffff; }
body[data-adventure="kids-army-boot-camp"] .adventure-actions a { font: 700 16px/1 var(--adv-label); letter-spacing: .06em; }
body[data-adventure="kids-army-boot-camp"] .sc-footer .sc-script { color: #f5e2aa; font-size: clamp(40px, 11vw, 58px); text-shadow: 0 3px 18px rgba(0,0,0,.75); }
body[data-adventure="kids-army-boot-camp"] .sc-footer .sc-footer-sub { font-family: var(--adv-label); font-weight: 700; color: #ffffff; letter-spacing: .08em; text-shadow: 0 2px 10px rgba(0,0,0,.8); }
body[data-adventure="kids-army-boot-camp"] .sc-section.adv-details::after, body[data-adventure="kids-army-boot-camp"] .sc-section.adv-rsvp::after { right: -8px; top: -30px; width: 72px; height: 60px; }
body[data-adventure="kids-army-boot-camp"] .sc-section.adv-programme::after, body[data-adventure="kids-army-boot-camp"] .sc-section.adv-location::after, body[data-adventure="kids-army-boot-camp"] .sc-section.adv-welcome::after { left: -6px; top: -34px; width: 56px; height: 68px; }
body[data-adventure="kids-army-boot-camp"] .adv-top-card::before { content: ""; position: absolute; left: -8px; top: -30px; width: 74px; height: 62px; background: var(--adv-a) center / contain no-repeat; transform: rotate(-8deg); pointer-events: none; }
body[data-adventure="kids-army-boot-camp"] .adv-top-card::after { content: ""; position: absolute; right: -6px; top: -32px; width: 58px; height: 70px; background: var(--adv-b) center / contain no-repeat; transform: rotate(10deg); pointer-events: none; }
body[data-adventure="kids-army-boot-camp"] .adventure-open { background: linear-gradient(180deg, transparent 50%, rgba(16,22,11,.15) 65%, rgba(16,22,11,.9) 100%); }
body[data-adventure="kids-army-boot-camp"] .adventure-chip { border-color: rgba(236,200,111,.65); }
/* the pause: the whole frame takes the tap, a soft gold pulse on the ring on the tent flap, the label under the tent. Sized to the frame, not the scene */
body[data-adventure="kids-army-boot-camp"] .adventure-pause { inset: 0 0 auto 0; transform: none; width: 100%; height: min(177.78vw, 100svh); min-height: 420px; padding: 0; border: 0; border-radius: 0; background: transparent; }
body[data-adventure="kids-army-boot-camp"] .adventure-pause::before { content: ""; position: absolute; left: 50.4%; top: 47%; height: 15%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; box-shadow: 0 0 22px rgba(236,200,111,.6), inset 0 0 22px rgba(236,200,111,.28); animation: adventure-army-ring 1.7s ease-in-out infinite; }
body[data-adventure="kids-army-boot-camp"] .adventure-pause > span { position: absolute; left: 50%; top: 76%; transform: translateX(-50%); padding: 13px 24px; border: 0; border-radius: 8px; background: var(--adv-btn); color: var(--adv-btn-ink); font: 700 19px/1 var(--adv-label); letter-spacing: .03em; white-space: nowrap; }
@keyframes adventure-army-ring { 0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); } }
@media (prefers-reduced-motion: reduce) { body[data-adventure="kids-army-boot-camp"] .adventure-pause::before { animation: none; opacity: 1; } }
[data-ss] body[data-adventure="kids-army-boot-camp"] .sc-choice input:checked + span { background-image: var(--ss-button); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #ffffff; }
body[data-adventure="kids-army-boot-camp"] .adventure-scroll { bottom: max(2px, env(safe-area-inset-bottom)); gap: 0; font-size: 0; }  /* the sign fills the frame, so only the arrow shows, in the strip under the sign */

/* ======================================================================================================
   8 Nov 2026 Mad Science (kids-mad-science-boom). Same page as the films above, in this film's own colours. Appended only.
   ====================================================================================================== */
@font-face { font-family: 'Boom Bang'; font-display: swap; font-weight: 400; src: url(/themes/kids-mad-science-boom/print/fonts/Bangers-Regular.ttf) format('truetype'); }
@font-face { font-family: 'Boom Kanit'; font-display: swap; font-weight: 800; src: url(/themes/kids-mad-science-boom/print/fonts/Kanit-ExtraBold.ttf) format('truetype'); }
@font-face { font-family: 'Boom Sans'; font-display: swap; font-weight: 700; src: url(/themes/kids-mad-science-boom/print/fonts/Saira-Bold.ttf) format('truetype'); }
.adventure-scene[data-theme="kids-mad-science-boom"] { --adv-bg:#060b08; --adv-ink:#f2ffe8; --adv-muted:rgba(242,255,232,.86); --adv-accent:#b6ff5a; }
body[data-adventure="kids-mad-science-boom"] {
  --adv-page: #060b08; --adv-bg: #060b08; --adv-ink: #f2ffe8; --adv-muted: #cfe6c4; --adv-accent: #b6ff5a; --adv-accent-2: #dcffa6; --adv-hot: #d08bff;
  --adv-card: radial-gradient(ellipse at 50% 30%, #143a1e 0, #0c2413 62%, #071409 100%); --adv-card-line: #a6ff4d; --adv-card-ring: rgba(220,255,166,.45);
  --adv-head: 'Boom Bang', Georgia, serif; --adv-label: 'Boom Sans', system-ui, sans-serif; --adv-script: 'Boom Bang', cursive;
  --adv-body: 'Montserrat', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #b6ff5a, #5fcf2a); --adv-btn-ink: #0a1f08; --adv-field: #0f2c17; --adv-field-line: rgba(182,255,90,.55);
  --adv-radius: 14px; --adv-head-case: uppercase; --adv-head-track: .02em;
  --adv-emblem: url(/themes/kids-mad-science-boom/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-mad-science-boom/assets/adventure/page/divider.svg);
  --adv-top-bg: url(/themes/kids-mad-science-boom/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-mad-science-boom/assets/adventure/page/finale-bg.jpg);
  --adv-a: url(/themes/kids-mad-science-boom/assets/adventure/page/decor-a.svg); --adv-b: url(/themes/kids-mad-science-boom/assets/adventure/page/decor-b.svg);
  font-synthesis: none;
  background: #060b08;
  background-image: radial-gradient(760px 520px at 50% 0, rgba(150,60,255,.3), transparent 70%), linear-gradient(180deg, #1a1238 0, #0a120c 40%, #060b08 100%);
}
body[data-adventure="kids-mad-science-boom"] :is(.sc-lead, .sc-value, .sc-what, .sc-thanks) { font-family: var(--adv-body); }
body[data-adventure="kids-mad-science-boom"] .adventure-top .adventure-detail { font-family: var(--adv-body); font-size: clamp(14.5px, 4vw, 17px); font-weight: 600; background: rgba(182,255,90,.08); }
body[data-adventure="kids-mad-science-boom"] .sc-form :is(input[type="text"], select, textarea) { font-family: var(--adv-body); color: #ffffff; font-size: 17px; font-weight: 600; }
body[data-adventure="kids-mad-science-boom"] .sc-form :is(input, textarea)::placeholder { color: #b9d6ae; opacity: 1; }
body[data-adventure="kids-mad-science-boom"] .sc-music { border-color: var(--adv-accent); background: rgba(6,11,8,.86); color: var(--adv-accent); }
body[data-adventure="kids-mad-science-boom"] .sc-flow > .sc-section, body[data-adventure="kids-mad-science-boom"] .adv-top-card { box-shadow: inset 0 0 0 2px #a6ff4d, 0 18px 44px rgba(0,0,0,.55); }
body[data-adventure="kids-mad-science-boom"] .sc-flow > .sc-section::before, body[data-adventure="kids-mad-science-boom"] .adv-ring { inset: 8px; border: 1px dashed var(--adv-card-ring); border-radius: 10px; }
body[data-adventure="kids-mad-science-boom"] .adventure-top .adv-name { font: 400 clamp(54px, 16vw, 92px)/1.15 var(--adv-script); color: #dcffa6; text-transform: none; letter-spacing: 0; padding: 0 8px 4px; text-shadow: 0 3px 0 #3d1a78, 0 4px 14px rgba(0,0,0,.6); }
body[data-adventure="kids-mad-science-boom"] .adventure-top .adv-occasion { font: 700 clamp(16px, 4.4vw, 20px)/1.3 var(--adv-label); color: #ffffff; letter-spacing: .1em; text-transform: uppercase; }
body[data-adventure="kids-mad-science-boom"] .adventure-top .adventure-eyebrow, body[data-adventure="kids-mad-science-boom"] .adv-eyebrow { color: var(--adv-accent); font-family: var(--adv-label); font-weight: 700; }
body[data-adventure="kids-mad-science-boom"] .sc-h2 { color: #dcffa6; font-weight: 400; font-size: clamp(24px, 6.6vw, 32px); }
body[data-adventure="kids-mad-science-boom"] :is(.sc-script, .sc-signature) { font-family: var(--adv-script); font-weight: 400; color: #dcffa6; text-transform: none; }
body[data-adventure="kids-mad-science-boom"] .sc-script { font-size: clamp(34px, 9.2vw, 44px); line-height: 1.25; }
body[data-adventure="kids-mad-science-boom"] .sc-signature { font-size: 30px; }
body[data-adventure="kids-mad-science-boom"] .sc-lead { font-size: 17px; font-weight: 500; line-height: 1.6; color: var(--adv-ink); }
body[data-adventure="kids-mad-science-boom"] .sc-value { font-size: 17px; font-weight: 600; line-height: 1.45; color: var(--adv-ink); }
body[data-adventure="kids-mad-science-boom"] .sc-what { font-size: 16.5px; font-weight: 600; color: var(--adv-ink); }
body[data-adventure="kids-mad-science-boom"] .sc-time { font: 700 17px/1.2 var(--adv-label); color: var(--adv-accent); white-space: nowrap; }
body[data-adventure="kids-mad-science-boom"] :is(.sc-label, .sc-form label, .sc-legend) { color: var(--adv-accent); }
body[data-adventure="kids-mad-science-boom"] .countdown-item { background: rgba(182,255,90,.08); box-shadow: inset 0 0 0 1px rgba(182,255,90,.55); }
body[data-adventure="kids-mad-science-boom"] .countdown-val { color: #dcffa6; font-weight: 800; }
body[data-adventure="kids-mad-science-boom"] .countdown-lbl { color: #ffffff; }
body[data-adventure="kids-mad-science-boom"] .adventure-actions a { font: 700 16px/1 var(--adv-label); letter-spacing: .06em; }
body[data-adventure="kids-mad-science-boom"] .sc-footer .sc-script { color: #dcffa6; font-size: clamp(40px, 11vw, 58px); text-shadow: 0 3px 18px rgba(0,0,0,.75); }
body[data-adventure="kids-mad-science-boom"] .sc-footer .sc-footer-sub { font-family: var(--adv-label); font-weight: 700; color: #ffffff; letter-spacing: .08em; text-shadow: 0 2px 10px rgba(0,0,0,.8); }
body[data-adventure="kids-mad-science-boom"] .sc-section.adv-details::after, body[data-adventure="kids-mad-science-boom"] .sc-section.adv-rsvp::after { right: -8px; top: -30px; width: 72px; height: 60px; }
body[data-adventure="kids-mad-science-boom"] .sc-section.adv-programme::after, body[data-adventure="kids-mad-science-boom"] .sc-section.adv-location::after, body[data-adventure="kids-mad-science-boom"] .sc-section.adv-welcome::after { left: -6px; top: -34px; width: 56px; height: 68px; }
body[data-adventure="kids-mad-science-boom"] .adv-top-card::before { content: ""; position: absolute; left: -8px; top: -30px; width: 74px; height: 62px; background: var(--adv-a) center / contain no-repeat; transform: rotate(-8deg); pointer-events: none; }
body[data-adventure="kids-mad-science-boom"] .adv-top-card::after { content: ""; position: absolute; right: -6px; top: -32px; width: 58px; height: 70px; background: var(--adv-b) center / contain no-repeat; transform: rotate(10deg); pointer-events: none; }
body[data-adventure="kids-mad-science-boom"] .adventure-open { background: linear-gradient(180deg, transparent 50%, rgba(6,11,8,.15) 65%, rgba(6,11,8,.9) 100%); }
body[data-adventure="kids-mad-science-boom"] .adventure-chip { border-color: rgba(182,255,90,.65); }
/* the pause: the whole frame takes the tap, a soft gold pulse on the ring on the tent flap, the label under the tent. Sized to the frame, not the scene */
body[data-adventure="kids-mad-science-boom"] .adventure-pause { inset: 0 0 auto 0; transform: none; width: 100%; height: min(177.78vw, 100svh); min-height: 420px; padding: 0; border: 0; border-radius: 0; background: transparent; }
body[data-adventure="kids-mad-science-boom"] .adventure-pause::before { content: ""; position: absolute; left: 50%; top: 48%; height: 34%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; box-shadow: 0 0 22px rgba(182,255,90,.6), inset 0 0 22px rgba(182,255,90,.28); animation: adventure-boom-ring 1.7s ease-in-out infinite; }
body[data-adventure="kids-mad-science-boom"] .adventure-pause > span { position: absolute; left: 50%; top: 80%; transform: translateX(-50%); padding: 13px 24px; border: 0; border-radius: 8px; background: var(--adv-btn); color: var(--adv-btn-ink); font: 700 19px/1 var(--adv-label); letter-spacing: .03em; white-space: nowrap; }
@keyframes adventure-boom-ring { 0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(1); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); } }
@media (prefers-reduced-motion: reduce) { body[data-adventure="kids-mad-science-boom"] .adventure-pause::before { animation: none; opacity: 1; } }
[data-ss] body[data-adventure="kids-mad-science-boom"] .sc-choice input:checked + span { background-image: var(--ss-button); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #ffffff; }
body[data-adventure="kids-mad-science-boom"] .adventure-scroll { bottom: max(2px, env(safe-area-inset-bottom)); gap: 0; font-size: 0; }  /* the sign fills the frame, so only the arrow shows, in the strip under the sign */
/* 9 Nov 2026 Dinosaur face film (kids-dino-face): the Safari page rules above are shared with it */
[data-ss] body[data-adventure="kids-dino-face"] .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-dino-face"] .adventure-pause .ss-fill { display: none; }
[data-ss] body[data-adventure="kids-dino-face"] .adventure-pause .ss-ink { background: none; -webkit-text-fill-color: #ffffff; }
/* 9 Nov 2026 Dinosaur face film: its own look, after the shared Safari rules so these win. Parchment card like the Dinosaur print card, jungle behind it */
body[data-adventure="kids-dino-face"] { --adv-page: #0b1d10; --adv-ink: #20391d; --adv-muted: #4f6b2a; --adv-accent: #8a5a12; --adv-accent-2: #4f6b2a; --adv-hot: #c98f12;
  --adv-card: radial-gradient(ellipse at 50% 40%, #f8f3df 0, #ede3c0 70%, #dccf9e 100%); --adv-card-line: #4f6b2a; --adv-card-ring: rgba(79,107,42,.55);
  --adv-head: 'Fredoka Adv', 'Nunito', system-ui, sans-serif; --adv-label: 'Montserrat', system-ui, sans-serif; --adv-script: 'Fredoka Adv', system-ui, sans-serif;
  --adv-btn: linear-gradient(180deg, #ffd66b, #e8a81c); --adv-btn-ink: #2a1d00; --adv-field: #fffaf0; --adv-field-line: rgba(79,107,42,.5); --adv-radius: 14px;
  --adv-emblem: url(/themes/kids-dino-face/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-dino-face/assets/adventure/page/divider.svg); --adv-top-bg: url(/themes/kids-dino-face/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-dino-face/assets/adventure/page/finale-bg.jpg); --adv-a: url(/themes/kids-dino-face/assets/adventure/page/decor-fern.png); --adv-b: url(/themes/kids-dino-face/assets/adventure/page/decor-footprints.png);
  background: #0b1d10; background-image: linear-gradient(180deg, #16321a 0, #0f2612 40%, #0a1a0c 100%); }
body[data-adventure="kids-dino-face"] .adv-top-card { margin-top: 300px; }   /* the dinosaur shows above the card */
body[data-adventure="kids-dino-face"] .adventure-open-kicker, body[data-adventure="kids-dino-face"] .adventure-scroll span { color: #ffc53d; }
body[data-adventure="kids-dino-face"] .adventure-top .adv-name { text-shadow: 0 3px 0 #d8cf9a; }
/* 9 Nov 2026 Monster Truck face film (kids-trucks-face): the Monster Truck page rules above are shared with it */
[data-ss] body[data-adventure="kids-trucks-face"] .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-trucks-face"] .adventure-pause .ss-fill { display: none; }
[data-ss] body[data-adventure="kids-trucks-face"] .adventure-pause .ss-ink { background: none; -webkit-text-fill-color: #ffffff; }
/* 9 Nov 2026: its own daylight look, after the shared Monster Truck rules so these win */
body[data-adventure="kids-trucks-face"] { --adv-page: #142a1b; --adv-bg: #142a1b; --adv-card: linear-gradient(180deg, #125261 0, #0d4050 55%, #0a303d 100%); --adv-field: rgba(4,24,30,.62);
  --adv-emblem: url(/themes/kids-trucks-face/assets/adventure/page/emblem.svg); --adv-divider: url(/themes/kids-trucks-face/assets/adventure/page/divider.svg); --adv-top-bg: url(/themes/kids-trucks-face/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-trucks-face/assets/adventure/page/finale-bg.jpg); --adv-a: url(/themes/kids-trucks-face/assets/adventure/page/decor-flag.svg); --adv-b: url(/themes/kids-trucks-face/assets/adventure/page/decor-tyre.svg);
  background: #142a1b; background-image: linear-gradient(180deg, #1f4427 0, #17321e 38%, #2c2014 100%); }
body[data-adventure="kids-trucks-face"] .adv-top-card { margin-top: 268px; }   /* the whole truck shows above the card */
/* 11 Nov 2026 Flower Princess face film (kids-flower-princess-face): the Princess page rules above are shared with it; its own garden pictures here */
body[data-adventure="kids-flower-princess-face"] { --adv-top-bg: url(/themes/kids-flower-princess-face/assets/adventure/page/top-bg.jpg); --adv-finale-bg: url(/themes/kids-flower-princess-face/assets/adventure/page/finale-bg.jpg); }
[data-ss] body[data-adventure="kids-flower-princess-face"] .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-flower-princess-face"] .adventure-pause .ss-fill { display: none; }
[data-ss] body[data-adventure="kids-flower-princess-face"] .adventure-pause .ss-ink { background: none; -webkit-text-fill-color: #ffffff; }
