/* --- Contact Page Specific Styles --- */
.contact_directory_section {
  background-color: #fafafa !important;
}
.directory_card, .contact_info_card {
  transition: all 0.3s ease !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important;
  border-radius: 12px !important;
  border: none !important;
}
.directory_card:hover, .contact_info_card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
}
.specialty-item {
  transition: all 0.2s ease !important;
}
.specialty-item:hover {
  background-color: #fcfcfc !important;
}
.card-header.bg-dark {
  background-color: #252525 !important;
}
.contact-header-center {
  align-items: center !important;
  text-align: center !important;
}
.contact-subtitle {
  font-size: 1.1rem !important;
  max-width: 600px !important;
  margin: 10px auto 0 !important;
}
.card-header-title {
  color: #f0d96b !important;
  font-size: 1.3rem !important;
}
.board-title {
  font-size: 1.1rem !important;
}
.icon-badge-round {
  width: 45px !important;
  height: 45px !important;
  line-height: 45px !important;
  flex-shrink: 0 !important;
}
.specialty-title {
  font-size: 1.05rem !important;
}
.location-title {
  font-size: 1.15rem !important;
}
.location-icon {
  font-size: 1.3rem !important;
  width: 20px !important;
  text-align: center !important;
}
.location-text {
  line-height: 1.6 !important;
  font-size: 0.95rem !important;
}
.location-phone-icon {
  font-size: 1.2rem !important;
  width: 20px !important;
  text-align: center !important;
}
.location-phone-text {
  font-size: 0.95rem !important;
}
.location-email-icon {
  font-size: 1.1rem !important;
  width: 20px !important;
  text-align: center !important;
}
.location-info-header {
  font-size: 1rem !important;
}
.location-info-text {
  line-height: 1.6 !important;
  font-size: 0.85rem !important;
}
.map-wrapper {
  height: 250px !important;
  border: 1px solid #eee !important;
  margin-top: 15px !important;
}
.contact-alert-success {
  background: #d4edda !important;
  color: #155724 !important;
  padding: 10px !important;
  border-radius: 5px !important;
}
.contact-alert-danger {
  background: #f8d7da !important;
  color: #721c24 !important;
  padding: 10px !important;
  border-radius: 5px !important;
}
.consent-wrapper {
  gap: 10px !important;
  font-size: 14px !important;
  text-align: left !important;
}
.consent-checkbox-custom {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
}

