.contact-section .wpcf7-form {
    display: grid;
}

.contact-wrapper {
    padding-top: 120px;
    padding-bottom: 80px;
    color: var(--bs-white);
    gap: 20px;
}

.contact-section .wpcf7-form-control-wrap {
    display: block;
}

.contact-section input[type="text"],
.contact-section input[type="email"],
.contact-section input[type="tel"],
.contact-section textarea {
    width: 100%;
    padding: 30px 16px 16px 16px;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    min-height: 64px;
    max-height: 104px;
    border-radius: 0px;
    color: var(--bs-white);
    font-family: "Work Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
}

.contact-section input[type="text"]::placeholder,
.contact-section input[type="email"]::placeholder,
.contact-section input[type="tel"]::placeholder,
.contact-section textarea::placeholder {
    position: absolute;
    top: 4px;          
    left: 16px;        
    transform: none;
    color: #51989F;
    font-family: "Work Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    height: 20px;
    opacity: 1;
    pointer-events: none;
}

.contact-section input[type="text"]:focus,
.contact-section input[type="email"]:focus,
.contact-section input[type="tel"]:focus,
.contact-section textarea:focus {
    outline: none;
    background-color: transparent;
}

.contact-section textarea {
    max-height: 104px;
    resize: vertical;
}

.form-control:focus {
    color: var(--bs-white);
}

.contact-section .wpcf7-submit {
    background-color: var(--bs-white);
    color: var(--bs-black);
    border: none;
    border-radius: 2px;
    cursor: pointer;
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px 32px;
    font-family: "Work Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    text-transform: uppercase;
}

.wpcf7 input[type="submit"]::after {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'><path d='M17.5001 10.0005C17.5006 10.2327 17.4106 10.4515 17.247 10.6151L11.5291 16.333C11.3657 16.4964 11.1483 16.5863 10.9163 16.5863C10.6844 16.5863 10.4667 16.4974 10.3036 16.3341L9.7845 15.8166C9.62141 15.6535 9.53143 15.4387 9.53143 15.2067C9.53143 14.9748 9.62115 14.7629 9.7845 14.5998L13.1581 11.2381H2.52201C2.04411 11.2381 1.66675 10.8264 1.66675 10.3483V9.61413C1.66675 9.13623 2.04437 8.76203 2.52201 8.76203H13.1201L9.78423 5.41883C9.62115 5.25574 9.53116 5.03091 9.53116 4.79895C9.53116 4.56699 9.62089 4.34928 9.78423 4.1862L10.3033 3.66687C10.4667 3.50378 10.6838 3.41406 10.9161 3.41406C11.1483 3.41406 11.3655 3.50378 11.5288 3.66687L17.2467 9.38508C17.4104 9.54869 17.5003 9.76719 17.4998 10.0005H17.5001Z' fill='%2307080D'/></svg>");
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

.contact-section .wpcf7-response-output {
    border: none !important;
    padding: 1rem !important;
    margin-top: 1rem;
}

.contact-section .wpcf7-validation-errors,
.contact-section .wpcf7-acceptance-missing {
    background-color: rgba(255, 59, 48, 0.15);
    border-left: 3px solid #ff3b30;
    color: white;
}

.contact-section .wpcf7-mail-sent-ok {
    background-color: rgba(52, 199, 89, 0.15);
    border-left: 3px solid #34c759;
    color: white;
}

.contact-section .wpcf7-spinner {
    display: none;
}

/* Grid layout for form fields */
.contact-section .form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.italic-white {
    color: var(--bs-white);
    font-family: "Work Sans";
    font-size: 16px;
    font-style: italic;
    font-weight: 500;
    line-height: 24px;
}

.font-desc-white p:first-of-type {
    margin-bottom: 8px;
}

.font-desc-white ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 8px;
}

.font-desc-white li {
    position: relative;
    padding-left: 20px;
}

