/* One red conversion language from the hero through the offer popup.
   The final CTA deliberately keeps its existing green treatment. */
:is(
  #hero .hero-action > .cta[data-cta-source="site_hero"],
  #offer .offer-copy > .cta[data-cta-source="site_offer"],
  #nutrition .cta[data-cta-source="site_nutrition"],
  .formats .cta[data-cta-source="site_method"],
  .site-header .header-cta[data-cta-source="site_header"],
  .offer-popup-copy .cta[data-cta-source="site_offer_50"],
  .sticky-price-cta[data-sticky-price-cta]
).cta-red-lustre {
  --cta-lustre-glow-soft: rgba(230, 40, 35, .74);
  --cta-lustre-glow-strong: rgba(255, 65, 55, .92);
  border-color: transparent;
  background: linear-gradient(112deg, #bd201b 0%, #d92d27 45%, #ba1c1a 100%);
  color: #fff;
  box-shadow:
    0 0 18px rgba(236, 45, 39, .79),
    0 0 46px rgba(218, 31, 31, .52),
    0 0 90px rgba(198, 24, 24, .27),
    inset 0 0 24px rgba(255, 223, 218, .1);
}

:is(
  #hero .hero-action > .cta[data-cta-source="site_hero"],
  #offer .offer-copy > .cta[data-cta-source="site_offer"],
  #nutrition .cta[data-cta-source="site_nutrition"],
  .formats .cta[data-cta-source="site_method"],
  .site-header .header-cta[data-cta-source="site_header"],
  .offer-popup-copy .cta[data-cta-source="site_offer_50"],
  .sticky-price-cta[data-sticky-price-cta]
).cta-red-lustre[data-cta-lustre]::before {
  display: block;
  z-index: 1;
  top: -28%;
  bottom: auto;
  left: -36%;
  width: 32%;
  height: 156%;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(255, 202, 197, .05) 22%,
    rgba(255, 232, 228, .28) 50%,
    rgba(255, 202, 197, .05) 78%,
    transparent 100%);
  filter: blur(3px);
  transform: translate3d(-120%, 0, 0) skewX(-17deg);
}

:is(
  #hero .hero-action > .cta[data-cta-source="site_hero"],
  #offer .offer-copy > .cta[data-cta-source="site_offer"],
  #nutrition .cta[data-cta-source="site_nutrition"],
  .formats .cta[data-cta-source="site_method"],
  .site-header .header-cta[data-cta-source="site_header"],
  .offer-popup-copy .cta[data-cta-source="site_offer_50"],
  .sticky-price-cta[data-sticky-price-cta]
).cta-red-lustre[data-cta-lustre]::after { display: none; }

:is(
  #hero .hero-action > .cta[data-cta-source="site_hero"],
  #offer .offer-copy > .cta[data-cta-source="site_offer"],
  #nutrition .cta[data-cta-source="site_nutrition"],
  .formats .cta[data-cta-source="site_method"],
  .site-header .header-cta[data-cta-source="site_header"],
  .offer-popup-copy .cta[data-cta-source="site_offer_50"],
  .sticky-price-cta[data-sticky-price-cta]
).cta-red-lustre[data-cta-lustre].is-cta-lustre-live {
  animation: fitnessos-red-cta-bloom 4.8s ease-in-out infinite;
}

:is(
  #hero .hero-action > .cta[data-cta-source="site_hero"],
  #offer .offer-copy > .cta[data-cta-source="site_offer"],
  #nutrition .cta[data-cta-source="site_nutrition"],
  .formats .cta[data-cta-source="site_method"],
  .site-header .header-cta[data-cta-source="site_header"],
  .offer-popup-copy .cta[data-cta-source="site_offer_50"],
  .sticky-price-cta[data-sticky-price-cta]
).cta-red-lustre[data-cta-lustre].is-cta-lustre-live::before {
  animation: fitnessos-final-cta-sweep 4.8s ease-in-out infinite;
}

:is(
  #hero .hero-action > .cta[data-cta-source="site_hero"],
  #offer .offer-copy > .cta[data-cta-source="site_offer"],
  #nutrition .cta[data-cta-source="site_nutrition"],
  .formats .cta[data-cta-source="site_method"],
  .site-header .header-cta[data-cta-source="site_header"],
  .offer-popup-copy .cta[data-cta-source="site_offer_50"],
  .sticky-price-cta[data-sticky-price-cta]
).cta-red-lustre:is(:hover, :focus-visible) {
  border-color: transparent;
  background: linear-gradient(112deg, #c5221c 0%, #dc3028 45%, #bc201c 100%);
  color: #fff;
  animation: none;
  box-shadow:
    0 0 28px rgba(255, 78, 68, .95),
    0 0 66px rgba(222, 39, 34, .72),
    0 0 115px rgba(198, 24, 24, .38),
    inset 0 0 28px rgba(255, 226, 220, .16);
}

:is(
  #hero .hero-action > .cta[data-cta-source="site_hero"],
  #offer .offer-copy > .cta[data-cta-source="site_offer"],
  #nutrition .cta[data-cta-source="site_nutrition"],
  .formats .cta[data-cta-source="site_method"],
  .site-header .header-cta[data-cta-source="site_header"],
  .offer-popup-copy .cta[data-cta-source="site_offer_50"],
  .sticky-price-cta[data-sticky-price-cta]
).cta-red-lustre:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow:
    0 0 0 3px #090b0c,
    0 0 0 6px #fff,
    0 0 30px rgba(255, 72, 63, .9);
}

.sticky-price-cta.cta-red-lustre:focus-visible {
  outline-offset: -5px;
}

/* The first and final calls to action use the same actual ExtraBold face. */
#hero .hero-action > .cta[data-cta-source="site_hero"],
#hero .hero-action > .cta[data-cta-source="site_hero"] > span:first-child,
#final .final-slogan-action .day-zero-cta,
#final .final-slogan-action .day-zero-cta > span:first-child {
  font-weight: 800;
}

/* This is a format descriptor, not a second section heading. */
.formats > .format-head > .eyebrow {
  margin-top: 11px;
  color: rgba(248, 248, 244, .63);
  opacity: 1;
  font-size: clamp(13px, 3vw, 15px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: none;
}

@keyframes fitnessos-red-cta-bloom {
  0%, 100% {
    box-shadow:
      0 0 18px rgba(236, 45, 39, .79),
      0 0 46px rgba(218, 31, 31, .52),
      0 0 90px rgba(198, 24, 24, .27),
      inset 0 0 24px rgba(255, 223, 218, .1);
  }
  50% {
    box-shadow:
      0 0 28px rgba(255, 78, 68, .95),
      0 0 66px rgba(222, 39, 34, .72),
      0 0 115px rgba(198, 24, 24, .38),
      inset 0 0 28px rgba(255, 226, 220, .16);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-red-lustre[data-cta-lustre]::before { display: none !important; }
  .cta-red-lustre[data-cta-lustre].is-cta-lustre-live { animation: none !important; }
}
