/* ===== VARIÁVEIS CSS ===== */
:root {
    --brand-primary: #F25916;
    --brand-dark: #013532;
    --text-light: #FEEBDC;
    --text-dark: #173837;
    --container-max: 1200px;
    --gutter: 16px;
    --header-h: 80px;
    --hero-left-desktop: 96px;
    --rc-error-bg: #E8A4A0;
    --rc-error-text: #0F3A37;
    --rc-toast-shadow: 0 10px 18px rgba(0, 0, 0, .25);
}

/* ===== SITEMAP UNIFICADO ===== */
.sitemap-steps {
    display: flex;
    justify-content: center;
    gap: 24px;
    list-style: none;
    margin: 43.2px 0 0;
    padding: 0;
    z-index: 1;
    position: relative;
}

.sitemap-step {
    text-align: center;
    color: #FFF;
}

.sitemap-step img {
    display: block;
    margin: 0 auto 8px;
}

.sitemap-step.is-future img,
.sitemap-step.is-future .sitemap-step__title {
    opacity: .45;
}

.sitemap-step__title {
    display: block;
    font-family: Poppins, sans-serif;
    font-size: 10.12px;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: .439px;
    color: #FFF;
}

.sitemap-step__title strong {
    font-weight: 700;
}

/* ===== LISTA DE PRESTADORES ===== */
.lista-prestadores {
    position: fixed;
    top: 80px; /* Começar depois do header */
    right: 0;
    width: 330px; /* Alterado para 330px */
    height: calc(100vh - 80px); /* Altura total menos o header */
    background: #FFFFFF; /* Fundo branco */
    z-index: 1000;
    display: flex;
    flex-direction: column;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.lista-prestadores__header {
    background: #FFFFFF; /* Fundo branco */
    padding: 20px 15px 0px;
    /* sem linha separadora para aproximar os botões do título */
    border-bottom: none;
    position: relative;
}

.lista-prestadores__header h3 {
    font-family: Poppins, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #003532;
    margin: 0;
    text-align: left;
}

.btn-fechar {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-fechar img {
    filter: brightness(0) saturate(100%);
    width: 16px;
    height: 16px;
}

.lista-prestadores__content {
    flex: 1;
    overflow-y: auto;
    padding: 15px;
    background: #FFFFFF; /* Fundo branco */
}

.lista-prestadores__footer {
    padding: 20px;
    background: #FFFFFF;
    border-top: 1px solid #E5E7EB;
    text-align: center;
}

.btn-escolher-especialidade-lista {
    display: inline-flex;
    width: 100%;
    /*max-width: 280px;*/
    height: 42px;
    padding: 12px 20px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 100px;
    background: #F25916;
    color: #FFF;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.439px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.btn-escolher-especialidade-lista:hover {
    background: #e04a0f;
}

.prestador-item {
    display: flex;
    height: 113px;
    padding: 10px;
    justify-content: space-between;
    align-items: center; /* Centralizar verticalmente */
    flex-shrink: 0;
    align-self: stretch;
    border-radius: 8px;
    background: #F4F2EE;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    margin-bottom: 15px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.prestador-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 8px 0 rgba(0, 0, 0, 0.3);
}

.prestador-item img:first-child {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.prestador-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centralizar verticalmente no meio */
    margin-right: 15px;
}

.btn-usar-localizacao-lista {
    margin-top: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #F25916;
    color: #FFF;
    border: none;
    border-radius: 8px;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    justify-content: center;
}

.btn-usar-localizacao-lista:hover {
    background: #d14d12;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(242, 89, 22, 0.3);
}

.btn-usar-localizacao-lista svg {
    flex-shrink: 0;
}

.prestador-labels {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
}

.label-recomendado {
    display: flex;
    padding: 2px 10px;
    align-items: flex-start;
    gap: 10px;
    background: #FF6B35;
    color: #FFF;
    font-family: Comfortaa, sans-serif;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 14px */
    letter-spacing: 0.439px;
    border-radius: 12px;
    white-space: nowrap;
}

.icon-acreditado {
    width: 16px !important;
    height: 16px !important;
    object-fit: contain;
    display: inline-block;
    vertical-align: middle;
}

/* Especialidades em destaque na lista de prestadores */
.especialidades-destaque-container {
    margin-bottom: 16px;
    padding-left: 0px;
    padding-right: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
}

.especialidades-destaque-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
}

.especialidades-destaque-container.active {
    cursor: grabbing;
    user-select: none;
}

.especialidades-destaque-container {
    cursor: grab;
}

.especialidades-destaque {
    display: flex;
    gap: 12px;
    padding-bottom: 8px;
    min-width: max-content;
}

.especialidade-destaque-tag {
    background: #103F3A;
    border-radius: 9999px;
    padding: 10px 18px;
    font-family: Comfortaa, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    text-decoration: none;
    border: none;
    flex-shrink: 0;
}

.especialidade-destaque-tag:hover {
    background: #0a2d2a;
    transform: translateY(-1px);
}

.especialidade-destaque-tag:active {
    transform: scale(0.98);
}

.especialidade-destaque-tag.ativo {
    background: #FF6B35;
}

.especialidade-destaque-tag.ativo:hover {
    background: #e55a2b;
}

.prestador-nome {
    font-family: Comfortaa, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 19.6px */
    letter-spacing: 0.439px;
    color: #013532;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prestador-distancia {
    font-family: Comfortaa, sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    color: #F25916;
    margin-top: 4px;
    text-align: left;
}

.prestador-local {
    font-family: Comfortaa, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%; /* 19.6px */
    letter-spacing: 0.439px;
    color: #111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.arrow-icon {
    opacity: 0.6;
    flex-shrink: 0;
}

/* ===== ESPECIALIDADES (simples, logo abaixo do título) ===== */
.lista-prestadores__especialidades {
    background: #FFFFFF;
    padding: 0 15px 12px 15px; /* cola nos títulos, foca acima dos cards */
    display: flex;
    gap: 12px;
}

.especialidade-btn {
    display: flex;
    height: 27px;
    min-width: 18.534px;
    padding: 2.648px 7.943px;
    justify-content: center;
    align-items: center;
    gap: 5.296px;
    border-radius: 661.279px;
    border: 1px solid var(--cores-sistema-verde, #013532);
    background: #FFF;
    color: #013532;
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 400;
    cursor: pointer;
}

.especialidade-btn.is-selected {
    background: var(--cores-sistema-verde, #013532);
    color: var(--text-light);
}

/* ===== RESET E BASE ===== */
* {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    background: var(--brand-dark);
    color: #fff;
}

.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--gutter);
}

/* ===== HEADER ===== */
.site-header {
    background: #fff;
    border-bottom: 1px solid #E9ECEB;
    height: var(--header-h);
    position: sticky;
    top: 0;
    z-index: 10;
}

.header__inner {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
}

.logo svg {
    height: 28px;
    width: auto;
    display: block;
}

.nav-wrap {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
}

.site-nav[hidden] {
    display: none !important;
}

.site-nav ul {
    list-style: none;
    display: flex;
    gap: 28px;
    align-items: center;
    margin: 0;
    padding: 0;
}

.site-nav a {
    color: #153F3C;
    text-decoration: none;
    font-weight: 500;
}

.site-nav a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cta-client {
    margin-left: auto;
    background: #103F3A;
    border-radius: 9999px;
    padding: 10px 18px;
    font-weight: 500;
    color: var(--text-light);
    text-decoration: none;
    text-align: center !important;
}

.menu-toggle {
    margin-left: auto;
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
}

.menu-toggle span {
    width: 24px;
    height: 2px;
    background: var(--brand-primary);
}

/* ===== HERO ===== */
.hero {
    position: relative;
    min-height: calc(100vh - var(--header-h));
    display: flex;
    align-items: flex-start;
}

.hero__inner {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 40px var(--gutter);
}

.hero__title {
    font-weight: 800;
    line-height: 1.1;
    margin: 8px 0 16px;
}

.hero__title .encontre {
    color: var(--text-light);
    font-size: clamp(32px, 5vw, 64px);
    display: block;
}

.hero__title .especialidade {
    color: var(--brand-primary);
    font-size: clamp(32px, 5vw, 64px);
    display: block;
    margin-top: 2px;
}

/* ===== NOTAS E FORMULÁRIO ===== */
.note-lead,
.note {
    font-size: .95rem;
    color: #DDE8E6;
}

.note {
    margin-top: 12px;
}

.note a {
    color: #DDE8E6;
    text-decoration: underline;
}

.search {
    margin-top: 12px;
    display: grid;
    gap: 12px;
}

.search input {
    padding: 12px 16px;
    border: none;
    border-radius: 12px;
    background: #fff;
    color: #1D1D1D;
    font-size: 16px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    font-weight: 600;
    background: var(--brand-primary);
    color: #fff;
}

.btn .icon {
    display: inline-flex;
}

.btn .icon svg {
    width: 16px;
    height: 16px;
    display: block;
}

/* ===== FOOTER ===== */
.site-footer {
    display: none;
}

.site-footer-grafismo {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    display: flex !important;
    justify-content: center;
}

.site-footer-grafismo picture,
.site-footer-grafismo img {
    display: block;
    width: 100%;
    height: auto;
}

.site-footer-grafismo img {
    object-fit: cover;
}

/* ===== TOASTS E ERROS ===== */
.rc-input-error {
    background: var(--rc-error-bg) !important;
    color: var(--rc-error-text) !important;
}

.rc-input-error::placeholder {
    color: #003532 !important;
    opacity: .65 !important;
}

.rc-toast {
    position: fixed;
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--rc-error-bg);
    color: var(--rc-error-text);
    padding: 12px 16px;
    border-radius: 12px;
    box-shadow: var(--rc-toast-shadow);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s, transform .2s, visibility .2s;
    z-index: 9999;
    cursor: pointer;
}

