/* Shared alignment for the static marketing site. Load after the page styles. */
body.sgp-marketing-page,
body.sgp-sample-profile {
  --sgp-polish-gutter: 32px;
}

/* The sample athlete page uses the compiled landing-page utilities too. */
body.sgp-sample-profile [class~="max-w-[1180px]"] {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: var(--sgp-polish-gutter);
}

body.sgp-sample-profile [class~="max-w-[1000px]"] {
  max-width: 1000px;
}

/* Keep the custom sections on the same content edges as the landing pages. */
body.sgp-marketing-page :is(
  .fs-section,
  .fs-hero-inner,
  .coach-site-wrap,
  .sgp-player-access__inner,
  .sgp-coach-promo__inner,
  .sgp-coach-audience__inner,
  .sgp-pathways__inner
) {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: var(--sgp-polish-gutter);
}

body.sgp-marketing-page header.sgp-site-header:has(> div > nav[aria-label="Main navigation"]) > div {
  padding-inline: var(--sgp-polish-gutter) !important;
}

body.sgp-marketing-page .sgp-player-access__inner {
  gap: 24px;
}

body.sgp-marketing-page .sgp-player-access__copy {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

body.sgp-marketing-page .sgp-player-access__actions {
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.sgp-marketing-page .sgp-player-access__actions a {
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  font-size: 0.875rem;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
}

body.sgp-marketing-page .sgp-player-access__actions a:hover {
  background: #18304f;
}

body.sgp-marketing-page :is(.fs-card-grid, .coach-site-feature-grid) {
  align-items: stretch;
}

body.sgp-marketing-page :is(.fs-card, .coach-site-feature-grid article) {
  text-align: left;
}

/* Align the two pricing cards without changing the featured card treatment. */
body.sgp-marketing-page .sgp-plan-card {
  border-width: 2px;
}

body.sgp-marketing-page .sgp-plan-card:has(> h3) {
  display: flex;
  flex-direction: column;
}

body.sgp-marketing-page .sgp-plan-card:has(> h3) > ul {
  margin-bottom: 32px;
}

body.sgp-marketing-page .sgp-plan-card:has(> h3) > a {
  margin-top: auto;
}

@media (min-width: 1024px) {
  body.sgp-marketing-page .sgp-plan-card > :is(h2, h3) + p {
    min-height: 3.5rem;
  }
}

@media (max-width: 1023px) {
  body.sgp-marketing-page .sgp-player-access__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  body.sgp-marketing-page .sgp-player-access__actions {
    align-self: flex-start;
  }
}

@media (max-width: 639px) {
  body.sgp-marketing-page,
  body.sgp-sample-profile {
    --sgp-polish-gutter: 20px;
  }

  body.sgp-marketing-page .sgp-player-access__actions {
    align-self: stretch;
    grid-template-columns: 1fr;
  }

  body.sgp-marketing-page .sgp-player-access__inner strong {
    font-size: 1rem;
    line-height: 1.5;
  }
}
