@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap');

.eps_cases_hero_section {
    background-color: #F0F0F0;
    width: 100%;
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
    padding: 70px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.eps_cases_hero_container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

.eps_cases_hero_header {
    text-align: center;
    margin-bottom: 30px;
}

.eps_cases_hero_badge {
    font-weight: 800;
    font-size: 26px;
    line-height: 100%;
    color: #1A81BC;
    text-transform: uppercase;
    display: block;
    margin-bottom: 12px;
}

.eps_cases_hero_title {
    font-weight: 700;
    font-size: 36px;
    line-height: 40px;
    color: #000000;
    margin: 0 auto 5px auto;
    max-width: 35rem;
}

.eps_cases_hero_subtitle {
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    color: #000000;
    margin: 0 auto;
}

/* Formulário Principal Flex Grid */
.eps_cases_form {
    display: flex;
    gap: 40px;
    align-items: stretch;
}

.eps_cases_form_left,
.eps_cases_form_right {
    width: 100%;
    display: flex;
    flex-direction: column;
}


.eps_cases_form_right {
    display: flex;
    gap: 30px;
}

.eps_cases_form_left .input-m {
    margin-bottom: 20px;
}



.eps_cases_form_row_2col {
    display: flex;
    gap: 20px;

}

.eps_cases_form_row_2col .eps_cases_form_group {
    flex: 1;
}

.eps_cases_form_group {
    display: flex;
    flex-direction: column;
}




/* Estilização de Labels e Inputs */
.eps_cases_form_group label, 
.eps_cases_radio_title {
    font-weight: 400;
    font-size: 13px;
    line-height: 18.75px;
    color: #000000;
    display: block;
}

.eps_cases_form_group label {
    margin-bottom: 5px;
}

.eps_cases_radio_label {
    margin-bottom: 0 !important;
}

.eps_cases_form_group input {
    background-color: #11110D0D;
    border: 1px solid #9B9B99;
    border-radius: 12px;
    padding: 10px 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    color: #000000;
    outline: none;
    box-sizing: border-box;
    width: 100%;
}

.eps_cases_form_left input:hover,
.eps_cases_form_left input:focus {
    border: 1px solid #1A81BC !important;
}

.eps_cases_radio_label:hover .eps_cases_custom_radio,
.eps_cases_radio_label:focus .eps_cases_custom_radio{
    border: 1px solid #1A81BC !important;
}

.eps_cases_form_right textarea:hover,
.eps_cases_form_right textarea:focus {
    border: 1px solid #1A81BC !important;
}

.eps_cases_form_group input[type="text"],
.eps_cases_form_group input[type="email"],
.eps_cases_form_group textarea {
    background-color: #11110D0D;
    border: 1px solid #9B9B99;
    border-radius: 12px;
    padding: 10px 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    color: #000000;
    outline: none;
    box-sizing: border-box;
    width: 100%;
}

.eps_cases_form_group textarea {
    min-height: 210px;
}

/* Customização de Radios e Checkbox baseados na imagem */
.eps_cases_radio_group {
    flex-direction: row;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.eps_cases_radio_label {
    font-weight: 400;
    font-size: 16px;
    color: #000000;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}



/* Ocultar rádio padrão e usar um custom redondo cinza */
.eps_cases_radio_label input[type="radio"] {
   display: none;
}

.eps_cases_custom_radio {
    width: 18px;
    height: 18px;
    border: 1px solid #9B9B99;
    background-color: #11110D0D;
    border-radius: 50%;
    display: inline-block;
    position: relative;
}

.eps_cases_radio_label input[type="radio"]:checked + .eps_cases_custom_radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background-color: #1A81BC;
    border-radius: 50%;
}

/* Termo de consentimento */
.eps_cases_checkbox_group {
margin-top: 12px;
}

.eps_cases_checkbox_label {
    font-weight: 400;
    font-size: 12px;
    line-height: 20px;
    color: #000000;
    cursor: pointer;
}

.eps_cases_checkbox_label:hover {
    cursor: text !important;
}

.eps_cases_checkbox_label input {
    display: none;
}

/* Mensagem de Erro */
.eps_cases_error_message {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #B84242;
    font-weight: 400;
    font-size: 13px;
    margin-top: 10px;
}

.eps_cases_error_message img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

/* Sucesso */
.eps_cases_form_success_msg {
    background-color: #d4edda;
    color: #155724;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    font-weight: 500;
}

/* Botão Enviar */
.eps_cases_btn_submit {
    background-color: #1A81BC;
    color: #FFFFFF;
    border: none;
    border-radius: 12px;
    padding: 10px 18px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    width: 100%;
    margin-top: auto;
}

.eps_cases_btn_submit:hover {
    background-color: #146696;
}

/* Responsividade Mobile */
@media (max-width: 991px) {
    .eps_cases_hero_section {
        height: auto;
        padding: 40px;
    }

    .eps_cases_checkbox_group {
        margin-top: 0px;
    }
    .eps_cases_form {
        flex-direction: column;
        gap: 20px;
    }
    .eps_cases_form_row_2col {
        flex-direction: column;
        margin-bottom: 0;
    }
    .eps_cases_form_group textarea {
        min-height: 180px;
    }
    .eps_cases_hero_title {
        font-size: 24px;
        line-height: 34px;
        padding: 0 0rem;
    }
    .eps_cases_hero_badge {
        font-size: 18px;
    }

    .eps_cases_hero_subtitle {
    line-height: 24px;
    font-size: 14px;
           max-width: 270px;
    }

    .eps_cases_radio_group {
            gap: 20px 5px;
    }

 .eps_cases_radio_group .eps_cases_radio_label {
        font-size: 11px !important;
    }

    .eps_cases_radio_group {
        margin-top: 20px;
    }

    .eps_cases_checkbox_group {
        margin-bottom: 20px;
    }
}


.eps_cases_info_section {
    position: relative;   /* âncora para a imagem */
    overflow: hidden;     /* evita vazamento da imagem */
    width: 100%;
    padding: 85px 20px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* imagem de fundo gerenciável via ACF */
.eps_cases_info_bg_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
    pointer-events: none;
    user-select: none;
}

/* mantém o conteúdo acima da imagem */
.eps_cases_info_container {
    position: relative;
    z-index: 1;
}

.eps_cases_info_container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

.eps_cases_info_card {
    background: #EFEDED;
    border-radius: 30px;
    width: 100%;
    max-width: 1200px;
    box-shadow: 7px 7px 4px 0px rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
    padding: 50px 60px;
    display: flex;
    gap: 50px;
}

.eps_cases_info_left {
    flex: 1.1;
    display: flex;
    flex-direction: column;
}

.eps_cases_info_right {
    flex: 1.6;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Tipografias da Esquerda */
.eps_cases_info_main_title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 100%;
    text-transform: uppercase;
    color: #1A81BC;
    margin: 0;
}

.eps_cases_info_hours p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 25px;
    color: #000000;
    margin: 0 0 12px 0;
}

.eps_cases_info_hours p strong {
    font-weight: 700;
}

/* Lista de Itens com Ícones */
.eps_cases_info_list {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
}

.eps_cases_info_item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.eps_cases_info_icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin-top: 3px;
}

