/*
 * SF Theme 1.0.3 UI fixes.
 * Loaded after the main theme and WPForms styling.
 */

/* Keep the primary hero CTA readable in every link state. */
a.sf-button.sf-button-primary,
a.sf-button.sf-button-primary:link,
a.sf-button.sf-button-primary:visited,
a.sf-button.sf-button-primary:hover,
a.sf-button.sf-button-primary:focus,
a.sf-button.sf-button-primary:active {
  background: var(--sf-navy) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

a.sf-button.sf-button-primary svg {
  color: #fff !important;
  stroke: currentColor !important;
}

/* WPForms 613 — exact stacked contact-card layout from the supplied design. */
.sf-contact-card div.wpforms-container-full#wpforms-613,
.sf-contact-card #wpforms-613 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sf-contact-card #wpforms-613 form.wpforms-form,
.sf-contact-card #wpforms-form-613 {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sf-contact-card #wpforms-613 .wpforms-field-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sf-contact-card #wpforms-613 .wpforms-field,
.sf-contact-card #wpforms-613 .wpforms-one-half,
.sf-contact-card #wpforms-613 .wpforms-first,
.sf-contact-card #wpforms-613 .wpforms-mobile-full {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
}

/* WPForms form settings hide these labels. Reveal them to match the design. */
.sf-contact-card #wpforms-613 label.wpforms-field-label,
.sf-contact-card #wpforms-613 label.wpforms-field-label.wpforms-label-hide {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  border: 0 !important;
  color: #171717 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

.sf-contact-card #wpforms-613 .wpforms-required-label {
  color: #171717 !important;
}

.sf-contact-card #wpforms-613 input[type="text"],
.sf-contact-card #wpforms-613 input[type="email"],
.sf-contact-card #wpforms-613 input[type="tel"],
.sf-contact-card #wpforms-613 textarea {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 1px solid #dedede !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #171717 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  outline: 0 !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

.sf-contact-card #wpforms-613 input[type="text"],
.sf-contact-card #wpforms-613 input[type="email"],
.sf-contact-card #wpforms-613 input[type="tel"] {
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 13px !important;
}

.sf-contact-card #wpforms-613 textarea {
  min-height: 98px !important;
  height: 98px !important;
  padding: 12px 13px !important;
  resize: vertical !important;
}

.sf-contact-card #wpforms-613 input::placeholder,
.sf-contact-card #wpforms-613 textarea::placeholder {
  color: #858585 !important;
  opacity: 1 !important;
}

.sf-contact-card #wpforms-613 input:focus,
.sf-contact-card #wpforms-613 textarea:focus {
  border-color: #9b9b9b !important;
  box-shadow: 0 0 0 3px rgba(10, 46, 92, .07) !important;
}

/* Keep the smart-phone field functional, but visually match the plain field. */
.sf-contact-card #wpforms-613 .iti {
  display: block !important;
  width: 100% !important;
}

/* Preserve WPForms' international phone flag and country selector. */
.sf-contact-card #wpforms-613 .iti input[type="tel"],
.sf-contact-card #wpforms-613 input.iti__tel-input {
  padding-left: 52px !important;
}

.sf-contact-card #wpforms-613 .wpforms-submit-container {
  display: block !important;
  width: 100% !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
}

.sf-contact-card #wpforms-613 button#wpforms-submit-613,
.sf-contact-card #wpforms-613 button.wpforms-submit,
.sf-contact-card #wpforms-613 button[type="submit"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 16px 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #000 !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: transform .2s ease, background-color .2s ease !important;
}

.sf-contact-card #wpforms-613 button#wpforms-submit-613:hover,
.sf-contact-card #wpforms-613 button#wpforms-submit-613:focus,
.sf-contact-card #wpforms-613 button.wpforms-submit:hover,
.sf-contact-card #wpforms-613 button.wpforms-submit:focus {
  background: #202020 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.sf-contact-card #wpforms-613 button#wpforms-submit-613:disabled,
.sf-contact-card #wpforms-613 button.wpforms-submit:disabled {
  opacity: .65 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

.sf-contact-card #wpforms-613 .wpforms-submit-spinner {
  display: block;
  margin: 12px auto 0 !important;
}

.sf-contact-card #wpforms-613 label.wpforms-error {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 6px 0 0 !important;
  overflow: visible !important;
  clip: auto !important;
  color: #b42318 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.sf-contact-card #wpforms-613 input.wpforms-error,
.sf-contact-card #wpforms-613 textarea.wpforms-error {
  border-color: #d92d20 !important;
}

.sf-contact-card #wpforms-613 .wpforms-confirmation-container-full,
.sf-contact-card #wpforms-613 .wpforms-confirmation-container {
  margin: 0 !important;
  padding: 20px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #f5f7f6 !important;
  color: #171717 !important;
  text-align: center !important;
}

@media (max-width: 480px) {
  .sf-contact-card #wpforms-613 .wpforms-field-container {
    gap: 20px !important;
  }

  .sf-contact-card #wpforms-613 button#wpforms-submit-613,
  .sf-contact-card #wpforms-613 button.wpforms-submit {
    min-height: 54px !important;
  }
}
