:root {
    --verde: #00913A;
    --verde-escuro: #007D31;
    --cinza: #F4F6F8;
}

body {
    font-family: 'Poppins', sans-serif;
    background: var(--cinza);
}

.wizard-step { display: none; animation: fade .3s ease-in-out; }
.wizard-step.active { display: block; }

@keyframes fade { from {opacity: 0;} to {opacity: 1;} }

.steps-indicator { text-align:center; margin-bottom:25px; margin-top:25px }
.step-dot {
    width:15px;height:15px;display:inline-block;margin:0 8px;
    border-radius:50%;background:#ccc;transition:.3s;
}
.step-dot.active { background:var(--verde);transform:scale(1.2); }

.btn-wizard { background:var(--verde);color:#fff;font-weight:600; height:52px; }
.btn-wizard:hover { background:var(--verde-escuro); }

/* Botão voltar com mesmo estilo básico, porém contornado */
.btn-outline-wizard {
    background-color:#fff;
    color:var(--verde);
    border:2px solid var(--verde);
    font-weight:600;
    height:52px;
}
.btn-outline-wizard:hover {
    background-color:#e6f6ec;
    color:var(--verde-escuro);
    border-color:var(--verde-escuro);
}

.card-form {
    border-radius:16px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* ==============================
   ALTURA PADRÃO PREMIUM (52px)
   ============================== */

.form-control,
.form-select {
    height: 52px !important;
    padding: 12px 14px !important;
    font-size: 1rem;
    border-radius: 8px;
}

/* Select2 padrão com altura 52px */
.select2-container .select2-selection--single {
    height: 52px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
}

.select2-selection__rendered {
    padding-left: 2px !important;
    font-size: 1rem !important;
    line-height: 52px !important;
}

.select2-selection__arrow {
    height: 52px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* Validação */
.form-control:focus, .form-select:focus {
    border-color: var(--verde) !important;
    box-shadow: 0 0 0 2px rgba(0,145,58,.25) !important;
}

.is-invalid { animation: pulseInvalid .35s ease-out; }
@keyframes pulseInvalid {
    0% { box-shadow: 0 0 0 0 rgba(255,0,0,.5); }
    100% { box-shadow: 0 0 6px 3px rgba(255,0,0,0); }
}

/* Card dos Termos */
.card-termos {
    max-height: 260px;
    overflow-y: auto;
    background-color: #ffffff;
}
.card-termos p, 
.card-termos li {
    font-size: 0.88rem;
    line-height: 1.35rem;
}

@media (max-width: 576px) {
    .card-termos {
        max-height: 300px;
    }
}

/* ==============================
   WhatsApp (balão + botão)
   ============================== */

@media (max-width: 800px)  {
    .wa-tip {
        display: none !important;
    }
    }


/* Container fixo */
.wa-widget {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1055;
    font-family: 'Poppins', sans-serif;
}

/* Balão */
.wa-tip {
    position: absolute;
    right: -8px;
    bottom: 63px; /* fica acima do botão */
    width: 260px;
    background: #fff;
    border-radius: 14px;
    padding: 16px 18px 16px 18px;
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
    color: #333;
    line-height: 1.35;
    font-size: 15px;
}

    /* Seta triangulada apontando pro botão */
    .wa-tip::after {
        content: "";
        position: absolute;
        right: 24px; /* alinha com o botão */
        bottom: -10px;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 12px solid #fff;
        filter: drop-shadow(0 6px 6px rgba(0,0,0,.08));
    }

    /* Título do balão */
    .wa-tip strong {
        display: block;
        font-weight: 600;
        margin-bottom: 6px;
    }

    /* Fechar (X) */
    .wa-tip .wa-x {
        position: absolute;
        top: 10px;
        right: 12px;
        border: 0;
        background: transparent;
        color: #9aa0a6;
        font-size: 18px;
        line-height: 1;
        cursor: pointer;
        padding: 0;
    }

        .wa-tip .wa-x:hover {
            color: #6b7280;
        }

/* Botão redondo (AJUSTADO PARA O TAMANHO DO PRINT) */
.wa-btn {
    width: 50px;
    height: 50px;
    border-radius: 999px;
    background: #25D366;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
    transition: transform .15s ease, filter .15s ease;
}

    .wa-btn:hover {
        transform: translateY(-1px);
        filter: brightness(1.03);
        color: #fff;
    }

    /* Ícone Font Awesome */
    .wa-btn i {
        font-size: 22px;
    }


/* ===========================
   SWEETALERT2 - TEMA GUARDIÃO
   =========================== */

/* Popup */
.swal2-popup {
    font-family: 'Poppins', sans-serif;
    border-radius: 16px;
    padding: 22px 22px 18px;
    box-shadow: 0 20px 60px rgba(0,0,0,.16);
}

/* Título e texto */
.swal2-title {
    font-weight: 700;
    font-size: 18px;
    color: #1f2937;
    margin: 8px 0 4px;
}

.swal2-html-container,
.swal2-content {
    color: #4b5563;
    font-size: 14.5px;
    line-height: 1.4;
}

/* Botões */
.swal2-actions {
    margin-top: 14px;
    gap: 10px;
}

.swal2-confirm {
    background: #00913A !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    padding: 11px 16px !important;
    height: 46px;
    box-shadow: 0 10px 18px rgba(0,145,58,.18);
}

    .swal2-confirm:hover {
        background: #007D31 !important;
    }

.swal2-cancel {
    background: #ffffff !important;
    color: #374151 !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    padding: 11px 16px !important;
    height: 46px;
}

    .swal2-cancel:hover {
        background: #f8fafc !important;
    }

/* Botão close */
.swal2-close {
    color: #94a3b8 !important;
}

    .swal2-close:hover {
        color: #64748b !important;
    }

/* Input (caso use prompt) */
.swal2-input, .swal2-textarea, .swal2-select {
    border-radius: 10px !important;
    border: 1px solid #dee2e6 !important;
    box-shadow: none !important;
    font-family: 'Poppins', sans-serif;
}

/* Ícones (deixa mais “premium”) */
.swal2-icon {
    transform: scale(.95);
}

    .swal2-icon.swal2-success {
        border-color: #00913A !important;
        color: #00913A !important;
    }

        .swal2-icon.swal2-success [class^="swal2-success-line"] {
            background-color: #00913A !important;
        }

        .swal2-icon.swal2-success .swal2-success-ring {
            border-color: rgba(0,145,58,.25) !important;
        }

    .swal2-icon.swal2-info {
        border-color: #0ea5e9 !important;
        color: #0ea5e9 !important;
    }

    .swal2-icon.swal2-warning {
        border-color: #f59e0b !important;
        color: #f59e0b !important;
    }

    .swal2-icon.swal2-error {
        border-color: #ef4444 !important;
        color: #ef4444 !important;
    }

/* Mobile: botões em coluna (fica bem em telas pequenas) */
@media (max-width: 576px) {
    .swal2-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .swal2-confirm, .swal2-cancel {
        width: 100%;
    }
}
