/* Retro Park Poster — a mid-century "Greetings from Florida" travel poster:
   banded sunset sky with sun rays, palms, a teal lagoon, a coral ribbon title,
   an enamel countdown badge and tall mini-poster day cards. Art: /img/themes/retro-park-poster/. */
[data-trip-theme="retro-park-poster"] {
  --pp-navy: #0F2D56;
  --pp-ink: #0B1B38;
  --pp-wine: #4B1631;
  --pp-cream: #FFF1D6;
  --pp-paper: #FFF4DE;
  --pp-sand: #FCE6BE;
  --pp-brown: #6A2A12;
  --pp-gold: #F4C27C;
  --pp-coral: #EE5B3B;
  --pp-orange: #F28C2C;
  --pp-mustard: #F1B33C;
  --pp-teal: #155A6E;
  --pp-teal-lt: #1A7487;
  --pp-green: #2E7A45;
  --pp-muted: #5A4636;

  --t-bg: #F3C48A;
  --t-ink: var(--pp-navy);
  --t-muted: var(--pp-muted);
  --t-surface: #FFF8EA;
  --t-surface-2: var(--pp-sand);
  --t-border: var(--pp-brown);
  --t-border-w: 3px;
  --t-primary: var(--pp-teal);     --t-on-primary: var(--pp-cream);
  --t-secondary: var(--pp-green);  --t-on-secondary: var(--pp-cream);
  --t-accent: #F08A3C;             --t-on-accent: var(--pp-ink);
  --t-btn-border: #5A2410;
  --t-link: var(--pp-teal);
  --t-focus: var(--pp-ink);
  --t-warn-bg: #FFE08A;            --t-warn-ink: #3B2200;
  --t-shadow: 6px 8px 0 rgba(106, 42, 18, .28);
  --t-shadow-btn: 0 4px 0 #5A2410;
  --t-radius-card: 14px;
  --t-radius-btn: 999px;
  --t-font-display: "Anton", "Oswald", Impact, "Arial Narrow", sans-serif;
  --t-font-body: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --t-font-num: "Anton", Impact, sans-serif;
  --pp-font-script: "Yellowtail", "Brush Script MT", cursive;
  --t-title-size: clamp(2.6rem, 4.6cqw + 1rem, 5.5rem);
  --t-title-weight: 400;
  --t-title-transform: uppercase;
  --t-title-ink: var(--pp-wine);
  --t-title-shadow: none;
  --t-hero-bg: transparent;
  --t-hero-ink: var(--pp-navy);
  --t-hero-muted: var(--pp-navy);
  --t-hero-border: transparent;
  --t-eyebrow-ink: var(--pp-navy);
  --t-count-bg: var(--pp-teal);
  --t-count-ink: var(--pp-cream);
  --t-count-border: #EE8A3C;
  --t-card-bg: var(--pp-paper);
  --t-card-ink: var(--pp-navy);
  --t-card-muted: var(--pp-muted);
  --t-card-border: var(--pp-brown);
  --t-card-head-bg: transparent;
  --t-card-head-ink: var(--pp-ink);
  --t-home-bg: var(--pp-paper);
  --t-home-ink: var(--pp-navy);
  --t-page-ink: var(--pp-navy);
  --t-page-muted: var(--pp-navy);
  --t-sheet-bg: var(--pp-paper);
  --sheet-border: #D9A36A;
  --choice-on-bg: #FDE2B2;
  --choice-on-border: var(--pp-brown);
  --field-border: var(--pp-brown);

  /* vintage screen-print park colors: cream text sits on these in the day-card title bands */
  --park-mk: #1E3F7A;
  --park-ep: #5B3B86;
  --park-hs: #A33A22;
  --park-ak: #2E6236;
  --park-water: #11697A;
  --park-springs: #8A4A16;
  --kind-travel: #14506A;
  --kind-event: #6A2C5C;
  --kind-rest: #A3323F;
  --kind-open: #5E6472;

  overflow: clip;
}

