

/* FAQ Section Styles */
.faq-section {
  background: white;
  padding: 100px 0;
  position: relative;
}

.faq-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.particle {
  position: absolute;
  font-size: 2.5rem;
  opacity: 0.08;
  animation: faqFloat 25s infinite linear;
}

.question-mark { top: 20%; left: 10%; animation-delay: 0s; color: #667eea; }
.stethoscope { top: 60%; right: 15%; animation-delay: 10s; color: #ff6b6b; }
.eye { bottom: 25%; left: 20%; animation-delay: 18s; color: #00d4ff; }

@keyframes faqFloat {
  0% { transform: translateY(100vh) rotate(0deg); opacity: 0; }
  10% { opacity: 0.08; }
  90% { opacity: 0.08; }
  100% { transform: translateY(-100px) rotate(360deg); opacity: 0; }
}

/* Doctor Image */
.faq-image-wrapper {
  height: 500px;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.faq-doctor-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.faq-image-wrapper:hover .faq-doctor-img {
  transform: scale(1.05);
}

.image-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.8));
  padding: 2rem;
  color: white;
}

.doctor-info h5 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.doctor-info p {
  opacity: 0.9;
  font-size: 1rem;
}

/* FAQ Accordion */
.faq-accordion .accordion-item {
  border: none;
  background: transparent;
  margin-bottom: 1.5rem;
}

.accordion-button {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 20px !important;
  padding: 1.5rem 2rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
  transition: all 0.3s ease !important;
}

.accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.2), rgba(118, 75, 162, 0.2)) !important;
  border-color: rgba(102, 126, 234, 0.5) !important;
  box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3) !important;
}

.accordion-button:focus {
  box-shadow: none !important;
  border-color: rgba(102, 126, 234, 0.6) !important;
}

.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") !important;
  filter: brightness(1.2);
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23667eea'%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") !important;
}

.accordion-body {
  background: rgba(15, 15, 77, 0.8) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #e0e0e0 !important;
  padding: 1.5rem 2rem !important;
  font-size: 1rem;
  line-height: 1.6;
}

.section-badge {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  padding: 12px 24px;
  border-radius: 50px;
  font-weight: 600;
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}

/* Responsive */
@media (max-width: 991.98px) {
  .faq-section { padding: 80px 0; }
  .faq-image-wrapper { height: 400px; margin-bottom: 2rem; }
  .faq-accordion .accordion-button { padding: 1.25rem 1.5rem !important; }
}

@media (max-width: 768px) {
  .display-4 { font-size: 2.5rem; }
  .faq-image-wrapper { height: 320px; }
}



/* Glass Cards - FIXED: Dark bold text + neon glow */
.glass-card {
  background: rgba(15, 15, 77, 0.85) !important; /* Darker base */
  backdrop-filter: blur(20px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 24px;
  box-shadow: 
    0 25px 45px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.2); /* Inner glow */
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  color: #ffffff !important; /* Force white text */
}

.glass-card:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow: 
    0 35px 60px rgba(0, 0, 0, 0.6),
    0 0 0 1px rgba(102, 126, 234, 0.8),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
  border-color: rgba(102, 126, 234, 0.8) !important;
}

/* Text Overrides - FIXED: Bold, shadowed, high-contrast */
.glass-card * {
  color: #ffffff !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important; /* Black shadow for pop */
}