/* ==========================================================================
   Airport Hotel Shuttle – Global Stylesheet
   Combines all page-specific CSS into one maintainable file
   ========================================================================== */

/* -------------------------------------------------------------------------- */
/* 1. Base & Typography
/* -------------------------------------------------------------------------- */
body {
  font-family: 'Montserrat', sans-serif;
}

/* -------------------------------------------------------------------------- */
/* 2. Core Color System
/* -------------------------------------------------------------------------- */
.bg-main      { background-color: #003b95 !important; color: white !important; }
.bg-highlight { background-color: #57a6f4 !important; color: white !important; }
.bg-button    { background-color: #006ce4 !important; color: white !important; }
.border-yellow { border-color: #ffb700 !important; }
.text-yellow  { color: #ffb700 !important; }
.text-button  { color: #006ce4 !important; }

/* -------------------------------------------------------------------------- */
/* 3. Navbar & Logo (Fixed 90px height)
/* -------------------------------------------------------------------------- */
.navbar {
  min-height: 80px;
  max-height: 80px;
  padding: 0.75rem 0;
}
.navbar-brand img {
  height: 60px;
  width: auto;
}

/* Hamburger icon – dark blue lines */
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23003b95' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* -------------------------------------------------------------------------- */
/* 4. Offcanvas Menu
/* -------------------------------------------------------------------------- */
.offcanvas-header .btn-close { filter: invert(1); }
.offcanvas-body { padding-bottom: 1rem; }

/* -------------------------------------------------------------------------- */
/* 5. Layout Components
/* -------------------------------------------------------------------------- */

/* Jumbotron / Hero */
.jumbotron {
  background-color: #003b95;
  color: white;
  padding: 3rem 1rem;
}

/* Highlight blocks (Why Choose Us, etc.) */
.highlight-block {
  padding: 1.5rem;
  border-radius: 0.5rem;
}

/* Info windows & destination links */
.info-window,
.dest-links {
  padding: 2rem;
  border-radius: 0.5rem;
}

/* Hotel cards (search results, detail pages) */
.hotel-card,
.room-card {
  border: 2px solid #ffb700;
}
.room-card .card-img-top {
  height: 180px;
  object-fit: cover;
}

/* Search results – filter sidebar */
.filter-sidebar {
  position: sticky;
  top: 100px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  padding-right: 1rem;
}

/* Hotel result blocks */
.hotel-result {
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  overflow: hidden;
  margin-bottom: 1.5rem;
  transition: box-shadow 0.2s;
}
.hotel-result:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.hotel-result .card-img-top {
  height: 200px;
  object-fit: cover;
}

/* Shuttle badge */
.shuttle-badge {
  background-color: #ffb700;
  color: #003b95;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.8rem;
}

/* Price tags */
.price-tag {
  font-size: 1.5rem;
  font-weight: 600;
}
.price-large {
  font-size: 1.8rem;
  font-weight: 700;
  color: #006ce4;
}

/* Hotel detail specific */
.hotel-title {
  font-size: 2rem;
  font-weight: 600;
}
.shuttle-info {
  background-color: #f8f9fa;
  border-left: 5px solid #ffb700;
}
.amenity-item {
  font-size: 1rem;
}
.review-card {
  border-left: 4px solid #ffb700;
}
.faq-item {
  border-bottom: 1px solid #eee;
}
.dest-link-card {
  transition: transform 0.2s;
}
.dest-link-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.1);
}

/* Sitemap */
.sitemap-section { margin-bottom: 3rem; }
.sitemap-title {
  font-weight: 600;
  font-size: 1.4rem;
  color: #003b95;
}
.sitemap-item {
  display: flex;
  justify-content: space-between;
  padding: 0.4rem 0;
  border-bottom: 1px solid #eee;
  font-size: 0.95rem;
}
.sitemap-item:last-child { border-bottom: none; }
.sitemap-count {
  color: #006ce4;
  font-weight: 500;
}

/* Tabs (country/region) */
.nav-tabs .nav-link {
  border: none;
  border-bottom: 3px solid transparent;
  color: #6c757d;
  font-weight: 500;
}
.nav-tabs .nav-link.active {
  color: #003b95;
  border-bottom: 3px solid #ffb700;
}

/* Forms */
.reservation-card,
.summary-card {
  border: 2px solid #ffb700;
  border-radius: 0.75rem;
}
.form-section {
  border-bottom: 1px solid #eee;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.form-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
.form-label {
  font-weight: 600;
  color: #003b95;
}
.payment-icons {
  font-size: 1.8rem;
  color: #6c757d;
}
.summary-img {
  height: 120px;
  object-fit: cover;
}

/* Reusable text blocks */
.text-block {
  padding: 2.5rem 2rem;
  border-radius: 0.75rem;
  margin-bottom: 2rem;
}
.text-block h2,
.text-block h3 {
  font-weight: 600;
  margin-bottom: 1rem;
}
.text-block p {
  line-height: 1.7;
}

/* Map button – sticky on desktop, fixed on mobile */
.map-button-container {
  position: sticky;
  top: 100px;
  z-index: 1000;
  margin-bottom: 1rem;
}
@media (max-width: 991px) {
  .map-button-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
  }
}

/* Footer */
.footer {
  background-color: #003b95;
  color: white;
  padding: 3rem 0 2rem;
}

/* -------------------------------------------------------------------------- */
/* 6. Responsive Adjustments
/* -------------------------------------------------------------------------- */
@media (max-width: 576px) {
  .jumbotron {
    padding: 2rem 1rem;
  }
  .display-4 {
    font-size: 2rem;
  }
}

@media (max-width: 991px) {
  .filter-sidebar {
    position: static;
    max-height: none;
    overflow-y: visible;
    padding-right: 0;
  }
}

/* ==========================================================================
   End of File
   ========================================================================== */