.rc-toast__icon {
    width: 16px;
    height: 16px;
    display: block;
}

.rc-toast__text {
    font-size: 14px;
    font-weight: 600;
}

.rc-toast.rc-show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
}

/* ===== UTILITÁRIOS ===== */
.sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ===== ESTADOS DAS ETAPAS ===== */
body.in-etapa2 footer,
body.in-etapa1 footer,
body.in-etapa3 footer {
    display: none !important;
}

body.in-etapa2 .site-footer-grafismo,
body.in-etapa1 .site-footer-grafismo,
body.in-etapa3 .site-footer-grafismo {
    display: none !important;
}

body.in-etapa2,
body.in-etapa1,
body.in-etapa3 {
    background: #2e5352 !important;
}

/* ===== ESTILOS ADICIONAIS ===== */

/* Desktop overflow e padding */
@media (min-width: 768px) {
    body {
        overflow-y: hidden;
    }

    .hero {
        padding-top: 127.2px;
    }

    .hero__title {
        margin-bottom: 54px;
    }

    .site-footer-grafismo {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        display: flex !important;
    }
}

/* Mobile footer */
@media (max-width: 767.98px) {
    .site-footer-grafismo {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        display: flex !important;
        justify-content: center;
    }
}

/* ===== ETAPA 2 - LAYOUT ESPECÍFICO ===== */
#etapa2.etapa2 {
    position: relative;
}

#etapa2 .container {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Background único para etapas 2, 3 e 4 */
.etapas-bg {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    display: flex;
    justify-content: center;
    pointer-events: none;
    height: 40%;
}

.etapas-bg svg {
    width: 100%;
    height: auto;
}

/* Steps */
#etapa2 .et2-steps {
    display: flex;
    justify-content: center;
    gap: 56px;
    list-style: none;
    margin: 24px 0 24px;
    padding: 0;
    z-index: 1;
    position: relative;
}

#etapa2 .et2-step {
    text-align: center;
    color: #FFF;
}

#etapa2 .et2-step img {
    display: block;
    margin: 0 auto 8px;
}

#etapa2 .et2-step.is-future img {
    opacity: .45;
}

#etapa2 .et2-step__title {
    display: block;
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: .439px;
    color: #FFF;
}

#etapa2 .et2-step__title strong {
    font-weight: 700;
}

/* Selecionado */
#etapa2 .et2-selected {
    margin: 8px auto 16px;
    text-align: center;
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: .439px;
    color: #FFF;
    position: relative;
    z-index: 1;
}

/* Card */
#etapa2 .et2-card {
    position: relative;
    z-index: 1;
    margin: 0 auto 40px;
    width: 100%;
    max-width: 540px;
    background: rgba(21, 78, 78, .55);
    border-radius: 22px;
    padding: 28px 24px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, .25);
}

#etapa2 .et2-card__title {
    color: #FFF;
    text-align: center;
    font-family: Poppins, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: .439px;
    margin: 0 0 20px;
}

/* Selects */
#etapa2 .et2-selects {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

#etapa2 .et2-select {
    display: flex;
    width: 280px;
    height: 42px;
    padding: 10px;
    align-items: center;
    gap: 10px;
    border-radius: 5px;
    background: #FFF;
    border: none;
    color: #0B1F1E;
    font-family: Poppins, sans-serif;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23003532' d='M6 8L0 0h12L6 8z'/%3E/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px 8px;
    padding-right: 28px;
}

#etapa2 .et2-select.inativo {
    opacity: .7;
}

/* Botão de localização */
#etapa2 .et2-location {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
}

#etapa2 .btn--location {
    display: flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid #FF6B35;
    color: #FF6B35;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: 0.439px;
    padding: 10px 16px;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.2s ease;
}


