/* Campaign How It Works interaction and booking close control. */
body.parks-campaign-landing-page .parks-campaign-process-footer .parks-campaign-call-link{display:inline-flex!important;align-items:center;justify-content:center;gap:14px;min-height:58px;padding:16px 30px!important;border-radius:6px;background:#cc0e3c!important;color:#fff!important;font-size:21px!important;font-weight:800!important;text-decoration:none!important;border:0!important}
body.parks-campaign-landing-page .parks-campaign-process-footer .parks-campaign-call-link span{text-decoration:none!important;border:0!important;color:inherit!important}
/* Manual scrolling only: no vertical-scroll pinning or step pagination. */
.parks-steps-scrollbar[hidden] { display: none !important; }
.parks-steps-scrollbar {
  display: block;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 44px;
  margin: 24px 0 8px;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: ew-resize;
}
.parks-steps-scrollbar::-webkit-slider-runnable-track { height: 6px; border-radius: 6px; background: #e6e7ee; }
.parks-steps-scrollbar::-moz-range-track { height: 6px; border-radius: 6px; background: #e6e7ee; }
.parks-steps-scrollbar::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 80px;
  height: 6px;
  margin-top: 0;
  border: 0;
  border-radius: 6px;
  background: #cc0e3c;
}
.parks-steps-scrollbar::-moz-range-thumb { width: 80px; height: 6px; border: 0; border-radius: 6px; background: #cc0e3c; }
.parks-steps-scrollbar:focus-visible { outline: 2px solid #cc0e3c !important; outline-offset: 2px; }
.parks-manual-steps .parks-step-eyebrow {
  display: block;
  margin-bottom: 6px;
  color: var(--_cheers-how-it-works-accent);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  body.parks-campaign-landing-page .parks-manual-steps .cheers-how-it-works__steps {
    display: flex;
    gap: 12px;
    width: calc(100% + 40px);
    margin: 32px -20px 0;
    padding: 0 6vw 12px;
    overflow-x: auto;
    scroll-snap-type: none;
    scroll-behavior: auto;
    scrollbar-width: auto;
  }
  .parks-manual-steps .cheers-how-it-works__steps::-webkit-scrollbar { display: block; height: 8px; }
  .parks-manual-steps .cheers-how-it-works__steps::-webkit-scrollbar-thumb { background: #cc0e3c; border-radius: 6px; }
  .parks-manual-steps .cheers-how-it-works__steps::-webkit-scrollbar-track { background: #e6e7ee; }
  body.parks-campaign-landing-page .parks-steps-scrollable .cheers-how-it-works__steps { scrollbar-width: none; }
  .parks-steps-scrollable .cheers-how-it-works__steps::-webkit-scrollbar { display: none; }
  body.parks-campaign-landing-page .parks-manual-steps .cheers-how-it-works__step { flex: 0 0 64vw; gap: 12px; scroll-snap-align: none; }
  body.parks-campaign-landing-page .parks-manual-steps .cheers-how-it-works__visual { width: 100px; height: 100px; }
  body.parks-campaign-landing-page .parks-manual-steps .cheers-how-it-works__step::after { top: 49px; width: calc(64vw + 12px); }
  body.parks-campaign-landing-page .parks-manual-steps .cheers-how-it-works__step-copy { width: 100%; max-width: 240px; padding-inline: 8px; }
  body.parks-campaign-landing-page .parks-manual-steps .cheers-how-it-works__step h3 { font-size: 20px !important; line-height: 1.2 !important; margin: 0 !important; }
  body.parks-campaign-landing-page .parks-manual-steps .cheers-how-it-works__step p { font-size: 14px !important; line-height: 1.5 !important; margin-top: 8px !important; }
}

/* Explicit parent-page close control: works even when vendor postMessage is
   restricted on a non-production host. Replaces the oversized invisible hitbox. */
#parks-scheduler-close-proxy{top:16px!important;right:16px!important;width:44px!important;height:44px!important;background:#2c62d5!important;color:#fff!important;border:0!important;border-radius:50%!important;padding:0!important;box-shadow:0 2px 8px #0002;line-height:44px!important}
#parks-scheduler-close-proxy::after{content:'×';font:30px/44px Arial,sans-serif;color:#fff}
#parks-scheduler-close-proxy:focus-visible{outline:3px solid #fff!important;outline-offset:3px;box-shadow:0 0 0 6px #15294d}
@media(max-width:580px){#parks-scheduler-close-proxy{top:18px!important;right:22px!important;box-shadow:none}}
