/* =========================================================
   AGÊNCIA DIGITAL WEBARTY
   ORÇAMENTO — CONTEÚDO E FORMULÁRIO
   CSS COMPLETO PARA SUBSTITUIÇÃO
   ========================================================= */


/* =========================================================
   RESET LOCAL
   ========================================================= */

.wa-quote-main,
.wa-quote-main *,
.wa-quote-main *::before,
.wa-quote-main *::after {
    box-sizing: border-box;
}

.wa-quote-main h2,
.wa-quote-main h3,
.wa-quote-main p {
    margin: 0;
    padding: 0;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.wa-quote-main {
    --wa-quote-dark: #283550;
    --wa-quote-dark-deep: #212c4f;
    --wa-quote-teal: #00a78e;
    --wa-quote-teal-hover: #008f7a;
    --wa-quote-green: #36c88a;
    --wa-quote-text: #657188;
    --wa-quote-muted: #8c97a8;
    --wa-quote-border: #d8e3e6;
    --wa-quote-border-strong: #c5d6da;

    position: relative;
    isolation: isolate;

    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 96px 0 104px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(0, 167, 142, 0.055),
            rgba(0, 167, 142, 0) 28%
        ),
        radial-gradient(
            circle at 94% 90%,
            rgba(54, 200, 138, 0.045),
            rgba(54, 200, 138, 0) 26%
        ),
        linear-gradient(
            180deg,
            #f7f9fa 0%,
            #edf2f3 100%
        );
}


/* =========================================================
   MAIN CONTAINER
   ========================================================= */

.wa-quote-main__container {
    display: grid !important;

    grid-template-columns:
        minmax(350px, 0.78fr)
        minmax(580px, 1.22fr);

    align-items: start;

    gap: clamp(52px, 5.5vw, 82px);

    width: min(
        calc(100% - 176px),
        1360px
    ) !important;

    max-width: 1360px !important;

    margin: 0 auto !important;
    padding: 0 !important;
}

.wa-quote-main__intro,
.wa-quote-form-card {
    min-width: 0;
}


/* =========================================================
   LEFT COLUMN
   ========================================================= */

.wa-quote-main__intro {
    position: sticky;
    top: 118px;
}

.wa-quote-process {
    width: 100%;
    max-width: 560px;
}


/* =========================================================
   LEFT EYEBROW
   ========================================================= */

.wa-quote-process__eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 19px;

    color: var(--wa-quote-teal);

    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wa-quote-process__eyebrow-line {
    display: block;
    flex: 0 0 34px;

    width: 34px;
    height: 3px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            var(--wa-quote-teal),
            var(--wa-quote-green)
        );
}


/* =========================================================
   LEFT TITLE
   ========================================================= */