#etapa2 .btn--location:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


.location-status {
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 0.439px;
    margin: 0;
    text-align: center;
}

.location-status.success {
    color: #28a745;
}

.location-status.error {
    color: #dc3545;
}

.location-status.loading {
    color: #FF6B35;
}

/* Ações */
#etapa2 .et2-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

#etapa2 .btn {
    border: none;
    border-radius: 9999px;
    padding: 12px 20px;
    font-family: Poppins, sans-serif;
    font-weight: 600;
    cursor: pointer;
}

#etapa2 .btn--primary {
    background: #F25916;
    color: #FEEBDC;
}

#etapa2 .btn--ghost {
    background: transparent;
    color: #FEEBDC;
    text-decoration: underline;
}

/* ===== ETAPA 4 ===== */
#etapa4.etapa4 {
    position: relative;
    overflow-y: auto;
    max-height: calc(100vh - 60px);
    padding-bottom: 40px;
}

#etapa4 .container {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 16px;
}


#etapa4 .et4-selected {
    margin-top: 73.14px;
    margin-bottom: 23px;
    text-align: center;
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #FFF;
}

#etapa4 .et4-card {
    position: relative;
    z-index: 1;
    margin: 0 auto 40px;
    width: 100%;
    max-width: 540px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 420px;
    height: auto;
    min-height: 416.432px;
    padding: 32px 20px;
    justify-content: flex-start;
    flex-shrink: 0;
    border-radius: 22px;
    background: #154E4E;
    gap: 24px;
}

#etapa4 .et4-card__title {
    color: #FFF;
    text-align: center;
    font-family: Poppins, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.439px;
    margin: 0;
}

#etapa4 .et4-search {
    margin-bottom: 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

#etapa4 .et4-search-input {
    display: flex;
    width: 280px;
    height: 42px;
    padding: 10px;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 5px;
    background: #FFF;
    border: none;
}

#etapa4 .et4-search-input:focus-within {
    outline: 2px solid var(--brand-primary);
    outline-offset: 2px;
}

#etapa4 .et4-search-icon {
    width: 20px;
    height: 20px;
    opacity: 1;
}

#etapa4 .et4-search-input input {
    flex: 1;
    border: none;
    outline: none;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    color: var(--text-dark);
    background: transparent;
}

#etapa4 .et4-search-input input::placeholder {
    color: #999;
}

#etapa4 .et4-suggestions {
    margin-bottom: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#etapa4 .et4-suggestions-label {
    color: #FFF;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    margin: 0 0 16px 0;
}

#etapa4 .et4-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    justify-content: center;
}

#etapa4 .et4-tag {
    display: flex;
    /* height: 27px; */
    min-width: 18.534px;
    padding: 2.648px 7.943px;
    justify-content: center;
    align-items: center;
    gap: 5.296px;
    border-radius: 661.279px;
    border: 1px solid var(--cores-sistema-pssego, #FEEBDC);
    color: var(--cores-sistema-pssego, #FEEBDC);
    text-align: center;
    font-family: Poppins;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 13.239px;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}

#etapa4 .et4-tag:hover {
    background: rgba(254, 235, 220, 0.1);
}

#etapa4 .et4-tag.selected {
    background: #FFF;
    color: var(--cores-sistema-verde, #013532);
    border-color: #FFF;
}

#etapa4 .et4-lista-link {
    background: none;
    border: none;
    color: #FFF;
    font-family: Poppins;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 0.439px;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
    text-align: center;
    width: 100%;
}

#etapa4 .et4-lista-link:hover {
    color: var(--cores-sistema-pssego, #FEEBDC);
}

#etapa4 .et4-actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    width: 100%;
}

#etapa4 .et4-actions .btn--primary {
    display: flex;
    width: 279px;
    height: 42px;
    padding: 12px 20px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 100px;
    background: var(--cores-sistema-laranja-ampla, #F25916);
    border: none;
    color: #FFF;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

#etapa4 .et4-actions .btn--primary:hover {
    background: #e04a0f;
}

#etapa4 .et4-actions .btn--ghost {
    background: none;
    border: none;
    color: #FEEBDC;
    font-family: Poppins;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: 0.439px;
    cursor: pointer;
    padding: 0;
}

#etapa4 .et4-actions .btn--ghost:hover {
    color: #FFF;
}

/* Autocomplete Especialidades - Estilo igual ao select2 da etapa 2 */
.autocomplete-especialidades {
    background-color: #FFF;
    border: 1px solid #E5E7EB;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    max-height: 200px;
    overflow-y: auto;
    z-index: 1000;
    margin-top: 2px;
}

.autocomplete-especialidades .autocomplete-item {
    padding: 8px 10px;
    cursor: pointer;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    color: #003532 !important;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
}

.autocomplete-especialidades .autocomplete-item:last-child {
    border-bottom: none;
}

.autocomplete-especialidades .autocomplete-item:hover {
    background-color: #003532 !important;
    color: #FFF !important;
}

.autocomplete-especialidades .autocomplete-item:active {
    background-color: #003532 !important;
    color: #FFF !important;
}

/* Modal Especialidades */
.modal-especialidades {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-especialidades-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
}

.modal-especialidades-content {
    position: relative;
    display: flex;
    width: 90%;
    max-width: 477px;
    height: 629px;
    padding: 32px 16px;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.modal-especialidades-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0;
    background: transparent;
    color: #013532;
}

.modal-especialidades-header h3 {
    color: #013532;
    font-family: Poppins, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.439px;
    margin: 0;
}

.modal-especialidades-body {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    padding: 0;
    background: transparent;
}

.lista-especialidades {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.grupo-letra {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-radius: 4px;
    background: #F4F2EE;
}

.letra-header {
    display: flex;
    padding: 24px 24px 0px 24px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    border-radius: 4px;
    background: #F4F2EE;
    color: #F25916;
    font-family: Poppins, sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.439px;
    margin: 0;
}

.grupo-especialidades {
    background: transparent;
    padding: 0;
    border-radius: 0 0 4px 4px;
    overflow: hidden;
}

.especialidade-item {
    padding: 16px 24px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: 0.439px;
    color: #111;
    background: transparent;
    position: relative;
}

.especialidade-item::before {
    content: '';
    position: absolute;
    left: 12px; /* Inicia 12px da margem da letra */
    bottom: 0;
    right: 12px; /* Termina na mesma distância */
    height: 1px;
    background: #E0E0E0;
}

.especialidade-item:hover {
    background: rgba(255, 255, 255, 0.5);
}

.especialidade-item:last-child {
    border-bottom: none;
}

.especialidade-item.selected {
    background: var(--brand-primary);
    color: #fff;
    border-color: var(--brand-primary);
}

/* ===== ETAPA 3 ===== */
#etapa3.etapa3 {
    position: relative;
}

