/* Shared landing-page presentation for the two public event flows. */
.cb-landing-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg,#092e4f 0%,var(--navy) 100%);
  color: #fff;
}
.cb-landing-hero::after {
  content: "";
  position: absolute;
  width: min(55vw,620px);
  aspect-ratio: 1;
  right: -14%;
  top: -85%;
  border: clamp(28px,5vw,70px) solid rgba(255,255,255,.09);
  border-radius: 50%;
  pointer-events: none;
}
.cb-landing-hero-inner { position: relative; z-index: 1; }
.cb-landing-hero .eyebrow { color: #f0c875; }
.cb-landing-hero h1 { color: #fff; overflow-wrap: anywhere; }
.cb-landing-hero p { color: #eaf2f4; }
.cb-landing-hero .cb-landing-description {
  max-width: 720px;
  white-space: pre-line;
  font-size: clamp(1.05rem,1.7vw,1.27rem);
  line-height: 1.6;
}
.cb-landing-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.cb-landing-actions .btn {
  margin: 0;
  min-height: 48px;
  background: #fff;
  color: #123e52;
  border-color: #fff;
}
.cb-landing-actions .btn:focus-visible { outline: 3px solid #f0c875; outline-offset: 3px; }
.cb-landing-actions .btn[hidden] { display: none; }
#eventFollowUp a.btn:link,
#eventFollowUp a.btn:visited { color: #fff; }
.cb-landing-info {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin-top: 24px;
  font-weight: 650;
}
.cb-landing-info span { overflow-wrap: anywhere; }
.cb-landing-info span:empty { display: none; }
.cb-landing-info span + span::before { content: "•"; color: #f0c875; margin-right: 22px; }
.cb-landing-about { white-space: pre-line; }
#landingIntro.cb-photo-landing {
  border-radius: 20px;
  padding: clamp(28px,5vw,54px);
  margin-bottom: 24px;
}
#landingIntro.cb-photo-landing .cb-landing-about { max-width: 700px; font-size: 1.08rem; }
#landingIntro.cb-photo-landing .cb-landing-about p { margin: 12px 0 0; }
#landingIntro.cb-photo-landing .lead { color: #f0c875; font-weight: 650; }
#landingIntro.cb-photo-landing .cb-landing-actions button { background: #fff; color: #123e52; }
body.station-mode #landingIntro.cb-photo-landing { background: transparent; color: var(--ink); padding: 0; margin: 0; }
body.station-mode #landingIntro.cb-photo-landing::after { display: none; }
body.station-mode #landingIntro.cb-photo-landing h1 { color: var(--ink); }
body.station-mode #landingIntro.cb-photo-landing .lead { color: var(--muted); }
@media (max-width: 650px) {
  .cb-landing-hero::after { right: -45%; top: -45%; }
  .cb-landing-actions .btn { width: 100%; }
  .cb-landing-info { display: grid; gap: 5px; }
  .cb-landing-info span + span::before { display: none; }
}

/* Keep CB layout and typography with the host workspace’s chosen color. */
.hero.cb-public-hero.cb-landing-hero{background:var(--cb-event-color,#174c5a);color:var(--cb-event-contrast,#fff)}
.hero.cb-public-hero.cb-landing-hero :is(h1,p,.eyebrow,.cb-landing-info){color:inherit}
.hero.cb-public-hero.cb-landing-hero .btn{border-color:currentColor;color:inherit;background:transparent}
#registration button,#ticket button{background:var(--cb-event-color,#174c5a);border-color:var(--cb-event-color,#174c5a);color:var(--cb-event-contrast,#fff)}
.wallet-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:0;overscroll-behavior-x:contain}
.wallet-pass{flex:0 0 100%;min-width:0;scroll-snap-align:start;padding:8px 4px 20px}.wallet-pass .ticket-qr{width:260px;margin:16px auto}.wallet-controls{display:flex;gap:8px;flex-wrap:wrap}.wallet-controls button{font-size:14px;padding:8px 12px;min-height:44px}
.wallet-pass details{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:8px}.wallet-pass summary{cursor:pointer;font-weight:700}.wallet-pass label{display:block;margin:12px 0}.wallet-pass input:not([type=checkbox]){display:block;width:100%;min-height:44px;padding:10px;font:inherit;border:1px solid #aebdb9;border-radius:8px}.wallet-pass .check{display:flex;align-items:flex-start}.wallet-pass button{margin:4px 6px 4px 0}
#bookingWallet [hidden]{display:none!important}

.wallet-track{scroll-behavior:auto!important}.wallet-pass{box-sizing:border-box;width:100%;max-width:100%;margin:0;scroll-snap-stop:always}
.wallet-track{align-items:flex-start;overflow-y:hidden}
/* Hosted guest pages use the same sans-serif hierarchy and compact actions. */
body:has(#registration) :is(h1,h2,h3,h4,.field label){font-weight:600}
body:has(#registration) :is(button,.btn){font-family:var(--cb-font-body);font-weight:600;font-size:15px;max-width:100%}
body:has(#registration) .main{padding-top:24px}body:has(#registration) .field{margin-top:14px}
#registration small{display:block;font-size:14px;margin-top:6px;color:var(--muted)}
@media(max-width:650px){body:has(#registration) .hero.cb-public-hero h1{font-size:32px;line-height:1.2}body:has(#registration) .card{padding:18px}#ticket .wallet-controls button{white-space:nowrap;min-height:44px}}