.wa-quote-process__title {
    max-width: 540px;

    color: var(--wa-quote-dark) !important;

    font-family: inherit !important;
    font-size: clamp(38px, 3.15vw, 49px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.043em !important;
    text-transform: none !important;
}


/* =========================================================
   LEFT DESCRIPTION
   ========================================================= */

.wa-quote-process__description {
    max-width: 530px;

    margin-top: 23px !important;

    color: var(--wa-quote-text) !important;

    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}


/* =========================================================
   PROCESS STEPS
   ========================================================= */

.wa-quote-process__steps {
    display: flex;
    flex-direction: column;

    gap: 14px;

    margin-top: 31px;
}

.wa-quote-process__step {
    position: relative;

    display: grid;

    grid-template-columns:
        52px
        minmax(0, 1fr);

    align-items: start;

    gap: 16px;

    padding: 20px 21px;

    border: 1px solid var(--wa-quote-border);
    border-radius: 20px;

    background: rgba(255, 255, 255, 0.92);

    box-shadow:
        0 11px 26px rgba(31, 51, 75, 0.045);

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.wa-quote-process__step:hover {
    border-color: rgba(0, 167, 142, 0.28);

    box-shadow:
        0 16px 34px rgba(31, 51, 75, 0.075);

    transform: translateY(-2px);
}

.wa-quote-process__step-number {
    display: inline-flex;

    width: 52px;
    height: 52px;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(0, 167, 142, 0.18);
    border-radius: 50%;

    color: var(--wa-quote-teal);

    background:
        linear-gradient(
            145deg,
            rgba(0, 167, 142, 0.1),
            rgba(54, 200, 138, 0.05)
        );

    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.06em;
}

.wa-quote-process__step-content {
    min-width: 0;
    padding-top: 2px;
}

.wa-quote-process__step h3 {
    color: var(--wa-quote-dark) !important;

    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
}

.wa-quote-process__step p {
    margin-top: 7px !important;

    color: var(--wa-quote-text) !important;

    font-family: inherit;
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.55;
}


/* =========================================================
   EMAIL BLOCK
   ========================================================= */

.wa-quote-process__email {
    display: grid;

    grid-template-columns:
        42px
        minmax(0, 1fr);

    align-items: center;

    gap: 13px;

    margin-top: 18px;
    padding: 16px 17px;

    border: 1px solid rgba(0, 167, 142, 0.16);
    border-radius: 17px;

    background: rgba(0, 167, 142, 0.055);
}

.wa-quote-process__email-icon {
    display: inline-flex;

    width: 42px;
    height: 42px;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: var(--wa-quote-teal);

    background: rgba(255, 255, 255, 0.82);
}

.wa-quote-process__email-icon svg {
    display: block;

    width: 21px;
    height: 21px;
}

.wa-quote-process__email-content {
    min-width: 0;
}

.wa-quote-process__email strong {
    display: block;

    color: var(--wa-quote-dark);

    font-family: inherit;
    font-size: 13.5px;
    font-weight: 800;
    line-height: 1.4;
}

.wa-quote-process__email p {
    margin-top: 4px !important;

    color: var(--wa-quote-text) !important;

    font-family: inherit;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.5;
}

.wa-quote-process__email a,
.wa-quote-process__email a:visited {
    color: var(--wa-quote-teal) !important;

    font-weight: 800;
    text-decoration: none !important;
}

.wa-quote-process__email a:hover,
.wa-quote-process__email a:focus-visible {
    color: var(--wa-quote-teal-hover) !important;
    text-decoration: underline !important;
}


/* =========================================================
   FORM CARD
   ========================================================= */

.wa-quote-form-card {
    position: relative;

    display: block !important;

    width: 100%;

    padding: 38px 38px 40px !important;

    overflow: hidden;

    border: 1px solid rgba(40, 53, 80, 0.11);
    border-radius: 28px !important;

    background: rgba(255, 255, 255, 0.98) !important;

    box-shadow:
        0 24px 58px rgba(31, 51, 75, 0.11);
}

.wa-quote-form-card::before {
    content: "";

    position: absolute;

    top: 0;
    right: 0;
    left: 0;

    height: 4px;

    background:
        linear-gradient(
            90deg,
            var(--wa-quote-teal),
            var(--wa-quote-green)
        );
}


/* =========================================================
   FORM HEADER
   ========================================================= */

.wa-quote-form-head {
    width: 100%;

    margin-bottom: 31px;
}

.wa-quote-form-head__top {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 15px;
}

.wa-quote-form-head__icon {
    display: inline-flex;

    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(0, 167, 142, 0.18);
    border-radius: 50%;

    color: var(--wa-quote-teal);

    background: rgba(0, 167, 142, 0.075);
}

.wa-quote-form-head__icon svg {
    display: block;

    width: 20px;
    height: 20px;
}

.wa-quote-form-head__label {
    color: var(--wa-quote-teal);

    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.wa-quote-form-head__title {
    color: var(--wa-quote-dark) !important;

    font-family: inherit !important;
    font-size: 31px !important;
    font-weight: 800 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.035em !important;
    text-transform: none !important;
}

.wa-quote-form-head__description {
    max-width: 620px;

    margin-top: 12px !important;

    color: var(--wa-quote-text) !important;

    font-family: inherit;
    font-size: 14.5px;
    font-weight: 400;
    line-height: 1.62;
}


/* =========================================================
   ELEMENTOR FORM
   ========================================================= */

.wa-quote-form {
    width: 100%;
    min-width: 0;
}

.wa-quote-form .elementor-widget-container,
.wa-quote-form .elementor-form {
    width: 100%;
}


/* =========================================================
   FORM GRID
   ========================================================= */

.wa-quote-form .elementor-form-fields-wrapper {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    align-items: stretch;

    column-gap: 18px;
    row-gap: 21px;

    width: 100%;

    margin: 0 !important;
}


/* =========================================================
   FIELD GROUP RESET
   ========================================================= */

.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-group {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    flex: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   FULL WIDTH GROUPS
   ========================================================= */

.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-col-100,
.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-group-field_32850c1,
.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-type-textarea,
.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-type-submit {
    grid-column: 1 / -1;
}


/* =========================================================
   ALL FIELD LABELS
   ========================================================= */

.wa-quote-form .elementor-field-label {
    display: block !important;

    width: 100%;

    margin: 0 0 9px !important;
    padding: 0 !important;

    color: var(--wa-quote-dark) !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.wa-quote-form
.elementor-mark-required
.elementor-field-label::after {
    color: var(--wa-quote-teal) !important;
}


/* =========================================================
   TEXTUAL FIELDS
   ========================================================= */

.wa-quote-form .elementor-field-textual,
.wa-quote-form input.elementor-field-textual,
.wa-quote-form select.elementor-field-textual,
.wa-quote-form textarea.elementor-field-textual {
    display: block;

    width: 100%;

    min-width: 0;
    min-height: 56px;

    margin: 0 !important;
    padding: 14px 16px !important;

    border: 1px solid var(--wa-quote-border) !important;
    border-radius: 14px !important;

    outline: 0;

    color: var(--wa-quote-dark) !important;

    background:
        linear-gradient(
            180deg,
            #fbfcfc 0%,
            #f7fafa 100%
        ) !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75) !important;

    font-family: inherit !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;

    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}

.wa-quote-form textarea.elementor-field-textual {
    min-height: 164px;

    padding-top: 15px !important;

    resize: vertical;
}

.wa-quote-form .elementor-field-textual:hover {
    border-color: var(--wa-quote-border-strong) !important;

    background: #ffffff !important;
}

.wa-quote-form .elementor-field-textual:focus {
    border-color: var(--wa-quote-teal) !important;

    background: #ffffff !important;

    box-shadow:
        0 0 0 4px rgba(0, 167, 142, 0.09) !important;
}

.wa-quote-form .elementor-field-textual::placeholder {
    color: #929dad !important;

    opacity: 1;
}


/* =========================================================
   SELECTION PANELS
   ========================================================= */

.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-group-field_32850c1,
.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-group-field_40ed30d,
.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-group-field_018869e {
    display: flex !important;
    flex-direction: column !important;

    align-self: stretch;

    min-width: 0;

    padding: 19px 20px 20px !important;

    border: 1px solid var(--wa-quote-border) !important;
    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(247, 251, 251, 0.99),
            rgba(242, 248, 247, 0.99)
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.94),
        0 8px 20px rgba(31, 51, 75, 0.025);
}


/* =========================================================
   SELECTION PANEL TITLES
   ========================================================= */

.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-group-field_32850c1
> .elementor-field-label,
.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-group-field_40ed30d
> .elementor-field-label,
.wa-quote-form
.elementor-form-fields-wrapper
> .elementor-field-group-field_018869e
> .elementor-field-label {
    flex: 0 0 auto;

    margin: 0 0 15px !important;
    padding: 0 1px 13px !important;

    border-bottom: 1px solid rgba(40, 53, 80, 0.1);

    color: var(--wa-quote-dark) !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}


/* =========================================================
   OPTIONS GRID
   ========================================================= */

.wa-quote-form .elementor-field-subgroup {
    display: grid !important;

    width: 100% !important;
    min-width: 0 !important;

    align-items: stretch !important;

    flex: none !important;
    flex-wrap: initial !important;

    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   SERVICES — 3 COLUMNS
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_32850c1
.elementor-field-subgroup {
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
}


/* =========================================================
   BUDGET — ONE COLUMN
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_40ed30d
.elementor-field-subgroup {
    grid-template-columns: 1fr !important;
}


/* =========================================================
   DEADLINE — ONE COLUMN
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_018869e
.elementor-field-subgroup {
    grid-template-columns: 1fr !important;
}


/* =========================================================
   OPTION CARD
   ========================================================= */

.wa-quote-form
.elementor-field-subgroup
.elementor-field-option {
    position: relative;

    display: grid !important;

    grid-template-columns:
        20px
        minmax(0, 1fr);

    align-items: center;

    gap: 11px;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 52px;

    flex: none !important;

    margin: 0 !important;
    padding: 11px 14px !important;

    border: 1px solid #d8e3e6;
    border-radius: 13px;

    color: var(--wa-quote-dark);

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfcfc 100%
        );

    box-shadow:
        0 5px 13px rgba(31, 51, 75, 0.035);

    cursor: pointer;

    transition:
        border-color 0.18s ease,
        background 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.wa-quote-form
.elementor-field-subgroup
.elementor-field-option:hover {
    border-color: rgba(0, 167, 142, 0.34);

    background: #ffffff;

    box-shadow:
        0 8px 19px rgba(31, 51, 75, 0.065);

    transform: translateY(-1px);
}


/* =========================================================
   SELECTED OPTION CARD
   ========================================================= */

.wa-quote-form
.elementor-field-option:has(input:checked) {
    border-color: rgba(0, 167, 142, 0.56);

    background:
        linear-gradient(
            145deg,
            rgba(0, 167, 142, 0.105),
            rgba(54, 200, 138, 0.06)
        );

    box-shadow:
        0 0 0 3px rgba(0, 167, 142, 0.06);
}


/* =========================================================
   OPTION LABEL
   ========================================================= */

.wa-quote-form
.elementor-field-option
label {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--wa-quote-dark) !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;

    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;

    cursor: pointer;
}


/* =========================================================
   NATIVE CONTROL RESET
   ========================================================= */

.wa-quote-form
.elementor-field-option
input[type="checkbox"],
.wa-quote-form
.elementor-field-option
input[type="radio"] {
    position: relative !important;

    display: block !important;

    width: 20px !important;
    height: 20px !important;

    min-width: 20px !important;
    min-height: 20px !important;

    flex: 0 0 20px;

    margin: 0 !important;
    padding: 0 !important;

    border: 1.5px solid #b7c9cd;
    outline: none;

    background-color: #ffffff;

    box-shadow:
        inset 0 1px 1px rgba(31, 51, 75, 0.035);

    appearance: none;
    -webkit-appearance: none;

    opacity: 1 !important;

    clip: auto !important;
    clip-path: none !important;

    cursor: pointer;

    transition:
        border-color 0.18s ease,
        background-color 0.18s ease,
        box-shadow 0.18s ease;
}


/* =========================================================
   CHECKBOX SHAPE
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_32850c1
.elementor-field-option
input {
    border-radius: 6px;
}


/* =========================================================
   RADIO SHAPE
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_40ed30d
.elementor-field-option
input,
.wa-quote-form
.elementor-field-group-field_018869e
.elementor-field-option
input {
    border-radius: 50%;
}


/* =========================================================
   CHECKED CHECKBOX
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_32850c1
.elementor-field-option
input:checked {
    border-color: var(--wa-quote-teal);

    background-color: var(--wa-quote-teal);

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.1 6.5 11.2 12.8 4.9' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px 13px;

    box-shadow:
        0 3px 8px rgba(0, 167, 142, 0.25);
}


/* =========================================================
   CHECKED RADIO
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_40ed30d
.elementor-field-option
input:checked,
.wa-quote-form
.elementor-field-group-field_018869e
.elementor-field-option
input:checked {
    border-color: var(--wa-quote-teal);

    background:
        radial-gradient(
            circle at center,
            #ffffff 0,
            #ffffff 4px,
            transparent 4.5px
        ),
        linear-gradient(
            135deg,
            var(--wa-quote-teal),
            var(--wa-quote-green)
        );

    box-shadow:
        0 3px 8px rgba(0, 167, 142, 0.25);
}


/* =========================================================
   CONTROL FOCUS
   ========================================================= */

.wa-quote-form
.elementor-field-option
input:focus-visible {
    outline: 3px solid rgba(0, 167, 142, 0.22);
    outline-offset: 2px;
}


/* =========================================================
   SERVICES
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_32850c1
.elementor-field-option {
    min-height: 54px;
}


/* =========================================================
   BUDGET AND DEADLINE OPTIONS
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_40ed30d
.elementor-field-option,
.wa-quote-form
.elementor-field-group-field_018869e
.elementor-field-option {
    min-height: 50px;

    padding-top: 11px !important;
    padding-bottom: 11px !important;
}


/* =========================================================
   BUDGET TEXT
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_40ed30d
.elementor-field-option
label {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;

    white-space: nowrap !important;

    font-variant-numeric: tabular-nums;
}


/* =========================================================
   DEADLINE TEXT
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_018869e
.elementor-field-option
label {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;

    white-space: nowrap !important;
}


/* =========================================================
   TEXTAREA
   ========================================================= */

.wa-quote-form
.elementor-field-type-textarea {
    margin-top: 1px !important;
}


/* =========================================================
   RECAPTCHA AND HONEYPOT
   ========================================================= */

.wa-quote-form
.elementor-field-type-recaptcha_v3,
.wa-quote-form
.elementor-field-type-honeypot {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    opacity: 0;

    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;
}

.wa-quote-form
.elementor-field-type-recaptcha_v3
.elementor-field {
    width: 1px !important;
    height: 1px !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
}


/* =========================================================
   SUBMIT
   ========================================================= */

.wa-quote-form
.elementor-field-type-submit {
    margin-top: 7px !important;
}

.wa-quote-form
.elementor-button[type="submit"],
.wa-quote-form
.elementor-field-type-submit
.elementor-button {
    display: inline-flex;

    width: 100%;
    min-height: 57px;

    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 15px 25px !important;

    border: 1px solid var(--wa-quote-teal) !important;
    border-radius: 999px !important;

    color: #ffffff !important;

    background: var(--wa-quote-teal) !important;
    background-color: var(--wa-quote-teal) !important;
    background-image: none !important;

    box-shadow:
        0 14px 30px rgba(0, 167, 142, 0.24);

    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.045em !important;
    text-transform: uppercase !important;

    cursor: pointer;

    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.wa-quote-form
.elementor-button[type="submit"]:hover,
.wa-quote-form
.elementor-button[type="submit"]:focus-visible {
    border-color: var(--wa-quote-teal-hover) !important;

    color: #ffffff !important;

    background: var(--wa-quote-teal-hover) !important;
    background-color: var(--wa-quote-teal-hover) !important;
    background-image: none !important;

    box-shadow:
        0 18px 36px rgba(0, 143, 122, 0.3);

    transform: translateY(-2px);
}

.wa-quote-form
.elementor-button[type="submit"]:active {
    border-color: #007c6b !important;

    background: #007c6b !important;
    background-color: #007c6b !important;
    background-image: none !important;

    box-shadow:
        0 9px 20px rgba(0, 124, 107, 0.22);

    transform: translateY(0);
}

.wa-quote-form
.elementor-button[type="submit"]:focus-visible {
    outline: 3px solid rgba(0, 167, 142, 0.23);
    outline-offset: 3px;
}


/* =========================================================
   FORM MESSAGES
   ========================================================= */

.wa-quote-form .elementor-message {
    grid-column: 1 / -1;

    margin: 16px 0 0 !important;
    padding: 14px 16px;

    border-radius: 13px;

    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

.wa-quote-form .elementor-message-success {
    color: #126b5b;

    background: rgba(54, 200, 138, 0.12);
}

.wa-quote-form .elementor-message-danger {
    color: #9b2e3a;

    background: rgba(194, 57, 73, 0.1);
}


/* =========================================================
   DESKTOP 1280
   ========================================================= */

@media (max-width: 1320px) {

    .wa-quote-main {
        padding: 88px 0 96px;
    }

    .wa-quote-main__container {
        grid-template-columns:
            minmax(310px, 0.7fr)
            minmax(570px, 1.3fr);

        gap: 46px;

        width: calc(100% - 144px) !important;
    }

    .wa-quote-process__title {
        font-size: clamp(35px, 3.2vw, 44px) !important;
    }

    .wa-quote-form-card {
        padding: 34px 32px 37px !important;
    }

    .wa-quote-form .elementor-form-fields-wrapper {
        column-gap: 16px;
        row-gap: 19px;
    }

    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group-field_32850c1,
    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group-field_40ed30d,
    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group-field_018869e {
        padding: 17px 18px 18px !important;
    }

    .wa-quote-form
    .elementor-field-subgroup
    .elementor-field-option {
        padding-right: 13px !important;
        padding-left: 13px !important;
    }

    .wa-quote-form
    .elementor-field-group-field_32850c1
    .elementor-field-option
    label,
    .wa-quote-form
    .elementor-field-group-field_40ed30d
    .elementor-field-option
    label,
    .wa-quote-form
    .elementor-field-group-field_018869e
    .elementor-field-option
    label {
        font-size: 13px !important;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .wa-quote-main {
        padding: 78px 0 86px;
    }

    .wa-quote-main__container {
        grid-template-columns: 1fr;

        gap: 46px;

        width: calc(100% - 96px) !important;
    }

    .wa-quote-main__intro {
        position: static;
    }

    .wa-quote-process {
        max-width: 760px;
    }

    .wa-quote-process__description {
        max-width: 680px;
    }

    .wa-quote-process__steps {
        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .wa-quote-process__step:last-child {
        grid-column: 1 / -1;
    }

    .wa-quote-process__email {
        max-width: 760px;
    }

    .wa-quote-form-card {
        width: 100%;
        max-width: 900px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .wa-quote-main {
        padding: 66px 0 74px;
    }

    .wa-quote-main__container {
        gap: 38px;

        width: calc(100% - 48px) !important;
    }

    .wa-quote-process__eyebrow {
        gap: 10px;

        margin-bottom: 16px;

        font-size: 11px;
    }

    .wa-quote-process__eyebrow-line {
        flex-basis: 28px;

        width: 28px;
        height: 2px;
    }

    .wa-quote-process__title {
        font-size: clamp(31px, 8.5vw, 39px) !important;
        line-height: 1.1 !important;
    }

    .wa-quote-process__description {
        margin-top: 19px !important;

        font-size: 15.5px;
        line-height: 1.65;
    }

    .wa-quote-process__steps {
        display: flex;
        flex-direction: column;

        gap: 13px;

        margin-top: 26px;
    }

    .wa-quote-process__step {
        grid-template-columns:
            48px
            minmax(0, 1fr);

        gap: 14px;

        padding: 18px 17px;

        border-radius: 18px;
    }

    .wa-quote-process__step:hover {
        transform: none;
    }

    .wa-quote-process__step-number {
        width: 48px;
        height: 48px;
    }

    .wa-quote-process__step h3 {
        font-size: 17px !important;
    }

    .wa-quote-process__step p {
        font-size: 13.5px;
    }

    .wa-quote-process__email {
        grid-template-columns:
            40px
            minmax(0, 1fr);

        padding: 15px;
    }

    .wa-quote-process__email-icon {
        width: 40px;
        height: 40px;
    }

    .wa-quote-form-card {
        padding: 28px 22px 29px !important;

        border-radius: 23px !important;
    }

    .wa-quote-form-head {
        margin-bottom: 25px;
    }

    .wa-quote-form-head__title {
        font-size: 27px !important;
    }

    .wa-quote-form-head__description {
        font-size: 14.5px;
    }

    .wa-quote-form .elementor-form-fields-wrapper {
        grid-template-columns: 1fr;

        column-gap: 0;
        row-gap: 17px;
    }

    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group {
        grid-column: 1 !important;

        width: 100% !important;
    }

    .wa-quote-form .elementor-field-textual,
    .wa-quote-form input.elementor-field-textual,
    .wa-quote-form select.elementor-field-textual,
    .wa-quote-form textarea.elementor-field-textual {
        min-height: 54px;

        padding: 14px 15px !important;

        font-size: 15px !important;
    }

    .wa-quote-form textarea.elementor-field-textual {
        min-height: 148px;
    }

    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group-field_32850c1,
    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group-field_40ed30d,
    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group-field_018869e {
        padding: 17px !important;

        border-radius: 18px;
    }

    .wa-quote-form
    .elementor-field-group-field_32850c1
    .elementor-field-subgroup {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    .wa-quote-form
    .elementor-field-group-field_40ed30d
    .elementor-field-subgroup,
    .wa-quote-form
    .elementor-field-group-field_018869e
    .elementor-field-subgroup {
        grid-template-columns: 1fr !important;
    }

    .wa-quote-form
    .elementor-field-subgroup
    .elementor-field-option {
        min-height: 52px;
    }

    .wa-quote-form
    .elementor-field-group-field_32850c1
    .elementor-field-option
    label,
    .wa-quote-form
    .elementor-field-group-field_40ed30d
    .elementor-field-option
    label,
    .wa-quote-form
    .elementor-field-group-field_018869e
    .elementor-field-option
    label {
        font-size: 13px !important;
    }

    .wa-quote-form
    .elementor-field-type-submit {
        margin-top: 3px !important;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 520px) {

    .wa-quote-main {
        padding: 61px 0 68px;
    }

    .wa-quote-main__container {
        width: calc(100% - 40px) !important;
    }

    .wa-quote-process__title {
        font-size: 30px !important;
    }

    .wa-quote-process__description {
        font-size: 15px;
    }

    .wa-quote-process__step {
        grid-template-columns:
            44px
            minmax(0, 1fr);

        padding: 17px 15px;
    }

    .wa-quote-process__step-number {
        width: 44px;
        height: 44px;
    }

    .wa-quote-form-card {
        padding: 25px 18px 26px !important;
    }

    .wa-quote-form-head__title {
        font-size: 25px !important;
    }

    .wa-quote-form
    .elementor-form-fields-wrapper {
        row-gap: 15px;
    }

    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group-field_32850c1,
    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group-field_40ed30d,
    .wa-quote-form
    .elementor-form-fields-wrapper
    > .elementor-field-group-field_018869e {
        padding: 15px !important;
    }

    .wa-quote-form
    .elementor-field-group-field_32850c1
    .elementor-field-subgroup,
    .wa-quote-form
    .elementor-field-group-field_40ed30d
    .elementor-field-subgroup,
    .wa-quote-form
    .elementor-field-group-field_018869e
    .elementor-field-subgroup {
        grid-template-columns: 1fr !important;
    }

    .wa-quote-form
    .elementor-field-group-field_32850c1
    .elementor-field-option
    label,
    .wa-quote-form
    .elementor-field-group-field_40ed30d
    .elementor-field-option
    label,
    .wa-quote-form
    .elementor-field-group-field_018869e
    .elementor-field-option
    label {
        font-size: 13px !important;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .wa-quote-process__step,
    .wa-quote-form
    .elementor-button[type="submit"],
    .wa-quote-form
    .elementor-field-textual,
    .wa-quote-form
    .elementor-field-option {
        transition: none;
    }
}


/* =========================================================
   REQUIRED MARK — SERVIÇOS PRETENDIDOS
   ========================================================= */

.wa-quote-form
.elementor-field-group-field_32850c1
> .elementor-field-label::after {
    content: " *" !important;

    display: inline;

    margin-left: 2px;

    color: #00a78e !important;

    font-family: inherit !important;
    font-size: 1em !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: inherit !important;
    vertical-align: baseline;
}


/* =========================================================
   SAME STYLE FOR ALL REAL REQUIRED FIELDS
   ========================================================= */

.wa-quote-form
.elementor-mark-required
> .elementor-field-label::after {
    margin-left: 2px;

    color: #00a78e !important;

    font-family: inherit !important;
    font-size: 1em !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: inherit !important;
    vertical-align: baseline;
}