.form-box {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 0 15px #0000000a;
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    max-width: 100%;
    padding: 30px 35px !important;
    position: relative;
    width: 100%;
    max-width: 600px;
    accent-color: #f20d7a;
    scroll-margin-top: 100px
}

.form-box input, .form-box select {
    border: 1px solid #b9b9b9 !important;
    border-radius: 8px;
    box-sizing: border-box;
    margin: 5px 0 15px;
    max-width: 100%;
    outline: 0;
    padding: 12px 10px;
    transition: all .2s linear;
    width: 100%;
}

/* Override scoped das variáveis HSF apenas dentro do módulo */
.form-box [data-hsfc-id="Renderer"] {
  --hsf-background__padding: 0px;
}

/* Estilo para checkbox no elemento ul em caso de form */
ul.multi-container {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    list-style: none;
    margin: 16px 0 20px;
}

.hs-fieldtype-booleancheckbox {
    border-radius: 8px;
    padding: 10px;
    line-height: 1px;
}

.hs-fieldtype-intl-phone.hs-input select {
    border: 1px solid #b9b9b9;
    margin-bottom: 15px !important;
    margin-top: 5px !important;
    padding: 12px 10px !important;
}

.hs-fieldtype-booleancheckbox ul.inputs-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

li.hs-form-booleancheckbox label {
    align-items: flex-start;
    display: flex;
}

li.hs-form-booleancheckbox label span {
    text-align: left;
    width: 90%;
}

li.hs-form-booleancheckbox span {
    font-size: 10px;
    font-weight: normal;
    line-height: 1.4em;
    padding-left: 0;  
}

.no-list.hs-error-msgs.inputs-list li label {
    color: #ff1493 !important;
    font-size: 10px;
}

.hs_ciencia_de_compartilhamento_de_informacao .no-list.hs-error-msgs.inputs-list {
    margin-top: 15px;
}

span.antispam {
    display: block;
    font-size: 13px;
    text-align: center;
}

/* Alignment utility classes injected via module field `alignment`.
    These only move the .form-box container via margins; they DO NOT
    change text alignment or flex alignment of the inner form content. */
.form-align-left { margin-left: 0 !important; margin-right: auto !important; }
.form-align-center { margin-left: auto !important; margin-right: auto !important; }
.form-align-right { margin-left: auto !important; margin-right: 0 !important; }

.form-box span {
    font-size: 14px;
    font-weight: 600;
}

.form-box [data-hsfc-id=Renderer] .hsfc-TextInput {
    border: 1px solid #b9b9b9;
    border-radius: 8px;
    box-sizing: border-box;
    /* margin: 5px 0 15px; */
    max-width: 100%;
    outline: 0;
    padding: 12px 10px;
    transition: all .2s linear;
    width: 100%;
}

