.elementor-widget-container [data-tippy-root] > .tippy-box{color:var( --e-global-color-primary );background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), assistant;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-container [data-tippy-root] > .tippy-box .tippy-arrow{color:var( --e-global-color-primary );}.elementor-9156 .elementor-element.elementor-element-5963a83{--display:flex;}.elementor-9156 .elementor-element.elementor-element-5963a83.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-html [data-tippy-root] > .tippy-box{color:var( --e-global-color-primary );background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), assistant;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-html [data-tippy-root] > .tippy-box .tippy-arrow{color:var( --e-global-color-primary );}.elementor-widget-html .wpcf7 input:not([type="submit"]){background-color:var( --e-global-color-primary );}.elementor-widget-html .wpcf7 select{background-color:var( --e-global-color-primary );}.elementor-widget-html .wpcf7 textarea{background-color:var( --e-global-color-primary );}.elementor-widget-html .wpcf7 label{font-family:var( --e-global-typography-primary-font-family ), assistant;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-widget-html ::placeholder{font-family:var( --e-global-typography-primary-font-family ), assistant;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-widget-html .wpcf7-submit{font-family:var( --e-global-typography-primary-font-family ), assistant;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );background-color:var( --e-global-color-primary );}.elementor-widget-html .wpcf7 input[type="submit"]:hover{color:var( --e-global-color-primary );background-color:var( --e-global-color-primary );}.elementor-9156 .elementor-element.elementor-element-7cb13be{--display:flex;}@media(min-width:770px){.elementor-9156 .elementor-element.elementor-element-5963a83{--width:106.208%;}}@media(max-width:1025px){.elementor-widget-container [data-tippy-root] > .tippy-box{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-html [data-tippy-root] > .tippy-box{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-html .wpcf7 label{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-html ::placeholder{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-html .wpcf7-submit{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}}@media(max-width:769px){.elementor-widget-container [data-tippy-root] > .tippy-box{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-html [data-tippy-root] > .tippy-box{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-html .wpcf7 label{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-html ::placeholder{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-html .wpcf7-submit{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}}/* Start custom CSS for html, class: .elementor-element-d4e3621 *//* Form Section - Assuming it's inside a wrapper with the wave background */
.form-section.link-based-form {
     background: linear-gradient(160deg, var(--clr-dark-green) 0%, var(--clr-primary-turquoise) 100%);
     padding: var(--sp-8) var(--sp-4) var(--sp-7) var(--sp-4); /* Padding around the inner white box */
     border-radius: var(--radius-xl); /* Rounded corners for the green wave box */
     margin-bottom: var(--sp-8);
}

.form-container { /* The white box inside */
    background-color: var(--clr-bg-white);
    padding: var(--sp-6) var(--sp-7); /* Generous padding */
    border-radius: var(--radius-lg);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); /* Slightly stronger shadow */
    max-width: var(--form-container-max-width);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

#mortgage-form .form-row { /* Row for name/phone/email */
    display: flex;
    gap: var(--sp-5); /* More space between fields */
    margin-bottom: var(--sp-5);
}
#mortgage-form .form-row .form-group { flex: 1; margin-bottom: 0; }

#mortgage-form label {
    font-size: var(--font-size-small);
    color: var(--clr-text-label);
    font-weight: 500;
    margin-bottom: var(--sp-2);
    display: block;
}
#mortgage-form .required-mark { color: var(--clr-error); margin-right: var(--sp-1); }

#mortgage-form .input-container input {
    height: 48px; /* Standard height */
    background-color: var(--clr-bg-white); /* White background */
    border: 1px solid var(--clr-input-border);
    border-radius: var(--radius-md); /* Consistent radius */
    padding-right: 40px; /* Space for icon */
    font-size: var(--font-size-base);
    width: 100%;
    transition: var(--transition-fast);
}
#mortgage-form .input-container input::placeholder { color: #aaa; }
#mortgage-form .input-container input:focus {
    border-color: var(--clr-primary-turquoise);
    box-shadow: 0 0 0 3px rgba(26, 188, 156, 0.2); /* Turquoise focus glow */
    background-color: var(--clr-bg-white);
}

#mortgage-form .input-icon {
    color: var(--clr-text-label); /* Lighter icon color */
    right: 12px; /* Adjust position */
    font-size: 16px;
    top: 52%; /* Fine-tune vertical alignment */
}

/* Adjust input padding if icon should not overlap text (already done with style in HTML, better here) */
#mortgage-form input#fullName,
#mortgage-form input#phone,
#mortgage-form input#email {
    padding-right: 40px; /* Ensure space from icon */
}


#mortgage-form .newsletter-checkbox {
    text-align: right; /* Align checkbox to the right */
    margin-top: var(--sp-4);
    margin-bottom: var(--sp-5);
}
#mortgage-form .newsletter-checkbox label {
    font-size: var(--font-size-small);
    color: var(--clr-text-regular-color); /* Darker label text */
    padding-right: 28px; /* Space for checkbox */
}
/* Custom checkbox visuals */
#mortgage-form .newsletter-checkbox label::before { /* Box */
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px; height: 18px;
    border-color: var(--clr-input-border);
    border-radius: var(--radius-sm);
}
#mortgage-form .newsletter-checkbox label::after { /* Checkmark */
     right: 3px; top: 45%; width: 5px; height: 9px; border-width: 0 2px 2px 0;
     transform: translate(0, -50%) rotate(45deg) scale(0);
     border-color: white;
}
#mortgage-form .newsletter-checkbox input:checked + label::before {
    background-color: var(--clr-primary-turquoise);
    border-color: var(--clr-primary-turquoise);
}
#mortgage-form .newsletter-checkbox input:checked + label::after {
     transform: translate(0, -50%) rotate(45deg) scale(1);
}
#mortgage-form .newsletter-checkbox input:focus + label::before {
     box-shadow: var(--shadow-focus);
}


#mortgage-form .submit-button.full-width-button {
    display: block;
    width: 100%;
    max-width: 400px; /* Control max width */
    margin: var(--sp-5) auto 0 auto; /* Spacing above */
    padding: var(--sp-4) var(--sp-6); /* Generous padding */
    font-size: 18px;
    font-weight: 600;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg, var(--clr-accent-orange), var(--clr-accent-color-2)); /* Orange gradient */
}
#mortgage-form .submit-button.full-width-button:hover {
     background: linear-gradient(135deg, var(--clr-accent-color-2), var(--clr-accent-orange));
}/* End custom CSS */