/* =========================================================
   RSE SOLUÇÕES
   PÁGINA DE CADASTRO
   MOBILE
   =========================================================

   Este arquivo controla SOMENTE o mobile.

   Desktop:
   cadastro.css

   Mobile:
   cadastro-mobile.css

   NÃO alterar o JavaScript aqui.
   ========================================================= */


/* =========================================================
   1. TABLETS / TELAS MENORES
   ========================================================= */

@media (max-width: 768px) {

    /* =====================================================
       PÁGINA
       ===================================================== */

    .cadastro-page {
        min-height: 100svh;
        width: 100%;

        overflow-x: hidden;
    }


    /* =====================================================
       HEADER
       ===================================================== */

    .cadastro-header {

        width: 100%;

        padding:
            38px
            20px
            10px;

        margin: 0;

    }


    .brand-partnership {

        gap: 11px;

        width: 100%;

    }


    .brand-logo-rse {

        height: 34px;

    }


    .brand-logo-igreen {

        height: 30px;

    }


    .brand-plus {

        font-size: 17px;

    }


    /* =====================================================
       CONTAINER
       ===================================================== */

    .cadastro-container {

        width: 100%;

        max-width: none;

        padding:
            34px
            20px
            45px;

        margin: 0;

    }


    /* =====================================================
       PROGRESSO
       ===================================================== */

    .progress-wrapper {
    width: 100%;
    margin-bottom: 48px;
    }

    .progress-steps {
        width: 100%;
        justify-content: space-between;
    }

    .progress-step {
        min-width: 58px;
        gap: 8px;
    }

    .progress-number {
        width: 36px;
        height: 36px;
        font-size: 12px;
    }

    .progress-label {
        font-size: 8px;
        letter-spacing: 0.7px;
        white-space: nowrap;
    }

    .progress-line {
        flex: 1;
        width: auto;
        min-width: 25px;
        max-width: 70px;
        margin: 0 7px 26px;
    }


    /* =====================================================
       CABEÇALHO DAS ETAPAS
       ===================================================== */

    .step-header {
    margin-bottom: 60px;
    }

    .step-kicker {
        margin-bottom: 15px;
        font-size: 8px;
        letter-spacing: 2.5px;
    }

    .step-header h1,
    .step-header h2 {
        width: 100%;
        max-width: 100%;

        white-space: normal;

        font-size: clamp(
            40px,
            10.8vw,
            52px
        );

        line-height: 1.1;
        letter-spacing: 0;
    }

    .step-header p {
        max-width: 330px;

        margin-top: 17px;

        font-size: 10.5px;
        line-height: 1.65;
    }


    /* =====================================================
       ETAPA 1
       SELETOR DE ESTADO
       ===================================================== */

    .region-selector {
    width: 100%;
    max-width: none;
    }

    .region-selector-trigger {
        width: 100%;
        min-height: 78px;

        padding: 17px 18px;

        border-radius: 17px;
    }

    .region-trigger-content {
        gap: 6px;
    }

    .region-trigger-label {
        font-size: 8px;
        letter-spacing: 1.8px;
    }

    .region-trigger-value {
        font-size: 12px;
    }

    .region-trigger-icon {
        width: 32px;
        height: 32px;

        flex-shrink: 0;

        font-size: 14px;
    }


    /* =====================================================
       MENU DE ESTADOS
       ===================================================== */

    .region-selector-menu {

        margin-top: 8px;

        padding: 10px;

        border-radius: 17px;

    }


    .region-search {

        margin-bottom: 8px;

    }


    .region-search-input {

        height: 46px;

        padding:
            0
            14px
            0
            42px;

        border-radius: 11px;

        font-size: 11px;

    }


    .region-search-icon {

        left: 14px;

        font-size: 17px;

    }


    .region-list {

        max-height: 52vh;

        padding-right: 2px;

    }


    .region-option {

        min-height: 47px;

        padding:
            0
            11px;

        border-radius: 10px;

        font-size: 9px;

    }


    .region-option span:last-child {

        font-size: 13px;

    }


    /* =====================================================
       ETAPA 2
       DISTRIBUIDORAS
       ===================================================== */

    .distributors-list {

        width: 100%;

        gap: 10px;

    }


    .distributor-card {

        width: 100%;

        min-height: 72px;

        padding:
            16px
            17px;

        border-radius: 16px;

    }


    .distributor-info {

        min-width: 0;

        gap: 4px;

    }


    .distributor-name {

        font-size: 13px;

        line-height: 1.3;

        text-align: left;

    }


    .distributor-location {

        font-size: 10px;

    }


    .distributor-arrow {

        flex-shrink: 0;

        font-size: 18px;

        margin-left: 12px;

    }


    /* =====================================================
       BOTÃO VOLTAR
       ===================================================== */

    .back-button {

        min-height: 42px;

        margin-top: 17px;

        padding:
            8px
            14px;

        font-size: 9px;

    }


    /* =====================================================
       ETAPA 3
       CONFIGURAÇÃO
       ===================================================== */

    #step-result {

        width: 100%;

    }


    #step-result .step-header {

        margin-bottom: 30px;

    }

    
    .configuration-card {

        width: 100%;

        max-width: none;

        padding:
            22px
            18px
            22px;

        border-radius: 19px;

    }


    /* =====================================================
       STATUS
       ===================================================== */

    .configuration-status {

        gap: 8px;

        margin-bottom: 18px;

        font-size: 9px;

        letter-spacing: 1.5px;

    }


    .status-indicator {

        width: 6px;
        height: 6px;

    }


    /* =====================================================
       DISTRIBUIDORA
       ===================================================== */

    .configuration-location {

        align-items: flex-start;

        gap: 8px;

    }


    .configuration-distributor {

        min-width: 0;

        font-size: 18px;

        line-height: 1.25;

    }


    .configuration-state {

        font-size: 10px;

        white-space: nowrap;

    }


    /* =====================================================
       DIVISORES
       ===================================================== */

    .configuration-divider {

        margin:
            19px
            0;

    }


    /* =====================================================
       CONDIÇÕES
       ===================================================== */

    .configuration-conditions {

        grid-template-columns: 1fr;

        gap: 16px;

    }


    .condition-item {

        gap: 5px;

    }


    .condition-label {

        font-size: 7px;

        letter-spacing: 1.3px;

    }


    .condition-item strong {

        font-size: 11px;

        line-height: 1.45;

    }


    /* =====================================================
       DESCONTO
       ===================================================== */

    .configuration-discount {

        padding:
            2px
            0;

    }


    .discount-label {

        font-size: 7px;

        letter-spacing: 1.8px;

    }


    .configuration-discount strong {

        margin-top: 3px;

        font-size: 55px;

    }


    .discount-description {

        margin-top: 5px;

        font-size: 9px;

    }


    /* =====================================================
       INFORMAÇÃO COMPLEMENTAR
       ===================================================== */

    .configuration-info {

        max-width: 100%;

        margin-top: 19px;

        font-size: 9px;

        line-height: 1.65;

    }


    /* =====================================================
       BOTÃO PRINCIPAL
       ===================================================== */

    .continue-button {

        width: 100%;

        min-height: 56px;

        padding:
            16px
            18px;

        border-radius: 13px;

        font-size: 10px;

        letter-spacing: 0.6px;

    }


    .continue-button span {

        font-size: 17px;

    }


    #back-to-distributor {

        margin-top: 14px;

    }


    /* =====================================================
       ETAPA 4
       APROVAÇÃO
       ===================================================== */

    .approved-content {

        width: 100%;

        text-align: center;

    }


    .approved-kicker {

        display: inline-block;

        margin-bottom: 14px;

        color: var(--green);

        font-size: 8px;

        font-weight: 600;

        letter-spacing: 2.2px;

        text-transform: uppercase;

    }


    .approved-content h2 {

        margin: 0;

        color: var(--white);

        font-family: "Anton", sans-serif;

        font-size: clamp(
            44px,
            12.5vw,
            58px
        );

        font-weight: 400;

        line-height: 1;

    }

    .approved-content h3 {

        margin:
            13px
            auto
            0;

        max-width: 330px;

        color: var(--white);

        font-family: "Anton", sans-serif;

        font-size: clamp(
            25px,
            7vw,
            36px
        );

        font-weight: 400;

        line-height: 1.09;

    }


    .approved-content h3 span {

        color: var(--green);

    }


    .approved-content > p {

        max-width: 320px;

        margin:
            20px
            auto
            0;
        color: var(--text);

        font-size: 10px;

        line-height: 1.65;

    }


    /* =====================================================
       RESUMO DA APROVAÇÃO
       ===================================================== */

    .approved-summary {

        width: 100%;

        margin:
            32px
            auto
            0;

        padding:
            20px
            18px;

        display: flex;

        flex-direction: column;

        gap: 18px;

        border:
            1px
            solid
            rgba(0, 218, 0, 0.16);

        border-radius: 17px;

        background:
            linear-gradient(
                145deg,
                rgba(0, 218, 0, 0.045),
                rgba(255, 255, 255, 0.015)
            );

        text-align: left;

    }


    .approved-summary-location {

        display: flex;

        flex-direction: column;

        gap: 4px;

    }


    .approved-summary-location span:first-child {

        color: var(--white);

        font-size: 15px;

        font-weight: 600;

        line-height: 1.25;

    }


    .approved-summary-location span:last-child {

        color: var(--text-muted);

        font-size: 10px;

    }


    /* =====================================================
       DESCONTO APROVADO
       ===================================================== */

    .approved-discount {

        display: flex;

        align-items: center;

        justify-content: space-between;

        gap: 8px;

        padding-top: 17px;

        border-top:
            1px
            solid
            rgba(255, 255, 255, 0.07);

    }


    .approved-discount span {

        color: #666;

        font-size: 7px;

        font-weight: 600;

        letter-spacing: 1.5px;

    }


    .approved-discount strong {

        color: var(--green);

        font-family: "Anton", sans-serif;

        font-size: 39px;

        font-weight: 400;

        line-height: 1;

    }


    .approved-discount small {

        color: #666;

        font-size: 7px;

        letter-spacing: 0.5px;

    }


    /* =====================================================
       CTA FINAL
       ===================================================== */

    #continue-registration {

        width: 100%;

        margin-top: 22px;

    }


    .approved-note {

        margin:
            14px
            auto
            0;

        color: #777;

        font-size: 9px;

        line-height: 1.5;

        text-align: center;

    }


    /* =====================================================
       INDISPONIBILIDADE
       ===================================================== */

    .unavailable-step {

        width: 100%;

        text-align: center;

    }


    .unavailable-icon {

        width: 50px;
        height: 50px;

        margin:
            0
            auto
            20px;

        font-size: 18px;

    }


    .unavailable-step .step-header {

        margin-bottom: 0;

    }


    .unavailable-step .step-header h2 {

        max-width: 100%;

    }


    .unavailable-step .step-header p {

        max-width: 320px;

    }


    /* =====================================================
       FOOTER
       ===================================================== */

    .cadastro-footer {

        width: 100%;

        padding:
            0
            20px
            22px;

        gap: 3px;

    }


    .cadastro-footer p {

        font-size: 14px;

        letter-spacing: 0.8px;

    }


    .cadastro-footer span {

        font-size: 8px;

        letter-spacing: 0.2px;

    }


    /* =====================================================
       DESABILITA EFEITOS DE HOVER NO TOUCH
       ===================================================== */

    .continue-button:hover,
    .distributor-card:hover,
    .region-option:hover,
    .region-selector-trigger:hover {

        transform: none;

    }


}

/* =========================================================
   CORREÇÃO DEFINITIVA — FOOTER MOBILE
   ========================================================= */

@media (max-width: 768px) {

    html,
    body {
        min-height: 100%;
        height: auto;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .cadastro-page {
        position: relative !important;

        min-height: 100svh !important;
        height: auto !important;

        display: flex !important;
        flex-direction: column !important;
    }

    .cadastro-container {
        position: relative !important;

        flex: 0 0 auto !important;

        height: auto !important;
        min-height: 0 !important;
    }

    .cadastro-footer {
        position: relative !important;

        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;

        width: 100% !important;

        margin-top: auto !important;

        flex-shrink: 0 !important;
    }
}
