/* ================================
          LAYOUT BASE
================================ */

body {
  inline-size: 100%;
  box-sizing: border-box;
  min-block-size: 100lvh;
  margin-inline: auto;
  display: grid;
  grid-template-areas: "header" "main" "footer";
  position: relative;
  overflow-x: hidden;
  max-inline-size: var(--max-width-lg);
  font-family: var(--font-family-base);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-color: var(--color-black);
  background-image: url("../../../assets/img/bg/court-bg-mobile.jpeg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}



header,
main,
footer {
  margin-inline: auto;
  inline-size: 100%;
  max-inline-size: var(--max-width-lg);
  box-sizing: border-box;
}

/* ===================================
MAIN CONTAINER
================================ */

main {
  grid-area: main;
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding-block: var(--spacing-2xl);
  padding-inline: var(--spacing-sm);
  margin-block-end: var(--spacing-4xl);
  color: var(--color-gray-300);
}