.eps_cases_info_text_block {
    display: flex;
    flex-direction: column;
}

.eps_cases_info_label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 4px;
}

.eps_cases_info_val {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 22px;
}

.eps_cases_info_val.lowercase {
    text-transform: none; /* Mantém os e-mails em caixa baixa se necessário */
    margin-bottom: 0px;
}

/* Container do Google Maps Embed */
.eps_cases_info_map_wrapper {
    width: 100%;
    height: 310px;
    overflow: hidden;
    box-shadow: 0px 4px 10px rgba(0,0,0,0.05);
}

.eps_cases_info_map_wrapper iframe {
    width: 100%;
    height: 100%;
}

/* Bloco de Endereço */
.eps_cases_info_address_block {
    margin-top: 25px;
    font-family: 'Montserrat', sans-serif;
        text-align: right;
    align-items: flex-end;
    display: flex;
    flex-direction: column;
}

.eps_cases_info_addr_title {
    font-weight: 700;
    font-size: 18px;
    color: #000000;
    display: block;
    margin-bottom: 5px;
}

.eps_cases_info_addr_text {
    font-weight: 700;
    font-size: 18px;
    line-height: 140%;
    color: #1C81BB;
    margin: 0;
    padding-left: 14rem;
}

/* Responsividade Pixel Perfect */
@media (max-width: 1024px) {
    .eps_cases_info_card {
        flex-direction: column;
        padding: 40px 30px;
        gap: 35px;
        min-height: auto;
    }
    .eps_cases_info_map_wrapper {
        height: 300px;
    }
}

