.vs-cf7 { width: 100%; }
.vs-cf7-row {
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.vs-cf7-col { flex: 1 1 calc(50% - 7px); min-width: 180px; }
.vs-cf7-row-full .vs-cf7-col,
.vs-cf7-row-full > * { width: 100%; }
.vs-cf7 input.wpcf7-form-control,
.vs-cf7 select.wpcf7-form-control,
.vs-cf7 textarea.wpcf7-form-control {
  width: 100% !important;
  box-sizing: border-box;
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  color: #0B2545 !important;
  font-family: Poppins, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  min-height: 48px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}
.vs-cf7 textarea.wpcf7-form-control { min-height: 120px; resize: vertical; }
.vs-cf7 select.wpcf7-form-control { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #0B4F8C 50%), linear-gradient(135deg, #0B4F8C 50%, transparent 50%); background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; }
.vs-cf7 input::placeholder,
.vs-cf7 textarea::placeholder { color: #7A8796 !important; }
.vs-cf7-submit-wrap { margin-top: 6px; margin-bottom: 0; }
.vs-cf7-submit,
.vs-cf7 input.vs-cf7-submit,
.vs-cf7 input.wpcf7-submit {
  width: 100% !important;
  background: #0B4F8C !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  font-family: Poppins, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 10px 24px rgba(11,79,140,0.35);
}
.vs-cf7-submit:hover,
.vs-cf7 input.vs-cf7-submit:hover,
.vs-cf7 input.wpcf7-submit:hover {
  background: #0B2545 !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(11,37,69,0.4);
}
.vs-cf7-captcha { margin-top: 4px; }
@media (max-width: 767px) {
  .vs-cf7-col { flex: 1 1 100%; min-width: 100%; }
}

/* Appointment CTA on dark background — white copy */
.elementor-7 .elementor-element-8de81bf .elementor-heading-title,
.elementor-7 .elementor-element-fd8b48b .elementor-heading-title {
  color: #FFFFFF !important;
}
.elementor-7 .elementor-element-8de81bf .elementor-widget-text-editor,
.elementor-7 .elementor-element-8de81bf .elementor-widget-text-editor p,
.elementor-7 .elementor-element-e571fe3,
.elementor-7 .elementor-element-e571fe3 p,
.elementor-7 .elementor-element-e571fe3 .elementor-widget-container {
  color: #FFFFFF !important;
}
