.elementor-277 .elementor-element.elementor-element-70b0b46{--display:flex;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-d9b4ad5.elementor-element{--align-self:center;}.elementor-277 .elementor-element.elementor-element-d9b4ad5{text-align:center;}.elementor-277 .elementor-element.elementor-element-d9b4ad5 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:28px;font-weight:700;color:var( --e-global-color-03bd9bb );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-4c04528{width:var( --container-widget-width, 66% );max-width:66%;margin:-16px 0px calc(var(--kit-widget-spacing, 0px) + -21px) 0px;padding:0px 0px 30px 0px;--container-widget-width:66%;--container-widget-flex-grow:0;text-align:center;font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-277 .elementor-element.elementor-element-4c04528.elementor-element{--align-self:center;}.elementor-277 .elementor-element.elementor-element-4c04528 p{margin-block-end:7px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-277 .elementor-element.elementor-element-9db6f68{width:var( --container-widget-width, 107.227% );max-width:107.227%;--container-widget-width:107.227%;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:10px;--e-form-steps-indicator-padding:12px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-277 .elementor-element.elementor-element-9db6f68.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:0px;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-0px;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group > label, .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-subgroup label{color:#000000;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group > label{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-html{padding-bottom:0px;font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group .elementor-field, .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-subgroup label{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:600;border-style:none;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-277 .elementor-element.elementor-element-9db6f68 .e-form__buttons__wrapper__button-next{background-color:#61CE7000;color:#FFFFFF;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button[type="submit"]{background-color:#61CE7000;color:#FFFFFF;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-277 .elementor-element.elementor-element-9db6f68 .e-form__buttons__wrapper__button-previous{background-color:#61CE7000;}.elementor-277 .elementor-element.elementor-element-9db6f68 .e-form__buttons__wrapper__button-next:hover{color:#FFFFFF;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button[type="submit"]:hover{color:#FFFFFF;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button[type="submit"]:hover svg *{fill:#FFFFFF;}.elementor-277 .elementor-element.elementor-element-9db6f68 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-message{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;}#elementor-popup-modal-277{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-277 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-277 .dialog-close-button{display:flex;}#elementor-popup-modal-277 .dialog-widget-content{border-radius:20px 20px 20px 20px;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}@media(max-width:767px){.elementor-277 .elementor-element.elementor-element-70b0b46{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-277 .elementor-element.elementor-element-d9b4ad5 .elementor-heading-title{font-size:22px;}.elementor-277 .elementor-element.elementor-element-4c04528{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;font-size:14px;}.elementor-277 .elementor-element.elementor-element-9db6f68{width:var( --container-widget-width, 100117.193% );max-width:100117.193%;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100117.193%;--container-widget-flex-grow:0;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group > label{font-size:14px;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group .elementor-field, .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-subgroup label{font-size:12px;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button{font-size:18px;}.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-message{font-size:14px;}}/* Start custom CSS for form, class: .elementor-element-9db6f68 *//* ======================================================
   1. ESTRUTURA GRID DO FORMULÁRIO
   ====================================================== */
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-form-fields-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
    width: 100% !important;
}

/* 4 primeiros campos em 2 colunas */
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(1),
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(2),
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(3),
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(4) {
    grid-column: span 1 !important;
    width: 100% !important;
}

/* Restante dos campos e botão em largura total */
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(n+5),
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-acceptance,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-checkbox,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group-submit {
    grid-column: span 2 !important;
    width: 100% !important;
}


/* ======================================================
   2. ESTILO DOS CAMPOS (INPUTS & TEXTAREA)
   ====================================================== */
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group input[type="text"],
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group input[type="email"],
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group input[type="tel"],
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group input[type="url"],
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group select {
    height: 48px !important;
    background-color: #dcdcdc !important;
    border: 2px solid transparent !important;
    border-radius: 8px !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group textarea {
    background-color: #dcdcdc !important;
    border: 2px solid transparent !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 120px !important;
}

/* Foco em azul ao clicar */
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group .elementor-field-textual:focus {
    border-color: #0088ff !important;
    background-color: #dcdcdc !important;
    outline: none !important;
}

.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group > label {
    margin-bottom: 6px !important;
    display: block !important;
}


/* ======================================================
   3. CHECKBOX E TEXTO DE PRIVACIDADE
   ====================================================== */
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-acceptance .elementor-field-subgroup,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-checkbox .elementor-field-subgroup,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-acceptance .elementor-field-option,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-checkbox .elementor-field-option {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
}

.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-acceptance input[type="checkbox"],
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-checkbox input[type="checkbox"] {
    margin: 3px 0 0 0 !important;
    flex-shrink: 0 !important;
}

.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-acceptance label,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-checkbox label {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-acceptance label span,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-checkbox label span,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-acceptance a,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-checkbox a {
    color: #888888 !important;
    font-weight: 400 !important;
}

.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-acceptance a,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-checkbox a {
    text-decoration: underline !important;
}


/* ======================================================
   4. ESTILO DO BOTÃO DE SUBMISSÃO E ÍCONE (TEXTO PRETO)
   ====================================================== */
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button {
    border-radius: 20px !important;
    background: linear-gradient(90deg, #FF9F00 0.01%, #D08509 130.48%) !important;
    box-shadow: 0 0 0 5px rgba(255, 159, 0, 0.15) !important;
    border: none !important;
    width: 100% !important;
    padding: 12px 20px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    cursor: pointer !important;
    color: #000000 !important; /* Cor do texto preta */
}

/* Alinhamento do conteúdo (Texto + Ícone) */
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
}

.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-text {
    text-align: center !important;
    color: #000000 !important; /* Cor do texto preta */
}

/* Estilização e suporte a ícones/SVG em preto */
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000000 !important;
}

.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-icon i,
.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-icon svg {
    fill: #000000 !important;
    color: #000000 !important;
}

.elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button svg {
    width: 30px !important;
}
/* ======================================================
   AJUSTES EXCLUSIVOS PARA MOBILE (Telas até 767px)
   ====================================================== */
@media (max-width: 767px) {

    /* Botão Principal no Mobile */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button {
        border-radius: 20px !important;
        background: linear-gradient(90deg, #FF9F00 0.01%, #D08509 130.48%) !important;
        box-shadow: 0 0 0 5px rgba(255, 159, 0, 0.15) !important;
        border: none !important;
        width: 100% !important;
        cursor: pointer !important;
        
        /* Ajuste de padding para telas menores */
        padding: 12px 20px !important; 
        
        /* Transições suaves */
        transition: transform 0.25s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.25s ease !important;
    }

    /* Efeito ao Toque / Clique (Feedback tátil aprimorado para Mobile) */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button:active {
        transform: translateY(1px) scale(0.98) !important;
        box-shadow: 0 2px 5px rgba(255, 159, 0, 0.2), 0 0 0 3px rgba(255, 159, 0, 0.15) !important;
    }

    /* Alinhamento do Conteúdo */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button-content-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-text {
        text-align: center !important;
        flex-grow: 1 !important;
        font-size: 16px !important; /* Ajuste opcional para boa leitura */
    }

    /* Ícone no Mobile */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-icon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: transform 0.25s ease !important;
    }

    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-icon i,
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-icon svg {
        fill: currentColor !important;
    }

    /* Ajuste de tamanho do SVG direcionado estritamente ao ícone do botão */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-icon svg {
        width: 24px !important; /* Reduzido de 30px para proporção ideal no mobile */
        height: auto !important;
    }
}
/* ======================================================
   AJUSTES EXCLUSIVOS PARA MOBILE (Telas até 767px)
   ====================================================== */
@media (max-width: 767px) {

    /* Manter grid de 2 colunas */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-form-fields-wrapper {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    /* 1º e 2º campos: Lado a Lado (Nome | Telefone) */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(1),
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(2) {
        grid-column: span 1 !important;
    }

    /* 3º campo: Largura Total (Localidade ou concelho) */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(3) {
        grid-column: span 2 !important;
    }

    /* 4º e 5º campos: Lado a Lado (Tipo de espaço | Tipologia) */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(4),
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(5) {
        grid-column: span 1 !important;
    }

    /* 6º campo em diante, aceitação, checkbox e botão: Largura Total */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group:nth-child(n+6),
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-acceptance,
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-type-checkbox,
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-field-group-submit {
        grid-column: span 2 !important;
    }

    /* Estilização do Botão para Mobile */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button {
        border-radius: 25px !important;
        background: linear-gradient(90deg, #FF9F00 0%, #D08509 100%) !important;
        box-shadow: none !important;
        border: none !important;
        width: 100% !important;
        padding: 12px 20px !important;
        cursor: pointer !important;
        transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    }

    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button:active {
        transform: scale(0.98) !important;
    }

    /* Alinhamento do Conteúdo do Botão */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button-content-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        width: 100% !important;
    }

    /* Texto do Botão */
    .elementor-277 .elementor-element.elementor-element-9db6f68 .elementor-button .elementor-button-text {
        color: #000000 !important;
        font-weight: 700 !important;
        font-size: 16px !important;
        text-align: center !important;
        flex-grow: 0 !important;
    }

}/* End custom CSS */