/* General page styling */
html, body {
  margin: 0;
  padding: 0;
  font-family: Verdana, Geneva, sans-serif;
  line-height: 1.8;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  padding: 2.5% 2.5% 0;
  background: white;
}

h1, h2, h3, p {
  margin: 0;
  padding: 0;
}

h1 {
  font-size: 1.6em;
  color: rgb(83, 104, 138);
  margin-bottom: 0.4em;
}

h2 {
  font-size: 2em;
  margin-bottom: 0.4em;
}

h3 {
  font-size: 1.2em;
}

p {
  margin-bottom: 1em;
}

a {
  color: rgb(184, 126, 84);
  text-decoration: none;
}

a:hover {
  color: rgb(120, 97, 55);
}

header h2 {
  padding-bottom: 0.2em;
  border-bottom: 1px solid gray;
}

nav ul {
  list-style: none;
  padding: 0;
}

nav li {
  display: inline-block;
  margin-right: 10px;
}

.attractions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.attraction {
  text-align: center;
}

.attraction-image {
  width: 100%;
  max-width: 300px;
  border-radius: 8px;
}

details {
  margin-top: 0.5em;
}

details p {
  margin-top: 0.5em;
  font-size: 0.95em;
}

footer {
  border-top: 1px solid gray;
  text-align: center;
  font-size: 0.8em;
  line-height: 4em;
  margin-top: 1em;
}

/* Budget & Travel grids to match attractions style */
.budget-grid, .planner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 20px;
}

.budget-box, .planner-box, .budget-results, .planner-results {
  padding: 1em;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #f9f9f9;
}

.budget-box label, .planner-box label {
  display: block;
  margin-bottom: 0.8em;
}

.budget-box input, .planner-box select {
  width: 100%;
  padding: 0.3em;
  margin-top: 0.2em;
}