/* ---------- the poster scene ---------- */
[data-trip-theme="retro-park-poster"] .ts-backdrop {
  background:
    radial-gradient(rgba(140, 58, 18, .09) 1.1px, transparent 1.6px) 0 0 / 7px 7px,
    repeating-conic-gradient(from -90deg at 50% 104%, rgba(255, 238, 205, .2) 0 3.5deg, transparent 3.5deg 8deg),
    linear-gradient(180deg, #F7D29C 0, #F3C48A 560px, #F1B87E 1000px, #EEAA74 1600px, #EBA06F 100%);
}
/* sky, sun-streaked clouds, distant hills, lagoon and beach */
[data-trip-theme="retro-park-poster"] .ts-backdrop::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 540px;
  background:
    radial-gradient(rgba(140, 58, 18, .07) 1.1px, transparent 1.6px) 0 0 / 7px 7px,
    url("/img/themes/retro-park-poster/sky.svg") center bottom / cover no-repeat;
}
/* jungle corners at the foot of the page */
[data-trip-theme="retro-park-poster"] .ts-backdrop::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 250px;
  background:
    url("/img/themes/retro-park-poster/foliage.svg") left bottom / auto 100% no-repeat,
    url("/img/themes/retro-park-poster/foliage-r.svg") right bottom / auto 100% no-repeat;
}
/* paper grain over everything */
[data-trip-theme="retro-park-poster"] .ts-content::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  background: url("/img/themes/retro-park-poster/grain.svg") 0 0 / 220px 220px;
  opacity: .32;
  mix-blend-mode: multiply;
}

/* ---------- hero: palms, sun rays, ribbon title ---------- */
[data-trip-theme="retro-park-poster"] .ts-hero { position: relative; margin-bottom: 34px; }
[data-trip-theme="retro-park-poster"] .ts-hero::before,
[data-trip-theme="retro-park-poster"] .ts-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -38px;
  width: 360px;
  height: 524px;
  pointer-events: none;
  background: url("/img/themes/retro-park-poster/palms-left.svg") 0 0 / 100% 100% no-repeat;
}
[data-trip-theme="retro-park-poster"] .ts-hero::before { left: max(-170px, calc((100% - 100cqw) / 2 - 60px)); }
[data-trip-theme="retro-park-poster"] .ts-hero::after {
  right: max(-170px, calc((100% - 100cqw) / 2 - 60px));
  background-image: url("/img/themes/retro-park-poster/palms-right.svg");
}

