
:root {
  
  --bs-primary: hsl(222.2, 84%, 4.9%);
  --bs-primary-rgb: 12, 10, 9;
  --primary-foreground: hsl(210, 40%, 98%);
  
  
  --bs-secondary: hsl(210, 40%, 96%);
  --bs-secondary-rgb: 241, 245, 249;
  --secondary-foreground: hsl(222.2, 84%, 4.9%);
  
  
  --accent: hsl(210, 40%, 96%);
  --accent-foreground: hsl(222.2, 84%, 4.9%);
  
  
  --muted: hsl(210, 40%, 96%);
  --muted-foreground: hsl(215.4, 16.3%, 46.9%);
  
  
  --background: hsl(0, 0%, 100%);
  --foreground: hsl(222.2, 84%, 4.9%);
  
  
  --card: hsl(0, 0%, 100%);
  --card-foreground: hsl(222.2, 84%, 4.9%);
  
  
  --border: hsl(214.3, 31.8%, 91.4%);
  --input: hsl(214.3, 31.8%, 91.4%);
  
  
  --ring: hsl(222.2, 84%, 4.9%);
  
  
  --destructive: hsl(0, 84.2%, 60.2%);
  --destructive-foreground: hsl(210, 40%, 98%);
}


.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-color: var(--primary-foreground);
  --bs-btn-hover-bg: hsl(222.2, 84%, 10%);
  --bs-btn-hover-border-color: hsl(222.2, 84%, 10%);
  --bs-btn-active-bg: hsl(222.2, 84%, 15%);
  --bs-btn-active-border-color: hsl(222.2, 84%, 15%);
}


.gradient-bg {
  background: linear-gradient(135deg, var(--bs-primary) 0%, hsl(222.2, 84%, 20%) 100%);
}

.text-primary-foreground {
  color: var(--primary-foreground);
}

.text-muted-foreground {
  color: var(--muted-foreground);
}


.btn, .nav-link, .navbar-brand {
  transition: all 0.3s ease;
}


.navbar {
  padding: 0.5rem 0;
  min-height: 64px;
}

.navbar-brand {
  text-decoration: none !important;
}

.navbar-brand:hover {
  opacity: 0.8;
}

.nav-link {
  color: var(--foreground) !important;
  font-weight: 400;
  padding: 0.5rem 1rem !important;
}

.nav-link:hover {
  color: var(--bs-primary) !important;
}

.nav-link.active {
  color: var(--bs-primary) !important;
  font-weight: 500;
}


@media (max-width: 767.98px) {
  .navbar-collapse {
    margin-top: 1rem;
  }
  
  .navbar-nav {
    gap: 0.5rem;
  }
  
  .nav-link {
    padding: 0.75rem 0 !important;
    border-bottom: 1px solid var(--border);
  }
  
  .nav-link:last-child {
    border-bottom: none;
  }
}


.section-padding {
  padding: 4rem 0;
}

.hero-padding {
  padding: 6rem 0;
}


@media (max-width: 768px) {
  .hero-padding {
    padding: 3rem 0;
  }
  
  .section-padding {
    padding: 2rem 0;
  }
}/* F
ooter Styling */
footer {
  margin-top: auto;
}

.footer-link {
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

.footer-link:hover {
  opacity: 1 !important;
  color: white !important;
}


.newsletter-input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

.newsletter-input:focus {
  background-color: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.1) !important;
  color: white !important;
}


.social-btn {
  transition: background-color 0.3s ease;
}

.social-btn:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
}


@media (max-width: 767.98px) {
  footer .row.g-4 {
    gap: 2rem !important;
  }
  
  footer .col-md-6:not(:last-child) {
    margin-bottom: 1rem;
  }
}
/* 
Home Page Specific Styles */


.program-card {
  transition: all 0.3s ease;
}

.program-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.program-card:hover .btn-outline-primary {
  background-color: var(--bs-primary);
  color: white;
}


.destination-card {
  transition: all 0.3s ease;
  cursor: pointer;
}

.destination-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.destination-card:hover .w-100 {
  transform: scale(1.05);
}


@media (max-width: 768px) {
  .hero-section h1 {
    font-size: 2.5rem !important;
  }
  
  .hero-section .display-5 {
    font-size: 1.5rem !important;
  }
}


.btn {
  transition: all 0.3s ease;
}

.btn-warning:hover {
  background-color: #e0a800 !important;
  border-color: #e0a800 !important;
}

.btn-outline-light:hover {
  background-color: white !important;
  color: var(--bs-primary) !important;
}


.card {
  transition: all 0.3s ease;
}

.card:hover {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}


html {
  scroll-behavior: smooth;
}


section {
  scroll-margin-top: 4rem;
}


@media (max-width: 576px) {
  .hero-section .row.g-4 {
    margin-top: 2rem !important;
  }
  
  .hero-section .col-6 {
    margin-bottom: 1rem;
  }
}


.destination-image {
    height: 12rem;
    width: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.destination-card:hover .destination-image {
    transform: scale(1.05);
}

.destination-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3));
    transition: background 0.3s ease;
}

.destination-card:hover .destination-overlay {
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1));
}

.destination-card .position-relative {
    overflow: hidden;
}


.destination-overlay h3,
.destination-overlay p {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}