/* Mobile above-the-fold system v98
   Desktop remains unchanged. Targets compact, medium and tall phones. */

@media (max-width: 699px) {
  :root { --mobile-safe-top: 84px; }

  /* Home */
  body.light-home .light-home__shell { min-height: calc(100svh - 48px); }
  body.light-home .light-home__hero {
    min-height: calc(100svh - 48px) !important;
    height: auto !important;
  }
  body.light-home .light-home__bars {
    gap: 9px !important;
    padding-bottom: 14px !important;
  }
  body.light-home .light-bar { min-height: 48px !important; }

  /* Football Game Ready and Elite Lifestyle */
  .fgr-simple-hero,
  .lifestyle-simple-hero {
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding: var(--mobile-safe-top) 0 22px !important;
  }
  .fgr-simple-wrap,
  .lifestyle-simple-wrap { gap: 14px !important; }
  .fgr-simple-head h1,
  .lifestyle-simple-head h1 {
    font-size: clamp(2.45rem, 12vw, 3.55rem) !important;
    line-height: .95 !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .fgr-simple-head p,
  .lifestyle-simple-head p { margin-top: 0 !important; }
  .fgr-skool-card,
  .lifestyle-skool-card { max-width: 310px !important; }
  .lifestyle-benefits { gap: 7px !important; }
  .lifestyle-note { max-width: 340px; line-height: 1.35; }

  /* Shared coaching-style heroes */
  .coaching-products-page .coaching-products-hero,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal {
    min-height: 100svh !important;
    display: flex !important;
    align-items: center !important;
    padding: var(--mobile-safe-top) 0 24px !important;
  }
  .coaching-products-page .coaching-products-hero .products-hero-minimal__inner,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal__inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .coaching-products-page .coaching-products-hero h1,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal h1 {
    font-size: clamp(2.55rem, 12.3vw, 3.7rem) !important;
    line-height: .96 !important;
    margin-top: 10px !important;
    margin-bottom: 12px !important;
  }
  .coaching-products-page .coaching-products-hero .lead,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal .lead {
    font-size: .94rem !important;
    line-height: 1.48 !important;
    margin-bottom: 16px !important;
  }
  .coaching-products-page .coaching-hero-actions,
  body.digital-products-page:not(.coaching-products-page) .products-tags {
    gap: 8px !important;
    margin-top: 14px !important;
  }
  body.digital-products-page:not(.coaching-products-page) .products-tags a {
    min-height: 38px;
    padding: 9px 14px !important;
  }

  /* Contact keeps fixed background, content compact */
  .contact-messenger-page .contact-messenger-hero {
    min-height: 100svh !important;
    padding: var(--mobile-safe-top) 0 24px !important;
  }

  /* Sales pages: outcome, copy and CTA first; cover follows below fold */
  .bf-page .bf-hero {
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding: var(--mobile-safe-top) 0 24px !important;
  }
  .bf-page .bf-hero__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }
  .bf-page .bf-hero__copy { order: 1 !important; }
  .bf-page .bf-hero__visual { order: 2 !important; }
  .bf-page .bf-hero h1 {
    font-size: clamp(2.35rem, 10.7vw, 3.45rem) !important;
    line-height: .96 !important;
    margin: 9px auto 12px !important;
  }
  .bf-page .bf-hero__lead {
    font-size: .94rem !important;
    line-height: 1.45 !important;
  }
  .bf-page .bf-outcome { margin-top: 14px !important; }
  .bf-page .bf-buy-row { margin-top: 16px !important; gap: 9px !important; }
  .bf-page .bf-cover-card { max-width: 175px !important; }
}