#etapa3 .container {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 16px;
}


/* Steps */
#etapa3 .et3-steps {
    display: flex;
    justify-content: center;
    gap: 24px;
    list-style: none;
    margin: 43.2px 0 0;
    padding: 0;
    z-index: 1;
    position: relative;
}

#etapa3 .et3-step {
    text-align: center;
    color: #FFF;
}

#etapa3 .et3-step img {
    display: block;
    margin: 0 auto 8px;
}

#etapa3 .et3-step.is-future img {
    opacity: .45;
}

#etapa3 .et3-step.is-current img {
    opacity: 1;
}

#etapa3 .et3-step.is-future .et3-step__title {
    opacity: .45;
}

#etapa3 .et3-step__title {
    display: block;
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: .439px;
    color: #FFF;
}

#etapa3 .et3-step__title strong {
    font-weight: 700;
}

/* Selecionado */
#etapa3 .et3-selected {
    margin: 8px auto 16px;
    text-align: center;
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: .439px;
    color: #FFF;
    position: relative;
    z-index: 1;
}

/* Card */
#etapa3 .et3-card {
    position: relative;
    z-index: 1;
    margin: 0 auto 40px;
    width: 100%;
    max-width: 540px;
    background: rgba(21, 78, 78, .55);
    border-radius: 22px;
    padding: 28px 24px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, .25);
}

#etapa3 .et3-card__title {
    color: #FFF;
    text-align: center;
    font-family: Poppins, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: .439px;
    margin: 0 0 20px;
}

/* Options grid */
#etapa3 .et3-options {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}

#etapa3 .et3-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 20px 16px;
    background: rgba(21, 78, 78, .8);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 2px solid transparent;
}

#etapa3 .et3-option:hover {
    background: rgba(21, 78, 78, 1);
    border-color: #F25916;
}

#etapa3 .et3-option.selected {
    background: rgba(21, 78, 78, 1);
    border-color: #F25916;
}

#etapa3 .et3-option img {
    width: 42px;
    height: 42px;
    display: block;
}

#etapa3 .et3-option span {
    color: #FFF;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 140%;
    text-align: center;
}

/* Actions */
#etapa3 .et3-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

#etapa3 .btn {
    border: none;
    border-radius: 9999px;
    padding: 12px 20px;
    font-family: Poppins, sans-serif;
    font-weight: 600;
    cursor: pointer;
}

#etapa3 .btn--primary {
    background: #F25916;
    color: #FEEBDC;
}

#etapa3 .btn--ghost {
    background: transparent;
    color: #FEEBDC;
    text-decoration: underline;
}

/* ===== ETAPA 1 ===== */
#etapa1.etapa1 {
    position: relative;
    overflow-y: auto;
    max-height: calc(100vh - 60px);
    padding-bottom: 40px;
}

#etapa1 .container {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 16px;
}

#etapa1 .et1-bg {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    display: flex;
    justify-content: center;
    pointer-events: none;
    height: 350px;
}

#etapa1 .et1-bg svg {
    width: 100%;
    height: auto;
}

/* Steps */
#etapa1 .et1-steps {
    display: flex;
    justify-content: center;
    gap: 24px;
    list-style: none;
    margin: 43.2px 0 0;
    padding: 0;
    z-index: 1;
    position: relative;
}

#etapa1 .et1-step {
    text-align: center;
    color: #FFF;
}

#etapa1 .et1-step img {
    display: block;
    margin: 0 auto 8px;
}

#etapa1 .et1-step.is-future img {
    opacity: .45;
}

#etapa1 .et1-step__title {
    display: block;
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: .439px;
    color: #FFF;
}

#etapa1 .et1-step__title strong {
    font-weight: 700;
}

/* Card */
#etapa1 .et1-card {
    position: relative;
    z-index: 1;
    margin: 40px auto;
    width: 420px;
    height: auto;
    background: #154E4E;
    border-radius: 22px;
    padding: 32px 0;
    box-shadow: 0 14px 40px rgba(0,0,0,.25);
    display: flex;
    flex-direction: column;
    align-items: center;
}

#etapa1 .et1-card__title {
    color: #FFF;
    text-align: center;
    font-family: Poppins, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: .439px;
    margin: 0 0 42px;
}

/* Radio options */
#etapa1 .et1-options {
    display: flex;
    gap: 32px;
    margin-bottom: 32px;
}

#etapa1 .et1-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

#etapa1 .et1-option input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: #F25916;
}

#etapa1 .et1-option__text {
    color: #FFF;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    font-weight: 500;
}

/* Select */
#etapa1 .et1-selects {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

#etapa1 .et1-select {
    display: flex;
    width: 280px;
    height: 42px;
    padding: 10px;
    align-items: center;
    gap: 10px;
    border-radius: 5px;
    background: #FFF;
    border: none;
    color: #0B1F1E;
    font-family: Poppins, sans-serif;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23003532' d='M6 8L0 0h12L6 8z'/%3E/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px 8px;
    padding-right: 28px;
}

/* Actions */
#etapa1 .et1-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

#etapa1 .btn {
    border: none;
    border-radius: 9999px;
    padding: 12px 20px;
    font-family: Poppins, sans-serif;
    font-weight: 600;
    cursor: pointer;
}

#etapa1 .btn--primary {
    background: #F25916;
    color: #FEEBDC;
    display: flex;
    width: 279px;
    height: 42px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: 0.439px;
}

#etapa1 .btn--ghost {
    background: transparent;
    color: #FFF;
    text-decoration: none;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: 0.439px;
}

/* Help text */
#etapa1 .et1-help {
    text-align: center;
    color: #FFF;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.439px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
}

#etapa1 .et1-help__icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
}

#etapa1 .et1-help__link {
    color: #FFF;
    text-decoration: underline;
}

/* Etapas futuras */
#etapa1 .et1-step.is-future .et1-step__title,
#etapa2 .et2-step.is-future .et2-step__title {
    opacity: .45;
}

/* ===== SELECT2 ===== */
/* Select2 para etapa 1 */
#etapa1 .select2-container--default .select2-selection--single {
    background-color: #FFF;
    border: none;
    border-radius: 5px;
    height: 42px;
    display: flex;
    align-items: center;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    color: #0B1F1E;
    width: 280px;
    padding: 10px;
    padding-right: 28px;
    gap: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23003532' d='M6 8L0 0h12L6 8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px 8px;
}

#etapa1 .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #0B1F1E;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    line-height: 22px;
    padding-left: 0;
    padding-right: 0;
}

#etapa1 .select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none;
}

#etapa1 .select2-container--default .select2-selection--single .select2-selection__clear {
    display: none;
}

#etapa1 .select2-dropdown {
    background-color: #FFF;
    border: 1px solid #E5E7EB;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin-top: 2px;
}

