/* Home Page Styles - Extracted from inline CSS for better performance and security */

/* Header styles removed (duplicated in includes/header.php) */

/* Hero Section Styles */
.hero-section-redesigned {
  background: linear-gradient(125deg, #e0f2fe 0%, #d8eafd 100%);
  min-height: 60vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 2rem 0 1.5rem 0;
}

.hero-section-redesigned .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}

/* Hero image slider base consolidated below */

.hero-content {
  width: 100%;
}

/* Subtle card background for hero content to improve contrast */
.hero-content-card {
  background: rgba(245, 249, 255, 0.96); /* soft bluish card for contrast */
  border: 1px solid #d7e3ff;
  border-radius: 14px;
  padding: 16px 18px 14px;
  box-shadow: 0 6px 18px rgba(20, 30, 60, 0.08);
}
@media (max-width: 768px) {
  .hero-content-card {
    background: rgba(245, 249, 255, 0.98);
    border-radius: 12px;
    padding: 14px 14px 12px;
    box-shadow: 0 3px 10px rgba(20, 30, 60, 0.06);
  }
}

.hero-badge-modern {
  display: inline-flex;
  align-items: center;
  background: rgba(78, 205, 196, 0.1);
  color: #4ecdc4;
  padding: 0.5rem 1rem;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 500;
}

.hero-headline {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;
  color: #1f2a44;
  margin-bottom: 0.6rem;
}

.headline-main {
  display: block;
}

.headline-highlight { color: #0d6efd; }

.hero-tagline {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.5rem;
}

.tagline-prefix {
  font-size: 1.2rem;
  color: #445;
}

.tagline-dynamic {
  font-size: 1.2rem;
  font-weight: 700;
  color: #0a58ca;
  background: #ffffff;
  border: 1px solid #d6e4ff;
  padding: 4px 10px;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(13, 110, 253, 0.06);
}

.highlight-badge {
  background: #4ecdc4;
  color: white;
  padding: 0.3rem;
  border-radius: 50%;
  font-size: 0.8rem;
}

.hero-subheading {
  font-size: 1.05rem;
  color: #495057;
  margin-bottom: 2rem;
}

.savings-highlight {
  color: #e74c3c;
  font-weight: 700;
}

.hero-cta {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.2rem;
}
@media (max-width: 575.98px) { .hero-headline { font-size: 1.5rem; } }

.btn-hero-primary {
  background: linear-gradient(135deg, #0d6efd 0%, #3b82f6 100%);
  border: none;
  color: white;
  padding: 12px 30px;
  border-radius: 25px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-hero-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(78, 205, 196, 0.3);
  color: white;
}

.btn-hero-secondary {
  background: transparent;
  border: 2px solid #0d6efd;
  color: #0d6efd;
  padding: 10px 28px;
  border-radius: 25px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-hero-secondary:hover { background: #0d6efd; color: #fff; transform: translateY(-2px); }

.pulse-btn {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.hero-trust {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: #6c757d;
}

/* Stats Section */
.stats-section-enhanced {
  background: #f8f9fa;
  padding: 3rem 0;
  position: relative;
}

.stats-bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.04;
  background-image: radial-gradient(circle, #7e57c2 2px, transparent 2px);
  background-size: 40px 40px;
  animation: bgPatternMove 20s linear infinite;
}

@keyframes bgPatternMove {
  0% { transform: translateX(0) translateY(0); }
  100% { transform: translateX(40px) translateY(40px); }
}

.stats-title {
  font-size: 1.45rem;
  font-weight: 800;
  color: #4d3c7a;
  margin-bottom: 0.3rem;
  letter-spacing: 0.01em;
}

.stats-subtitle {
  font-size: 0.98rem;
  color: #7e57c2;
  margin-bottom: 0;
  font-weight: 500;
}

.stat-card-enhanced {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
}

.stat-card-enhanced:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.stat-icon-enhanced {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #4ecdc4;
}

.stat-number-enhanced {
  font-size: 2rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 0.5rem;
}

.stat-label-enhanced {
  font-size: 0.9rem;
  color: #6c757d;
  font-weight: 500;
}

.stat-accent-line {
  width: 30px;
  height: 3px;
  background: #4ecdc4;
  margin: 1rem auto 0;
  border-radius: 2px;
}

/* Services Section */
.services-section {
  padding: 4rem 0;
}

.section-header {
  margin-bottom: 3rem;
}

.section-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 1rem;
}

.section-subtitle {
  font-size: 1.1rem;
  color: #6c757d;
  margin-bottom: 2rem;
}

.section-divider {
  width: 60px;
  height: 4px;
  background: linear-gradient(135deg, #4ecdc4 0%, #44a08d 100%);
  margin: 0 auto;
  border-radius: 2px;
}

.service-card-link {
  text-decoration: none;
  color: inherit;
}
/* Generic service-card styles removed to defer to consolidated.css */

/* --- Homepage-only compact service cards (Premium Diagnostic Services) --- */
#services-overview .service-card {
  padding: 14px !important;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
  border: 1px solid #e3f2fd !important;
}
#services-overview .service-card-icon {
  width: 32px !important;
  height: 32px !important;
  margin-bottom: 8px !important;
}
#services-overview .service-card-title {
  font-size: 0.95rem !important;
  margin-bottom: 4px !important;
}
#services-overview .service-card-description {
  font-size: 0.82rem !important;
  margin-bottom: 10px !important;
  line-height: 1.3 !important;
  line-clamp: 2 !important;
  -webkit-line-clamp: 2 !important;
}
#services-overview .service-card-price .price {
  font-size: 0.88rem !important;
}
#services-overview .service-card-action i {
  width: 26px !important; /* enlarged for better visual balance */
  height: 26px !important;
  font-size: 0.8rem !important;
  line-height: 1 !important;
}

