/* Home only: final balance between hero copy, actions and competition access. */
body.home .hero-copy .actions {
  margin-top: 26px !important;
}

body.home .agd-home-competition-access {
  margin-top: 18px;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(6, 29, 58, .12);
}

/* The page index is not useful on the Home and must never occupy the viewport. */
body.home .agd-page-toc {
  display: none !important;
}

@media (max-width: 700px) {
  body.home .hero-copy .actions {
    margin-top: 20px !important;
  }

  body.home .agd-home-competition-access {
    width: calc(100% - 32px);
    margin-top: 14px;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .agd-home-competition-access {
    box-shadow: none;
  }
}

/* Accueil mobile : respiration finale pour que le footer ne soit jamais coupé au scroll bas. */
@media (max-width: 800px) {
  body.home .site-footer.premium-footer {
    margin-bottom: max(32px, env(safe-area-inset-bottom)) !important;
  }
}

/* Accueil : message d’inscription immédiatement lisible pour les adhérents. */
@media (max-width: 800px) {
  body.home .agd-mobile-season-band {
    min-height: 86px !important;
    padding: 12px 14px !important;
    gap: 10px !important;
  }

  body.home .agd-mobile-season-band > div {
    flex: 1 1 auto !important;
    gap: 3px !important;
  }

  body.home .agd-mobile-season-band strong {
    font-size: 1.08rem !important;
    line-height: 1.12 !important;
    letter-spacing: 0.01em;
  }

  body.home .agd-mobile-season-band a {
    padding: 9px 10px !important;
    font-size: 0.68rem !important;
  }
}

/* Accueil mobile : le footer complet doit tenir dans un viewport compact. */
@media (max-width: 800px) {
  body.home .site-footer.premium-footer {
    padding: 16px 12px 8px !important;
    margin-bottom: max(18px, env(safe-area-inset-bottom)) !important;
  }

  body.home .site-footer.premium-footer .footer-main {
    gap: 8px 10px !important;
    padding-bottom: 10px !important;
  }

  body.home .site-footer.premium-footer .footer-logo img {
    width: 82px !important;
    height: 62px !important;
  }

  body.home .site-footer.premium-footer .footer-identity p {
    margin-top: 3px !important;
    font-size: 0.72rem !important;
    line-height: 1.15 !important;
  }

  body.home .site-footer.premium-footer .footer-column {
    gap: 3px !important;
  }

  body.home .site-footer.premium-footer h3 {
    margin-bottom: 2px !important;
    font-size: 0.88rem !important;
  }

  body.home .site-footer.premium-footer .footer-column a {
    font-size: 0.7rem !important;
    line-height: 1.12 !important;
  }

  body.home .site-footer.premium-footer .footer-partners {
    padding: 10px 0 !important;
  }

  body.home .site-footer.premium-footer .footer-partners-heading {
    gap: 6px !important;
    font-size: 0.56rem !important;
  }

  body.home .site-footer.premium-footer .partner-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-top: 8px !important;
  }

  body.home .site-footer.premium-footer .partner-logo {
    min-height: 48px !important;
    padding: 4px !important;
    border-radius: 9px !important;
  }

  body.home .site-footer.premium-footer .partner-logo img {
    max-height: 36px !important;
  }

  body.home .site-footer.premium-footer .partner-logo-coeur {
    grid-column: 1 / -1 !important;
  }

  body.home .site-footer.premium-footer .partner-logo-coeur img {
    max-height: 30px !important;
  }

  body.home .site-footer.premium-footer .footer-bottom {
    gap: 3px !important;
    padding-top: 8px !important;
    font-size: 0.62rem !important;
    line-height: 1.15 !important;
  }
}
