/* V26 — Scoped adjustments for approved V25 design.
   Black section backgrounds; polished shared footer contact card. */
.section.jf-wellness--v24 {
  background:#080808 !important;
}
.jf-hyrox-values.jf-hyrox-values {
  background:#050505 !important;
}
.jf-hyrox-values .jf-hyrox-values__inner > span {
  background:linear-gradient(145deg,#181c20,#101214);
  border:1px solid rgba(255,255,255,.09);
}

/* The new external planning action should retain button styling. */
a.planning-open-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
a.planning-open-btn:focus-visible {
  outline:3px solid #ffed00;
  outline-offset:4px;
}

/* Shared footer on Home, HYROX and Bike; Yoga keeps its separate original footer. */
.footer.jf-footer .jf-footer__contact {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:18px;
  min-width:0;
  min-height:0;
  padding:clamp(24px,2.4vw,34px);
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:24px;
  background:radial-gradient(ellipse at 102% -10%,rgba(255,237,0,.085) 0%,transparent 54%),linear-gradient(145deg,#121a22 0%,#0c1016 100%);
  box-shadow:0 18px 50px rgba(0,0,0,.17);
}
.footer.jf-footer .jf-footer__contact::before {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:95px;
  height:3px;
  border-radius:0 0 4px 0;
  background:#ffed00;
  pointer-events:none;
}
.footer.jf-footer .jf-footer__contact .jf-footer__cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:53px;
  margin:0;
  padding:7px 7px 7px 18px;
  border-radius:999px;
  background:#ffed00;
  color:#0d0d0d;
  font:800 .88rem/1.2 'Space Grotesk',sans-serif;
  text-decoration:none;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.footer.jf-footer .jf-footer__contact .jf-footer__cta:hover {
  background:#fff166;
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(255,237,0,.17);
}
.footer.jf-footer .jf-footer__cta-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  background:#0d1012;
  color:#ffed00;
}
.footer.jf-footer .jf-footer__cta-icon svg {display:block;}
.footer.jf-footer .jf-footer__details {
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.10);
}
.footer.jf-footer .jf-footer__detail {
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  min-width:0;
  padding:9px 1px;
  color:#e8eaed;
  text-decoration:none;
  font-family:'Space Grotesk',sans-serif;
  overflow-wrap:anywhere;
}
.footer.jf-footer .jf-footer__detail-icon {
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  flex:0 0 39px;
  border:1px solid rgba(255,237,0,.19);
  border-radius:12px;
  background:rgba(255,237,0,.075);
  color:#ffed00;
}
.footer.jf-footer .jf-footer__detail-icon svg {display:block;}
.footer.jf-footer .jf-footer__detail-copy {
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:3px;
  font-size:clamp(.77rem,.94vw,.87rem);
  font-weight:700;
  line-height:1.45;
}
.footer.jf-footer .jf-footer__detail-label {
  color:#919da6;
  font:800 .60rem/1.3 'Space Grotesk',sans-serif;
  letter-spacing:.115em;
}
.footer.jf-footer .jf-footer__detail.jf-footer__email:hover .jf-footer__detail-copy {
  color:#ffed00;
}
.footer.jf-footer .jf-footer__cta:focus-visible,
.footer.jf-footer .jf-footer__email:focus-visible {
  outline:2px solid #ffed00;
  outline-offset:4px;
}

@media (min-width:901px) and (max-width:1130px) {
  .footer.jf-footer .jf-footer__contact {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:auto;
    align-items:center;
    gap:14px 32px;
  }
  .footer.jf-footer .jf-footer__contact .jf-footer__cta {
    grid-column:1;
    grid-row:1;
    align-self:center;
  }
  .footer.jf-footer .jf-footer__details {
    grid-column:2;
    grid-row:1;
    padding:0 0 0 24px;
    border-top:0;
    border-left:1px solid rgba(255,255,255,.1);
  }
}
@media (max-width:900px) {
  .footer.jf-footer .jf-footer__contact {
    gap:18px;
    align-self:start;
    padding:clamp(20px,3vw,27px);
  }
}
@media (max-width:600px) {
  .footer.jf-footer .jf-footer__contact {
    width:100%;
    border-radius:22px;
    padding:23px 21px;
  }
  .footer.jf-footer .jf-footer__contact .jf-footer__cta {min-height:54px;}
  .footer.jf-footer .jf-footer__detail-copy {font-size:.87rem;}
}
@media (prefers-reduced-motion:reduce) {
  .footer.jf-footer .jf-footer__contact .jf-footer__cta {transition:none;}
}
