.contact-card {
  width: 100%;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 20px 40px -10px rgba(0, 20, 30, 0.11);
  padding: 19px;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

.contact-headline {
  font-weight: 600;

  margin-bottom: 15px;
  border-left: 8px solid #023e83;
  padding-left: 1.4rem;
}

.contact-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-field {
  flex: 1 1 calc(50% - 1rem);
  min-width: 240px;
  display: flex;
  flex-direction: column;
}

.contact-field-full {
  flex: 1 1 100%;
}

.contact-label {
  font-weight: 600;
  font-size: 0.85rem;

  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 0.2rem;
}

.contact-asterisk {
  color: #c4432b;
  line-height: 1;
}

.contact-input,
.contact-textarea {
  background: #f6fbfe;
  border: 2px solid #cde0e9;

  padding: 4px 13px;
  font-size: 0.95rem;
  outline: none;
  width: 100%;
  color: #103e4d;
  transition: 0.15s;
}

.contact-input:focus,
.contact-textarea:focus {
  border-color: #023e83;
  background: #ffffff;
  box-shadow: 0 0 0 5px rgba(53, 151, 176, 0.1);
}

.contact-input::placeholder,
.contact-textarea::placeholder {
  color: #90a9b7;
  font-weight: 300;
}

.contact-textarea {
  resize: vertical;
  min-height: 120px;
}

/* error styling */
.contact-error {
  color: #c73a2b;
  font-size: 0.7rem;
  font-weight: 500;
  margin-top: 0.2rem;
  min-height: 1.2rem;
}

.contact-input.error,
.contact-textarea.error {
  border-color: #c73a2b;
  background: #fff6f4;
}

/* submit button */
.contact-submit-btn {
  background-color: #e61e2d;

  text-decoration: none;
  border: none;
  cursor: pointer;
  transition:
    background-color 0.2s,
    transform 0.1s;
  box-shadow: 0 6px 14px rgba(247, 116, 116, 0.35);

  align-self: flex-start;
  margin-top: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.1);

  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
  font-size: 16px;
  line-height: 26px;
  font-weight: 600;
  font-family: "Poppins", sans-serif;
  color: #fff !important;
  text-align: center;
  padding: 12px 36px;

  text-transform: uppercase;
}

.contact-submit-btn:hover {
  background-color: #cf1b28;
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(247, 116, 116, 0.35);
}

/* optional footer note */
.contact-footer-note {
  margin-top: 2rem;
  font-size: 0.85rem;
  color: #4e7f91;
  text-align: center;
}
