/* Newsletter form */
.hv-newsletter {
  display: flex !important;
  max-width: 380px;
  border-radius: 29px !important;
  border: 1px solid var(--pt-color-border) !important;
  overflow: hidden;
  transition: border-color 0.3s;
  background: var(--pt-color-bg-secondary);
}
.hv-newsletter:focus-within {
  border-color: var(--pt-color-accent) !important;
}
.hv-newsletter input[type="email"].hv-newsletter-input {
  flex: 1 !important;
  width: auto !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 12px 20px !important;
  color: #fff !important;
  font-size: 14px !important;
  box-shadow: none !important;
}
.hv-newsletter button.hv-newsletter-btn {
  background: var(--pt-color-button-bg) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 12px 24px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-family: var(--pt-font-primary) !important;
  font-weight: 500 !important;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.3s;
}
.hv-newsletter button.hv-newsletter-btn:hover {
  opacity: 0.85;
}
.hv-newsletter-msg {
  margin-top: 8px;
  font-size: 13px;
}

/* Contact form */
.hv-contact-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  max-width: 600px;
}
.hv-contact-row {
  display: flex !important;
  gap: 16px !important;
}
.hv-contact-row .hv-contact-input {
  flex: 1 !important;
}
.hv-contact-input {
  width: 100% !important;
  padding: 14px 20px !important;
  border: 1px solid var(--pt-color-border) !important;
  border-radius: 12px !important;
  background: var(--pt-color-bg-secondary) !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  font-family: var(--pt-typography-body-font-family) !important;
  transition: border-color 0.3s !important;
  box-sizing: border-box !important;
}
.hv-contact-input:focus {
  border-color: var(--pt-color-accent) !important;
  outline: none !important;
}
.hv-contact-input::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
}
textarea.hv-contact-textarea {
  resize: vertical !important;
  min-height: 100px !important;
  border-radius: 12px !important;
}
.hv-contact-btn {
  align-self: flex-start !important;
  background: var(--pt-color-button-bg) !important;
  border: none !important;
  border-radius: 29px !important;
  padding: 14px 36px !important;
  color: #fff !important;
  font-size: 15px !important;
  font-family: var(--pt-font-primary) !important;
  font-weight: 500 !important;
  cursor: pointer;
  transition: opacity 0.3s;
}
.hv-contact-btn:hover {
  opacity: 0.85;
}
.hv-contact-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Footer layout fix */
.elementor-108 .elementor-element-1cec0c4 > .e-con-inner {
  align-items: start !important;
}
@media (max-width: 767px) {
  .hv-contact-row {
    flex-direction: column !important;
  }
}
