/*
  Responsive hardening layer for the multi-page static export.
  Keeps content unchanged while stabilizing layouts across phone/tablet/desktop.
*/

html,
body {
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

main,
section,
.container {
  min-width: 0;
}

img {
  max-width: 100%;
  height: auto;
}

/* Keep long strings from breaking layout while preserving normal heading wraps */
p,
li,
a {
  overflow-wrap: break-word;
}

/* Common inline-width containers should never overflow viewport */
main [style*="width:"][style*="px"],
section [style*="width:"][style*="px"],
footer [style*="width:"][style*="px"] {
  max-width: 100% !important;
}

main [style*="min-width:"],
section [style*="min-width:"],
footer [style*="min-width:"] {
  min-width: 0 !important;
}

footer [style*="white-space: nowrap"],
footer [style*="white-space:nowrap"] {
  white-space: normal !important;
}

@media (max-width: 1280px) {
  footer [style*="grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  main [style*="grid-template-columns: repeat(6, 1fr)"],
  section [style*="grid-template-columns: repeat(6, 1fr)"],
  main [style*="grid-template-columns: repeat(5, 1fr)"],
  section [style*="grid-template-columns: repeat(5, 1fr)"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1024px) {
  .container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  /* Tablet: collapse dense inline grids to readable columns */
  main [style*="grid-template-columns: 1fr 1fr"],
  section [style*="grid-template-columns: 1fr 1fr"],
  main [style*="grid-template-columns: 1.2fr 1fr"],
  section [style*="grid-template-columns: 1.2fr 1fr"],
  main [style*="grid-template-columns: 2fr 1fr"],
  section [style*="grid-template-columns: 2fr 1fr"],
  main [style*="grid-template-columns: 1fr 1.2fr"],
  section [style*="grid-template-columns: 1fr 1.2fr"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  main [style*="grid-template-columns: repeat(4, 1fr)"],
  section [style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  main [style*="grid-template-columns: repeat(3, 1fr)"],
  section [style*="grid-template-columns: repeat(3, 1fr)"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  main [style*="grid-template-columns: repeat(auto-fit, minmax(400px, 1fr))"],
  section [style*="grid-template-columns: repeat(auto-fit, minmax(400px, 1fr))"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  main [style*="grid-template-columns: repeat(auto-fit, minmax(350px, 1fr))"],
  section [style*="grid-template-columns: repeat(auto-fit, minmax(350px, 1fr))"] {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  }

  /* Keep inline flex rows from overflowing without forcing all of them to columns */
  main [style*="display:flex"][style*="justify-content: space-between"],
  main [style*="display: flex"][style*="justify-content: space-between"],
  section [style*="display:flex"][style*="justify-content: space-between"],
  section [style*="display: flex"][style*="justify-content: space-between"],
  footer [style*="display:flex"][style*="justify-content: space-between"],
  footer [style*="display: flex"][style*="justify-content: space-between"] {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 0.9rem !important;
  }

  [style*="padding: 4rem 0"] {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  [style*="gap: 4rem"] {
    gap: 2rem !important;
  }

  footer [style*="grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .page-hero {
    padding-top: 6rem !important;
  }

  .hero-stats {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }

  main [style*="grid-template-columns: repeat(3, 1fr)"],
  section [style*="grid-template-columns: repeat(3, 1fr)"],
  main [style*="grid-template-columns: repeat(2, 1fr)"],
  section [style*="grid-template-columns: repeat(2, 1fr)"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  footer [style*="grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  [style*="padding: 3rem 0"] {
    padding-top: 2.25rem !important;
    padding-bottom: 2.25rem !important;
  }

  [style*="padding: 2.5rem"] {
    padding: 1.5rem !important;
  }

  [style*="padding: 2rem"] {
    padding: 1.25rem !important;
  }

  [style*="gap: 2rem"] {
    gap: 1rem !important;
  }
}

@media (max-width: 480px) {
  [style*="border-radius: 24px"],
  [style*="border-radius: 20px"] {
    border-radius: 14px !important;
  }

  [style*="font-size: 2.5rem"] {
    font-size: 1.9rem !important;
  }

  [style*="font-size: 2rem"] {
    font-size: 1.55rem !important;
  }

  [style*="font-size: 1.8rem"] {
    font-size: 1.35rem !important;
  }
}
