body { padding-bottom: 100px; }
html { scroll-padding-bottom: 110px; }
.shared-header-cta, .shared-sticky-cta a {
  display: inline-flex; align-items: center; justify-content: center;
  background: #061b49; color: #fff; border: 1px solid #061b49;
  border-radius: 8px; padding: 12px 18px; font-size: 14px;
  font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none;
}
.shared-header-cta { flex-shrink: 0; }
.shared-header-cta:focus-visible, .shared-sticky-cta a:focus-visible { outline: 3px solid #3678e8; outline-offset: 3px; }
.shared-sticky-cta { position: fixed; right: 24px; bottom: 20px; z-index: 90; }
.shared-sticky-cta a { min-height: 52px; box-shadow: 0 6px 24px #061b4926; }
.site-header-inner, .header-inner { flex-wrap: wrap; gap: 14px; }
.site-header-inner > nav, .header-inner > nav { margin-left: auto; }
@media (max-width: 1100px) {
  .site-header-inner, .header-inner { padding-block: 10px; }
  .shared-header-cta { margin-left: auto; }
}
@media (max-width: 760px) {
  .shared-header-cta { padding: 9px 12px; font-size: 13px; }
  .site-header-inner > .site-language-switch, .header-inner > .site-language-switch { order: 3; width: 100%; justify-content: flex-end; }
  .shared-sticky-cta { left: 16px; right: 16px; bottom: calc(12px + env(safe-area-inset-bottom)); }
  .shared-sticky-cta a { display: flex; }
}

/* Advertising pages keep their existing CTA placement and expose it on desktop too. */
.mobile-sticky-line { display: flex; position: fixed; z-index: 90; left: auto; right: 24px; bottom: 20px; width: auto; background: #061b49; border-radius: 8px; padding: 12px 18px; }
.mobile-sticky-line > span { display: none; }
.mobile-sticky-line a { color: #fff; background: #061b49; font-size: 14px; }
@media (max-width: 760px) {
  .mobile-sticky-line { left: 16px; right: 16px; bottom: calc(12px + env(safe-area-inset-bottom)); }
}
/* Keep the CTA aligned with the brand even when navigation labels are long. */
.site-header-inner, .site-header > .header-inner {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; padding-block: 10px;
}
.site-header-inner > .brand, .site-header > .header-inner > .brand { grid-column: 1; grid-row: 1; }
.site-header-inner > .shared-header-cta, .site-header > .header-inner > .shared-header-cta { grid-column: 3; grid-row: 1; }
.site-header-inner > .site-language-switch, .site-header > .header-inner > .site-language-switch { grid-column: 2; grid-row: 1; justify-self: end; }
.site-header-inner > nav, .site-header > .header-inner > nav { grid-column: 1 / -1; grid-row: 2; justify-self: center; margin: 0; }
@media (max-width: 760px) {
  .site-header-inner, .site-header > .header-inner { grid-template-columns: minmax(0, 1fr) auto; }
  .site-header-inner > .shared-header-cta, .site-header > .header-inner > .shared-header-cta { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; margin: 0; }
  .site-header-inner > .site-language-switch, .site-header > .header-inner > .site-language-switch { width: auto; }
}
#app-install { scroll-margin-top: 150px; }
.mobile-header-link.shared-header-cta { display: none; }
@media (max-width: 1120px) {
  .mobile-header-link.shared-header-cta { display: inline-flex; }
}
@media (max-width: 760px) {
  body[data-page="gym-ad2"] .feature-showcase { grid-template-columns: minmax(0, 1fr); }
  body[data-page="gym-ad2"] .feature-showcase > article { min-width: 0; }
  body[data-page="gym-ad2"] .task-row { grid-template-columns: 30px minmax(0, 1fr) auto; }
}
@media(min-width:761px) {
 .shared-sticky-cta a[href*="/contact"], .shared-sticky-cta a[href="#app-install"] {
  min-width:280px; min-height:72px; padding:18px 30px;
  background:#0966df; border:2px solid white; border-radius:12px;
  font-size:20px; box-shadow:0 8px 28px #064fb94d;
 }
 .shared-sticky-cta a[href*="/contact"]:hover, .shared-sticky-cta a[href="#app-install"]:hover { background:#074fb0; }
 .mobile-sticky-line { padding:0; background:#0966df; box-shadow:0 8px 28px #064fb94d; }
 .mobile-sticky-line a { min-width:280px; min-height:72px; padding:18px 30px; background:#0966df; border:2px solid white; border-radius:12px; font-size:20px; }
}
