.acfwp-app,
.acfwp-app * {
  box-sizing: border-box !important;
}

.acfwp-app {
  min-height: 100vh !important;
  width: 100% !important;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  line-height: 1.5 !important;
  color: #111111 !important;
  background: transparent !important;
}

.acfwp-app .acfwp-contact-section {
  background: none !important;
  background-color: transparent !important;
  width: 100% !important;
}

.acfwp-app .acfwp-container {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 120px 24px !important;
}

.acfwp-app .acfwp-contact-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 60px !important;
  align-items: start !important;
}

.acfwp-app .acfwp-left-content {
  display: flex !important;
  flex-direction: column !important;
}

.acfwp-app .acfwp-badge-wrap {
  display: inline-block !important;
  margin-bottom: 16px !important;
}

.acfwp-app .acfwp-badge {
  display: inline-block !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: 1.3rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #2d7df1 !important;
  background-color: transparent !important;
}

.acfwp-app .acfwp-title {
  margin: 0 0 24px 0 !important;
  color: #111111 !important;
  font-size: 2.65rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.acfwp-app .acfwp-description {
  margin: 0 0 48px 0 !important;
  color: #4b5563 !important;
  font-size: 1.1rem !important;
  line-height: 1.8 !important;
}

.acfwp-app .acfwp-contact-info-box {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.acfwp-app .acfwp-contact-info-title {
  margin: 0 !important;
  color: #111111 !important;
  font-size: 1.1rem !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}

.acfwp-app .acfwp-contact-info-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.acfwp-app .acfwp-contact-info-item {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
}

.acfwp-app .acfwp-contact-info-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.acfwp-app .acfwp-contact-info-label {
  color: #6b7280 !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}

.acfwp-app .acfwp-contact-info-value {
  color: #111111 !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}

.acfwp-app .acfwp-contact-info-box .acfwp-contact-info-list > .acfwp-contact-info-item {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  align-items: center !important;
}

.acfwp-app .acfwp-contact-info-box .acfwp-contact-info-list > .acfwp-contact-info-item > .acfwp-icon-circle {
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
}

.acfwp-app .acfwp-contact-info-box .acfwp-contact-info-list > .acfwp-contact-info-item > .acfwp-contact-info-content {
  min-width: 0 !important;
}

.acfwp-app .acfwp-info-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.acfwp-app .acfwp-info-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.acfwp-app .acfwp-icon-circle {
  width: 48px !important;
  height: 48px !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #2d7df1 !important;
  flex-shrink: 0 !important;
}

.acfwp-app .acfwp-feature-icon {
  width: 20px !important;
  height: 20px !important;
  color: #ffffff !important;
  display: block !important;
}

.acfwp-app .acfwp-info-text {
  color: #111111 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

.acfwp-app .acfwp-form-card {
  border-radius: 12px !important;
  background-color: #ffffff !important;
  padding: 32px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08) !important;
}

.acfwp-app .acfwp-contact-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  margin: 0 !important;
}

.acfwp-app .acfwp-contact-form > div {
  margin: 0 !important;
}

.acfwp-app .acfwp-label {
  display: block !important;
  margin: 0 0 8px 0 !important;
  color: #111111 !important;
  font-size: 14px !important;
  line-height: 1.25rem !important;
  font-weight: 500 !important;
}

.acfwp-app .acfwp-form-control {
  width: 100% !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  color: #111111 !important;
  background-color: #ffffff !important;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  min-height: auto !important;
}

.acfwp-app .acfwp-form-control::placeholder {
  color: #9ca3af !important;
}

.acfwp-app .acfwp-form-control:focus {
  outline: none !important;
  border-color: #2d7df1 !important;
  box-shadow: 0 0 0 3px rgba(45, 125, 241, 0.1) !important;
}

.acfwp-app .acfwp-form-textarea {
  resize: none !important;
  min-height: 220px !important;
  overflow-y: hidden !important;
  overflow-x: hidden !important;
}

.acfwp-app .acfwp-location-row {
  display: flex !important;
  gap: 8px !important;
  align-items: stretch !important;
}

.acfwp-app .acfwp-location-input {
  cursor: pointer !important;
}

.acfwp-app .acfwp-address-search-button {
  border: 1px solid #2d7df1 !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  color: #2d7df1 !important;
  padding: 0 14px !important;
  min-height: auto !important;
  font-size: 14px !important;
  line-height: 1.25rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  white-space: nowrap !important;
}

.acfwp-app .acfwp-address-search-button:hover {
  background-color: #eef7fb !important;
  border-color: #2464c0 !important;
  color: #2464c0 !important;
}

.acfwp-app .acfwp-address-search-button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45, 125, 241, 0.2) !important;
}

.acfwp-app .acfwp-address-search-button:disabled {
  opacity: 0.7 !important;
  cursor: not-allowed !important;
}

.acfwp-app .acfwp-submit-button {
  width: 100% !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 16px !important;
  color: #ffffff !important;
  background-color: #2d7df1 !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  margin: 0 !important;
  min-height: auto !important;
}

.acfwp-app .acfwp-submit-button:hover {
  background-color: #2464c0 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(45, 125, 241, 0.3) !important;
}

.acfwp-app .acfwp-submit-button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45, 125, 241, 0.25) !important;
}

.acfwp-app .acfwp-submit-button:disabled {
  opacity: 0.7 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

@media (min-width: 1024px) {
  .acfwp-app .acfwp-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .acfwp-app .acfwp-location-row {
    flex-direction: column !important;
  }

  .acfwp-app .acfwp-address-search-button {
    width: 100% !important;
    min-height: 44px !important;
  }
}