[data-trip-theme="retro-park-poster"] .ts-masthead { padding: 8px 0 4px; }
/* sunburst centred on the title */
[data-trip-theme="retro-park-poster"] .ts-masthead::before {
  content: "";
  position: absolute;
  z-index: -2;
  left: 50%;
  top: 50%;
  width: 1500px;
  height: 1500px;
  margin: -750px 0 0 -750px;
  pointer-events: none;
  background: url("/img/themes/retro-park-poster/rays.svg") center / contain no-repeat;
}
[data-trip-theme="retro-park-poster"] .ts-deco-1 {
  display: block;
  position: absolute;
  top: 2%;
  right: 6%;
  width: 92px;
  height: 46px;
  background: url("/img/themes/retro-park-poster/birds.svg") center / contain no-repeat;
}
[data-trip-theme="retro-park-poster"] .ts-frame {
  padding: 0 0 6px;
  background: none;
  border: 0;
}
[data-trip-theme="retro-park-poster"] .ts-eyebrow {
  margin: 0 0 -.06em;
  font-family: var(--pp-font-script);
  font-size: clamp(2.1rem, 1.6vw + 1.5rem, 2.9rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: none;
  transform: rotate(-5deg) translateX(-.6em);
  z-index: 2;
  text-shadow:
    2px 0 0 var(--pp-cream), -2px 0 0 var(--pp-cream), 0 2px 0 var(--pp-cream), 0 -2px 0 var(--pp-cream),
    2px 2px 0 var(--pp-cream), -2px -2px 0 var(--pp-cream), 2px -2px 0 var(--pp-cream), -2px 2px 0 var(--pp-cream),
    4px 4px 0 rgba(238, 91, 59, .45);
}
/* the ribbon: a tapered, fork-ended coral banner behind the title, with a printed offset shadow */
[data-trip-theme="retro-park-poster"] .ts-title {
  width: fit-content;
  max-width: min(100%, 10.2em);
  margin: 0 auto;
  padding: .2em .95em .16em;
  line-height: .96;
  letter-spacing: .015em;
  transform: rotate(-3deg);
  isolation: isolate;
  text-shadow:
    1.5px 0 0 var(--pp-cream), -1.5px 0 0 var(--pp-cream), 0 1.5px 0 var(--pp-cream), 0 -1.5px 0 var(--pp-cream),
    1.5px 1.5px 0 var(--pp-cream), -1.5px -1.5px 0 var(--pp-cream), 1.5px -1.5px 0 var(--pp-cream), -1.5px 1.5px 0 var(--pp-cream);
}
[data-trip-theme="retro-park-poster"] .ts-title::before,
[data-trip-theme="retro-park-poster"] .ts-title::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  clip-path: polygon(0 0, 100% 7%, calc(100% - .42em) 52%, 100% 93%, 0 100%, .42em 50%);
}
[data-trip-theme="retro-park-poster"] .ts-title::before {
  z-index: -1;
  background:
    linear-gradient(180deg, transparent 9%, rgba(255, 226, 180, .5) 9% 12%, transparent 12% 86%, rgba(150, 40, 20, .25) 86% 89%, transparent 89%),
    radial-gradient(rgba(140, 30, 10, .13) 1.1px, transparent 1.6px) 0 0 / 6px 6px,
    linear-gradient(180deg, #EE5638 0%, #F2703C 42%, #F6973F 78%, #F8AA48 100%);
}
[data-trip-theme="retro-park-poster"] .ts-title::after {
  z-index: -2;
  transform: translate(7px, 8px);
  background: rgba(106, 42, 18, .32);
}
[data-trip-theme="retro-park-poster"] .ts-dates {
  margin-top: 22px;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-shadow: 0 0 6px rgba(255, 241, 214, .9), 0 0 2px var(--pp-cream);
}
[data-trip-theme="retro-park-poster"] .ts-dot { color: #C23A1E; }

/* ---------- enamel countdown badge ---------- */
[data-trip-theme="retro-park-poster"] .ts-side { width: 212px; align-items: center; gap: 16px; }
[data-trip-theme="retro-park-poster"] .ts-count {
  width: 172px;
  height: 172px;
  min-height: 0;
  padding: 0;
  gap: 0;
  border: 8px solid #EE8A3C;
  border-radius: 50%;
  background:
    radial-gradient(circle, transparent 0 64%, rgba(255, 241, 214, .95) 64.5% 67%, transparent 67.5%),
    radial-gradient(circle at 50% 38%, #1E7488 0%, #155A6E 55%, #0F4657 100%);
  box-shadow:
    inset 0 0 0 3px var(--pp-brown),
    0 0 0 3px var(--pp-brown),
    0 0 0 7px var(--pp-gold),
    0 0 0 9px var(--pp-brown),
    7px 9px 0 9px rgba(106, 42, 18, .28);
}
[data-trip-theme="retro-park-poster"] .ts-count-n {
  font-weight: 400;
  font-size: 4.3rem;
  line-height: .95;
  text-shadow: 3px 3px 0 var(--pp-ink);
}
[data-trip-theme="retro-park-poster"] .ts-count-l {
  max-width: 7.5em;
  font-family: var(--t-font-display);
  font-weight: 400;
  font-size: 1.05rem;
  letter-spacing: .12em;
  line-height: 1.1;
}
[data-trip-theme="retro-park-poster"] .ts-count-pre { font-size: .82rem; }

/* ---------- enamel-sign pill buttons ---------- */
[data-trip-theme="retro-park-poster"] .ts-actions { align-self: stretch; gap: 12px; }
[data-trip-theme="retro-park-poster"] .ts-btn {
  min-height: 50px;
  padding: 8px 18px;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: .01em;
  color: var(--pp-cream);
  background: linear-gradient(180deg, #1C6A7E, #134F61);
  border: 3px solid #5A2410;
  box-shadow: inset 0 0 0 2px rgba(255, 214, 150, .8), 0 4px 0 #5A2410;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .3);
}
[data-trip-theme="retro-park-poster"] a.ts-btn { color: var(--pp-cream); }
[data-trip-theme="retro-park-poster"] .ts-btn-1,
[data-trip-theme="retro-park-poster"] .ic-links .ts-btn:nth-child(3) { background: linear-gradient(180deg, #DA6A2C, #C4501B); }
[data-trip-theme="retro-park-poster"] .ts-btn-2 { background: linear-gradient(180deg, #1C6A7E, #134F61); }
[data-trip-theme="retro-park-poster"] .ts-btn-3,
[data-trip-theme="retro-park-poster"] .ic-links .ts-btn:nth-child(1) { background: linear-gradient(180deg, #1F4C72, #16365A); }
[data-trip-theme="retro-park-poster"] .ic-links .ts-btn:nth-child(2) { background: linear-gradient(180deg, #3D8046, #2D6A37); }
[data-trip-theme="retro-park-poster"] .ts-btn:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: inset 0 0 0 2px rgba(255, 214, 150, .8), 0 6px 0 #5A2410; }
[data-trip-theme="retro-park-poster"] .ts-btn:active { transform: translateY(3px); box-shadow: inset 0 0 0 2px rgba(255, 214, 150, .8), 0 1px 0 #5A2410; }

[data-trip-theme="retro-park-poster"] .ts-banner { border: 3px solid var(--pp-brown); box-shadow: 4px 5px 0 rgba(106, 42, 18, .25); }
[data-trip-theme="retro-park-poster"] .ts-nudge { background: var(--pp-paper); border: 3px dashed var(--pp-brown); }
[data-trip-theme="retro-park-poster"] .nudge-meter { background: var(--pp-sand); box-shadow: inset 0 0 0 1.5px var(--pp-brown); }

/* ---------- day cards: little sunset posters ---------- */
[data-trip-theme="retro-park-poster"] .ts-day-grid { grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 26px 18px; }
[data-trip-theme="retro-park-poster"] .dc-li { --pp-top: #EE5B3B; --pp-mid: #F59A4E; --pp-glow: #FCD994; --pp-hills: url("/img/themes/retro-park-poster/hills-a.svg"); }
[data-trip-theme="retro-park-poster"] .dc-li:nth-child(7n + 2) { --pp-top: #FBE3B6; --pp-mid: #F8CB8A; --pp-glow: #FFEFC8; }
[data-trip-theme="retro-park-poster"] .dc-li:nth-child(7n + 3) { --pp-top: #F28C2C; --pp-mid: #F6B052; --pp-glow: #FCDA8E; }
[data-trip-theme="retro-park-poster"] .dc-li:nth-child(7n + 4) { --pp-top: #F1B33C; --pp-mid: #F6CF72; --pp-glow: #FDEAB4; }
[data-trip-theme="retro-park-poster"] .dc-li:nth-child(7n + 5) { --pp-top: #2A93A6; --pp-mid: #8EC6B2; --pp-glow: #F8D894; }
[data-trip-theme="retro-park-poster"] .dc-li:nth-child(7n + 6) { --pp-top: #F6A93B; --pp-mid: #F2803C; --pp-glow: #FBC98A; }
[data-trip-theme="retro-park-poster"] .dc-li:nth-child(7n) { --pp-top: #F7C94A; --pp-mid: #F9D97C; --pp-glow: #FDEBB8; }
[data-trip-theme="retro-park-poster"] .dc-li:nth-child(even) { --pp-hills: url("/img/themes/retro-park-poster/hills-b.svg"); }

[data-trip-theme="retro-park-poster"] .day-card {
  min-height: 304px;
  border: 3px solid var(--pp-brown);
  border-radius: 14px;
  background: linear-gradient(180deg, var(--pp-top) 0%, var(--pp-top) 22%, var(--pp-mid) 50%, var(--pp-glow) 78%);
  box-shadow:
    0 0 0 4px var(--pp-gold),
    0 0 0 6px var(--pp-brown),
    6px 8px 0 6px rgba(106, 42, 18, .26);
}
[data-trip-theme="retro-park-poster"] .day-card:hover { transform: translateY(-4px) rotate(-.6deg); }
/* soft sun rays in each little sky */
[data-trip-theme="retro-park-poster"] .day-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 260px;
  height: 260px;
  margin-left: -130px;
  pointer-events: none;
  background: repeating-conic-gradient(from 4deg, rgba(255, 246, 222, .34) 0 7deg, transparent 7deg 18deg);
  -webkit-mask-image: radial-gradient(circle, #000 18%, transparent 62%);
  mask-image: radial-gradient(circle, #000 18%, transparent 62%);
}
/* printed inner keyline */
[data-trip-theme="retro-park-poster"] .day-card::after {
  content: "";
  position: absolute;
  inset: 5px;
  z-index: 3;
  pointer-events: none;
  border: 1.5px solid rgba(255, 244, 222, .75);
  border-radius: 9px;
}
[data-trip-theme="retro-park-poster"] .dc-head,
[data-trip-theme="retro-park-poster"] .dc-body,
[data-trip-theme="retro-park-poster"] .dc-foot { position: relative; z-index: 1; }
[data-trip-theme="retro-park-poster"] .dc-head { padding: 15px 6px 2px; gap: 0; }
[data-trip-theme="retro-park-poster"] .dc-dow {
  font-family: var(--t-font-display);
  font-weight: 400;
  font-size: 1.3rem;
  letter-spacing: .1em;
  line-height: 1.05;
}
[data-trip-theme="retro-park-poster"] .dc-date { font-size: 1.08rem; letter-spacing: .07em; text-transform: uppercase; }
[data-trip-theme="retro-park-poster"] .dc-body { padding: 4px 0 0; gap: 0; }
[data-trip-theme="retro-park-poster"] .dc-body::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 6px;
  left: 50%;
  width: 92px;
  height: 92px;
  margin-left: -46px;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(circle, #FFF7DE 0 46%, #FFE4A2 64%, rgba(255, 226, 160, .55) 66%, transparent 70%);
}
[data-trip-theme="retro-park-poster"] .dc-icon {
  margin: 20px 0 34px;
  font-size: 3.2rem;
  filter: drop-shadow(3px 3px 0 rgba(106, 42, 18, .3)) saturate(.92);
}
[data-trip-theme="retro-park-poster"] .dc-title {
  position: relative;
  align-self: stretch;
  margin-top: auto;
  padding: 6px 10px 2px;
  font-weight: 400;
  font-size: 1.32rem;
  line-height: 1.04;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--pp-cream);
  background: var(--accent);
  text-shadow: 2px 2px 0 rgba(0, 0, 0, .22);
}
/* hills and little palms rising out of the title band */
[data-trip-theme="retro-park-poster"] .dc-title::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% - 1px);
  height: 32px;
  pointer-events: none;
  background: var(--accent);
  -webkit-mask: var(--pp-hills) center bottom / auto 100% no-repeat;
  mask: var(--pp-hills) center bottom / auto 100% no-repeat;
}
[data-trip-theme="retro-park-poster"] .dc-sub {
  align-self: stretch;
  padding: 3px 10px 2px;
  font-size: .78rem;
  color: #FDEBCB;
  background: var(--accent);
}
[data-trip-theme="retro-park-poster"] .dc-foot {
  padding: 7px 8px 13px;
  color: var(--pp-cream);
  background: var(--accent);
}
[data-trip-theme="retro-park-poster"] .dc-plans { color: #FDEBCB; }
[data-trip-theme="retro-park-poster"] .wx { color: var(--pp-ink); background: var(--pp-cream); }
[data-trip-theme="retro-park-poster"] .wx-typical { color: #4A3A2C; background: #EDE2CE; }
[data-trip-theme="retro-park-poster"] .dc-warn { border: 1.5px solid #3B2200; }

/* ---------- info cards ---------- */
[data-trip-theme="retro-park-poster"] .ts-info { gap: 30px; margin-top: 40px; }
[data-trip-theme="retro-park-poster"] .info-card {
  overflow: hidden;
  padding-top: 26px;
  background: var(--pp-paper);
  box-shadow: 0 0 0 4px var(--pp-gold), 0 0 0 6px var(--pp-brown), 6px 8px 0 6px rgba(106, 42, 18, .24);
}
/* poster stripes along the top */
[data-trip-theme="retro-park-poster"] .info-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 10px;
  background: linear-gradient(90deg, #EE5B3B 0 20%, #F28C2C 20% 40%, #F1B33C 40% 60%, #2E7A45 60% 80%, #1A7487 80%);
  border-bottom: 2px solid var(--pp-brown);
}
[data-trip-theme="retro-park-poster"] .ic-title {
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: .03em;
  text-transform: uppercase;
}
[data-trip-theme="retro-park-poster"] .ic-kicker {
  font-family: var(--pp-font-script);
  font-size: 1.85rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
  color: #B5381B;
  opacity: 1;
}
[data-trip-theme="retro-park-poster"] .ic-line { font-weight: 500; }
[data-trip-theme="retro-park-poster"] .leg + .leg { border-top: 2px dashed #D9A36A; }
[data-trip-theme="retro-park-poster"] .pc-chip { background: var(--pp-sand); border: 2px solid var(--pp-brown); }
[data-trip-theme="retro-park-poster"] .pc-emoji { background: var(--pp-paper); box-shadow: inset 0 0 0 1.5px #D9A36A; }
[data-trip-theme="retro-park-poster"] .reveal { background: var(--pp-sand); }

/* home base: a postcard with a stilt-hut sunset */
[data-trip-theme="retro-park-poster"] .home-card {
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr) auto;
  gap: 26px;
  padding: 0;
}
[data-trip-theme="retro-park-poster"] .home-card::before { display: none; }
[data-trip-theme="retro-park-poster"] .home-card .ic-art {
  align-self: stretch;
  width: 100%;
  height: auto;
  min-height: 200px;
  font-size: 0;
  border-radius: 0;
  background: url("/img/themes/retro-park-poster/home.svg") center / cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, #000 80%, transparent);
  mask-image: linear-gradient(90deg, #000 80%, transparent);
}
[data-trip-theme="retro-park-poster"] .home-card .ic-main { padding: 20px 0; }
[data-trip-theme="retro-park-poster"] .home-card .ic-title { font-size: 2rem; }
[data-trip-theme="retro-park-poster"] .home-card .ic-links { padding: 20px 24px 20px 0; gap: 12px; }

[data-trip-theme="retro-park-poster"] .ts-footer p {
  display: inline-block;
  margin: 0;
  padding: 9px 16px;
  background: rgba(255, 244, 222, .92);
  border: 2px solid var(--pp-brown);
  border-radius: 999px;
}

/* ---------- themed dialogs ---------- */
[data-trip-theme="retro-park-poster"] .sheet-inner {
  background: var(--pp-paper);
  border: 3px solid var(--pp-brown);
  border-radius: 16px;
  box-shadow: 0 0 0 4px var(--pp-gold), 0 0 0 6px var(--pp-brown), 0 30px 80px rgba(0, 0, 0, .35);
}
[data-trip-theme="retro-park-poster"] .sheet-head {
  background:
    radial-gradient(rgba(140, 30, 10, .12) 1.1px, transparent 1.6px) 0 0 / 6px 6px,
    linear-gradient(90deg, #F8AA48, #F2703C 70%, #EE5B3B);
  border-bottom: 3px solid var(--pp-brown);
}
[data-trip-theme="retro-park-poster"] .sheet-title {
  font-weight: 400;
  font-size: 1.65rem;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--pp-ink);
}
[data-trip-theme="retro-park-poster"] .sheet-x { color: var(--pp-ink); font-weight: 800; }
[data-trip-theme="retro-park-poster"] .ds-chip,
[data-trip-theme="retro-park-poster"] .day-sheet .wx { background: var(--pp-sand); border: 1.5px solid var(--pp-brown); color: var(--pp-ink); }
[data-trip-theme="retro-park-poster"] .ds-empty { background: var(--pp-sand); border: 2px dashed #D9A36A; color: var(--pp-muted); }
[data-trip-theme="retro-park-poster"] .tl-item { background: #FFFAF0; border: 2px solid var(--pp-brown); border-left: 9px solid var(--accent); border-radius: 10px; }
[data-trip-theme="retro-park-poster"] .tl-tag { color: #9A3418; }
[data-trip-theme="retro-park-poster"] .tl-edit { background: var(--pp-sand); border: 2px solid var(--pp-brown); border-radius: 999px; color: var(--pp-ink); }
[data-trip-theme="retro-park-poster"] .ds-add { border-top: 2px dashed #D9A36A; }
[data-trip-theme="retro-park-poster"] .ds-add-h { font-family: var(--pp-font-script); font-weight: 400; font-size: 1.6rem; color: #B5381B; }
[data-trip-theme="retro-park-poster"] .ds-add-btn { background: #FFFAF0; border: 2px solid var(--pp-brown); border-radius: 999px; color: var(--pp-ink); }
[data-trip-theme="retro-park-poster"] .ds-add-btn:hover { background: #FDE2B2; border-color: var(--pp-brown); }
[data-trip-theme="retro-park-poster"] .btn-primary {
  border: 3px solid #5A2410;
  box-shadow: inset 0 0 0 2px rgba(255, 214, 150, .8), 0 4px 0 #5A2410;
}
[data-trip-theme="retro-park-poster"] a.btn-primary { color: var(--btn-primary-ink); }

/* ---------- tablet ---------- */
@container trip (max-width: 899px) {
  [data-trip-theme="retro-park-poster"] .ts-backdrop::before { height: 700px; }
  [data-trip-theme="retro-park-poster"] .ts-side { width: auto; gap: 18px 22px; }
  [data-trip-theme="retro-park-poster"] .ts-actions { align-self: center; }
  [data-trip-theme="retro-park-poster"] .ts-count { min-width: 0; }
  [data-trip-theme="retro-park-poster"] .ts-hero::before,
  [data-trip-theme="retro-park-poster"] .ts-hero::after { top: -50px; width: 270px; height: 393px; }
}

/* ---------- phone: one column, smaller scene, rows for days ---------- */
@container trip (max-width: 599px) {
  [data-trip-theme="retro-park-poster"] {
    --t-title-size: clamp(2.2rem, 8.6cqw + .5rem, 3.3rem);
  }
  [data-trip-theme="retro-park-poster"] .ts-backdrop::before { height: 600px; }
  [data-trip-theme="retro-park-poster"] .ts-backdrop::after { height: 150px; opacity: .9; }
  [data-trip-theme="retro-park-poster"] .ts-hero { margin-bottom: 26px; }
  [data-trip-theme="retro-park-poster"] .ts-hero::before,
  [data-trip-theme="retro-park-poster"] .ts-hero::after { top: -34px; width: 170px; height: 248px; }
  [data-trip-theme="retro-park-poster"] .ts-hero::before { left: -66px; }
  [data-trip-theme="retro-park-poster"] .ts-hero::after { right: -66px; }
  [data-trip-theme="retro-park-poster"] .ts-masthead::before { width: 900px; height: 900px; margin: -450px 0 0 -450px; }
  [data-trip-theme="retro-park-poster"] .ts-deco-1 { display: none; }
  [data-trip-theme="retro-park-poster"] .ts-frame { padding: 0 0 4px; }
  [data-trip-theme="retro-park-poster"] .ts-eyebrow { font-size: 2rem; transform: rotate(-5deg) translateX(-.3em); }
  [data-trip-theme="retro-park-poster"] .ts-title { padding: .22em .78em .18em; transform: rotate(-2.5deg); }
  [data-trip-theme="retro-park-poster"] .ts-title::before,
  [data-trip-theme="retro-park-poster"] .ts-title::after { clip-path: polygon(0 0, 100% 5%, calc(100% - .34em) 51%, 100% 95%, 0 100%, .34em 50%); }
  [data-trip-theme="retro-park-poster"] .ts-title::after { transform: translate(5px, 6px); }
  [data-trip-theme="retro-park-poster"] .ts-dates { margin-top: 16px; font-size: .82rem; letter-spacing: .06em; }
  [data-trip-theme="retro-park-poster"] .ts-side { gap: 14px; }
  [data-trip-theme="retro-park-poster"] .ts-count {
    width: auto;
    height: auto;
    padding: 6px 22px 6px 18px;
    gap: 10px;
    border-width: 5px;
    border-radius: 999px;
    background: radial-gradient(ellipse at 50% 30%, #1E7488, #134F61);
    box-shadow: inset 0 0 0 2px var(--pp-brown), inset 0 0 0 4px rgba(255, 241, 214, .8), 0 0 0 2px var(--pp-brown), 4px 5px 0 2px rgba(106, 42, 18, .28);
  }
  [data-trip-theme="retro-park-poster"] .ts-count-n { font-size: 2.4rem; text-shadow: 2px 2px 0 var(--pp-ink); }
  [data-trip-theme="retro-park-poster"] .ts-count-l { max-width: none; font-size: 1rem; }
  [data-trip-theme="retro-park-poster"] .ts-actions { gap: 10px; }
  [data-trip-theme="retro-park-poster"] .ts-actions .ts-btn { min-height: 48px; padding: 7px 14px; font-size: 1.17rem; }

  [data-trip-theme="retro-park-poster"] .ts-day-grid { grid-template-columns: 1fr; gap: 18px; }
  [data-trip-theme="retro-park-poster"] .day-card {
    min-height: 92px;
    border-radius: 12px;
    background: linear-gradient(90deg, var(--pp-glow), #FFF3DC);
    box-shadow: 0 0 0 3px var(--pp-gold), 0 0 0 5px var(--pp-brown), 4px 6px 0 5px rgba(106, 42, 18, .24);
  }
  [data-trip-theme="retro-park-poster"] .day-card::before { display: none; }
  [data-trip-theme="retro-park-poster"] .day-card::after { inset: 4px; border-radius: 8px; border-color: rgba(255, 244, 222, .6); }
  [data-trip-theme="retro-park-poster"] .dc-head {
    width: 78px;
    padding: 8px 4px;
    background: linear-gradient(180deg, var(--pp-top), var(--pp-mid));
    border-right: 3px solid var(--pp-brown);
  }
  [data-trip-theme="retro-park-poster"] .dc-dow { font-size: 1.12rem; }
  [data-trip-theme="retro-park-poster"] .dc-date { font-size: .92rem; white-space: nowrap; }
  [data-trip-theme="retro-park-poster"] .dc-body { padding: 10px 6px 10px 10px; gap: 2px 12px; }
  [data-trip-theme="retro-park-poster"] .dc-body::before { top: 50%; left: 4px; width: 58px; height: 58px; margin: -29px 0 0; }
  [data-trip-theme="retro-park-poster"] .dc-icon { margin: 0; font-size: 2.1rem; }
  [data-trip-theme="retro-park-poster"] .dc-title {
    align-self: auto;
    margin: 0;
    padding: 0;
    font-size: 1.22rem;
    color: var(--pp-ink);
    background: none;
    text-shadow: none;
  }
  [data-trip-theme="retro-park-poster"] .dc-title::before { display: none; }
  [data-trip-theme="retro-park-poster"] .dc-sub { align-self: auto; padding: 0; color: var(--pp-muted); background: none; }
  [data-trip-theme="retro-park-poster"] .dc-foot {
    align-self: stretch;
    padding: 8px 10px;
    border-left: 3px solid var(--pp-brown);
  }

  [data-trip-theme="retro-park-poster"] .home-card { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; }
  [data-trip-theme="retro-park-poster"] .home-card .ic-art {
    width: auto;
    height: 150px;
    min-height: 0;
    -webkit-mask-image: linear-gradient(180deg, #000 78%, transparent);
    mask-image: linear-gradient(180deg, #000 78%, transparent);
  }
  [data-trip-theme="retro-park-poster"] .home-card .ic-main { padding: 4px 18px 8px; }
  [data-trip-theme="retro-park-poster"] .home-card .ic-title { font-size: 1.7rem; }
  [data-trip-theme="retro-park-poster"] .home-card .ic-links { padding: 8px 18px 18px; }
  [data-trip-theme="retro-park-poster"] .home-card .ic-links .ts-btn { flex-basis: 100%; }
  [data-trip-theme="retro-park-poster"] .ts-footer p { border-radius: 16px; }
}


/* ---------- resort postcard frame: cream border, brown outline, inset from the card edge ---------- */
[data-trip-theme="retro-park-poster"] .home-card {
  --resort-frame: 4px solid var(--pp-cream);
  --resort-shadow: 0 0 0 3px var(--pp-brown), 5px 6px 0 3px rgba(106, 42, 18, .3);
  --resort-radius: 12px;
}
[data-trip-theme="retro-park-poster"] .home-card:has(.ic-resort) { grid-template-columns: auto minmax(0, 1fr) auto; }
[data-trip-theme="retro-park-poster"] .home-card .ic-art.ic-resort { margin: 18px 0 18px 18px; }
@container trip (max-width: 899px) {
  [data-trip-theme="retro-park-poster"] .home-card:has(.ic-resort) { grid-template-columns: auto minmax(0, 1fr); }
  [data-trip-theme="retro-park-poster"] .home-card:has(.ic-resort) .ic-links { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; padding: 0 18px 18px; }
  [data-trip-theme="retro-park-poster"] .home-card:has(.ic-resort) .ic-links .ts-btn { flex: 1 1 180px; }
}
@container trip (max-width: 599px) {
  [data-trip-theme="retro-park-poster"] .home-card:has(.ic-resort) { grid-template-columns: minmax(0, 1fr); }
  [data-trip-theme="retro-park-poster"] .home-card .ic-art.ic-resort { margin: 16px 16px 8px; }
}

/* ---------- print: keep it plain ---------- */
@media print {
  [data-trip-theme="retro-park-poster"] { overflow: visible; }
  [data-trip-theme="retro-park-poster"] .ts-title::before,
  [data-trip-theme="retro-park-poster"] .ts-title::after,
  [data-trip-theme="retro-park-poster"] .ts-content::after { display: none !important; }
  [data-trip-theme="retro-park-poster"] .ts-title { filter: none; padding: 0; }
  [data-trip-theme="retro-park-poster"] .ts-count { width: auto; height: auto; }
  [data-trip-theme="retro-park-poster"] .home-card { grid-template-columns: minmax(0, 1fr); padding: 12px 14px; }
  [data-trip-theme="retro-park-poster"] .home-card .ic-art { display: none; }
  [data-trip-theme="retro-park-poster"] .home-card .ic-main { padding: 0; }
}