#etapa1 .select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #E5E7EB;
    border-radius: 3px;
    padding: 8px;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    color: #003532;
}

#etapa1 .select2-container--default .select2-results__option {
    padding: 8px 10px;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    color: #003532 !important;
}

#etapa1 .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #003532 !important;
    color: #FFF !important;
}

#etapa1 .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #003532 !important;
    color: #FFF !important;
}

#etapa1 .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #003532;
    font-family: Poppins, sans-serif;
    font-size: 14px;
}

/* Select2 para etapa 2 */
#etapa2 .select2-container--default .select2-selection--single {
    background-color: #FFF;
    border: none;
    border-radius: 5px;
    height: 42px;
    display: flex;
    align-items: center;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    color: #0B1F1E;
    width: 280px;
    padding: 10px;
    padding-right: 28px;
    gap: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23003532' d='M6 8L0 0h12L6 8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px 8px;
}

#etapa2 .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #0B1F1E;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    line-height: 22px;
    padding-left: 0;
    padding-right: 0;
}

#etapa2 .select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none;
}

#etapa2 .select2-container--default .select2-selection--single .select2-selection__clear {
    display: none;
}

#etapa2 .select2-dropdown {
    background-color: #FFF;
    border: 1px solid #E5E7EB;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin-top: 2px;
}

#etapa2 .select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #E5E7EB;
    border-radius: 3px;
    padding: 8px;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    color: #003532;
}

#etapa2 .select2-container--default .select2-results__option {
    padding: 8px 10px;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    color: #003532 !important;
}

#etapa2 .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #003532 !important;
    color: #FFF !important;
}

#etapa2 .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #003532 !important;
    color: #FFF !important;
}

#etapa2 .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #003532;
    font-family: Poppins, sans-serif;
    font-size: 14px;
}

/* Força a cor das opções com especificidade máxima */
#etapa2 .select2-results__option,
#etapa2 .select2-container--default .select2-results__option {
    color: #003532 !important;
}

#etapa2 .select2-results__option--highlighted[aria-selected] {
    background-color: #003532 !important;
    color: #FFF !important;
}

#etapa2 .select2-results__option[aria-selected=true] {
    background-color: #003532 !important;
    color: #FFF !important;
}

/* Sobrescreve TODAS as opções com a cor correta */
.select2-results__option {
    color: #003532 !important;
}

/* ===== RESPONSIVIDADE ===== */
@media (max-width: 767.98px) {
    /* Mobile nav panel */
    .nav-wrap {
        display: none;
    }

    .cta-client {
        display: none;
    }

    .site-nav {
        position: absolute;
        top: var(--header-h);
        left: 0;
        right: 0;
        background: #fff;
        border-bottom: 1px solid #E9ECEB;
    }

    .site-nav ul {
        flex-direction: column;
        padding: 16px;
        gap: 16px;
    }

    .site-nav a {
        color: #153F3C;
    }

    /* Hero mobile */
    .hero {
        padding-top: 55px;
    }

    .hero__title {
        margin-bottom: 28px;
    }

    /* Search mobile */
    .search {
        flex-direction: column;
        gap: 28px;
    }

    .search .btn {
        width: 100%;
        justify-content: center;
        padding: 12px 20px;
        font-size: 16px;
        font-weight: 600;
        min-height: 48px;
        gap: 10px;
        white-space: nowrap;
    }

    .search input {
        width: 100%;
        text-align: center;
        min-height: 48px;
    }

    body {
        overflow-y: hidden;
    }

    /* Footer mobile */
    .site-footer-grafismo {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        display: flex !important;
        justify-content: stretch;
    }

    main,
    .hero {
        padding-bottom: 140px;
    }

    /* Toast mobile */
    .rc-toast {
        left: 50%;
        bottom: 200px;
        transform: translate(-50%, 8px);
        z-index: 9999;
    }

    .rc-toast.rc-show {
        transform: translate(-50%, 0);
    }

    .rc-toast__icon {
        width: 18px;
        height: 18px;
    }

    /* Etapa 2 mobile */
    #etapa2 .et2-steps {
        gap: 28px;
        margin-top: 40px;
        margin-bottom: 0;
    }

    #etapa2 .et2-selected {
        margin-top: 40px;
        margin-bottom: 0;
    }

    #etapa2 .et2-card {
        width: 335px;
        border-radius: 22px;
        background: #154E4E;
        margin-top: 40px;
        padding: 40px 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #etapa2 .et2-step__title {
        font-size: 10.151px;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: 0.439px;
    }

    #etapa2 .et2-card__title {
        color: #FFF;
        text-align: center;
        font-family: Poppins, sans-serif;
        font-size: 18px;
        font-style: normal;
        font-weight: 700;
        line-height: 140%;
        letter-spacing: 0.439px;
        margin-bottom: 20px;
    }

    #etapa2 .et2-selected {
        color: #FFF;
        text-align: center;
        font-family: Poppins, sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.439px;
    }

    #etapa2 .et2-actions .btn--primary,
    #etapa2 .et2-actions .btn--ghost {
        font-family: Poppins, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.439px;
    }

    #etapa2 .et2-actions .btn--primary {
        display: flex;
        width: 279px;
        height: 42px;
        padding: 12px 20px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        color: #FFF;
    }

    #etapa2 .et2-actions .btn--ghost {
        color: #FFF;
        font-family: Poppins, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.439px;
        text-decoration: none;
    }
    
    /* Botão de localização - Mobile */
    #etapa2 .btn--location {
        font-size: 12px;
        padding: 8px 14px;
    }
    
    .location-status {
        font-size: 11px;
    }

    /* Etapa 1 mobile */
    #etapa1 .et1-steps {
        margin-top: 40px;
        margin-bottom: 0;
        gap: 28px;
    }

    #etapa1 .et1-step__title {
        font-size: 10.151px;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: 0.439px;
    }

    #etapa1 .et1-card {
        width: 335px;
        height: auto;
        border-radius: 22px;
        background: #154E4E;
        margin: 40px auto;
        padding: 40px 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #etapa1 .et1-options {
        flex-direction: row;
        gap: 32px;
        margin-bottom: 24px;
        justify-content: center;
    }

    #etapa1 .et1-select {
        width: 280px;
        height: 42px;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23003532' d='M6 8L0 0h12L6 8z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
        background-size: 12px 8px;
        padding-right: 28px;
    }

    #etapa1 .et1-actions .btn--primary {
        width: 279px;
        height: 42px;
        font-size: 14px;
        font-weight: 500;
    }

    #etapa1 .et1-actions .btn--ghost {
        font-size: 14px;
        font-weight: 500;
        text-decoration: none;
    }

    #etapa1 .et1-help {
        font-size: 12px;
        line-height: 140%;
    }

    /* Select2 mobile */
    #etapa1 .select2-container,
    #etapa2 .select2-container {
        width: 280px !important;
    }

    /* Etapa 3 mobile */
    #etapa3 .et3-steps {
        margin-top: 40px;
        margin-bottom: 0;
        gap: 28px;
    }

    #etapa3 .et3-step__title {
        font-size: 10.151px;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: 0.439px;
    }

    #etapa3 .et3-selected {
        margin-top: 40px;
        margin-bottom: 0;
    }

    #etapa3 .et3-card {
        width: 335px;
        border-radius: 0;
        background: transparent;
        margin-top: 0;
        padding: 40px 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        box-shadow: none;
    }

    #etapa3 .et3-options {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        margin-bottom: 24px;
        justify-items: center;
    }

    #etapa3 .et3-option {
        width: 150px;
        height: 150px;
        padding: 20px 16px;
        background: #2B6665;
        border-radius: 22px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
    }

    #etapa3 .et3-option span {
        font-size: 12px;
        text-align: center;
        padding: 0 8px;
    }

    #etapa3 .et3-actions .btn--primary {
        width: 279px;
        height: 42px;
        font-size: 14px;
        font-weight: 500;
    }

    #etapa3 .et3-actions .btn--ghost {
        font-size: 14px;
        font-weight: 500;
        text-decoration: none;
    }

    /* Etapa 4 mobile */
    #etapa4 .et4-selected {
        margin-top: 40px;
        margin-bottom: 0;
    }

    #etapa4 .et4-card {
        width: 335px;
        min-height: auto;
        border-radius: 22px;
        background: #154E4E;
        margin: 40px auto;
        padding: 40px 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }
}

