/* Plugin: EasyColor Forms & Leads | Slug: easycolor-forms-leads | Responsabilidade: Estilos públicos dos formulários e componentes renderizados. */
.ecfl-form {
    --ecfl-accent: #ff4b00;
    --ecfl-accent-dark: #d93e00;
    --ecfl-button: #10aee8;
    --ecfl-border: #dedede;
    --ecfl-soft-border: #ececec;
    --ecfl-bg: #ffffff;
    --ecfl-muted-bg: #fafafa;
    --ecfl-text: #232323;
    --ecfl-muted: #6a6a6a;
    border: 1px solid var(--ecfl-border);
    padding: 28px;
    border-radius: 12px;
    background: var(--ecfl-bg);
    max-width: 860px;
    margin: 0 auto;
    box-sizing: border-box;
    color: var(--ecfl-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 16px;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.05);
}
.ecfl-form-title {
    margin: 0 0 8px;
    color: var(--ecfl-accent);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.15;
    font-weight: 800;
    text-align: center;
}
.ecfl-form-intro {
    max-width: 680px;
    margin: 0 auto 22px;
    color: var(--ecfl-muted);
    text-align: center;
    line-height: 1.55;
}
.ecfl-form-section {
    border: 1px solid var(--ecfl-soft-border);
    border-radius: 12px;
    background: var(--ecfl-muted-bg);
    padding: 18px 18px 20px;
    margin: 0 0 18px;
}
.ecfl-form-section-title {
    margin: 0 0 16px;
    color: var(--ecfl-accent);
    font-size: 15px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: .01em;
}
.ecfl-form-section-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 22px;
}
.ecfl-form-section-fields-single {
    grid-template-columns: minmax(0, 1fr);
}
.ecfl-field {
    margin: 0;
    min-width: 0;
}
.ecfl-field-textarea,
.ecfl-field-checkboxes,
.ecfl-field-radio,
.ecfl-field-select,
.ecfl-field-consent,
.ecfl-privacy-note {
    grid-column: 1 / -1;
}
.ecfl-label {
    display: block;
    font-weight: 800;
    margin-bottom: 7px;
    color: var(--ecfl-accent);
    font-size: 13px;
    line-height: 1.35;
}
.ecfl-field input[type="text"],
.ecfl-field input[type="email"],
.ecfl-field input[type="tel"],
.ecfl-field textarea,
.ecfl-field select {
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    padding: 11px 14px;
    border: 1px solid #d8d8d8;
    border-radius: 9px;
    background: #fff;
    color: var(--ecfl-text);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.ecfl-field textarea {
    min-height: 132px;
    resize: vertical;
}
.ecfl-field input[type="text"]:focus,
.ecfl-field input[type="email"]:focus,
.ecfl-field input[type="tel"]:focus,
.ecfl-field textarea:focus,
.ecfl-field select:focus {
    border-color: var(--ecfl-button);
    box-shadow: 0 0 0 3px rgba(16, 174, 232, .14);
    outline: 0;
}
.ecfl-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 8px 14px;
    grid-column: 1 / -1;
    width: 100%;
}
.ecfl-checkbox-grid label {
    display: flex;
    gap: 9px;
    align-items: center;
    min-height: 44px;
    box-sizing: border-box;
    padding: 9px 10px;
    border: 1px solid transparent;
    border-radius: 9px;
    cursor: pointer;
    line-height: 1.42;
    color: var(--ecfl-accent);
    font-weight: 700;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.ecfl-checkbox-grid .ecfl-choice-text {
    min-width: 0;
}
.ecfl-choice-label-right label {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
}
.ecfl-choice-label-left label {
    flex-direction: row-reverse;
    justify-content: flex-end;
    text-align: right;
}
.ecfl-choice-label-top label {
    flex-direction: column-reverse;
    justify-content: center;
    text-align: center;
}
.ecfl-choice-label-bottom label {
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
.ecfl-choice-label-top,
.ecfl-choice-label-bottom {
    row-gap: 4px;
}
.ecfl-choice-label-top label,
.ecfl-choice-label-bottom label {
    gap: 4px;
    min-height: 0;
    padding: 5px 8px;
    line-height: 1.24;
}
.ecfl-choice-label-top .ecfl-choice-text,
.ecfl-choice-label-bottom .ecfl-choice-text {
    display: block;
    max-width: 100%;
}
.ecfl-choice-label-top input,
.ecfl-choice-label-bottom input {
    margin: 0;
}
.ecfl-checkbox-grid label:hover,
.ecfl-checkbox-grid label:focus-within {
    background: #fff;
    border-color: var(--ecfl-soft-border);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .04);
}
.ecfl-field-consent label,
.ecfl-inline-choice {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    line-height: 1.42;
    color: var(--ecfl-accent);
    font-weight: 700;
}
.ecfl-checkbox-grid input,
.ecfl-field-consent input,
.ecfl-inline-choice input {
    margin-top: 3px;
}
.ecfl-checkbox-grid input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 0;
    accent-color: var(--ecfl-accent);
    cursor: pointer;
}
.ecfl-required {
    color: var(--ecfl-accent-dark);
    font-weight: 900;
}
.ecfl-privacy-note {
    margin: 0;
    font-size: 0.92em;
    color: var(--ecfl-muted);
    font-weight: 300;
    line-height: 1.5;
}
.ecfl-consent-section .ecfl-field-consent label,
.ecfl-consent-section .ecfl-field-consent .ecfl-choice-text {
    font-weight: 300;
}
.ecfl-consent-section .ecfl-required {
    font-weight: 300;
}
.ecfl-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 12px 24px;
    cursor: pointer;
    font-weight: 800;
    color: #fff;
    background: var(--ecfl-button);
    box-shadow: 0 10px 22px rgba(16, 174, 232, .23);
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.ecfl-submit:hover,
.ecfl-submit:focus {
    transform: translateY(-1px);
    filter: brightness(.98);
    box-shadow: 0 12px 26px rgba(16, 174, 232, .30);
}
.ecfl-submit:disabled {
    cursor: not-allowed;
    opacity: .42;
    filter: grayscale(.35);
    transform: none;
    box-shadow: none;
}
.ecfl-submit:disabled:hover,
.ecfl-submit:disabled:focus {
    transform: none;
    filter: grayscale(.35);
    box-shadow: none;
}
.ecfl-submit-unsubscribe {
    color: rgba(255, 255, 255, .72);
    background: #dcdcde;
    box-shadow: none;
    opacity: .72;
}
.ecfl-submit-unsubscribe:hover,
.ecfl-submit-unsubscribe:focus {
    color: rgba(255, 255, 255, .86);
    background: #c9cacc;
    box-shadow: none;
    filter: none;
}
.ecfl-hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.ecfl-message {
    border-radius: 10px;
    padding: 12px 14px;
    border: 1px solid var(--ecfl-border, #dedede);
    background: #fff;
}
.ecfl-error {
    border-color: #b00020;
}
.ecfl-toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 99999;
    padding: 14px 18px;
    border-radius: 10px;
    box-shadow: 0 10px 32px rgba(0,0,0,.18);
    background: #fff;
    max-width: 420px;
}
.ecfl-toast-success {
    border-left: 5px solid #22863a;
}
.ecfl-toast-error {
    border-left: 5px solid #b00020;
}
@media (max-width: 720px) {
    .ecfl-form {
        padding: 20px;
    }
    .ecfl-form-section {
        padding: 15px;
    }
    .ecfl-form-section-fields {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Fase 09: presets visuais, imagem de topo e controles de botão. */
.ecfl-style-inherit_theme {
    --ecfl-accent: currentColor;
    --ecfl-accent-dark: currentColor;
    --ecfl-button: currentColor;
    border: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.ecfl-style-easycolor_clean {
    border-color: transparent;
    box-shadow: none;
    background: transparent;
}
.ecfl-style-easycolor_technical {
    border-left: 5px solid var(--ecfl-accent);
    border-radius: 6px;
    background: #fff;
}
.ecfl-style-custom {
    --ecfl-button: var(--ecfl-accent);
}
.ecfl-form-top-image {
    margin: 0 0 18px;
    text-align: center;
}
.ecfl-form-top-image img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}
.ecfl-submit-row {
    display: flex;
    margin-top: 16px;
}
.ecfl-submit-row-newsletter {
    justify-content: space-between;
    gap: 14px;
}
.ecfl-submit-row-left {
    justify-content: flex-start;
}
.ecfl-submit-row-center {
    justify-content: center;
}
.ecfl-submit-row-right {
    justify-content: flex-end;
}
.ecfl-button-square .ecfl-submit {
    border-radius: 8px;
}
.ecfl-button-outline .ecfl-submit {
    color: var(--ecfl-accent);
    background: transparent;
    border: 2px solid var(--ecfl-accent);
    box-shadow: none;
}
.ecfl-button-theme .ecfl-submit {
    color: inherit;
    background: transparent;
    border: 1px solid currentColor;
    box-shadow: none;
}
.ecfl-button-width-full .ecfl-submit {
    width: 100%;
}
.ecfl-button-width-full .ecfl-submit-row-newsletter .ecfl-submit {
    width: auto;
}
.ecfl-form .ecfl-submit-row-newsletter .ecfl-submit-unsubscribe {
    color: rgba(255, 255, 255, .72);
    background: #dcdcde;
    border-color: #dcdcde;
    box-shadow: none;
    opacity: .72;
}
.ecfl-form .ecfl-submit-row-newsletter .ecfl-submit-subscribe:disabled {
    color: rgba(255, 255, 255, .72);
    background: #a7aaad;
    border-color: #a7aaad;
}
@media (max-width: 560px) {
    .ecfl-submit-row-newsletter {
        align-items: stretch;
        flex-direction: column-reverse;
    }
    .ecfl-submit-row-newsletter .ecfl-submit {
        width: 100%;
    }
}

/* Fase 10: layout por campo, largura, ajuda e rótulo. */
.ecfl-col-25 { grid-column: span 1; }
.ecfl-col-33 { grid-column: span 1; }
.ecfl-col-50 { grid-column: span 1; }
.ecfl-col-66,
.ecfl-col-100,
.ecfl-break-before { grid-column: 1 / -1; }
.ecfl-label-left {
    display: grid;
    grid-template-columns: minmax(130px, 28%) minmax(0, 1fr);
    column-gap: 14px;
    align-items: center;
}
.ecfl-label-right {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(130px, 28%);
    column-gap: 14px;
    align-items: center;
}
.ecfl-label-bottom {
    display: flex;
    flex-direction: column;
}
.ecfl-label-left .ecfl-label,
.ecfl-label-right .ecfl-label {
    margin: 0;
}
.ecfl-label-right .ecfl-label {
    order: 2;
}
.ecfl-label-right > :not(.ecfl-label):not(.ecfl-help-text) {
    order: 1;
}
.ecfl-label-bottom .ecfl-label {
    order: 2;
    margin: 7px 0 0;
}
.ecfl-label-bottom > :not(.ecfl-label):not(.ecfl-help-text) {
    order: 1;
}
.ecfl-label-bottom .ecfl-help-text {
    order: 3;
}
.ecfl-label-hidden {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}
.ecfl-help-text {
    grid-column: 1 / -1;
    margin: 7px 0 0;
    color: var(--ecfl-muted);
    font-size: .9em;
    line-height: 1.45;
}
@media (min-width: 920px) {
    .ecfl-form-section-fields {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
    .ecfl-col-25 { grid-column: span 3; }
    .ecfl-col-33 { grid-column: span 4; }
    .ecfl-col-50 { grid-column: span 6; }
    .ecfl-col-66 { grid-column: span 8; }
    .ecfl-col-100 { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .ecfl-col-25,
    .ecfl-col-33,
    .ecfl-col-50,
    .ecfl-col-66,
    .ecfl-col-100,
    .ecfl-label-left,
    .ecfl-label-right,
    .ecfl-label-bottom {
        grid-column: 1 / -1;
    }
    .ecfl-label-left,
    .ecfl-label-right {
        display: block;
    }
    .ecfl-label-left .ecfl-label,
    .ecfl-label-right .ecfl-label,
    .ecfl-label-bottom .ecfl-label {
        margin-bottom: 7px;
    }
    .ecfl-label-right .ecfl-label,
    .ecfl-label-bottom .ecfl-label {
        order: initial;
    }
}

/* Fase 11: blocos de conteúdo no corpo do formulário. */
.ecfl-content-block {
    min-width: 0;
}
.ecfl-content-heading {
    margin: 0 0 6px;
    color: var(--ecfl-accent);
    font-size: clamp(20px, 2.4vw, 28px);
    line-height: 1.2;
}
.ecfl-content-subtitle,
.ecfl-content-text p,
.ecfl-content-html p {
    color: var(--ecfl-muted);
    line-height: 1.55;
}
.ecfl-content-title {
    margin: 0 0 8px;
    color: var(--ecfl-text);
    font-size: 17px;
}
.ecfl-content-notice {
    border-left: 4px solid var(--ecfl-accent);
    border-radius: 10px;
    background: #fff7f2;
    padding: 14px 16px;
}
.ecfl-content-notice strong {
    display: block;
    margin-bottom: 5px;
    color: var(--ecfl-accent-dark);
}
.ecfl-content-image {
    margin: 0;
}
.ecfl-content-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
}
.ecfl-content-image figcaption {
    margin-top: 6px;
    color: var(--ecfl-muted);
    font-size: .9em;
    text-align: center;
}
.ecfl-content-divider {
    border: 0;
    border-top: 1px solid var(--ecfl-soft-border);
    margin: 8px 0;
}
.ecfl-content-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--ecfl-accent);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}
.ecfl-content-button:hover,
.ecfl-content-button:focus {
    color: #fff;
    filter: brightness(.96);
}


/* Fase 15: áreas personalizadas, ícones/cards e organização visual por bloco. */
.ecfl-section-heading {
    margin: 0 0 16px;
}
.ecfl-section-heading-hidden {
    margin: 0;
}
.ecfl-form-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
}
.ecfl-section-title-hidden {
    margin: 0;
}
.ecfl-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.55em;
    font-size: 1.15em;
    line-height: 1;
}
.ecfl-section-subtitle {
    margin: -8px 0 10px;
    color: var(--ecfl-muted);
    line-height: 1.45;
}
.ecfl-section-description {
    margin: 0 0 12px;
    color: var(--ecfl-muted);
    font-family: inherit;
    line-height: 1.55;
}
.ecfl-section-description p {
    margin: 0 0 8px;
    color: inherit;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.55;
    letter-spacing: 0;
}
.ecfl-section-description p:last-child {
    margin-bottom: 0;
}
.ecfl-text-style-body,
.ecfl-text-style-body .ecfl-label,
.ecfl-text-style-body .ecfl-choice-text,
.ecfl-text-style-body .ecfl-section-subtitle,
.ecfl-text-style-body .ecfl-section-description,
.ecfl-text-style-body .ecfl-content-text,
.ecfl-text-style-body .ecfl-content-title {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
}
.ecfl-text-style-paragraph,
.ecfl-text-style-paragraph .ecfl-label,
.ecfl-text-style-paragraph .ecfl-choice-text,
.ecfl-text-style-paragraph .ecfl-section-subtitle,
.ecfl-text-style-paragraph .ecfl-section-description,
.ecfl-text-style-paragraph .ecfl-content-text,
.ecfl-text-style-paragraph .ecfl-content-title {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0;
}
.ecfl-text-style-h1 .ecfl-form-section-title,
.ecfl-text-style-h1 .ecfl-label,
.ecfl-text-style-h1 .ecfl-choice-text,
.ecfl-text-style-h1 .ecfl-content-heading,
.ecfl-text-style-h1 .ecfl-content-title {
    font-size: clamp(28px, 3.4vw, 42px);
    font-weight: 800;
    line-height: 1.14;
    letter-spacing: 0;
}
.ecfl-text-style-h2 .ecfl-form-section-title,
.ecfl-text-style-h2 .ecfl-label,
.ecfl-text-style-h2 .ecfl-choice-text,
.ecfl-text-style-h2 .ecfl-content-heading,
.ecfl-text-style-h2 .ecfl-content-title {
    font-size: clamp(24px, 2.8vw, 34px);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: 0;
}
.ecfl-text-style-h3 .ecfl-form-section-title,
.ecfl-text-style-h3 .ecfl-label,
.ecfl-text-style-h3 .ecfl-choice-text,
.ecfl-text-style-h3 .ecfl-content-heading,
.ecfl-text-style-h3 .ecfl-content-title {
    font-size: clamp(20px, 2.2vw, 28px);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: 0;
}
.ecfl-text-style-h4 .ecfl-form-section-title,
.ecfl-text-style-h4 .ecfl-label,
.ecfl-text-style-h4 .ecfl-choice-text,
.ecfl-text-style-h4 .ecfl-content-heading,
.ecfl-text-style-h4 .ecfl-content-title {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: 0;
}
.ecfl-text-style-small,
.ecfl-text-style-small .ecfl-label,
.ecfl-text-style-small .ecfl-choice-text,
.ecfl-text-style-small .ecfl-section-subtitle,
.ecfl-text-style-small .ecfl-section-description,
.ecfl-text-style-small .ecfl-content-text,
.ecfl-text-style-small .ecfl-content-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.42;
    letter-spacing: 0;
}
.ecfl-font-theme {
    font-family: inherit;
}
.ecfl-font-form {
    font-family: var(--ecfl-form-font, inherit);
}
.ecfl-font-system {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.ecfl-font-serif {
    font-family: Georgia, "Times New Roman", serif;
}
.ecfl-font-mono {
    font-family: Consolas, "Liberation Mono", Menlo, monospace;
}
.ecfl-font-weight-inherit {
    font-weight: inherit;
}
.ecfl-font-weight-300 {
    font-weight: 300;
}
.ecfl-font-weight-300 :where(.ecfl-form-section-title, .ecfl-label, .ecfl-choice-text, .ecfl-section-subtitle, .ecfl-section-description, .ecfl-content-heading, .ecfl-content-text, .ecfl-content-title, strong) {
    font-weight: 300;
}
.ecfl-font-weight-400 {
    font-weight: 400;
}
.ecfl-font-weight-400 :where(.ecfl-form-section-title, .ecfl-label, .ecfl-choice-text, .ecfl-section-subtitle, .ecfl-section-description, .ecfl-content-heading, .ecfl-content-text, .ecfl-content-title, strong) {
    font-weight: 400;
}
.ecfl-font-weight-500 {
    font-weight: 500;
}
.ecfl-font-weight-500 :where(.ecfl-form-section-title, .ecfl-label, .ecfl-choice-text, .ecfl-section-subtitle, .ecfl-section-description, .ecfl-content-heading, .ecfl-content-text, .ecfl-content-title, strong) {
    font-weight: 500;
}
.ecfl-font-weight-600 {
    font-weight: 600;
}
.ecfl-font-weight-600 :where(.ecfl-form-section-title, .ecfl-label, .ecfl-choice-text, .ecfl-section-subtitle, .ecfl-section-description, .ecfl-content-heading, .ecfl-content-text, .ecfl-content-title, strong) {
    font-weight: 600;
}
.ecfl-font-weight-700 {
    font-weight: 700;
}
.ecfl-font-weight-700 :where(.ecfl-form-section-title, .ecfl-label, .ecfl-choice-text, .ecfl-section-subtitle, .ecfl-section-description, .ecfl-content-heading, .ecfl-content-text, .ecfl-content-title, strong) {
    font-weight: 700;
}
.ecfl-font-weight-800 {
    font-weight: 800;
}
.ecfl-font-weight-800 :where(.ecfl-form-section-title, .ecfl-label, .ecfl-choice-text, .ecfl-section-subtitle, .ecfl-section-description, .ecfl-content-heading, .ecfl-content-text, .ecfl-content-title, strong) {
    font-weight: 800;
}
.ecfl-form-section[class*="ecfl-form-section-intro"] .ecfl-form-section-title {
    color: var(--ecfl-accent) !important;
    font-family: inherit;
    font-size: clamp(24px, 2.8vw, 34px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.15;
}
.ecfl-form-section[class*="ecfl-form-section-intro"] .ecfl-section-subtitle,
.ecfl-form-section[class*="ecfl-form-section-intro"] .ecfl-section-description,
.ecfl-form-section[class*="ecfl-form-section-intro"] .ecfl-section-description p {
    color: var(--ecfl-muted) !important;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.55;
}
.ecfl-content-icon-card {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    border: 1px solid var(--ecfl-soft-border);
    border-radius: 12px;
    background: #fff;
    padding: 14px;
}
.ecfl-content-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--ecfl-accent) 12%, #fff);
    color: var(--ecfl-accent);
    font-size: 20px;
    flex: 0 0 auto;
}
.ecfl-content-icon-body strong {
    display: block;
    margin: 0 0 4px;
    color: var(--ecfl-text);
}
.ecfl-content-icon-body p {
    margin: 0;
    color: var(--ecfl-muted);
    line-height: 1.5;
}