/* Alignment & badge tweaks for homepage compact service cards */
#services-overview .service-card {
  position: relative; /* ensure absolutely positioned discount badge anchors correctly */
}
#services-overview .service-discount {
  position: absolute;
  top: 6px; /* closer to edge */
  right: 6px;
  background: #ffde59;
  color: #2c3e50;
  font-size: 0.55rem;
  font-weight: 700;
  line-height: 1;
  padding: 4px 6px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.12);
  letter-spacing: .4px;
  min-width: 44px;
  z-index: 5;
}
#services-overview .service-discount span { display: inline-block; }

/* Make price row vertically centered and prevent arrow misalignment */
#services-overview .service-card-price {
  display: flex !important;
  align-items: center !important;
  gap: 6px;
  margin-top: auto !important; /* push price row to bottom */
  justify-content: flex-start !important;
}
#services-overview .service-card-price .price { line-height: 1 !important; }
#services-overview .service-card-action { display: flex; align-items: center; }
#services-overview .service-card-action i {
  margin-left: 2px !important;
  background: #ffde59 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #2c3e50 !important;
  box-shadow: 0 0 0 0 rgba(0,0,0,0.08);
  transition: all .25s ease;
  position: relative;
  top: 0;
}
#services-overview .service-card:hover .service-card-action i {
  transform: translateX(3px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

@media (max-width: 575.98px) {
  #services-overview .service-discount {
    top: 8px;
    right: 8px;
    font-size: 0.55rem;
    padding: 4px 6px;
    min-width: 42px;
  }
  #services-overview .service-card-action i {
    width: 28px !important; /* slightly larger touch target */
    height: 28px !important;
    font-size: 0.85rem !important;
  }
  /* Center text & pricing on mobile for better readability */
  #services-overview .service-card-content { text-align: center !important; }
  #services-overview .service-card-title { text-align: center !important; }
  #services-overview .service-card-description { text-align: center !important; }
  #services-overview .service-card-price { justify-content: center !important; }
  #services-overview .service-card-action { margin-left: 6px !important; }
}

/* =====================================================
   Enhanced Professional Styling: Most Booked Services
   Desktop & Mobile Differentiated Design
   (Appended overrides ensure safe precedence)
   ===================================================== */
#services-overview .service-card {
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 16px 14px 14px;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: #ffffff;
  position: relative;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  transition: all .38s ease;
}
#services-overview .service-card:hover {
  box-shadow: 0 8px 26px rgba(0,0,0,0.12);
  transform: translateY(-4px);
}
#services-overview .service-card-icon {
  width: 60px !important;
  height: 60px !important;
  border-radius: 16px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}