@media (min-width: 768px) {
    .menu-toggle {
        display: none;
    }

    .nav-wrap {
        display: flex;
    }

    .site-nav {
        display: block !important;
        position: static;
    }

    /* Hero desktop */
    .hero {
        padding-top: 127.2px;
    }

    .hero__title {
        margin-bottom: 54px;
    }

    .site-footer-grafismo {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        display: flex !important;
    }

    /* Search desktop */
    .search {
        grid-template-columns: 162px 134px;
        align-items: center;
        gap: 12px;
    }

    .search input {
        width: 162px;
    }

    .search .btn {
        width: 134px;
        padding: 12px 20px;
        gap: 10px;
        white-space: nowrap;
    }

    /* Toast desktop */
    .rc-toast {
        top: 140px;
        right: 80px;
        transform: translateY(-8px);
    }

    .rc-toast.rc-show {
        transform: translateY(0);
    }

    /* Etapa 2 desktop */
    #etapa2 .et2-steps {
        margin: 43.2px 0 0;
        gap: 24px;
    }

    #etapa2 .et2-step__title {
        font-weight: 400;
    }

    #etapa2 .et2-selected {
        margin-top: 73.14px;
        margin-bottom: 23px;
    }

    #etapa2 .et2-card {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 420px;
        height: 339px;
        padding: 32px 0;
        border-radius: 22px;
        background: #154E4E;
        margin-left: auto;
        margin-right: auto;
        padding-top: 42px;
    }

    #etapa2 .et2-card__title {
        margin-bottom: 42px;
    }

    #etapa2 .et2-actions .btn--primary {
        display: flex;
        width: 279px;
        height: 42px;
        padding: 12px 20px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        font-family: Poppins, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.439px;
        color: #FFF;
        border-radius: 9999px;
    }

    #etapa2 .et2-actions .btn--ghost {
        color: #FFF;
        font-family: Poppins, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.439px;
        text-decoration: none;
    }

    /* Etapa 1 desktop */
    #etapa1 .et1-steps {
        gap: 24px;
    }

    /* Etapa 3 desktop */
    #etapa3 .et3-steps {
        gap: 24px;
    }

    #etapa3 .et3-selected {
        margin-top: 73.14px;
        margin-bottom: 23px;
    }

         #etapa3 .et3-card {
         display: flex;
         flex-direction: column;
         align-items: center;
         width: 100%;
         max-width: 800px;
         padding: 0;
         border-radius: 0;
         background: transparent;
         margin-left: auto;
         margin-right: auto;
         box-shadow: none;
     }

    #etapa3 .et3-card__title {
        margin-bottom: 42px;
    }

    #etapa3 .et3-options {
        display: flex;
        flex-direction: row;
        gap: 17px;
        margin-bottom: 24px;
        width: 100%;
        justify-content: center;
    }

    #etapa3 .et3-option {
        width: 172px;
        height: 172px;
        padding: 0;
        background: #2B6665;
        border-radius: 22px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
    }

    #etapa3 .et3-option span {
        font-size: 14px;
        text-align: center;
        padding: 0 16px;
    }

    #etapa3 .et3-actions .btn--primary {
        display: flex;
        width: 279px;
        height: 42px;
        padding: 12px 20px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        font-family: Poppins, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.439px;
        color: #FFF;
        border-radius: 9999px;
    }

    #etapa3 .et3-actions .btn--ghost {
        color: #FFF;
        font-family: Poppins, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 140%;
        letter-spacing: 0.439px;
        text-decoration: none;
    }

    /* Select2 desktop */
    #etapa1 .select2-container--default .select2-selection--single,
    #etapa2 .select2-container--default .select2-selection--single {
        width: 280px;
        height: 42px;
        padding: 10px;
        padding-right: 28px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23003532' d='M6 8L0 0h12L6 8z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
        background-size: 12px 8px;
    }

    #etapa1 .select2-container--default .select2-selection--single .select2-selection__rendered,
    #etapa2 .select2-container--default .select2-selection--single .select2-selection__rendered {
        padding-left: 0;
        padding-right: 0;
        line-height: 22px;
    }

    #etapa1 .select2-container--default .select2-selection--single .select2-selection__arrow,
    #etapa2 .select2-container--default .select2-selection--single .select2-selection__arrow {
        display: none !important;
    }

    #etapa1 .select2-results__option,
    #etapa2 .select2-results__option {
        color: #003532 !important;
    }

    .select2-results__option {
        color: #003532 !important;
    }

    #etapa1 .select2-results__option--highlighted[aria-selected],
    #etapa2 .select2-results__option--highlighted[aria-selected] {
        background-color: #003532 !important;
        color: #FFF !important;
    }

    #etapa1 .select2-results__option[aria-selected=true],
    #etapa2 .select2-results__option[aria-selected=true] {
        background-color: #003532 !important;
        color: #FFF !important;
    }
}

