/* ==========================================================================
   BOTÃO DE ABERTURA DO POPUP
   ========================================================================== */

.cep-open-popup {

    background: var(--cep-icon-color, #FFCC03) !important;

    color: #000000 !important;

    border: none !important;

    padding: 10px 40px !important;

    border-radius: 50px !important;

    font-family: 'Poppins', 'Inter', sans-serif !important;

    font-weight: 700 !important;

    font-size: 16px !important;

    letter-spacing: 0.2px !important;

    cursor: pointer !important;

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    text-transform: uppercase !important;

    transition:
    background 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease !important;

    box-shadow:
    0 10px 25px rgba(255, 204, 3, 0.3) !important;

    width: auto !important;

    margin: 0 10px 0 0 !important;
}

.cep-open-popup:hover {

    background: #E6B800 !important;

    transform: translateY(-2px) !important;

    box-shadow:
    0 15px 35px rgba(255, 204, 3, 0.45) !important;
}

/* ==========================================================================
   OVERLAY
   ========================================================================== */

.cep-popup-overlay {

    position: fixed !important;

    inset: 0 !important;

    width: 100vw !important;

    height: 100vh !important;

    background:
    rgba(0, 0, 0, 0.82) !important;

    z-index: 9999999999 !important;

    overflow-y: auto;

    padding: 40px 20px;

    backdrop-filter: blur(8px);

    display: flex;

    align-items: flex-start;

    justify-content: center;
}

/* ==========================================================================
   POPUP
   ========================================================================== */

.cep-popup {

    position: relative !important;

    z-index: 99999999992 !important;

    width: 100%;

    max-width: 1180px;

    margin: auto;

    background:
    linear-gradient(
        180deg,
        rgba(23,27,31,.98),
        rgba(16,19,23,.98)
    ) !important;

    border-radius: 28px;

    padding: 45px;

    color: #fff !important;

    box-sizing: border-box;

    box-shadow:
    0 25px 80px rgba(0,0,0,.65);

    border:
    1px solid rgba(255,255,255,.05);

    overflow: hidden;

    animation:
    cepPopupIn .35s ease;
}

@keyframes cepPopupIn {

    from {

        opacity: 0;

        transform:
        translateY(30px)
        scale(.98);
    }

    to {

        opacity: 1;

        transform:
        translateY(0)
        scale(1);
    }
}

/* ==========================================================================
   LOGO + HERO
   ========================================================================== */

.logo-form {

    width: 220px;

    margin-bottom: 20px;
}

.logo-form img {

    width: 100%;

    display: block;
}

.titulo-form {

    color: #fff;

    font-size: 2.5rem !important;

    text-transform: uppercase;

    margin-bottom: 10px;

    line-height: 1.1;
}

.cep-subtitulo {

    color:
    rgba(255,255,255,.72);

    font-size: 15px;

    line-height: 1.8;

    max-width: 700px;

    margin-bottom: 25px;
}

/* ==========================================================================
   BADGES
   ========================================================================== */

.cep-hero-info {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-bottom: 30px;
}

.cep-badge {

    background:
    rgba(255,204,3,.08);

    border:
    1px solid rgba(255,204,3,.18);

    color: #ffe680;

    padding: 10px 15px;

    border-radius: 50px;

    font-size: 13px;

    font-weight: 600;

    backdrop-filter: blur(10px);
}

/* ==========================================================================
   MULTISTEP
   ========================================================================== */

.cep-steps {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    margin-bottom: 40px;

    flex-wrap: wrap;
}

.cep-step {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 10px;

    opacity: .45;

    transition: .25s ease;
}

.cep-step.active,
.cep-step.completed {

    opacity: 1;
}

.cep-step-number {

    width: 48px;

    height: 48px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #252b31;

    border:
    1px solid rgba(255,255,255,.08);

    color: #fff;

    font-weight: 700;

    transition: .25s ease;
}

.cep-step.active .cep-step-number {

    background: var(--cep-icon-color, #FFCC03);

    border-color: var(--cep-icon-color, #FFCC03);

    color: #000000;

    box-shadow:
    0 0 25px rgba(255,204,3,.25);
}

.cep-step.completed .cep-step-number {

    background: #2ecc71;

    border-color: #2ecc71;
}

.cep-step span {

    font-size: 13px;

    color:
    rgba(255,255,255,.75);

    font-weight: 600;
}

.cep-step-line {

    width: 70px;

    height: 2px;

    background:
    rgba(255,255,255,.08);
}

/* ==========================================================================
   PROGRESS BAR
   ========================================================================== */

.cep-progress {

    width: 100%;

    height: 8px;

    background: #252b31;

    border-radius: 20px;

    overflow: hidden;

    margin: 0 0 35px;
}

.cep-progress-bar {

    width: 25%;

    height: 100%;

    border-radius: 20px;

    background:
    linear-gradient(
        90deg,
        var(--cep-icon-color, #FFCC03),
        #FFD633
    );

    transition: .35s ease;
}

/* ==========================================================================
   BOXES
   ========================================================================== */

.cep-box {

    border:
    1px solid rgba(255,204,3,.18);

    border-radius: 24px;

    padding: 28px;

    margin-bottom: 24px;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.015),
        rgba(255,255,255,.02)
    );

    backdrop-filter: blur(10px);

    transition: .25s ease;
}

.cep-box:hover {

    border-color:
    rgba(255,204,3,.35);
}

.cep-box h3 {

    margin: 0 0 24px 0;

    font-size: 20px;

    color: #fff;

    font-weight: 600;

    display: flex;

    align-items: center;
}

/* ==========================================================================
   ÍCONES
   ========================================================================== */

.icone-form {
    width: 28px;
    margin-right: 12px;

    filter:
        brightness(0)
        saturate(100%)
        invert(81%)
        sepia(72%)
        saturate(1266%)
        hue-rotate(358deg)
        brightness(104%)
        contrast(103%);
}

/* ==========================================================================
   GRID
   ========================================================================== */

.cep-grid {

    display: grid !important;

    grid-template-columns:
    repeat(2, 1fr) !important;

    gap: 20px !important;
}

.cep-grid-combo {

    display: grid !important;

    grid-template-columns:
    2fr 1fr !important;

    gap: 14px !important;
}

/* ==========================================================================
   CAMPOS
   ========================================================================== */

.cep-field {

    display: flex !important;

    flex-direction: column !important;

    gap: 8px !important;

    position: relative;

    width: 100%;
}

.cep-field label {

    font-size: 14px;

    color:
    rgba(255,255,255,.82);

    font-weight: 500;

    text-align: left;
}

.cep-field input,
.cep-field textarea,
.cep-field select {

    background:
    rgba(255,255,255,.04) !important;

    border:
    1px solid rgba(255,255,255,.08) !important;

    color: #fff !important;

    border-radius: 16px !important;

    min-height: 56px;

    padding: 0 18px;

    font-size: 15px;

    width: 100%;

    box-sizing: border-box;

    outline: none;

    backdrop-filter: blur(10px);

    transition:
    border-color .25s ease,
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.cep-field textarea {

    padding-top: 14px;

    min-height: 120px;

    resize: vertical;
}

.cep-field input:hover,
.cep-field textarea:hover,
.cep-field select:hover {

    border-color:
    rgba(255,204,3,.35) !important;
}

.cep-field input:focus,
.cep-field textarea:focus,
.cep-field select:focus {

    transform: translateY(-2px);

    background:
    rgba(255,255,255,.06) !important;

    border-color:
    var(--cep-icon-color, #FFCC03) !important;

    box-shadow:
    0 0 0 4px rgba(255,204,3,.12) !important;
}

/* ==========================================================================
   CHECK
   ========================================================================== */

.cep-check {

    display: none;

    position: absolute;

    right: 18px;

    top: 46px;

    color: #2ecc71;

    font-weight: bold;

    z-index: 5;

    animation:
    cepCheckIn .25s ease;
}

.cep-field.valid .cep-check {

    display: block;
}

@keyframes cepCheckIn {

    from {

        opacity: 0;

        transform: scale(.6);
    }

    to {

        opacity: 1;

        transform: scale(1);
    }
}

/* ==========================================================================
   ENDEREÇOS
   ========================================================================== */

.cep-endereco-container {

    display: grid;

    grid-template-columns:
    repeat(2, 1fr);

    gap: 20px;

    margin-top: 15px;
}

.cep-endereco-preview {

    font-size: 13px;

    color: #fff;

    min-height: 18px;

    padding-left: 2px;

    font-weight: 500;

    display: none;
}

/* ==========================================================================
   SERVICE CARDS
   ========================================================================== */

.cep-service-grid {

    display: grid;

    grid-template-columns:
    repeat(3,1fr);

    gap: 16px;

    margin-top: 20px;
}

.cep-service-card {

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.08);

    border-radius: 22px;

    min-height: 125px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 12px;

    cursor: pointer;

    transition: .25s ease;

    color: #fff;

    font-size: 15px;

    font-weight: 600;

    padding: 20px;

    text-align: center;

    position: relative;

    overflow: hidden;
}

.cep-service-card:hover {

    transform: translateY(-4px);

    border-color: var(--cep-icon-color, #FFCC03);

    background:
    rgba(255,204,3,.08);
}

.cep-service-card.active {

    border-color: var(--cep-icon-color, #FFCC03);

    background:
    rgba(255,204,3,.12);

    box-shadow:
    0 0 25px rgba(255,204,3,.18);
}

.cep-service-icon {

    font-size: 34px;

    line-height: 1;
}

/* ==========================================================================
   FORM STEPS
   ========================================================================== */

.cep-form-step {

    display: none;

    animation:
    cepFadeStep .3s ease;
}

.cep-form-step.active {

    display: block;
}

@keyframes cepFadeStep {

    from {

        opacity: 0;

        transform: translateY(10px);
    }

    to {

        opacity: 1;

        transform: translateY(0);
    }
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */

.cep-step-navigation {

    display: flex;

    justify-content: space-between;

    gap: 15px;

    margin-top: 25px;
}

.cep-prev-step,
.cep-next-step {

    min-height: 56px;

    border: none;

    border-radius: 16px;

    padding: 0 28px;

    font-weight: 700;

    cursor: pointer;

    transition: .25s ease;
}

.cep-prev-step {

    background: #252b31;

    color: #fff;
}

.cep-prev-step:hover {

    background: #313840;
}

.cep-next-step {

    background: var(--cep-icon-color, #FFCC03);

    color: #000000;

    box-shadow:
    0 10px 25px rgba(255,204,3,.25);
}

.cep-next-step:hover {

    transform: translateY(-2px);
}

/* ==========================================================================
   LGPD
   ========================================================================== */

.cep-field-lgpd {

    display: flex !important;

    align-items: flex-start !important;

    gap: 12px !important;

    margin: 28px 0 !important;

    padding: 0 4px;
}

.cep-field-lgpd input[type="checkbox"] {

    margin-top: 4px !important;

    cursor: pointer;

    width: 18px;

    height: 18px;

    accent-color: var(--cep-icon-color, #FFCC03);
}

.cep-field-lgpd label {

    font-size: 13px !important;

    line-height: 1.7 !important;

    color:
    rgba(255,255,255,.72) !important;

    text-align: left;

    cursor: pointer;
}

/* ==========================================================================
   SUBMIT
   ========================================================================== */

.cep-submit {

    background: var(--cep-icon-color, #FFCC03) !important;

    color: #000000 !important;

    border: none !important;

    padding: 18px 28px !important;

    border-radius: 18px !important;

    font-weight: 700 !important;

    cursor: pointer !important;

    width: 100% !important;

    font-size: 17px !important;

    text-transform: uppercase;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    min-height: 64px;

    letter-spacing: .3px;

    box-shadow:
    0 15px 35px rgba(255,204,3,.25);

    transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.cep-submit:hover {

    transform: translateY(-3px);

    box-shadow:
    0 18px 45px rgba(255,204,3,.35);
}

/* ==========================================================================
   TRUST
   ========================================================================== */

.cep-trust {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 18px;

    margin-top: 20px;

    color:
    rgba(255,255,255,.7);

    font-size: 13px;

    text-align: center;
}

/* ==========================================================================
   CLOSE
   ========================================================================== */

.cep-close {

    position: absolute;

    top: 20px;

    right: 20px;

    width: 42px;

    height: 42px;

    border-radius: 12px;

    border: none;

    background:
    rgba(255,255,255,.04);

    color: #ff5b4d;

    font-size: 30px;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    z-index: 10;

    transition:
    background .25s ease,
    transform .25s ease,
    color .25s ease;
}

.cep-close:hover {

    background: #b81302;

    color: #fff;

    transform: none !important;
}

/* ==========================================================================
   DESKTOP
   ========================================================================== */

@media(min-width:1024px){

    .cep-popup {

        min-height: auto;
    }
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media(max-width:1024px){

    .cep-service-grid {

        grid-template-columns:
        repeat(2,1fr);
    }
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media(max-width:768px){

    /**
     * =========================================================
     * OVERLAY
     * =========================================================
     */

    .cep-popup-overlay {

        padding: 0 !important;

        align-items: stretch !important;

        overflow-y: auto !important;

        -webkit-overflow-scrolling: touch;
    }

    /**
     * =========================================================
     * POPUP
     * =========================================================
     */

    .cep-popup {

        width: 100% !important;

        max-width: 100% !important;

        min-height: auto !important;

        border-radius: 0 !important;

        margin: 0 !important;

        padding:
        85px 18px 40px !important;

        overflow: visible !important;
    }

    /**
     * =========================================================
     * LOGO
     * =========================================================
     */

    .logo-form {

        width: 170px;

        margin:
        0 auto 18px;
    }

    /**
     * =========================================================
     * TITULO
     * =========================================================
     */

    .titulo-form {

        font-size: 1.8rem !important;

        text-align: center !important;

        line-height: 1.2;

        margin-bottom: 12px;
    }

    .cep-subtitulo {

        text-align: center;

        font-size: 14px;

        line-height: 1.7;

        margin-bottom: 22px;
    }

    /**
     * =========================================================
     * BADGES
     * =========================================================
     */

.cep-hero-info {
    display: flex;
    flex-wrap: wrap; /* Permite quebrar linha se o celular for muito pequeno */
    gap: 10px;       /* Cria o espaçamento entre os badges */
    justify-content: center; /* Centraliza os badges na tela (opcional) */
    align-items: center;
    width: 100%;
}

.cep-badge {
    flex: 1 1 auto;  /* Faz os badges se ajustarem ao tamanho do conteúdo */
    white-space: nowrap; /* Evita que o texto quebre dentro do badge */
    text-align: center;
    /* Adicione aqui o restante do seu estilo visual (padding, background, etc.) */
}

    /**
     * =========================================================
     * STEPS
     * =========================================================
     */

    .cep-steps {

        gap: 8px;

        margin-bottom: 24px;
    }

    .cep-step {

        flex: 1;
    }

    .cep-step-number {

        width: 38px;

        height: 38px;

        font-size: 14px;
    }

    .cep-step span {

        font-size: 11px;

        text-align: center;
    }

    .cep-step-line {

        width: 16px;
    }

    /**
     * =========================================================
     * PROGRESS
     * =========================================================
     */

    .cep-progress {

        margin-bottom: 25px;

        height: 6px;
    }

    /**
     * =========================================================
     * BOXES
     * =========================================================
     */

    .cep-box {

        padding: 20px;

        border-radius: 20px;

        margin-bottom: 18px;
    }

    .cep-box h3 {

        font-size: 17px;

        line-height: 1.4;

        margin-bottom: 18px;
    }

    /**
     * =========================================================
     * GRIDS
     * =========================================================
     */

    .cep-grid,
    .cep-grid-combo,
    .cep-endereco-container {

        grid-template-columns:
        1fr !important;

        gap: 15px !important;
    }

    /**
     * =========================================================
     * CAMPOS
     * =========================================================
     */

    .cep-field input,
    .cep-field textarea,
    .cep-field select {

        min-height: 52px;

        font-size: 16px !important;

        border-radius: 14px !important;

        padding-left: 16px;

        padding-right: 16px;
    }

    .cep-field textarea {

        min-height: 110px;
    }

    /**
     * =========================================================
     * CHECK
     * =========================================================
     */

    .cep-check {

        top: 43px;

        right: 14px;
    }

    /**
     * =========================================================
     * SERVICE GRID
     * =========================================================
     */

    .cep-service-grid {

        grid-template-columns: 1fr;

        gap: 14px;
    }

    .cep-service-card {

        min-height: auto;

        flex-direction: row;

        justify-content: flex-start;

        align-items: center;

        text-align: left;

        padding: 18px;

        gap: 14px;

        border-radius: 18px;
    }

    .cep-service-icon {

        font-size: 28px;

        min-width: 32px;
    }

    /**
     * =========================================================
     * NAVIGATION
     * =========================================================
     */

    .cep-step-navigation {

        flex-direction: column;

        gap: 12px;
    }

    .cep-prev-step,
    .cep-next-step {

        width: 100%;

        min-height: 52px;

        font-size: 15px;

        border-radius: 14px;
    }

    /**
     * =========================================================
     * SUBMIT
     * =========================================================
     */

    .cep-submit {

        width: 100% !important;

        min-height: 58px;

        font-size: 15px !important;

        border-radius: 16px !important;

        position: relative !important;

        bottom: auto !important;
    }

    /**
     * =========================================================
     * TRUST
     * =========================================================
     */

    .cep-trust {

        flex-direction: column;

        gap: 10px;

        font-size: 12px;

        margin-top: 18px;
    }

    /**
     * =========================================================
     * LGPD
     * =========================================================
     */

    .cep-field-lgpd {

        align-items: flex-start !important;

        gap: 10px !important;
    }

    .cep-field-lgpd label {

        font-size: 12px !important;

        line-height: 1.6 !important;
    }

    /**
     * =========================================================
     * CLOSE
     * =========================================================
     */

    .cep-close {

        position: fixed !important;

        top: 0px;

        right: 0px;

        width: 32px;

        height: 32px;

        border-radius: 12px;

        z-index: 99999999999;

		padding:10px!important;
    }
}

/* ==========================================================================
   PULSE ANIMATION - HALO EXPANSIVO
   ========================================================================== */

@keyframes pulsar-efeito {
    0% {
        box-shadow: 0 0 0 0 rgba(255,204,3,.70);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(255,204,3,0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255,204,3,0);
    }
}

.cep-open-popup,
.cep-submit.pulsar {
    position: relative !important;
    overflow: visible !important;
    z-index: 10 !important;
    isolation: isolate;
}

.cep-open-popup::after,
.cep-submit.pulsar::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: -1;
    box-shadow: 0 0 0 0 rgba(255,204,3,.70);
    animation: pulsar-efeito 2s infinite;
}

.cep-open-popup:hover::after,
.cep-open-popup:focus::after,
.cep-submit.pulsar:hover::after,
.cep-submit.pulsar:focus::after {
    animation-play-state: paused;
}


/* ==========================================================================
   AJUSTES V4.3.3 - POPUP COMPACTO + FLUXO AUTOMÁTICO
   ========================================================================== */

.cep-popup-overlay {
    align-items: center !important;
    padding: clamp(10px, 2vh, 24px) clamp(10px, 2vw, 20px) !important;
    overflow: hidden !important;
}

.cep-popup {
    max-width: 980px !important;
    max-height: calc(100dvh - 24px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: clamp(18px, 2.4vw, 32px) !important;
    border-radius: clamp(18px, 2vw, 26px) !important;
    scrollbar-width: thin;
}

.cep-popup::-webkit-scrollbar {
    width: 8px;
}

.cep-popup::-webkit-scrollbar-thumb {
    background: rgba(255,204,3,.35);
    border-radius: 30px;
}

.logo-form {
    width: clamp(130px, 15vw, 190px) !important;
    margin-bottom: 12px !important;
}

.titulo-form {
    font-size: clamp(1.45rem, 3vw, 2.15rem) !important;
    margin-bottom: 6px !important;
}

.cep-subtitulo {
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin-bottom: 14px !important;
}

.cep-hero-info {
    gap: 8px !important;
    margin-bottom: 16px !important;
}

.cep-badge {
    padding: 7px 12px !important;
    font-size: 12px !important;
}

.cep-steps {
    margin-bottom: 18px !important;
    gap: 10px !important;
}

.cep-step-number {
    width: 34px !important;
    height: 34px !important;
    font-size: 14px !important;
}

.cep-step span {
    font-size: 12px !important;
}

.cep-progress {
    margin-bottom: 18px !important;
}

.cep-box {
    padding: clamp(16px, 2vw, 24px) !important;
    border-radius: 20px !important;
}

.cep-box h3 {
    margin-bottom: 16px !important;
    font-size: clamp(1.05rem, 2vw, 1.25rem) !important;
}

.cep-grid,
.cep-grid-combo,
.cep-service-grid {
    gap: 14px !important;
}

.cep-field {
    gap: 6px !important;
}

.cep-field label {
    font-size: 13px !important;
}

.cep-field input,
.cep-field textarea,
.cep-field select {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

.cep-field textarea {
    min-height: 88px !important;
}

.cep-check {
    top: 39px !important;
}

.cep-endereco-container {
    margin-top: 14px !important;
    gap: 12px !important;
}

.cep-endereco-preview {
    padding: 12px 14px !important;
    font-size: 13px !important;
}

.cep-service-card {
    min-height: 92px !important;
    padding: 16px !important;
    border-radius: 18px !important;
}

.cep-service-icon {
    font-size: 28px !important;
}

.cep-transferencia-alerta {
    padding: 12px 14px !important;
    margin: 14px 0 !important;
    font-size: 13px !important;
}

.cep-step-navigation {
    margin-top: 16px !important;
}

.cep-next-step {
    display: none !important;
}

.cep-step-navigation.show-next-on-back .cep-next-step {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.cep-step-navigation.first-step .cep-prev-step {
    display: none !important;
}

.cep-prev-step,
.cep-next-step {
    min-height: 48px !important;
    border-radius: 14px !important;
    padding: 0 22px !important;
}

.cep-field-lgpd,
.cep-submit,
.cep-trust {
    display: none !important;
}

.cep-popup.is-last-step .cep-field-lgpd {
    display: flex !important;
    margin: 16px 0 !important;
}

.cep-popup.is-last-step .cep-submit {
    display: flex !important;
}

.cep-popup.is-last-step .cep-trust {
    display: flex !important;
}

.cep-submit {
    min-height: 56px !important;
    padding: 14px 24px !important;
    font-size: 15px !important;
    border-radius: 16px !important;
}

.cep-trust {
    margin-top: 14px !important;
    gap: 12px !important;
}

@media (max-width: 768px) {
    .cep-popup-overlay {
        align-items: stretch !important;
        padding: 8px !important;
    }

    .cep-popup {
        max-height: calc(100dvh - 16px) !important;
        padding: 16px !important;
        border-radius: 18px !important;
    }

    .cep-close {
        top: 10px !important;
        right: 10px !important;
    }

    .logo-form {
        width: 120px !important;
    }

    .cep-steps {
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        padding-bottom: 4px !important;
    }

    .cep-step-line {
        min-width: 26px !important;
    }

    .cep-grid,
    .cep-grid.columns-2,
    .cep-grid-combo,
    .cep-endereco-container,
    .cep-service-grid {
        grid-template-columns: 1fr !important;
    }

    .cep-box {
        padding: 14px !important;
    }

    .cep-service-card {
        min-height: 72px !important;
        padding: 14px !important;
    }

    .cep-step-navigation.show-next-on-back {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    .cep-step-navigation:not(.show-next-on-back) {
        display: block !important;
    }

    .cep-prev-step,
    .cep-next-step {
        width: 100% !important;
    }

    .cep-popup.is-last-step .cep-trust {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
}


/* ========================================================================
   AJUSTES V4.3.4 - TOOLTIPS, SUPORTE E POPUP FINAL COMPACTO
   ======================================================================== */

.cep-field label,
.cep-field-lgpd label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

.cep-tooltip {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,204,3,.16) !important;
    border: 1px solid rgba(255,204,3,.45) !important;
    color: var(--cep-icon-color, #FFCC03) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: help !important;
    position: relative !important;
    z-index: 20 !important;
}

.cep-tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(-50%) translateY(4px);
    width: max-content;
    max-width: min(260px, 72vw);
    padding: 10px 12px;
    border-radius: 12px;
    background: #11161c;
    color: #fff;
    border: 1px solid rgba(255,204,3,.35);
    box-shadow: 0 14px 35px rgba(0,0,0,.35);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;
    text-align: left;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: .2s ease;
}

.cep-tooltip:hover::after,
.cep-tooltip:focus::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.cep-step-helper {
    margin: -4px 0 12px !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.cep-support-box {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 12px 0 0 !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

.cep-support-box a {
    color: var(--cep-icon-color, #FFCC03) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.cep-support-box a:hover {
    text-decoration: underline !important;
}

/* Serviços menores para ficarem na mesma linha no desktop */
.cep-service-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.cep-service-card {
    min-height: 68px !important;
    padding: 10px 8px !important;
    border-radius: 14px !important;
    gap: 6px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.cep-service-icon {
    font-size: 22px !important;
    line-height: 1 !important;
}

/* Tooltip do botão bloqueado */
.cep-submit.disabled,
.cep-submit:disabled {
    cursor: not-allowed !important;
    opacity: .72 !important;
    filter: grayscale(.1) !important;
}

.cep-submit.disabled::before,
.cep-submit:disabled::before {
    content: attr(data-missing-fields);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 12px);
    transform: translateX(-50%) translateY(4px);
    width: max-content;
    max-width: min(520px, 82vw);
    padding: 11px 14px;
    border-radius: 13px;
    background: #11161c;
    color: #fff;
    border: 1px solid rgba(255,204,3,.38);
    box-shadow: 0 18px 45px rgba(0,0,0,.38);
    font-size: 13px;
    line-height: 1.45;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: .2s ease;
    z-index: 30;
}

.cep-submit.disabled:hover::before,
.cep-submit.disabled:focus::before,
.cep-submit:disabled:hover::before,
.cep-submit:disabled:focus::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* Última etapa mais compacta para não ultrapassar a tela */
.cep-popup.is-last-step {
    max-height: calc(100dvh - 16px) !important;
    padding: clamp(12px, 1.6vw, 22px) !important;
}

.cep-popup.is-last-step .logo-form {
    width: clamp(95px, 10vw, 145px) !important;
    margin-bottom: 6px !important;
}

.cep-popup.is-last-step .titulo-form {
    font-size: clamp(1.25rem, 2.2vw, 1.75rem) !important;
    margin-bottom: 4px !important;
}

.cep-popup.is-last-step .cep-subtitulo {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
}

.cep-popup.is-last-step .cep-hero-info,
.cep-popup.is-last-step .cep-progress {
    margin-bottom: 8px !important;
}

.cep-popup.is-last-step .cep-badge {
    padding: 5px 9px !important;
    font-size: 11px !important;
}

.cep-popup.is-last-step .cep-steps {
    margin-bottom: 10px !important;
}

.cep-popup.is-last-step .cep-box {
    padding: 12px !important;
    margin-bottom: 10px !important;
}

.cep-popup.is-last-step .cep-box h3 {
    margin-bottom: 10px !important;
}

.cep-popup.is-last-step .cep-transferencia-alerta {
    padding: 9px 11px !important;
    margin: 10px 0 !important;
}

.cep-popup.is-last-step .cep-field-lgpd {
    margin: 10px 0 !important;
}

.cep-popup.is-last-step .cep-field-lgpd label {
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.cep-popup.is-last-step .cep-submit {
    min-height: 50px !important;
    padding: 11px 18px !important;
    font-size: 13px !important;
}

.cep-popup.is-last-step .cep-trust {
    margin-top: 9px !important;
    gap: 8px !important;
    font-size: 11px !important;
}

@media (max-width: 900px) {
    .cep-service-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .cep-popup-overlay {
        padding: 6px !important;
        align-items: stretch !important;
    }

    .cep-popup {
        max-height: calc(100dvh - 12px) !important;
        padding: 12px !important;
    }

    .cep-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .cep-service-card {
        min-height: 58px !important;
        padding: 8px 6px !important;
        font-size: 11px !important;
        border-radius: 12px !important;
        flex-direction: column !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .cep-service-icon {
        font-size: 19px !important;
        min-width: 0 !important;
    }

    .cep-support-box {
        font-size: 12px !important;
        padding: 8px 10px !important;
    }

    .cep-popup.is-last-step .cep-step span {
        display: none !important;
    }

    .cep-popup.is-last-step .cep-field input,
    .cep-popup.is-last-step .cep-field textarea,
    .cep-popup.is-last-step .cep-field select {
        min-height: 44px !important;
        font-size: 13px !important;
    }

    .cep-submit.disabled::before,
    .cep-submit:disabled::before {
        max-width: calc(100vw - 32px);
        font-size: 12px;
    }
}

/* CEP 4.3.7 - Botão flutuante WhatsApp */
.cep-floating-whatsapp{
    position:fixed;
    z-index:2147483600;
    display:flex;
    align-items:center;
    gap:10px;
    pointer-events:none;
}
.cep-floating-whatsapp *{box-sizing:border-box;}
.cep-floating-whatsapp-button{
    width:var(--cep-float-size,58px);
    height:var(--cep-float-size,58px);
    display:flex;
    align-items:center;
    justify-content:center;
    background:#25d366;
    color:#fff!important;
    text-decoration:none!important;
    box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 0 0 rgba(37,211,102,.55);
    animation:cepFloatPulse 2s infinite;
    pointer-events:auto;
    overflow:hidden;
}
.cep-floating-whatsapp-button.is-circle{border-radius:999px;}
.cep-floating-whatsapp-button.is-rounded{border-radius:18px;}
.cep-floating-whatsapp-button img{width:62%;height:62%;object-fit:contain;display:block;}
.cep-floating-whatsapp-button span[aria-hidden="true"]{font-size:30px;font-weight:800;line-height:1;}
.cep-floating-whatsapp-cta{
    display:block;
    max-width:220px;
    padding:10px 14px;
    border-radius:14px;
    background:#fff;
    color:#111827;
    font-size:13px;
    font-weight:700;
    line-height:1.25;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
    pointer-events:auto;
}
.cep-floating-left-bottom,.cep-floating-left-top{flex-direction:row-reverse;}
@keyframes cepFloatPulse{0%{box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 0 0 rgba(37,211,102,.55);}70%{box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 0 14px rgba(37,211,102,0);}100%{box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 0 0 rgba(37,211,102,0);}}
@media(max-width:640px){.cep-floating-whatsapp-cta{display:none}.cep-floating-whatsapp{gap:0}}


/* CEP 4.3.8 - Correções de botão, popup e aviso bloqueado */
.cep-open-popup{
    min-height:44px!important;
    line-height:1.2!important;
    gap:8px!important;
    white-space:normal!important;
    text-align:center!important;
}
.cep-popup{
    width:min(94vw, 1220px)!important;
    max-height:calc(100dvh - 32px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
}
.cep-popup.is-last-step{
    max-height:calc(100dvh - 24px)!important;
}
.cep-form-step[data-step="3"].active{
    padding-bottom:8px!important;
}
.cep-submit-disabled-info,
.cep-submit-warning,
.cep-submit-tooltip{
    max-width:min(92vw, 760px)!important;
    margin:8px auto!important;
    line-height:1.35!important;
    white-space:normal!important;
    color:#f8fafc!important;
    font-size:13px!important;
    text-align:center!important;
}
.cep-submit[disabled],
.cep-submit.is-disabled{
    cursor:not-allowed!important;
}
@media(max-height:720px){
    .cep-popup{padding:22px 24px!important;}
    .cep-steps{margin-bottom:14px!important;}
    .cep-hero-info,.cep-subtitulo,.titulo-form,.logo-form{margin-top:0!important;margin-bottom:10px!important;}
    .cep-card-section,.cep-service-step-card{padding:16px!important;}
}


/* CEP 4.3.14 - Correção mobile: popup travado para preenchimento */
html.cep-popup-open,
body.cep-popup-open{
    overflow:hidden!important;
    height:100%!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
}
body.cep-popup-open{
    position:fixed!important;
    width:100%!important;
}
.cep-popup-overlay.is-open{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    overscroll-behavior:contain!important;
    touch-action:none!important;
}
.cep-popup-overlay.is-open .cep-popup{
    touch-action:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
}
@media(max-width:768px){
    .cep-popup-overlay.is-open{
        position:fixed!important;
        inset:0!important;
        width:100vw!important;
        height:100dvh!important;
        max-height:100dvh!important;
        overflow:hidden!important;
        align-items:flex-start!important;
        justify-content:center!important;
        padding:10px!important;
    }
    .cep-popup-overlay.is-open .cep-popup{
        width:100%!important;
        max-width:100%!important;
        max-height:calc(100dvh - 20px)!important;
        min-height:auto!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        margin:0!important;
        border-radius:22px!important;
        transform:none!important;
    }
}


/* CEP 4.3.15 - Fluxo manual dos steps e ajuste do botão fechar no mobile */
.cep-step-navigation{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-top:18px!important;
}
.cep-step-navigation.first-step{
    justify-content:flex-end!important;
}
.cep-step-navigation.first-step .cep-prev-step{
    display:none!important;
}
.cep-step-navigation.last-step .cep-next-step{
    display:none!important;
}
.cep-next-step{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:var(--cep-icon-color, #FFCC03)!important;
    color:#000!important;
    opacity:1!important;
    visibility:visible!important;
}
.cep-prev-step{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.cep-field-lgpd,
.cep-submit,
.cep-trust{
    display:none!important;
}
.cep-popup.is-last-step .cep-field-lgpd{
    display:flex!important;
}
.cep-popup.is-last-step .cep-submit{
    display:flex!important;
}
.cep-popup.is-last-step .cep-trust{
    display:flex!important;
}
.cep-close{
    z-index:2147483647!important;
}
@media(max-width:768px){
    .cep-popup{
        padding-top:58px!important;
    }
    .cep-close{
        position:absolute!important;
        top:12px!important;
        right:12px!important;
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
        min-height:42px!important;
        padding:0!important;
        border-radius:14px!important;
        background:rgba(255,255,255,.08)!important;
        color:#ff6b5f!important;
        font-size:30px!important;
        line-height:1!important;
    }
    .cep-steps{
        padding-right:0!important;
        margin-top:0!important;
    }
    .cep-step-navigation{
        position:sticky!important;
        bottom:0!important;
        z-index:25!important;
        background:linear-gradient(180deg,rgba(16,19,23,0),rgba(16,19,23,.98) 24%,rgba(16,19,23,.98))!important;
        padding-top:18px!important;
        padding-bottom:4px!important;
    }
    .cep-step-navigation.first-step{
        display:flex!important;
    }
    .cep-step-navigation.first-step .cep-next-step{
        width:100%!important;
    }
    .cep-step-navigation:not(.first-step):not(.last-step){
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }
    .cep-step-navigation.last-step{
        display:flex!important;
        justify-content:flex-start!important;
    }
    .cep-step-navigation.last-step .cep-prev-step{
        width:100%!important;
    }
    .cep-prev-step,
    .cep-next-step{
        width:100%!important;
        min-height:52px!important;
    }
}


/* CEP v4.3.16 - Correção do Step 3 e fluxo manual */
.cep-step-navigation:not(.last-step) .cep-next-step,
#cep-form-cotacao-pro:not(.is-last-step) .cep-step-navigation .cep-next-step{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}

.cep-step-navigation.last-step .cep-next-step,
#cep-form-cotacao-pro.is-last-step .cep-step-navigation .cep-next-step{
    display:none!important;
}

.cep-field-lgpd,
.cep-submit,
.cep-trust{
    display:none!important;
}

.cep-popup.is-last-step .cep-field-lgpd,
#cep-form-cotacao-pro.is-last-step .cep-field-lgpd,
.cep-form-step[data-step="3"].active ~ .cep-step-navigation ~ .cep-field-lgpd{
    display:flex!important;
}

.cep-popup.is-last-step .cep-submit,
#cep-form-cotacao-pro.is-last-step .cep-submit,
.cep-form-step[data-step="3"].active ~ .cep-step-navigation ~ .cep-field-lgPD + .cep-submit,
.cep-form-step[data-step="3"].active ~ .cep-step-navigation ~ .cep-submit{
    display:flex!important;
    width:100%!important;
    align-items:center!important;
    justify-content:center!important;
}

.cep-popup.is-last-step .cep-trust,
#cep-form-cotacao-pro.is-last-step .cep-trust,
.cep-form-step[data-step="3"].active ~ .cep-step-navigation ~ .cep-trust{
    display:flex!important;
}

.cep-popup.is-last-step .cep-step-navigation,
#cep-form-cotacao-pro.is-last-step .cep-step-navigation{
    margin-bottom:12px!important;
}

@media (max-width: 640px){
    .cep-popup.is-last-step .cep-field-lgpd,
    #cep-form-cotacao-pro.is-last-step .cep-field-lgpd{
        align-items:flex-start!important;
        gap:10px!important;
        margin:12px 0!important;
        padding:10px 12px!important;
        border-radius:14px!important;
    }

    .cep-popup.is-last-step .cep-submit,
    #cep-form-cotacao-pro.is-last-step .cep-submit{
        min-height:50px!important;
        padding:12px 16px!important;
        font-size:14px!important;
    }
}


/* CEP v4.3.17 - remoção definitiva do botão Continuar na última etapa */
.cep-step-navigation.last-step .cep-next-step,
.cep-popup.is-last-step .cep-step-navigation .cep-next-step,
#cep-form-cotacao-pro.is-step-3 .cep-step-navigation .cep-next-step,
#cep-form-cotacao-pro.is-last-step .cep-step-navigation .cep-next-step,
.cep-next-step[hidden]{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
}


/* CEP v4.3.18 - otimização dos steps, navegação manual e mobile */
.cep-popup.is-step-2 .logo-form,
.cep-popup.is-step-2 .titulo-form,
.cep-popup.is-step-2 .cep-subtitulo,
.cep-popup.is-step-2 .cep-hero-info,
.cep-popup.is-step-3 .logo-form,
.cep-popup.is-step-3 .titulo-form,
.cep-popup.is-step-3 .cep-subtitulo,
.cep-popup.is-step-3 .cep-hero-info{
    display:none!important;
}

.cep-nav-icon{
    width:18px!important;
    height:18px!important;
    flex:0 0 auto!important;
}

.cep-prev-step,
.cep-next-step{
    gap:8px!important;
}

.cep-step-navigation.step-incomplete .cep-next-step,
.cep-next-step[hidden],
.cep-next-step:disabled{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

.cep-step-navigation.step-complete:not(.last-step) .cep-next-step{
    display:inline-flex!important;
    visibility:visible!important;
    pointer-events:auto!important;
}

.cep-step-navigation.last-step{
    margin-bottom:8px!important;
}

.cep-popup.is-step-3 .cep-step-navigation{
    justify-content:flex-start!important;
}

.cep-popup.is-step-3 .cep-step-navigation .cep-prev-step{
    width:auto!important;
}

.cep-popup.is-step-3 .cep-field-lgpd{
    margin-top:8px!important;
}

.cep-popup.is-step-3 .cep-submit{
    margin-top:10px!important;
}

@media(max-width:640px){
    .cep-popup.is-step-2,
    .cep-popup.is-step-3{
        padding-top:54px!important;
    }

    .cep-popup.is-step-2 .cep-steps,
    .cep-popup.is-step-3 .cep-steps{
        margin-bottom:10px!important;
    }

    .cep-step-navigation{
        gap:10px!important;
    }

    .cep-prev-step,
    .cep-next-step{
        min-height:48px!important;
        padding:0 14px!important;
    }

    .cep-step-navigation:not(.first-step):not(.last-step){
        grid-template-columns:auto 1fr!important;
    }

    .cep-step-navigation:not(.first-step):not(.last-step) .cep-prev-step{
        width:52px!important;
        min-width:52px!important;
        padding:0!important;
    }

    .cep-step-navigation:not(.first-step):not(.last-step) .cep-prev-step .cep-nav-label{
        display:none!important;
    }

    .cep-step-navigation.first-step .cep-next-step{
        width:100%!important;
    }

    .cep-step-navigation.last-step{
        display:flex!important;
        justify-content:flex-start!important;
        padding-bottom:8px!important;
    }

    .cep-step-navigation.last-step .cep-prev-step{
        width:52px!important;
        min-width:52px!important;
        padding:0!important;
    }

    .cep-step-navigation.last-step .cep-prev-step .cep-nav-label{
        display:none!important;
    }

    .cep-popup.is-step-3 .cep-field-lgpd{
        margin:8px 0!important;
        padding:10px 12px!important;
    }

    .cep-popup.is-step-3 .cep-submit{
        min-height:50px!important;
        padding:12px 14px!important;
    }
}