#services-overview .service-card-media {width:60px;height:60px;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f1f5f9;margin-bottom:12px;box-shadow:0 4px 14px rgba(0,0,0,0.12);}
#services-overview .service-card-media img{width:100%;height:100%;object-fit:cover;display:block;}
#services-overview .service-card-title {
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  letter-spacing: .3px;
  color: #1e293b !important;
}
#services-overview .service-card-description {
  font-size: 0.78rem !important;
  color: #475569 !important;
  line-height: 1.35 !important;
  margin-bottom: 12px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#services-overview .service-card-price {
  width: 100%;
  gap: 10px;
}
#services-overview .service-card-price .price {
  background: rgba(255,222,89,0.25);
  padding: 4px 10px;
  border-radius: 40px;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  color: #2c3e50 !important;
  letter-spacing: .2px;
}
#services-overview .service-card-cta {margin-left:auto;display:flex;align-items:center;justify-content:center;position:relative;}
#services-overview .service-card-cta .svc-btn-pill {border:0;outline:0;cursor:pointer;background:linear-gradient(135deg,#6a5af9,#8f7bff);color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.05em;padding:.55rem .95rem;border-radius:40px;display:inline-flex;align-items:center;gap:6px;line-height:1;box-shadow:0 4px 14px rgba(106,90,249,0.35);position:relative;isolation:isolate;transition:.4s cubic-bezier(.77,0,.18,1);}
#services-overview .service-card-cta .svc-btn-pill:before {content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.35),rgba(255,255,255,0));opacity:.75;mix-blend-mode:overlay;pointer-events:none;}
#services-overview .service-card-cta .svc-btn-pill .svc-btn-icon {display:inline-block;font-size:.9rem;transform:translateY(-1px);transition:.4s cubic-bezier(.77,0,.18,1);}
#services-overview .service-card:hover .service-card-cta .svc-btn-pill {transform:translateX(4px);box-shadow:0 8px 26px rgba(106,90,249,0.45);}
#services-overview .service-card:hover .service-card-cta .svc-btn-pill .svc-btn-icon {transform:translate(3px,-1px) scale(1.1);}
#services-overview .service-card-cta .svc-btn-pill:active {transform:translateX(4px) translateY(1px) scale(.97);}
#services-overview .service-discount {
  background: #ffde59 !important;
  color: #2c3e50 !important;
  font-weight: 800 !important;
  padding: 5px 8px !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.15) !important;
}

/* Desktop-specific refinements */
@media (min-width: 768px) {
  #services-overview .service-card { padding: 18px 16px 16px; }
  #services-overview .service-card-title { font-size: 1rem !important; }
  #services-overview .service-card-description { font-size: 0.8rem !important; }
}

/* Mobile redesign */
@media (max-width: 575.98px) {
  #services-overview .service-card { align-items: center; text-align: center; padding: 18px 16px 16px; }
  #services-overview .service-card-icon { margin-bottom: 14px !important; width: 70px !important; height: 70px !important; }
  #services-overview .service-card-price { justify-content: center !important; }
  #services-overview .service-card-cta {margin-top:6px;}
  #services-overview .service-card-cta .svc-btn-pill {padding:.65rem 1.05rem;font-size:.72rem;}
  #services-overview .service-card-description { max-width: 92%; margin-left: auto !important; margin-right: auto !important; }
  #services-overview .service-discount { top: 10px; right: 10px; font-size: 0.6rem !important; }
}

/* Slight tablet optimization */
@media (min-width: 576px) and (max-width: 767.98px) {
  #services-overview .service-card { text-align: left; }
  #services-overview .service-card-price { justify-content: flex-start !important; }
}

/* Final arrow (CTA icon) normalization for all breakpoints */
#services-overview .service-card-price { position: relative; }
@media (min-width: 992px){#services-overview .service-card-cta .svc-btn-pill{font-size:.7rem;padding:.55rem 1rem;}}

@media (max-width: 767.98px) {
  #services-overview .service-card {
    padding: 12px !important;
  }
  #services-overview .service-card-title {
    font-size: 0.92rem !important;
  }
  #services-overview .service-card-description {
    font-size: 0.8rem !important;
  }
}

/* Unused testimonial card styles removed */

/* Redundant responsive blocks removed to avoid conflicts */

/* Redundant hero mobile fixes removed */

