/*
Theme Name: Visaland
Author: ModinaTheme
Author URI: https://themeforest.net/user/modinatheme/
Description: Immigration & Visa Consulting HTML Template
Version: 1.0.0
*/

/*
=================================
|***    Table of contents:   ***|
=================================

1. General styles
2. Typography
3. Helpers
4. Preloader
5. Go up button
6. Header and navigation
7. Hero Section
8. About us
9. Services
10. Fun facts
11. Projects
12. Pricing
13. Testimonial
14. CTA
15. Team
16. Video Banner
17. Shop
18. Marquee
19. Blog
20. Footer

Main Style file-> assets/css/main.css 
*/
/* ==========================
   General Body & Typography
========================== */
/* ===========================
   Global Styles
=========================== */
body {
  font-family: 'Poppins', sans-serif;
  line-height: 1.6;
  background: linear-gradient(to bottom right, #e0f0ff, #f3ebff);
  color: #333;
}

.country-link {
  background-color: transparent;
  color: #1a1a1a;
  border: 1px solid #1a1a1a;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  text-decoration: none;
  display: inline-block;
  font-weight: 500;
  transition: all 0.3s ease;
}

.country-link:hover {
  background-color: #664d03;
  color: #fff;
  text-decoration: none;
}

.country-link.selected {
  background-color: #fff;
  color: #000;
}

.card {
  border-radius: 1rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.card-img-top {
  max-height: 140px;
  object-fit: contain;
  background-color: #f8f9fa;
  border-radius: 1rem;
}

.card-title {
  font-weight: 700;
  font-size: 1.2rem;
}

.card-text {
  font-size: 0.95rem;
  color: #555;
}

.approval-box {
  width: 100%;
  min-height: 150px;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.approval-box:hover {
  transform: translateY(-5px);
  box-shadow: 0px 8px 25px rgba(0,0,0,0.2);
}

.dark-box {
  background: linear-gradient(270deg, var(--box-color1), var(--box-color2));
  background-size: 400% 400%;
  animation: floatColor 4s ease infinite;
  color: white;
}

.light-box {
  background: #fff;
  border: 2px solid #ddd;
  color: #333;
}

@keyframes floatColor {
  0% {background-position: 0% 50%;}
  50% {background-position: 100% 50%;}
  100% {background-position: 0% 50%;}
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}

.faq-item.active .faq-answer {
  max-height: 300px;
  opacity: 1;
}

.list-group-item {
  border-radius: 0.75rem;
  margin-bottom: 0.5rem;
  transition: background 0.3s ease, transform 0.3s ease;
}

.list-group-item:hover {
  background-color: #fff4e6;
  transform: translateY(-3px);
}

.list-group-item i {
  font-size: 1.4rem;
}

.emoji {
  font-size: 1rem;
  margin-right: 4px;
  vertical-align: middle;
}

.badge {
  font-size: 0.85rem;
  font-weight: 600;
}

.text-muted {
  color: #666 !important;
}
.accordion-collapse {
  transition: height 0.35s ease !important; 
  visibility: visible !important; 
}
.collapsing {
  transition: height 0.35s ease !important; 
  opacity: 1 !important; 
  visibility: visible !important; 
}
.accordion-body {
  display: block !important; 
  opacity: 1 !important; 
  color: #333 !important; 
  min-height: 20px !important; 
  padding: 1rem !important; 
}
.accordion-body.text-muted {
  color: #333 !important; 
}