/* style.css
 * Custom styling for the Tour & Travel Package website.
 * Uses Bootstrap 5 as a base and defines custom colors, spacing and
 * component styles to create a vibrant and modern look.
 */

/* CSS Variables for theme colors */
:root {
  --orange: #ff6c00;
  --black: #000000;
  --white: #ffffff;
  --gray: #f8f9fa;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background-color: var(--white);
  color: var(--black);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Navbar overrides */
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.9);
  transition: color 0.2s ease-in-out;
}
.navbar-dark .navbar-nav .nav-link:hover {
  color: var(--orange);
}

/* Hero section */
.hero {
  position: relative;
  background: linear-gradient(135deg, var(--black), #333);
  color: var(--white);
  padding: 80px 0;
  overflow: hidden;
}
.hero h1 {
  font-size: 2.5rem;
  font-weight: 700;
}
.hero p {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
}

/* Search bar */
.search-bar {
  background-color: var(--white);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Category cards */
.category-card {
  border: none;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s, box-shadow 0.2s;
}
.category-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* Package cards */
.package-card {
  border: none;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s, box-shadow 0.2s;
}
.package-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}
.package-card .card-body {
  padding: 1rem;
}
.package-card .package-title {
  font-size: 1.25rem;
  font-weight: 600;
}
.package-card .package-price {
  font-size: 1.1rem;
  color: var(--orange);
  font-weight: 600;
}

/* Buttons */
.btn-primary {
  background-color: var(--orange);
  border-color: var(--orange);
}
.btn-primary:hover {
  background-color: #e65a00;
  border-color: #e65a00;
}
.btn-outline-dark {
  color: var(--black);
  border-color: var(--black);
}

/* Utility classes */
.text-orange {
  color: var(--orange) !important;
}
.btn-outline-dark:hover {
  background-color: var(--black);
  color: var(--white);
}

/* Status badges */
.badge-status {
  font-size: 0.85rem;
  padding: 0.4em 0.6em;
  border-radius: 8px;
}
.badge-pending {
  background-color: #ffc107;
  color: #212529;
}
.badge-confirmed {
  background-color: #0d6efd;
  color: #fff;
}
.badge-cancelled {
  background-color: #dc3545;
  color: #fff;
}
.badge-completed {
  background-color: #198754;
  color: #fff;
}

/* Testimonials carousel */
.testimonial {
  background-color: var(--gray);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

/* Footer */
footer a {
  color: var(--white);
  transition: color 0.2s;
}
footer a:hover {
  color: var(--orange);
}

/* Forms */
input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

.form-control:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 0.25rem rgba(255,108,0,.25);
}

/* Breadcrumb */
.breadcrumb-item + .breadcrumb-item::before {
  color: var(--orange);
}

/* Admin styles (optional) */
.admin-sidebar {
  min-height: 100vh;
  background-color: #343a40;
  color: #fff;
}
.admin-sidebar .nav-link {
  color: rgba(255,255,255,0.8);
}
.admin-sidebar .nav-link.active {
  background-color: var(--orange);
  color: var(--white);
}