/* Fase 16: fundo do formulário por cor, imagem ou degradê. */
.ecfl-bg-solid {
    background: var(--ecfl-form-bg-custom, var(--ecfl-bg));
}
.ecfl-bg-gradient {
    background: linear-gradient(var(--ecfl-form-gradient-angle, 135deg), var(--ecfl-form-gradient-from, #ffffff), var(--ecfl-form-gradient-to, #fff7f2));
}
.ecfl-bg-image,
.ecfl-bg-image_gradient {
    background-image: var(--ecfl-form-bg-image);
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--ecfl-form-bg-custom, #ffffff);
}
.ecfl-bg-image_gradient {
    background-image: linear-gradient(var(--ecfl-form-gradient-angle, 135deg), color-mix(in srgb, var(--ecfl-form-gradient-from, #ffffff) 84%, transparent), color-mix(in srgb, var(--ecfl-form-gradient-to, #fff7f2) 84%, transparent)), var(--ecfl-form-bg-image);
}
.ecfl-bg-image-mode-cover,
.ecfl-bg-image-mode-cover.ecfl-bg-image_gradient { background-size: cover; }
.ecfl-bg-image-mode-contain,
.ecfl-bg-image-mode-contain.ecfl-bg-image_gradient { background-size: contain; }
.ecfl-bg-image-mode-repeat,
.ecfl-bg-image-mode-repeat.ecfl-bg-image_gradient { background-repeat: repeat; background-size: auto; }
.ecfl-bg-image .ecfl-form-section,
.ecfl-bg-image_gradient .ecfl-form-section {
    background: color-mix(in srgb, #ffffff 90%, transparent);
    backdrop-filter: blur(1.5px);
}


/* Fase 17: visual específico para campos, blocos e áreas. */
.ecfl-section-custom-visual,
.ecfl-field-custom-visual {
    color: var(--ecfl-block-text, inherit);
}
.ecfl-section-custom-visual {
    background: var(--ecfl-block-bg, var(--ecfl-muted-bg));
    position: relative;
    overflow: hidden;
}
.ecfl-field-custom-visual {
    background: var(--ecfl-block-bg, transparent);
    border-radius: 12px;
    padding: 14px;
}
.ecfl-has-visual-gradient {
    background: linear-gradient(var(--ecfl-block-gradient-angle, 135deg), var(--ecfl-block-gradient-from, #ffffff), var(--ecfl-block-gradient-to, #fff7f2));
}
.ecfl-has-visual-image {
    background-image: var(--ecfl-block-bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.ecfl-has-visual-gradient.ecfl-has-visual-image {
    background-image: linear-gradient(var(--ecfl-block-gradient-angle, 135deg), color-mix(in srgb, var(--ecfl-block-gradient-from, #ffffff) 84%, transparent), color-mix(in srgb, var(--ecfl-block-gradient-to, #fff7f2) 84%, transparent)), var(--ecfl-block-bg-image);
}
.ecfl-section-custom-visual .ecfl-form-section-title,
.ecfl-section-custom-visual .ecfl-section-subtitle,
.ecfl-section-custom-visual .ecfl-section-description,
.ecfl-section-custom-visual .ecfl-label,
.ecfl-field-custom-visual .ecfl-label,
.ecfl-field-custom-visual .ecfl-content-title,
.ecfl-field-custom-visual .ecfl-content-heading,
.ecfl-field-custom-visual .ecfl-content-icon-body strong {
    color: var(--ecfl-block-text, currentColor);
}
.ecfl-section-custom-visual .ecfl-form-section-fields {
    position: relative;
    z-index: 1;
}
.ecfl-field-custom-visual input[type="text"],
.ecfl-field-custom-visual input[type="email"],
.ecfl-field-custom-visual input[type="tel"],
.ecfl-field-custom-visual textarea,
.ecfl-field-custom-visual select {
    background: color-mix(in srgb, #ffffff 92%, transparent);
}

/* Fase 18-A: grade principal de blocos/areas do formulario. */
.ecfl-form-block-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 18px;
}
.ecfl-form-block-grid > .ecfl-form-section {
    margin: 0;
}
.ecfl-area-col-25 { grid-column: span 3; }
.ecfl-area-col-33 { grid-column: span 4; }
.ecfl-area-col-50 { grid-column: span 6; }
.ecfl-area-col-66 { grid-column: span 8; }
.ecfl-area-col-100 { grid-column: 1 / -1; }
.ecfl-form-section-fields:empty {
    display: none;
}
.ecfl-section-columns-1 {
    grid-template-columns: minmax(0, 1fr);
}
.ecfl-section-columns-1 > .ecfl-col-25,
.ecfl-section-columns-1 > .ecfl-col-33,
.ecfl-section-columns-1 > .ecfl-col-50,
.ecfl-section-columns-1 > .ecfl-col-66,
.ecfl-section-columns-1 > .ecfl-col-100 {
    grid-column: 1 / -1;
}
.ecfl-section-columns-2 .ecfl-checkbox-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ecfl-section-columns-3 .ecfl-checkbox-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ecfl-section-columns-4 .ecfl-checkbox-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ecfl-section-columns-5 .ecfl-checkbox-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.ecfl-section-flow-column {
    grid-auto-flow: column;
    grid-template-rows: repeat(var(--ecfl-section-flow-rows, 1), auto);
}
@media (min-width: 920px) {
    .ecfl-section-columns-1 { grid-template-columns: minmax(0, 1fr); }
    .ecfl-section-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ecfl-section-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ecfl-section-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .ecfl-section-columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .ecfl-section-columns-2 > .ecfl-col-25,
    .ecfl-section-columns-2 > .ecfl-col-33,
    .ecfl-section-columns-2 > .ecfl-col-50,
    .ecfl-section-columns-3 > .ecfl-col-25,
    .ecfl-section-columns-3 > .ecfl-col-33,
    .ecfl-section-columns-4 > .ecfl-col-25,
    .ecfl-section-columns-5 > .ecfl-col-25 {
        grid-column: span 1;
    }
    .ecfl-section-columns-3 > .ecfl-col-50,
    .ecfl-section-columns-3 > .ecfl-col-66,
    .ecfl-section-columns-4 > .ecfl-col-33,
    .ecfl-section-columns-4 > .ecfl-col-50,
    .ecfl-section-columns-5 > .ecfl-col-33,
    .ecfl-section-columns-5 > .ecfl-col-50 {
        grid-column: span 2;
    }
    .ecfl-section-columns-4 > .ecfl-col-66,
    .ecfl-section-columns-5 > .ecfl-col-66 {
        grid-column: span 3;
    }
    .ecfl-section-columns-2 > .ecfl-col-66,
    .ecfl-section-columns-2 > .ecfl-col-100,
    .ecfl-section-columns-3 > .ecfl-col-100,
    .ecfl-section-columns-4 > .ecfl-col-100,
    .ecfl-section-columns-5 > .ecfl-col-100 {
        grid-column: 1 / -1;
    }
}
@media (max-width: 720px) {
    .ecfl-form-block-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .ecfl-area-col-25,
    .ecfl-area-col-33,
    .ecfl-area-col-50,
    .ecfl-area-col-66,
    .ecfl-area-col-100 {
        grid-column: 1 / -1;
    }
    .ecfl-section-columns-2 .ecfl-checkbox-grid,
    .ecfl-section-columns-3 .ecfl-checkbox-grid,
    .ecfl-section-columns-4 .ecfl-checkbox-grid,
    .ecfl-section-columns-5 .ecfl-checkbox-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .ecfl-section-flow-column {
        grid-auto-flow: row;
        grid-template-rows: none;
    }
}

/* Fase 18: continuidade de lead por WhatsApp. */
.ecfl-submit[aria-busy="true"] { opacity: .72; cursor: progress; }
.ecfl-form .ecfl-submit-row { gap: 12px; }
.ecfl-form input:focus, .ecfl-form select:focus, .ecfl-form textarea:focus { outline: 2px solid var(--ecfl-accent); outline-offset: 2px; }


/* Fase 25-A: titulo principal e complemento posicionavel das areas. */
.ecfl-section-title-split {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
}
.ecfl-section-title-split .ecfl-section-icon {
    flex: 0 0 auto;
    order: -2;
}
.ecfl-section-main-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}
.ecfl-section-title-complement {
    flex: 0 1 auto;
    max-width: 36%;
    color: var(--ecfl-accent);
    font-size: .72em;
    font-weight: inherit;
    line-height: 1.2;
    text-align: right;
    overflow-wrap: anywhere;
}
.ecfl-section-complement-left .ecfl-section-title-complement {
    order: -1;
    text-align: left;
}
.ecfl-section-complement-left .ecfl-section-main-title {
    order: 0;
}
.ecfl-section-complement-right .ecfl-section-main-title {
    order: 0;
}
.ecfl-section-complement-right .ecfl-section-title-complement {
    order: 1;
}
.ecfl-section-title-complement-hidden {
    position: absolute !important;
}
@media (max-width: 640px) {
    .ecfl-section-title-split {
        flex-wrap: wrap;
    }
    .ecfl-section-title-complement {
        flex-basis: 100%;
        max-width: 100%;
        text-align: left;
    }
    .ecfl-section-complement-right .ecfl-section-title-complement {
        order: 1;
    }
    .ecfl-section-complement-left .ecfl-section-title-complement {
        order: -1;
    }
}

/* Fase 25-B: posição independente do checkbox nos consentimentos. */
.ecfl-consent-label {
    display: flex;
    gap: 10px;
    width: 100%;
}
.ecfl-consent-label .ecfl-consent-text {
    min-width: 0;
    line-height: 1.42;
}
.ecfl-consent-label input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 3px 0 0;
}
.ecfl-consent-position-left {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}
.ecfl-consent-position-right {
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}
.ecfl-consent-position-top {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}
.ecfl-consent-position-bottom {
    flex-direction: column-reverse;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}
.ecfl-consent-position-top input[type="checkbox"],
.ecfl-consent-position-bottom input[type="checkbox"] {
    margin-top: 0;
}


/* 0.24.3: prioridade da largura individual no interior das áreas. */
@media (min-width: 920px) {
  .ecfl-form-section-fields.ecfl-section-columns-1 > .ecfl-col-100,
  .ecfl-form-section-fields.ecfl-section-columns-2 > .ecfl-col-100,
  .ecfl-form-section-fields.ecfl-section-columns-3 > .ecfl-col-100,
  .ecfl-form-section-fields.ecfl-section-columns-4 > .ecfl-col-100,
  .ecfl-form-section-fields.ecfl-section-columns-5 > .ecfl-col-100 { grid-column: 1 / -1; }
  .ecfl-form-section-fields.ecfl-section-columns-2 > .ecfl-col-50 { grid-column: span 1; }
  .ecfl-form-section-fields.ecfl-section-columns-3 > .ecfl-col-50,
  .ecfl-form-section-fields.ecfl-section-columns-3 > .ecfl-col-66 { grid-column: span 2; }
}

/* 0.24.4: 100% e quebra antes prevalecem sobre a grade da área.
   Válido também na prévia, em larguras intermediárias e em telas estreitas. */
.ecfl-form-section-fields > .ecfl-col-100 {
    grid-column: 1 / -1 !important;
}
.ecfl-form-section-fields > .ecfl-break-before:not(.ecfl-col-100) {
    grid-column-start: 1 !important;
}
/* A quebra inicia uma nova linha sem necessariamente tornar o campo largo. */

/* 0.24.6: checkboxes e consentimentos alinhados ao centro da linha textual. */
.ecfl-consent-position-left, .ecfl-consent-position-right { align-items: center; }
.ecfl-consent-label input[type="checkbox"] { margin-top: 0; margin-bottom: 0; align-self: center; }
.ecfl-checkbox-grid .ecfl-choice-label-right label,
.ecfl-checkbox-grid .ecfl-choice-label-left label { align-items: center; }
.ecfl-checkbox-grid input[type="checkbox"], .ecfl-checkbox-grid input[type="radio"] { align-self: center; margin-block: 0; }

/* 2026101105: Colunas de escolha pertencem ao campo, nao a area-mae. */
.ecfl-form .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-1, .ecfl-preview-frame .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-1 {grid-template-columns:repeat(1,minmax(0,1fr))!important;}
.ecfl-form .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-2, .ecfl-preview-frame .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-2 {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.ecfl-form .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-3, .ecfl-preview-frame .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-3 {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.ecfl-form .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-4, .ecfl-preview-frame .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-4 {grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.ecfl-form .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-5, .ecfl-preview-frame .ecfl-field .ecfl-checkbox-grid.ecfl-options-columns-5 {grid-template-columns:repeat(5,minmax(0,1fr))!important;}
@media(max-width:600px){.ecfl-form .ecfl-field .ecfl-checkbox-grid[class*="ecfl-options-columns-"], .ecfl-preview-frame .ecfl-field .ecfl-checkbox-grid[class*="ecfl-options-columns-"]{grid-template-columns:1fr!important}}

/* EasyColor: opção define posição do controle, separada do rótulo do grupo. */
.ecfl-field-checkboxes .ecfl-label-hidden,.ecfl-field-radio .ecfl-label-hidden {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;}
.ecfl-checkbox-grid.ecfl-choice-label-left label {flex-direction:row;justify-content:flex-start;text-align:left;}
.ecfl-checkbox-grid.ecfl-choice-label-right label {flex-direction:row-reverse;justify-content:flex-end;text-align:right;}
.ecfl-checkbox-grid.ecfl-choice-label-top label {flex-direction:column;justify-content:center;text-align:center;}
.ecfl-checkbox-grid.ecfl-choice-label-bottom label {flex-direction:column-reverse;justify-content:center;text-align:center;}

/* EasyColor 0.24.10: ícone opt-in na área do formulário. */
.ecfl-form-section-custom .ecfl-section-title-split{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ecfl-form-section-custom .ecfl-area-icon-svg,.ecfl-form-section-custom .ecfl-area-icon-image{display:inline-block;vertical-align:middle;flex-shrink:0}
