/* Contact Form 7 — custom "contact-form" layout styling */

#wrapper .contact-form__row {
   display: flex;
   flex-direction: column;
   gap: 20px;
}

#wrapper .contact-form__field {
   flex: 1;
   margin-bottom: 20px;
}

#wrapper .contact-form__field--full {
   width: 100%;
}

#wrapper .contact-form__field label {
   display: block;
   margin-bottom: 8px;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.5px;
   text-transform: uppercase;
   color: #16213e;
}

/* Inputs/textarea (CF7 wraps each control in a .wpcf7-form-control-wrap span) */

#wrapper .contact-form input.wpcf7-form-control,
#wrapper .contact-form textarea.wpcf7-form-control {
   display: block;
   width: 100%;
   background-color: #FFF8F8;
   border: 1px solid #C1272D;
   border-radius: 0;
   padding: 14px 16px;
   font-size: 16px;
   min-height: 56px;
   color: #000;
   font-weight: 400;
   transition: border-color 0.2s ease;
}

#wrapper .contact-form textarea.wpcf7-form-control {
   min-height: 140px;
   resize: vertical;
}

#wrapper .contact-form input.wpcf7-form-control::placeholder,
#wrapper .contact-form textarea.wpcf7-form-control::placeholder {
   color: #6B7280;
}

#wrapper .contact-form input.wpcf7-form-control:focus,
#wrapper .contact-form textarea.wpcf7-form-control:focus {
   outline: none;
   border-color: #8a251b;
}

#wrapper .contact-form .wpcf7-not-valid-tip {
   display: block;
   margin-top: 6px;
   font-size: 12px;
   color: #c0392b;
}

/* Submit button */

#wrapper .contact-form__actions {
   display: flex;
   justify-content: flex-end;
}

#wrapper .contact-form input.wpcf7-submit {
   display: inline-block;
   width: 100%;
   background-color: #C1272D;
   background-repeat: no-repeat;
   background-position: right 20px center;
   border: none;
   border-radius: 0;
   padding: 16px 64px;
   font-size: 20px;
   line-height: 28px;
   font-weight: 600;
   text-transform: none;
   color: #fff;
   cursor: pointer;
   margin: 0;
   transition: background-color 0.2s ease;
}

#wrapper .contact-form input.wpcf7-submit:hover {
   background-color: #9c2e23;
}

#wrapper .contact-form input.wpcf7-submit:disabled {
   opacity: 0.7;
   cursor: not-allowed;
}

#wrapper .contact-form .wpcf7-spinner {
   margin: 0 8px 0 0;
}

#wrapper .contact-form .wpcf7-response-output {
   margin-top: 20px;
   padding: 12px 16px;
   border-radius: 4px;
   font-size: 13px;
}

.contact-form__actions {
   position: relative;
}

.contact-form__actions p {
   margin-bottom: 0 !important;
   max-height: fit-content;
}

.contact-form__actions svg{
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   right: 0;
   margin-right: 30px;
   color: #fff;
}

.contact-form__actions .wpcf7-spinner {
   display: none;
}
/* Tablet and up: name/email side by side */
@media (min-width: 640px) {
   #wrapper .contact-form__row {
      flex-direction: row;
   }

   #wrapper .contact-form__field {
      margin-bottom: 0;
   }
}
