/* Ensure nav and header backgrounds are full width with consistent content widths */
body {
  margin: 0;
  padding: 0;
}

#root {
  width: 100%;
}

/* Full width backgrounds for nav and header */
nav.bg-body-tertiary,
header {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Match Bootstrap container widths for all breakpoints */
nav .container,
header .container,
.container {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  nav .container,
  header .container,
  .container {
    max-width: 540px;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  nav .container,
  header .container,
  .container {
    max-width: 720px;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  nav .container,
  header .container,
  .container {
    max-width: 960px;
  }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  nav .container,
  header .container,
  .container {
    max-width: 1140px;
  }
}

/* Extra extra large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
  nav .container,
  header .container,
  .container {
    max-width: 1320px;
  }
}
