/* Frost-Compatible CF7 Styling */

/* Form layout: two columns */
.frost-cols {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--l, 1.25rem);
  margin-bottom: var(--wp--preset--spacing--l, 1.25rem);
}

.frost-cols:last-of-type {
  margin-bottom: 0;  
}

/* Inner column block */
.frost-col {
  /* Calculate two equal columns while accounting for the gap.
     Using (100% - gap) / 2 avoids any rounding issues and is
     easier to reason about than 50% - gap/2. */
  /* Default: three equal columns accounting for two gaps between them. */
  flex: 1 1 calc((100% - (var(--wp--preset--spacing--l, 1.25rem) * 2)) / 3);
  box-sizing: border-box;
  min-width: 180px; /* keep columns from getting too narrow on small screens */
}


/* Form */

/* .wpcf7 {
  --form-gap: var(--wp--preset--spacing--l, 2rem);
  display: flex;
  flex-direction: column;
  gap: var(--form-gap);
} */

.wpcf7 {
  color: #514D38
}

.wpcf7-form-control-wrap {
    width: 100%;
}

/* Input styles */
.wpcf7-form-control-wrap input[type="text"],
.wpcf7-form-control-wrap input[type="email"],
.wpcf7-form-control-wrap input[type="tel"],
.wpcf7-form-control-wrap select,
.wpcf7-form-control-wrap textarea {
  width: 100%;
  padding: var(--wp--preset--spacing--s, 0.75rem) var(--wp--preset--spacing--m, 1rem);
  border: 1px solid var(--wp--preset--color--contrast-2, #ccc);
  border-radius: var(--wp--preset--spacing--xs, 6px);
  font-size: var(--wp--preset--font-size--medium, 1rem);
  background-color: #fff;
  box-sizing: border-box;
}

/* Textarea */
.wpcf7-form-control-wrap textarea {
  min-height: 150px;
  border-radius: var(--wp--preset--spacing--xs, 6px);
}

/* Submit button with Frost look */
.wpcf7 .wp-block-button__link {
  background-color: var(--wp--preset--color--contrast, #000);
  color: var(--wp--preset--color--base, #fff);
  padding: 0.75rem 2rem;
  border: none;
  border-radius: 999px;
  font-size: var(--wp--preset--font-size--medium, 1rem);
  cursor: pointer;
  transition: background 0.3s ease;
  text-decoration: none;
  display: inline-block;
}

.wpcf7 .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--contrast-2, #333);
}

/* Style form fields */
.frost-col input,
.frost-col select,
.frost-col textarea {
  width: 100%;
  padding: var(--wp--preset--spacing--s, 0.75rem) var(--wp--preset--spacing--m, 1rem);
  border: 1px solid var(--wp--preset--color--contrast-2, #ccc);
border-radius: var(--wp--preset--spacing--xs, 6px);
  font-size: var(--wp--preset--font-size--medium, 1rem);
  background-color: #fff;
  box-sizing: border-box;
}

/* Textarea tweak */
.frost-col textarea {
  min-height: 150px;
  border-radius: var(--wp--preset--spacing--l, 1rem);
}

/* Submit button styled like Frost */
.wpcf7 .wp-block-button__link {
  background-color: #514D38;
  color: var(--wp--preset--color--base, #fff);
  padding: 0.75rem 2rem;
  border: none;
  border-radius: 10px;
  font-size: var(--wp--preset--font-size--medium, 1rem);
  cursor: pointer;
  transition: background 0.3s ease;
  display: inline-block;
  text-decoration: none;
  width: auto;
}

.wpcf7 .wp-block-button__link:hover {
  background-color: #514D38;
}

/* ========== FIELD: RED BORDER ONLY (NO FILL) ========== */
.wpcf7-not-valid {
  border-color: var(--wp--preset--color--alert, red);
}

.wpcf7-form-control-wrap input.wpcf7-not-valid,
.wpcf7-form-control-wrap textarea.wpcf7-not-valid,
.wpcf7-form-control-wrap select.wpcf7-not-valid {
  border-color: var(--wp--preset--color--alert, red);
}


/* ========== REMOVE INLINE VALIDATION MESSAGES ========== */
.wpcf7-not-valid-tip {
  display: none !important;
}

/* ========== REMOVE GLOBAL RESPONSE BOX ========== */
.wpcf7-response-output {
  display: none !important;
}

.wpcf7-response-output.wpcf7-mail-sent-ok {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

/* .wpcf7-response-output.wpcf7-validation-errors {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
} */

/* ========== SUBMIT SPINNER ========== */
.wpcf7 .wpcf7-spinner {
  display: none;
}

/* Layout */
.contact-interested-in,
.contact-submit {
  text-align: center;
}

.contact-interested-in label {
  margin: 0 auto;
}

/* Mobile stacking */
@media (max-width: 600px) {
  .frost-col {
    flex: 1 1 100%;
  }

  .wpcf7-form-control.wpcf7-checkbox.checkbox {
    text-align: left;
  }

  .wpcf7-form-control.wpcf7-checkbox.checkbox .wpcf7-list-item {
    display: block
  }

}

/* Medium screens: switch to two columns */
@media (max-width: 900px) and (min-width: 601px) {
  .frost-col {
    flex: 1 1 calc((100% - var(--wp--preset--spacing--l, 1.25rem)) / 2);
  }
}