/* Professional & Mobile-Optimized Hero Image (modern variant in use) */
.hero-image-slider-modern {
  position: relative;
  z-index: 2;
  box-shadow: 0 12px 32px 0 rgba(60,40,120,0.13), 0 2px 8px 0 rgba(80,80,160,0.07);
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  background: linear-gradient(135deg, #f8fafc 60%, #e3e9ff 100%);
  border: 2.5px solid #c3b6e6;
  padding: 0;
  transition: box-shadow 0.2s, border 0.2s;
}

/* Hero content adjustments */
.hero-content-card .hero-badge-modern {
  background: linear-gradient(90deg,#6a5af9,#00c6fb);
  color:#fff;
  display:inline-flex;
  align-items:center;
  padding:0.55rem 1.05rem;
  font-weight:600;
  font-size:0.85rem;
  border-radius:40px;
  box-shadow:0 4px 12px rgba(106,90,249,0.25);
}
@media (max-width: 991.98px){
  .hero-section-redesigned .hero-content-card { text-align:center; }
  .hero-section-redesigned .hero-content-card .hero-cta { justify-content:center; display:flex; flex-wrap:wrap; gap:10px; }
  .hero-section-redesigned .hero-tagline { justify-content:center; }
  .hero-section-redesigned .hero-headline { text-align:center; }
  .hero-section-redesigned .hero-subheading { text-align:center; }
}
@media (max-width:575.98px){
  .hero-section-redesigned { padding-top:1.2rem !important; }
  .hero-section-redesigned .hero-headline { font-size:1.55rem !important; }
  .hero-content-card .hero-badge-modern { font-size:0.75rem; padding:0.45rem 0.9rem; }
}

/* Center alignment helpers for sections on mobile */
@media (max-width:767.98px){
  .why-choose-us-section .section-header, .services-section .section-header, #latest-updates .text-center { text-align:center; }
  #latest-updates .hp-latest-scroll { padding-left:.5rem; padding-right:.5rem; }
}
.hero-image-slider-modern:hover {
  box-shadow: 0 20px 48px 0 rgba(60,40,120,0.18), 0 4px 16px 0 rgba(80,80,160,0.10);
  border-color: #a18cd1;
}
.heroSwiper-modern {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 16px;
  overflow: hidden;
  background: #f4f7fa;
}
@media (max-width: 1200px) {
  .hero-image-slider-modern { border-radius: 14px; }
  .heroSwiper-modern { border-radius: 14px; }
}
@media (max-width: 768px) {
  .hero-image-slider-modern { max-width: 100% !important; min-width: 0; margin: 0 0 1.25rem 0 !important; border-radius: 12px; box-shadow: 0 4px 12px 0 rgba(60,40,120,0.10); }
  .heroSwiper-modern { border-radius: 12px; }
}
@media (max-width: 480px) {
  .hero-image-slider-modern { border-radius: 10px; }
  .heroSwiper-modern { border-radius: 10px; }
}

/* Older hero spacing variants removed; keeping consistent modern layout below */

/* Duplicate older hero slider styles removed to avoid conflicts */

@media (min-width: 992px) {
  .hero-section-redesigned .row {
    gap: 2rem;
    flex-wrap: nowrap !important;
  }
  .hero-section-redesigned .col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .hero-section-redesigned .col-lg-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}

@media (max-width: 991.98px) {
  .hero-section-redesigned .row {
    gap: 1.5rem;
    flex-wrap: wrap !important;
  }
  .hero-section-redesigned .col-lg-4,
  .hero-section-redesigned .col-lg-8,
  .hero-section-redesigned .col-md-5,
  .hero-section-redesigned .col-md-7 {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
}

/* FAQ Section Styles */
.faq-section {
  background: #f8f9fa;
}

.faq-item {
  background: white;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.faq-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.faq-item strong {
  color: #4d3c7a;
  font-size: 1.1rem;
  font-weight: 600;
}

/* Why Choose Us Card Hover Effects */
.why-choose-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(80, 80, 160, 0.15) !important;
}

/* Footer CTA Section */
.footer-cta {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.footer-cta-btn {
  transition: all 0.3s ease;
}

.footer-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.footer-cta-btn-primary:hover {
  background: #f8f9fa !important;
  color: #667eea !important;
}

.footer-cta-btn-outline:hover {
  background: white;
  color: #667eea;
  border-color: white;
}

/* Hero headline adjustments for better readability */
.hero-headline {
  font-size: 1.8rem !important;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.headline-main {
  display: block;
  color: #2c3e50;
  margin-bottom: 0.3rem;
}

.headline-highlight {
  display: block;
  color: #e74c3c;
  font-weight: 800;
  font-size: 1.1em;
}

@media (max-width: 768px) {
  .hero-headline {
    font-size: 1.4rem !important;
  }
}

/* Restore balanced hero layout */
@media (min-width: 992px) {
  .hero-section-redesigned .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

/* Professional FAQ Accordion Styles */
.faq-accordion {
  max-width: 800px;
  margin: 0 auto;
}

.faq-accordion .accordion-item {
  border: none;
  margin-bottom: 1rem;
  border-radius: 10px !important;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.faq-accordion .accordion-button {
  background: linear-gradient(135deg, #4d3c7a 0%, #6a5af9 100%);
  color: white;
  font-weight: 600;
  font-size: 1.1rem;
  border: none;
  padding: 1.2rem 1.5rem;
  border-radius: 0;
}

.faq-accordion .accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, #6a5af9 0%, #4d3c7a 100%);
  color: white;
  box-shadow: none;
}

.faq-accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.faq-accordion .accordion-button:focus {
  box-shadow: 0 0 0 0.25rem rgba(106, 90, 249, 0.25);
}

.faq-accordion .accordion-body {
  background: white;
  padding: 1.5rem;
  color: #555;
  line-height: 1.6;
  font-size: 1rem;
}

.faq-accordion .accordion-collapse {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Responsive improvements for new sections */
@media (max-width: 768px) {
  .why-choose-us-section .section-title {
    font-size: 1.5rem !important;
  }
  
  .footer-cta-content {
    text-align: center;
  }
  
  .footer-cta-buttons {
    justify-content: center !important;
  }
  
  .faq-accordion .accordion-button {
    font-size: 1rem;
    padding: 1rem 1.2rem;
  }
  
  .faq-accordion .accordion-body {
    padding: 1.2rem;
  }
}