/* radios e checkboxes: não ocupar toda a largura */
.form-box input[type="radio"],
.form-box input[type="checkbox"] {
    width: auto;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

.form-box input[type="checkbox"] {
    width: 25px !important;
    height: 25px !important;
    appearance: none;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 8px 0 0 !important;
    background: url(https://seja.flashapp.com.br/hubfs/download-1.svg) no-repeat;
    background-size: cover;
}

.form-box h3 {
    color: #333;
    font-size: 25px;
    line-height: 100%;
    margin: 0 0 30px !important;
}

/* Remove espaço acima do botão de submit custom */
[data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content>:last-child {
    display: none;
}

/* Remover os pseudo-elementos decorativos (::before/::after) que o HubSpot injeta nos checkboxes */
.form-box input[type="checkbox"].hsfc-CheckboxInput::before,
.form-box input[type="checkbox"].hsfc-CheckboxInput::after {
    display: none !important;
    content: none !important;
}

/* Garantir que o estado checked não insira o marcador preto */
.form-box input[type="checkbox"].hsfc-CheckboxInput:checked::after,
.form-box input[type="checkbox"].hsfc-CheckboxInput:checked::before {
    display: none !important;
    content: none !important;
}

.seu-estilo-custom {
    background: var(--sf-button-color, #fe2b8f) !important;
    border: 1px solid var(--sf-button-color, #fe2b8f) !important;
    color: #fff;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    margin: 10px 0;
    padding: 15px;
    transition: all .2s linear;
    border-radius: 8px;
    box-sizing: border-box;
    width: 100%;
}
.seu-estilo-custom:hover {
    background: var(--sf-button-hover-color) !important;
    border: 1px solid var(--sf-button-border-hover-color) !important;
    box-shadow: 5px 5px 20px #fe2b8f;
}

/* Oculta o botão padrão do HubSpot
input.hs-button.primary.large { display: none !important; } */

/* Garantir que o botão nativo do HubSpot fique oculto dentro do módulo,
   sem esconder o botão customizado que usa data-hs-module-button. */
.form-box input.hs-button.primary.large:not([data-hs-module-button]),
.form-box button.hs-button.primary.large:not([data-hs-module-button]),
.form-box input[type="submit"]:not([data-hs-module-button]),
.form-box button[type="submit"]:not([data-hs-module-button]) {
    display: none !important;
}

/* Override do height 100% do estilo do módulo global (páginas blog post) para o RadioFieldGroup */
.form-box .hsfc-RadioFieldGroup,
.form-box .hsfc-RadioFieldGroup__Options,
.form-box .hsfc-RadioFieldGroup > div,
.form-box .hsfc-RadioFieldGroup__Options > div {
    height: auto !important;
}

/* Override do height 100% do estilo do módulo global (páginas blog post) para o PhoneInput */
.form-box .hsfc-PhoneInput,
.form-box .hsfc-PhoneInput__FlagAndCaret,
.form-box .hsfc-PhoneInput__FlagAndCaret__Flag,
.form-box .hsfc-PhoneInput__FlagAndCaret__Caret,
.form-box .hsfc-TextInput,
.form-box .hsfc-DropdownOptions,
.form-box .hsfc-DropdownOptions__Search,
.form-box .hsfc-DropdownOptions__List,
.form-box .hsfc-DropdownOptions__List__ListItem {
    height: auto !important;
}

[data-hsfc-id=Renderer] .hsfc-PhoneInput:not(.hsfc-PhoneInput--rtl) .hsfc-PhoneInput__FlagAndCaret {
    width: auto;
}

/*Ajustar checkbox para páginas blog post*/
.form-box input[type="checkbox"].hsfc-CheckboxInput {
    width: 25px !important;
    height: 25px;
    appearance: none;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 8px 0 0 !important;
    background-size: cover;
    flex-shrink: 0;
    align-items: center;
    display: flex;
    justify-content: center;
    transition: all .32s ease 0s;
    vertical-align: middle;
    background-color: var(--hsf-field-checkbox__background-color, var(--hsf-field-input__background-color, var(--hsf-default-field-checkbox__background-color)));
    position: relative;
    cursor: pointer;
}

input[type=checkbox]:checked {
    background: url(https://seja.flashapp.com.br/hubfs/download.svg) no-repeat;
    background-size: cover;
    border-radius: 0;
}

[data-hsfc-id=Renderer] .hsfc-CheckboxInput {
    background: url(https://seja.flashapp.com.br/hubfs/download-1.svg) no-repeat;
}

/* ---------------------------------- Estilização da classe opcional form-box--inline-button (específica para o form de apenas um input de email) ---------------------------------- */
.form-box.form-box--inline-button {
    /* coloca o conteúdo do formulário (injetado pelo HubSpot) e o botão custom lado a lado */
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0px 0px 0px !important;
    width: 100%;
    max-width: 600px;
    box-sizing: border-box; /* ensure border is included in the size */
    border: 1px solid #D1C7CE; /* 1px subtle border around the inline form */
    border-radius: 10px;
    box-shadow: none;
}

/* o wrapper injetado pelo HubSpot que contém o form deve crescer */
.form-box.form-box--inline-button .hs-form-html,
.form-box.form-box--inline-button .hs_cos_wrapper {
    flex: 1 1 auto;
    margin: 0 0 0px !important;
    min-width: 0; /* evita overflow em inputs longos */
    width: 100%;
    max-width: 577px;
}

/* estiliza o form interno como o wrapper visual arredondado */
.form-box.form-box--inline-button .hs-form-html form.hsfc-Form,
.form-box.form-box--inline-button .hs_cos_wrapper form.hsfc-Form {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border-radius: 10px;
    padding: 6px;
    box-sizing: border-box;
    width: 100%;
    max-width: 600px;
    height: 60px;
}

/* Input: flexível, sem border que quebre o visual; usa padding leve */
.form-box.form-box--inline-button .hs-form-html [data-hsfc-id=Renderer] .hsfc-TextInput,
.form-box.form-box--inline-button .hs_cos_wrapper [data-hsfc-id=Renderer] .hsfc-TextInput {
    /* responsive input: allow flexbox to size and shrink; avoid fixed pixel width */
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    min-width: 0;
    border: none !important;
    padding: 10px 16px !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 10px;
    height: 44px;
    line-height: 44px !important;
    font-family: 'Fustat', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

/* placeholder style only when inline layout is active */
.form-box.form-box--inline-button .hs-form-html [data-hsfc-id=Renderer] .hsfc-TextInput::placeholder,
.form-box.form-box--inline-button .hs_cos_wrapper [data-hsfc-id=Renderer] .hsfc-TextInput::placeholder {
    font-family: 'Fustat', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

/* placeholder color mais suave */
.form-box.form-box--inline-button [data-hsfc-id=Renderer] .hsfc-TextInput::placeholder {
    color: #6c6c6c;
}

/* Botão: tamanho fixo, borda branca de destaque e sombra suave */
.form-box.form-box--inline-button [data-hs-module-button],
.form-box.form-box--inline-button .seu-estilo-custom {
    margin: 0;
    border-radius: 10px;
    /* border: 4px solid #ffffff; /* cria o espaçamento branco ao redor do botão */
    box-shadow: 0 8px 24px rgba(242,13,122,0.12);
    padding: 8px 18px;
    width: 100%;
    max-width: 189px;
    height: 50px;
    margin-right: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Fustat', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

/* Hover state for inline custom button: change to requested darker pink and preserve white text */
.form-box.form-box--inline-button [data-hs-module-button]:hover,
.form-box.form-box--inline-button .seu-estilo-custom:hover {
    background: var(--sf-button-hover-color) !important;
    border: 1px solid var(--sf-button-border-hover-color) !important;
    color: #ffffff !important;
}

/* Compactar espaços internos do formulário injetado */
.form-box.form-box--inline-button .hsfc-Row,
.form-box.form-box--inline-button .hsfc-Step__Content,
.form-box.form-box--inline-button .hsfc-FormWrapper,
.form-box.form-box--inline-button .hsfc-Step {
    margin: 0 !important;
    padding: 0 !important;
}

/* Esconder label (texto 'Email') no modo inline para reduzir altura */
.form-box.form-box--inline-button .hsfc-FieldLabel {
    display: none !important;
}

/* Ajuste específico para o campo email: remover margens e garantir alinhamento */
.form-box.form-box--inline-button .hsfc-EmailField,
.form-box.form-box--inline-button .hsfc-EmailField .hsfc-TextInput {
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

/* esconder texto antispam quando o layout for inline */
.form-box.form-box--inline-button .antispam {
    display: none !important;
}

/* esconder alerta de erro injetado pelo HubSpot quando o layout for inline */
.form-box.form-box--inline-button [data-hsfc-id="ErrorAlert"],
.form-box.form-box--inline-button .hsfc-ErrorAlert {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ajustes para quando o botão for um input/button nativo com classes hubspot */
.form-box.form-box--inline-button .hsfc-Button,
.form-box.form-box--inline-button .hsfc-NavigationRow__Buttons .hsfc-Button {
    display: none !important; /* esconder botão nativo dentro do form injetado */
}

/* Empilhamento do layout inline em telas pequenas (<= 700px): input acima, botão abaixo */
@media (max-width: 700px) {
    /* force stacking even if another rule keeps the container as flex */
    .form-box.form-box--inline-button {
        display: block !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0px !important;
        /* remove the outer box/border so inner form and button look like two separate components */
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }

    /* ensure the hubspot-injected wrapper stays above the button */
    .form-box.form-box--inline-button .hs-form-html,
    .form-box.form-box--inline-button .hs_cos_wrapper {
        order: 1;
        width: 100% !important;
        display: block !important;
        max-width: 100% !important;
        margin-bottom: 0 !important;
    }

    .form-box.form-box--inline-button .hs-form-html form.hsfc-Form,
    .form-box.form-box--inline-button .hs_cos_wrapper form.hsfc-Form {
        display: block !important;
        padding: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        height: 60px !important;
        width: 100% !important;
        /* give the internal form its own visual container so it separates from the button */
        background: #ffffff !important;
        box-shadow: 0 6px 18px rgba(0,0,0,0.06) !important;
        /* use the same visible gray used elsewhere in the module so the 1px border is clear */
        border: 1px solid #D1C7CE !important;
        border-radius: 10px !important;
        margin-bottom: 10px !important;
    }

    .form-box.form-box--inline-button .hs-form-html [data-hsfc-id=Renderer] .hsfc-TextInput,
    .form-box.form-box--inline-button .hs_cos_wrapper [data-hsfc-id=Renderer] .hsfc-TextInput {
        /* padding: 12px !important; */
        box-sizing: border-box !important;
        text-align: center;
    }

    /* make the custom button full-width and placed after the form */
    .form-box.form-box--inline-button [data-hs-module-button],
    .form-box.form-box--inline-button .seu-estilo-custom {
        order: 2;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        /* restore a soft pink shadow so the button reads as its own component */
        /* remove top margin so total gap is controlled by the form's margin-bottom (10px) */
        margin: 0 !important;
        height: 60px !important;
        min-height: 60px !important;
        box-sizing: border-box !important;
        align-self: stretch !important;
        text-align: center !important;
    }
}
