/* Body Layout - Sticky Footer */
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body > *:not(footer) {
  flex-shrink: 0;
}

body > footer {
  margin-top: auto;
}

/* Hero Section */
.hero-gradient {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* Destination Cards */
.destination-overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
}

/* Calendar Styles */
.calendar-container {
  max-width: 100%;
  overflow-x: auto;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.calendar-day {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.2s;
}

.calendar-day:hover {
  background-color: #f3f4f6;
}

.calendar-day.available {
  background-color: #dcfce7;
  color: #166534;
}

.calendar-day.unavailable {
  background-color: #fee2e2;
  color: #991b1b;
  cursor: not-allowed;
}

.calendar-day.selected {
  background-color: #3b82f6;
  color: white;
}

/* Detail Page - Progress Bars */
.detail-progress-bar-98 {
  width: 98%;
}

.detail-progress-bar-96 {
  width: 96%;
}

.detail-progress-bar-94 {
  width: 94%;
}

.detail-progress-bar-92 {
  width: 92%;
}

/* Google Maps iframe - remove border */
.map-iframe {
  border: 0;
}