@media (max-width: 768px) {

.eps_cases_form_right {
    gap: 15px;
}

    .eps_cases_info_card {
        flex-direction: column;
        padding: 40px 30px;
        gap: 30px;
        min-height: auto;
    }

    .eps_cases_info_section {
        padding: 40px 15px;
    }
    .eps_cases_info_main_title {
        font-size: 20px;
    }
    .eps_cases_info_hours p,
    .eps_cases_info_addr_title,
    .eps_cases_info_addr_text {
        font-size: 15px;
        line-height: 28px;
    }

    .eps_cases_info_addr_text {
        padding-left: 0;
        line-height: 20px;
    }
    .eps_cases_info_label,
    .eps_cases_info_val {
        font-size: 13px;
        color: #000 !important;
    }

    .eps_cases_info_section a[href^="tel"],
.eps_cases_info_section a[href^="tel"]:visited,
.eps_cases_info_section a[href^="tel"]:hover,
.eps_cases_info_section a[href^="tel"]:active {
    color: #000 !important;
}
}


/* ===== Animação pós-confirmação ===== */
.eps_cases_form_success_msg{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:16px;
    text-align:center;
    animation: epsSuccessPop .6s cubic-bezier(.22,1,.36,1) both;
}
.eps_cases_success_check{ display:inline-flex; animation: epsCheckCircle .55s ease-out both; }
.eps_cases_success_check_circle{
    stroke-dasharray:151; stroke-dashoffset:151;
    animation: epsCircleDraw .6s ease-out forwards;
}
.eps_cases_success_check_path{
    stroke-dasharray:48; stroke-dashoffset:48;
    animation: epsCheckDraw .4s .45s ease-out forwards;
}
.eps_cases_success_text{ animation: epsFadeUp .5s .3s both; }

@keyframes epsSuccessPop{
    0%{ opacity:0; transform:translateY(18px) scale(.96); }
    60%{ opacity:1; transform:translateY(-3px) scale(1.01); }
    100%{ opacity:1; transform:translateY(0) scale(1); }
}
@keyframes epsCheckCircle{
    0%{ transform:scale(0); opacity:0; }
    60%{ transform:scale(1.08); opacity:1; }
    100%{ transform:scale(1); opacity:1; }
}
@keyframes epsCircleDraw{ to{ stroke-dashoffset:0; } }
@keyframes epsCheckDraw{ to{ stroke-dashoffset:0; } }
@keyframes epsFadeUp{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:translateY(0);} }

/* ===== Tooltip obrigatório do "Você é:" ===== */
.eps_cases_radio_group{ position:relative; }

.eps_cases_radio_tooltip{
    position:absolute;
    left:0;
    top:calc(100% + 9px);
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    color:#3a3a3a;
    font-size:13px;
    line-height:1.25;
    padding:9px 12px;
    border:1px solid #bcbcbc;
    border-radius:4px;
    box-shadow:0 3px 8px rgba(0,0,0,.18);
    white-space:nowrap;
    z-index:60;
    opacity:0;
    visibility:hidden;
    transform:translateY(-6px);
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.eps_cases_radio_tooltip.show{ opacity:1; visibility:visible; transform:translateY(0); }
.eps_cases_radio_tooltip::before{
    content:"";
    position:absolute;
    top:-6px;
    left:20px;
    width:10px;height:10px;
    background:#fff;
    border-left:1px solid #bcbcbc;
    border-top:1px solid #bcbcbc;
    transform:rotate(45deg);
}
.eps_cases_radio_tooltip_icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;height:16px;
    background:#e8830c;
    color:#fff;
    font-weight:700;
    font-size:12px;
    line-height:1;
    border-radius:2px;
    flex:0 0 auto;
}
@media (prefers-reduced-motion: reduce){
    .eps_cases_form_success_msg,
    .eps_cases_success_check,
    .eps_cases_success_check_circle,
    .eps_cases_success_check_path,
    .eps_cases_success_text{ animation:none !important; }
    .eps_cases_success_check_circle,.eps_cases_success_check_path{ stroke-dashoffset:0 !important; }
}