/* _CSS-itineraries.css (Adjusted for 1003px layout width)
   Purpose: Custom styles for Arizona Itineraries Section
   Theme: Desert tones, adjusted for tighter table layout (1003px - 10px padding each side)
*/

/* --- Page Base --- */
body.itineraries-page {
  font-family: 'Roboto', sans-serif;
  background-color: #f9f5f0;
  color: #3b2f1d;
  line-height: 1.6;
}

.container.max-width-1200 {
  max-width: 983px; /* 1003px total - 10px padding per side */
  margin: 0 auto;
  padding: 0.5em 0.6em; /* tighter padding to reduce white space */
}

.page-title {
  font-family: 'Cinzel Decorative', serif;
  font-size: 2em;
  color: #7c4b25;
  text-align: center;
  margin-bottom: 0.5em;
}

.lead {
  font-size: 1.05em;
  text-align: center;
  color: #5c4324;
  margin-bottom: 1.2em;
}

/* --- Cards --- */
.card {
  background: #fffaf5;
  border: 1px solid #e4d3b5;
  border-radius: 10px;
  padding: 1em 1.2em; /* reduced padding */
  margin-bottom: 1.2em;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.card--desert {
  background: linear-gradient(180deg, #fff8f0 0%, #fdf3e1 100%);
  border-left: 5px solid #c27a3f;
}

.card h2, .card h3 {
  color: #8a542b;
  font-family: 'Merriweather', serif;
  margin-bottom: 0.4em;
}

.card ul, .card ol {
  margin-left: 1.2em;
  margin-bottom: 0.8em;
}

.card ul li, .card ol li {
  margin-bottom: 0.3em;
}

/* --- Grids --- */
.grid {
  display: grid;
  gap: 0.8em;
}

.grid--2cols {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.grid--4cols {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  text-align: center;
}

/* --- Seasonal Section --- */
.seasonal-planning h2 {
  text-align: center;
}

.season {
  padding: 0.6em;
  background: #fdf8f3;
  border-radius: 8px;
  border: 1px solid #e6d1ae;
}

.season h3 {
  color: #a0642d;
  margin-bottom: 0.2em;
}

/* --- City List --- */
.city-index h2 {
  text-align: center;
  margin-bottom: 0.6em;
}

.city-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 680px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.4em 0.8em;
}

.city-list li {
  background: #fff8f0;
  border: 1px solid #e4d3b5;
  border-radius: 8px;
  text-align: center;
  padding: 0.6em;
  transition: 0.3s;
}

.city-list li:hover {
  background: #f2e1c8;
  transform: translateY(-2px);
}

.city-list a {
  color: #7c4b25;
  text-decoration: none;
  font-weight: 500;
}

.city-list a:hover {
  text-decoration: underline;
}

/* --- CTA Section --- */
.cta {
  text-align: center;
  background: linear-gradient(180deg, #fff8f2, #f5ecde);
  border-left: 5px solid #ba7b3b;
  padding: 1em;
}

.cta h2 {
  font-size: 1.6em;
  margin-bottom: 0.4em;
}

.cta .muted {
  color: #7a6b56;
  font-size: 0.9em;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  .page-title {
    font-size: 1.6em;
  }
  .lead {
    font-size: 0.95em;
  }
  .card {
    padding: 0.8em;
  }
}