@media (min-width: 1024px) {
    .hero__inner {
        padding-left: calc(var(--hero-left-desktop));
    }

    .hero__title .encontre,
    .hero__title .especialidade {
        font-family: 'Poppins', sans-serif;
        font-size: 51.75px;
        font-style: normal;
        font-weight: 700;
        line-height: 51px;
    }

    .search .btn {
        color: var(--text-light);
    }

    .cta-client {
        font-size: 14px;
        text-align: center !important;
    }

    .search input::placeholder {
        color: var(--text-light);
        opacity: 1;
    }

    .site-nav a,
    .cta-client {
        line-height: 20px;
    }
}

/* ===== ETAPA 3 - SELEÇÃO VISUAL ===== */
#etapa3 .et3-option.selected {
    background: #FEEBDC !important;
    border: 2px solid #FF6B35;
}

#etapa3 .et3-option.selected span {
    color: #003532;
}

#etapa3 .et3-option.selected img {
    filter: brightness(0) saturate(100%) invert(8%) sepia(100%) saturate(1000%) hue-rotate(180deg) brightness(90%) contrast(120%);
}

/* Botão Escolher especialidade - inicialmente oculto */
#btn-escolher-especialidade {
    display: none;
}

/* ===== RESPONSIVO MOBILE ===== */
@media (max-width: 1023px) {
    .lista-prestadores {
        top: 60px; /* Header menor no mobile */
        height: calc(100vh - 60px);
        width: 330px; /* Manter largura de 330px no mobile */
        left: 0; /* Posicionar à esquerda no mobile */
        right: auto; /* Remover posicionamento à direita */
        border-radius: 0; /* Sem cantos arredondados no mobile */
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1); /* Sombra à direita */
    }
    
    /* Etapa 3 - Garantir scroll para ver botão voltar */
    #etapa3 {
        overflow-y: auto;
        max-height: calc(100vh - 60px);
        padding-bottom: 100px;
    }
    
    /* Etapa 4 - Remover scroll lateral */
    #etapa4 {
        overflow-x: hidden;
        width: 100%;
    }
    
    #etapa4 .container {
        max-width: 100%;
        overflow-x: hidden;
    }
    
    .lista-prestadores__header {
        padding: 15px 20px;
        border-bottom: 1px solid #E0E0E0;
        background: #FFFFFF;
    }
    
    .lista-prestadores__header h3 {
        font-size: 16px;
        text-align: center;
    }
    
    .lista-prestadores__content {
        padding: 15px;
        background: #FFFFFF;
        padding-bottom: 120px; /* Mais espaço para o footer fixo */
        overflow-y: auto;
        flex: 1;
    }
    
    .lista-prestadores__footer {
        padding: 20px 15px;
        background: #FFFFFF;
        border-top: 1px solid #E5E7EB;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 330px;
        z-index: 10;
    }
    
    .btn-escolher-especialidade-lista {
        width: 100%;
        max-width: none;
        font-size: 14px;
        height: 48px;
        font-weight: 600;
    }
    
    .prestador-item {
        display: flex;
        height: 113px;
        padding: 10px;
        justify-content: space-between;
        align-items: center;
        flex-shrink: 0;
        align-self: stretch;
        border-radius: 8px;
        background: #F4F2EE;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    }
    
    .prestador-item img:first-child {
        width: 24px;
        height: 24px;
    }
    
    .prestador-info {
        margin-right: 15px;
        justify-content: center;
    }
    
    .prestador-labels {
        margin-bottom: 8px;
        gap: 10px;
    }
    
    .label-recomendado {
        padding: 2px 10px;
        font-size: 10px;
        letter-spacing: 0.439px;
    }
    
    .icon-acreditado {
        width: 16px !important;
        height: 16px !important;
        object-fit: contain;
        display: inline-block;
        vertical-align: middle;
    }
    
    /* Especialidades em destaque - Mobile */
    .especialidades-destaque-container {
        margin-bottom: 12px;
        padding-left: 0px;
        padding-right: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE and Edge */
    }
    
    .especialidades-destaque-container::-webkit-scrollbar {
        display: none; /* Chrome, Safari and Opera */
    }
    
    .especialidades-destaque {
        gap: 8px;
        padding-bottom: 6px;
        min-width: max-content;
    }
    
    .especialidade-destaque-tag {
        padding: 8px 14px;
        font-size: 12px;
        flex-shrink: 0;
    }
    
    .prestador-nome {
        font-size: 14px;
        margin-bottom: 4px;
        letter-spacing: 0.439px;
    }
    
    .prestador-local {
        font-size: 14px;
        letter-spacing: 0.439px;
    }
    
    .lista-prestadores__especialidades {
        padding: 15px 20px;
    }
    
    .lista-prestadores__especialidades h4 {
        font-size: 16px;
        margin-bottom: 12px;
    }
    
    .especialidades-buttons {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    
    .especialidade-btn {
        font-size: 13px;
        padding: 10px 8px;
    }
}

/* ===== GALAXY S24+ E TELAS GRANDES ===== */
@media (max-width: 1023px) and (min-height: 800px) {
    .lista-prestadores {
        height: calc(100vh - 60px);
        width: 330px;
    }
    
    .lista-prestadores__footer {
        width: 330px;
    }
    
    .lista-prestadores__content {
        padding-bottom: 140px; /* Mais espaço para telas maiores */
    }
    
    .btn-escolher-especialidade-lista {
        height: 52px;
        font-size: 15px;
    }
    
    /* Etapa 3 - Mais espaço para scroll */
    #etapa3 {
        padding-bottom: 120px;
    }
    
    /* Modal especialidades para telas grandes */
    .modal-especialidades-content {
        width: 85%;
        max-width: 400px;
        height: calc(100vh - 80px);
        max-height: 600px;
        margin: 40px 20px;
    }
}

/* ===== LISTA PRESTADORES ===== */
.lista-prestadores {
    z-index: 100;
}

/* ===== MODAL DETALHES PRESTADOR ===== */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2100; /* Maior que modal do mapa (2000) para aparecer sobre ele */
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-detalhes-prestador {
    display: flex;
    width: 648px;
    height: 650px;
    padding: 32px 16px 32px 32px;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    position: relative;
    border-radius: 16px;
    background: #FFF;
    z-index: 1001;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    max-height: 90vh;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 10px;
}

.modal-header h2 {
    color: var(--brand-dark);
    font-family: Poppins, sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}

.btn-fechar-modal {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    transition: background-color 0.2s;
    z-index: 1002;
    position: relative;
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 32px;
}

.btn-fechar-modal:hover {
    background-color: #f0f0f0;
}

.modal-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    align-items: center;
    overflow-y: auto;
    flex: 1;
    padding-right: 8px;
}

/* Estilização da barra de scroll */
.modal-content::-webkit-scrollbar {
    width: 6px;
}

.modal-content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.modal-content::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.modal-content::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

