/* The full 1440px runtime birthday capture resolves the production display
   hierarchy to Code Pro. The earlier serif reading came from an incomplete
   legacy cascade and must not override the locally ported source font. */
.legacy-public:has(.legacy-birthday-source) .page-top--birthday h1,
.legacy-birthday-source .gifts-promo__title,
.legacy-birthday-source .center-title,
.legacy-birthday-source .legacy-birthday-about .about__title,
.legacy-birthday-source .legacy-birthday-faq .faq__title {
  font-family: 'Code Pro Black', 'Arial Black', sans-serif;
  font-weight: 400;
}

/* Measured again from the booted 1440px source page only. */
@media (min-width: 768px) {
  .legacy-public:has(.legacy-birthday-source) .page-top--birthday {
    background-image: linear-gradient(rgb(226 0 19 / 65%), rgb(226 0 19 / 65%)), url('/static/site-assets/legacy-page-top.jpg');
  }

  .legacy-birthday-source .legacy-birthday-games { padding-top: 18px; }
}

/* Keep the source mobile height without reintroducing the rejected serif
   override. */
@media (max-width: 767px) {
  .legacy-public:has(.legacy-birthday-source) .page-top--birthday { min-height: 0; padding: 80px 0 30px; background-image: url('/static/site-assets/legacy-page-top.jpg'); background-position: 50% 0; background-repeat: no-repeat; background-size: cover; }
  .legacy-public:has(.legacy-birthday-source) .page-top--birthday h1 { font-family: 'Code-Pro-Black-LC'; font-size: 30px; line-height: 45px; }
  .legacy-birthday-source .gifts-promo { padding: 70px 0 60px; }
  .legacy-birthday-source .gifts-promo__title { margin-bottom: 30px; font-family: 'Code-Pro-Black-LC'; font-size: 24px; line-height: 36px; }
  .legacy-birthday-source .gifts-promo__title span:not(.thin-text) { padding-left: 40px; }
  /* certificates.css sends this source decorative asset behind its generic
     stacking context.  The birthday landing introduces an opaque local root,
     so keep the same 96px source corner-shape inside this title's layer. */
  .legacy-birthday-source .gifts-promo__title::before { z-index:0; }
  .legacy-birthday-source .gifts-promo__title span { position:relative; z-index:1; }
  .legacy-birthday-source .gifts-promo-buttons { display: block; text-align: center; }
  .legacy-birthday-source .gifts-promo__btn { display: table; width: max-content; margin: 0 auto 15px; font-family: Roboto, sans-serif; line-height: normal; }
}

/* Local source-equivalent AOS for site_birthday.php. */
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos] {
  opacity: 0;
  transition: opacity .4s ease, transform .4s ease;
  transition-delay: 0s;
}
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos="fade-down-right"] { transform: translate3d(-100px, -100px, 0); }
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos="fade-down-left"] { transform: translate3d(100px, -100px, 0); }
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos="fade-up-right"] { transform: translate3d(-100px, 100px, 0); }
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos="fade-up-left"] { transform: translate3d(100px, 100px, 0); }
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos="fade-right"] { transform: translate3d(-100px, 0, 0); }
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos="fade-left"] { transform: translate3d(100px, 0, 0); }
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos="zoom-in"] { transform: scale(.6); }
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos="zoom-in-up"] { transform: translate3d(0, 100px, 0) scale(.6); }
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos="zoom-out-up"] { transform: translate3d(0, 100px, 0) scale(1.2); }
html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos].legacy-birthday-aos-animate { opacity: 1; transform: none; transition-delay: calc(var(--legacy-birthday-aos-delay, 0) * 1ms); }
@media (prefers-reduced-motion: reduce) {
  html.legacy-birthday-motion-ready .legacy-birthday-source [data-legacy-birthday-aos],
  .legacy-birthday-source [data-legacy-birthday-aos] { opacity: 1; transform: none; transition: none; }
}