/* Compact phones / low-height viewports */
@media (max-width: 699px) and (max-height: 720px) {
  :root { --mobile-safe-top: 72px; }
  .fgr-simple-hero,
  .lifestyle-simple-hero,
  .coaching-products-page .coaching-products-hero,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal,
  .contact-messenger-page .contact-messenger-hero,
  .bf-page .bf-hero { min-height: 100svh !important; padding-bottom: 16px !important; }

  .fgr-simple-head h1,
  .lifestyle-simple-head h1,
  .coaching-products-page .coaching-products-hero h1,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal h1 {
    font-size: clamp(2.25rem, 10.7vw, 3.05rem) !important;
  }
  .fgr-skool-card,
  .lifestyle-skool-card { max-width: 250px !important; }
  .lifestyle-benefits { display: none !important; }
  .lifestyle-note { font-size: .69rem !important; }
  .coaching-products-page .coaching-products-hero .lead,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal .lead {
    font-size: .87rem !important;
    line-height: 1.4 !important;
  }
  .bf-page .bf-hero h1 { font-size: clamp(2.15rem, 9.8vw, 3rem) !important; }
  .bf-page .bf-hero__lead { font-size: .88rem !important; }
  .bf-page .bf-hero__visual { display: none !important; }
}

/* Tall phones: allow a little more breathing room */
@media (max-width: 699px) and (min-height: 880px) {
  :root { --mobile-safe-top: 94px; }
  .fgr-skool-card,
  .lifestyle-skool-card { max-width: 340px !important; }
  .bf-page .bf-cover-card { max-width: 205px !important; }
}

/* Fine mobile tuning v99 */
@media (max-width: 699px) {
  /* Prevent hero content from sitting behind the fixed header. */
  .coaching-products-page .coaching-products-hero .products-hero-minimal__inner,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal__inner,
  .fgr-simple-wrap,
  .lifestyle-simple-wrap,
  .bf-page .bf-hero__grid {
    width: 100%;
  }

  /* Long hero copy remains readable without forcing horizontal overflow. */
  .coaching-products-page .coaching-products-hero h1,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal h1,
  .bf-page .bf-hero h1 {
    overflow-wrap: anywhere;
  }

  /* Keep CTA controls within narrow phone widths. */
  .coaching-products-page .coaching-hero-actions,
  body.digital-products-page:not(.coaching-products-page) .products-tags,
  .bf-page .bf-buy-row {
    width: min(100%, 360px);
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Very narrow phones, including 320–360 px wide devices. */
@media (max-width: 360px) {
  :root { --mobile-safe-top: 70px; }

  .fgr-simple-head h1,
  .lifestyle-simple-head h1,
  .coaching-products-page .coaching-products-hero h1,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal h1 {
    font-size: clamp(2.08rem, 10.4vw, 2.72rem) !important;
  }

  .coaching-products-page .coaching-products-hero .lead,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal .lead,
  .bf-page .bf-hero__lead {
    font-size: .84rem !important;
    line-height: 1.38 !important;
  }

  .coaching-products-page .coaching-hero-actions a,
  .coaching-products-page .coaching-hero-actions span,
  body.digital-products-page:not(.coaching-products-page) .products-tags a,
  body.digital-products-page:not(.coaching-products-page) .products-tags span {
    font-size: .74rem !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .bf-page .bf-hero h1 {
    font-size: clamp(2rem, 9.5vw, 2.65rem) !important;
  }
}

/* Mobile landscape: prioritize usable content over a forced full-screen hero. */
@media (max-width: 899px) and (max-height: 520px) and (orientation: landscape) {
  :root { --mobile-safe-top: 68px; }

  .fgr-simple-hero,
  .lifestyle-simple-hero,
  .coaching-products-page .coaching-products-hero,
  body.digital-products-page:not(.coaching-products-page) .products-hero-minimal,
  .contact-messenger-page .contact-messenger-hero,
  .bf-page .bf-hero {
    min-height: auto !important;
    padding-top: var(--mobile-safe-top) !important;
    padding-bottom: 18px !important;
  }

  .bf-page .bf-hero__visual,
  .lifestyle-benefits {
    display: none !important;
  }
}