.detalhe-bloco {
    display: flex;
    padding: 10px;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
    border-radius: 4px;
    background: var(--cores-sistema-atmosfera, #F4F2EE);
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.detalhe-label {
    color: var(--brand-primary);
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

.detalhe-valor {
    color: var(--text-dark);
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 400;
    width: 100%;
}

.prestador-nome-completo {
    margin-bottom: 8px;
}

.prestador-acreditacoes {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.contato-link {
    color: var(--text-dark);
    text-decoration: underline;
    font-weight: 500;
}

.contato-link:hover {
    color: var(--brand-primary);
}

.imagem-bloco {
    padding: 0;
    background: transparent;
}

.prestador-imagem {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 8px;
}

.endereco-completo div {
    margin-bottom: 4px;
}

.endereco-completo div:last-child {
    margin-bottom: 0;
}

.mapa-bloco {
    padding: 0;
    background: transparent;
}

.mapa-bloco iframe {
    border-radius: 8px;
}

/* Loading do mapa */
.mapa-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 200px;
    width: 100%;
    background: #f8f9fa;
    border-radius: 8px;
    gap: 16px;
}

.mapa-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #e3e3e3;
    border-top: 3px solid var(--brand-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.mapa-loading p {
    color: var(--text-dark);
    font-family: Poppins, sans-serif;
    font-size: 14px;
    margin: 0;
    font-weight: 500;
}

.especialidades-lista {
    list-style: disc;
    padding-left: 20px;
    margin: 0;
}

.especialidades-lista li {
    padding: 4px 0;
    border-bottom: 1px solid #e0e0e0;
}

.especialidades-lista li:last-child {
    border-bottom: none;
}

.planos-lista {
    width: 100%;
}

.plano-item {
    border-radius: 4px;
    margin-bottom: 8px;
    overflow: hidden;
}

.plano-item:last-child {
    margin-bottom: 0;
}

.plano-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    background: #f8f8f8;
    cursor: pointer;
    transition: background-color 0.2s;
}

.plano-header:hover {
    background: #f0f0f0;
}

.plano-nome {
    font-weight: 500;
    color: var(--text-dark);
}

.plano-toggle {
    font-size: 18px;
    font-weight: bold;
    color: var(--brand-primary);
    user-select: none;
}

.plano-detalhes {
    padding: 12px;
    background: #fff;
    border-top: 1px solid #e0e0e0;
}

.plano-info p {
    margin: 8px 0;
    font-size: 13px;
}

.status-tag {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.status-tag.ativo {
    background: #4CAF50;
    color: white;
}

.status-tag.inativo {
    background: #f44336;
    color: white;
}

.site-link {
    color: var(--brand-primary);
    text-decoration: underline;
    word-break: break-all;
}

.site-link:hover {
    color: var(--brand-dark);
}

/* Loading do modal */
.loading-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 20px;
}

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--brand-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-container p {
    color: var(--text-dark);
    font-family: Poppins, sans-serif;
    font-size: 14px;
    margin: 0;
}


/* Responsividade do modal */
@media (max-width: 768px) {
    .modal-detalhes-prestador {
        width: 90%;
        max-width: 648px;
        height: calc(100vh - 100px);
        max-height: 650px;
    }
    
    .modal-especialidades-content {
        width: 90%;
        max-width: 350px;
        height: calc(100vh - 60px);
        max-height: 500px;
        margin: 30px 15px;
        padding: 20px 15px;
    }
}

/* ===== LOADING GLOBAL ===== */
.global-loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(1, 53, 50, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    backdrop-filter: blur(4px);
}

.loading-spinner {
    position: relative;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.spinner-ring {
    position: absolute;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    animation: spin 2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}

.spinner-ring:nth-child(1) {
    border: 4px solid transparent;
    border-top-color: #F25916;
    animation-delay: -0.45s;
}

.spinner-ring:nth-child(2) {
    border: 4px solid transparent;
    border-top-color: #FEEBDC;
    animation-delay: -0.3s;
}

.spinner-ring:nth-child(3) {
    border: 4px solid transparent;
    border-top-color: #F25916;
    animation-delay: -0.15s;
    opacity: 0.5;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* ===== MODAL MAPA ===== */
.modal-mapa {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-mapa-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
}

.modal-mapa-content {
    position: relative;
    display: flex;
    width: 90%;
    max-width: 800px;
    height: 80vh;
    max-height: 600px;
    padding: 0;
    flex-direction: column;
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.modal-mapa-header {
    padding: 20px 24px;
    border-bottom: 1px solid #E5E5E5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FFF;
}

.modal-mapa-header h3 {
    font-family: Poppins, sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #013532;
    margin: 0;
}

.modal-mapa-body {
    flex: 1;
    overflow: hidden;
    position: relative;
}

.mapa-container {
    width: 100%;
    height: 100%;
    position: relative;
}

#mapa-google {
    width: 100%;
    height: 100%;
}

/* Botão Ver no Mapa */
.btn-ver-mapa-lista {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    background: transparent;
    color: #013532;
    border: 1px solid #013532;
    border-radius: 8px;
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
}

.btn-ver-mapa-lista:hover {
    background: #013532;
    color: #FFF;
}

.btn-ver-mapa-lista svg {
    flex-shrink: 0;
}

.lista-prestadores__footer {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 15px;
    background: #FFF;
    border-top: 1px solid #E5E5E5;
}

/* Quando tiver apenas um botão no footer */
.lista-prestadores__footer button:only-child {
    width: 100%;
}

/* Customizar popup do Google Maps */
.mapa-popup {
    padding: 10px;
    min-width: 200px;
    max-width: 260px;
}

.mapa-popup-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.mapa-popup-nome {
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #013532;
    flex: 1;
    line-height: 1.3;
}

.mapa-popup-close {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #666;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.mapa-popup-close:hover {
    background: #F5F5F5;
    color: #013532;
}

.mapa-popup-acreditacoes {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-bottom: 6px;
}

.mapa-popup-acreditacoes img {
    flex-shrink: 0;
}

.mapa-popup-endereco {
    font-family: Poppins, sans-serif;
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
    line-height: 1.4;
}

.mapa-popup-btn {
    display: inline-block;
    width: 100%;
    padding: 6px 12px;
    background: #F25916;
    color: #FFF;
    border: none;
    border-radius: 4px;
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
}

.mapa-popup-btn:hover {
    background: #d14d12;
}

/* Remover o botão de fechar padrão do Google Maps */
.gm-style .gm-style-iw-c {
    padding: 0 !important;
}

.gm-style .gm-style-iw-d {
    overflow: auto !important;
}

.gm-style .gm-ui-hover-effect {
    display: none !important;
}

/* Marcador customizado */
.custom-marker {
    background: transparent;
    border: none;
}

/* Responsivo para modal do mapa */
@media (max-width: 768px) {
    .modal-mapa-content {
        width: 95%;
        height: 90vh;
        max-height: none;
    }
}
