/* Base styles */
body {
  margin: 0;
  height: 100%;
  width: 100%;
  background-color: rgb(179, 207, 171);
  font-family: "Single Day", cursive;
  text-align: center;
  line-height: 1.2;
}

/* Titles */
.section h1 {
  font-size: clamp(2rem, 4vw, 2rem);
  margin: 0 0 1rem 0;         /* reset side margins */
  background-color: rgb(124, 155, 230);
  padding: 0.5rem;
  width: 100%;                /* full width of yellow box */
  box-sizing: border-box;     /* include padding inside width */
}

/* Main container for 3x2 layout */
.main-container {
  width: 90%;
  max-width: 1200px;
  margin: 2% auto;
  padding: 1.5rem;
  border: 10px solid rgb(185, 174, 60);
  background-color: rgb(111, 155, 95);

  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 columns */
  gap: 4rem;
}

/* Section cards */
.section {
  background-color: rgb(254, 246, 205);
  border: 2px solid black;
  padding: 0.5rem;          /* reduce padding */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* content sticks to top */
  max-height: fit-content;      /* box height adjusts to content */
}

.section img {
  width: 50%;
  max-width: 250px;
  height: auto;
  margin-bottom: 0.5rem;
}

.section p {
  font-family: "Press Start 2P", monospace;
  font-size: clamp(0.8rem, 1.8vw, 1.2rem);
  margin: 0.5rem 0;
}

.section:nth-of-type(1) p,  /* Location */
.section:nth-of-type(3) p,  /* Next stop */
.section:nth-of-type(5) p { /* Travel map / Route */
  font-family: "Metal", monospace;
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin: 0.5rem 0;
}

.section:nth-of-type(6) p { /* Last updated */
  font-family: "VT323", monospace;
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin: 0.5rem 0;
  color: rgb(148, 0, 0);
}

/* General info box */
.general-info {
  grid-column: 1 / -1; /* spans full width */
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin-top: 1rem;
}

/* Mobile adjustments */
@media (max-width: 700px) {
  .main-container {
    grid-template-columns: 1fr;
    padding: 1rem;
  }

  .section img {
    max-width: 80%;
  }
}

}
