/* 
 * Banner Background Images
 * Consistent styling for all banner sections across the website
 */

/* Hero Section Background Image - Override conflicting styles */
.hero {
  background-image: url('assets/bannerimage.png') !important;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  /* Standardized height for all banners */
  min-height: 500px;
  display: flex;
  align-items: center;
}

/* Add overlay for index page hero */
.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #1e3a8a !important; /* Solid #1e3a8a color */
  opacity: 0.7 !important; /* 70% opacity */
  z-index: 1;
}

/* Ensure hero content text is white for better visibility on all pages */
.hero h1,
.hero p,
.services-hero h1,
.services-hero p,
.hero-section h1,
.hero-section p,
.page-heading h1,
.page-heading p {
  color: white !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); /* Add subtle text shadow for better readability */
  margin: 0;
  padding: 10px 0;
}

/* Professional CA Services CTA Styling */
.consultation-cta {
  background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%) !important;
  color: white !important;
  padding: 80px 0 !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

.consultation-cta::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zm84-69c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zM17 12c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zm16 8c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zm2.875 70c.482 0 .875-.397.875-.875s-.397-.875-.875-.875-.875.397-.875.875.397.875.875.875zM78 12c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zM44 86c.552 0 1-.448 1-1s-.448-1-1-1-1 .448-1 1 .448 1 1 1zM25 39c1.037 0 1.875-.838 1.875-1.875S26.037 35.25 25 35.25s-1.875.838-1.875 1.875S23.963 39 25 39z' fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E") !important;
  opacity: 0.1 !important;
}

.cta-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

.cta-content h2 {
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
  color: white !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3) !important;
  position: relative !important;
}

.cta-content h2::after {
  content: '' !important;
  display: block !important;
  width: 80px !important;
  height: 4px !important;
  background: linear-gradient(90deg, #3b82f6, #93c5fd) !important;
  margin: 15px auto !important;
  border-radius: 2px !important;
}

.cta-content p {
  font-size: 1.2rem !important;
  margin-bottom: 40px !important;
  opacity: 0.9 !important;
  line-height: 1.7 !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.contact-options {
  display: flex !important;
  justify-content: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  margin-top: 20px !important;
}

.contact-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 25px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: white !important;
  text-decoration: none !important;
  border-radius: 50px !important;
  border: 2px solid rgba(255, 255, 255, 0.3) !important;
  transition: all 0.3s ease !important;
  backdrop-filter: blur(10px) !important;
}

.contact-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
}

.contact-btn i {
  font-size: 1.2rem !important;
}

/* Standardized heading sizes */
.hero h1,
.services-hero h1,
.hero-section h1,
.page-heading h1 {
  font-size: 3rem ;
  font-weight: 700;
}

/* Standardized paragraph sizes */
.hero p,
.services-hero p,
.hero-section p,
.page-heading p {
  font-size: 1.2rem !important;
  line-height: 1.6;
}

/* Services Hero Banner Background Image */
.services-hero {
  background-image: url('assets/aboutbanner.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  /* Standardized height for all banners */
  min-height: 500px;
  display: flex;
  align-items: center;
}

/* Add overlay for services page hero */
.services-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #1e3a8a !important;
  opacity: 0.7 !important;
  z-index: 1;
}

/* About Page Hero Section Background Image */
.hero-section {
  background-image: url('assets/about.jpeg') !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  position: relative;
  /* Standardized height for all banners */
  min-height: 500px !important;
  display: flex !important;
  align-items: center !important;
  /* Override internal CSS gradient */
  background: url('assets/about.jpeg') center/cover no-repeat !important;
  padding: 0 !important; /* Remove internal padding */
  overflow: hidden !important;
}

/* Add overlay for about page hero */
.hero-section::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: #1e3a8a !important;
  opacity: 0.7 !important;
  z-index: 1 !important;
}

/* Contact Page Heading Background Image */
.page-heading {
  background-image: url('assets/contact.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  /* Standardized height for all banners */
  min-height: 500px;
  display: flex;
  align-items: center;
  padding: 0 !important; /* Remove default padding */
}

/* Add overlay for contact page heading */
.page-heading::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #1e3a8a !important;
  opacity: 0.7 !important;
  z-index: 1;
}

/* Remove duplicate overlay definitions */

/* Ensure content stays above overlay on all pages */
.hero .container,
.services-hero .container,
.hero-section .container,
.page-heading .container {
  position: relative !important;
  z-index: 2 !important;
  /* Standardized container styling */
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* Ensure hero content is properly positioned above overlay */
.hero-content,
.hero-section .hero-content,
.services-hero .hero-content,
.page-heading .hero-content {
  position: relative !important;
  z-index: 3 !important;
  color: white !important; /* Ensure text is visible on dark overlay */
  text-align: center !important;
  padding: 40px 0 !important; /* Consistent vertical padding */
}