.font-desc-white li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 8px;
    height: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'><path d='M6.29738 3.64457C6.14189 3.72732 5.99028 3.79878 5.84257 3.85896C5.69485 3.91914 5.54325 3.96427 5.38776 3.99436C5.69874 4.05454 6.00194 4.17489 6.29738 4.35543L8 5.3371L7.16035 6.67983L5.45773 5.69817C5.14674 5.53268 4.89796 5.35214 4.71137 5.15656C4.80467 5.42736 4.85131 5.71697 4.85131 6.02539V8H3.14869V6.04796C3.14869 5.88999 3.15646 5.73578 3.17201 5.58533C3.19534 5.43489 3.23032 5.29196 3.27697 5.15656C3.1759 5.26187 3.06317 5.35966 2.93878 5.44993C2.81438 5.53267 2.68222 5.61542 2.54227 5.69817L0.83965 6.65726L0 5.31453L1.70262 4.35543C2.00583 4.18242 2.30515 4.06206 2.60058 3.99436C2.45287 3.97179 2.30126 3.93042 2.14577 3.87024C1.99806 3.80254 1.85034 3.72732 1.70262 3.64457L0 2.6629L0.83965 1.30888L2.54227 2.30183C2.85326 2.46732 3.10204 2.64786 3.28863 2.84344C3.19534 2.57264 3.14869 2.28303 3.14869 1.97461V0H4.85131V1.95204C4.85131 2.11001 4.83965 2.26422 4.81633 2.41467C4.80078 2.56511 4.76968 2.70804 4.72303 2.84344C4.8241 2.73813 4.93683 2.6441 5.06122 2.56135C5.18562 2.47109 5.31778 2.38458 5.45773 2.30183L7.16035 1.33145L8 2.68547L6.29738 3.64457Z' fill='%2372D1DA'/></svg>");
}

.contact-text {
    min-width: 626px;
    max-width: 626px;
    padding-right: 24px;
}

.form-control:focus {
    box-shadow: none;
}

.form-floating > p {
    margin: 0;
    position: relative;
}

.form-floating p > .wpcf7-form-control {
    height: auto;
    padding: 1.25rem 0.75rem 0.25rem;
    background-color: transparent;
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff;
}

.form-floating p > label {
    position: absolute;
    top: 10px;
    left: 16px;
    pointer-events: none;
    transition: 0.2s ease all;
    font-family: 'Work Sans';
    color: #51989F;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
}

.form-floating p > .wpcf7-form-control:focus + label,
.form-floating p > .wpcf7-form-control:not(:placeholder-shown) + label {
    top: 0.4rem;
    font-size: 0.75rem;
    opacity: 0.8;
}

.contact-section .wpcf7-not-valid-tip {
    color: var(--bs-danger-bg-subtle);
    font-size: 14px;
    font-family: 'Work Sans', sans-serif;
    line-height: 1.1;
    margin-top: 8px;
}

@media (max-width: 992px) {
    .contact-section {
        padding: 40px 0;
    }

    .contact-wrapper {
        padding: 0;
    }

    .contact-section .form-row-2 {
        grid-template-columns: 1fr 1fr;
    }

    .contact-wrapper {
        flex-direction: column;
    }

    .contact-text {
        min-width: auto;
    }

    .contact-section .wpcf7-submit {
        width: 100%;
        justify-content: center;
    }

    .contact-section p:has(.wpcf7-submit) {
        margin-bottom: 1rem;
    }

    .contact-section input[type="text"],
    .contact-section input[type="email"],
    .contact-section input[type="tel"],
    .contact-section textarea {
        min-height: 48px;
        padding: 22px 12px 6px 12px;
        font-size: 14px;
        font-family: 'Work Sans', sans-serif;
        line-height: 20px;
    }

    .form-floating p > label {
        position: absolute;
        top: 6px;
        left: 12px;
        color: #51989F;
        font-family: 'Work Sans', sans-serif;
        font-size: 12px;
        line-height: 16px;
        pointer-events: none;
        transition: 0.2s ease all;
        font-weight: 500;
    }
}

@media (max-width: 400px) {
    .contact-section textarea {
        padding: 40px 12px 6px 12px;
    }
}

/* CF7 error message customization */

.wpcf7 form .wpcf7-response-output {
	margin: 0 0 1rem;
	padding: 0.5rem 1rem;
	font-size: 90%;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	color: #856404;
	background-color: #fff3cd;
	border-color: #ffeeba;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	color: #721c24;
	background-color: #f8d7da;
	border-color: #f5c6cb;
}

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