/* ============================================================
   LOGIN BASE – Cliente / Admin
   ============================================================
   Estilos compartilhados entre todos os logins
   ============================================================ */

/* Página de login */
body.login-page {
    margin: 0;
    padding: 0;
    height: 100vh;
    overflow: hidden;
    font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Fundo fullscreen (imagem + gradiente ficam no CSS específico) */
.login-bg {
    position: fixed;
    inset: 0;
    z-index: 1;
    background-color: #111827; /* fallback padrão */
}

/* Conteúdo acima do fundo */
.login-box,
.container {
    position: relative;
    z-index: 10;
}

/* Texto com sombra */
.text-shadow {
    text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}

/* Card estilo glass */
.card {
    border-radius: 16px !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.15);
}

/* Botões – animação padrão */
.btn {
    transition: all 0.25s ease;
}

.btn:hover {
    transform: translateY(-2px);
}

/* Formulários */
.form-label {
    font-weight: 600;
}

.input-group-text {
    background-color: #fff;
}

/* Mobile – ajustes globais */
@media (max-width: 576px) {
    .card-body {
        padding: 1.5rem 1.25rem !important;
    }

    h1.h3 {
        font-size: 1.6rem;
    }

    .input-group-lg > .form-control,
    .input-group-lg > .input-group-text {
        font-size: 1rem;
        padding: 0.6rem 1rem;
    }

    .btn-lg {
        padding: 0.7rem 1.25rem;
        font-size: 1.05rem;
    }

    /* ===== CORREÇÃO DOS BOTÕES MOBILE ===== */
    .btn,
    .btn-lg,
    .btn-block {
        height: 44px !important;           /* Altura fixa ideal para mobile */
        line-height: 44px !important;      /* Centraliza verticalmente */
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        font-size: 1rem !important;        /* Tamanho adequado */
        display: flex !important;
        align-items: center !important;     /* Centralização flexível */
        justify-content: center !important; /* Centraliza horizontalmente */
        white-space: nowrap;
        text-align: center;
    }
    
    /* Para inputs groups com botões */
    .input-group-append .btn,
    .input-group-prepend .btn {
        height: 44px !important;
        line-height: 44px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    /* Ajuste fino para ícones dentro dos botões */
    .btn i,
    .btn svg {
        margin-right: 6px;
        font-size: 0.95rem;
        line-height: 1;
    }
    
    /* Remover transformações que afetam altura */
    .btn:hover {
        transform: translateY(-1px); /* Reduzido para não afetar layout */
    }
}


/* ============================================================
   MOBILE OTIMIZADO - PÁGINA DE CADASTRO
   ============================================================ */

@media (max-width: 576px) {
    
    /* Reduz drasticamente o padding superior do container */
    .container.d-flex.align-items-center { /* Ajusta altura do formulário para telas pequenas */
        padding-top: 70px !important;        /* Antes era muito maior */
        min-height: 100vh;                   /* Mantém altura total */
        align-items: flex-start !important;  /* Alinha ao topo em vez de centro */
    }
    
    /* Ajusta o box de login para começar mais acima */
    .login-box {
        margin-top: 5px !important;          /* Reduz margem superior */
    }
    
    /* Remove espaçamento extra do título */
    .text-center.mb-4 {
        margin-bottom: 0.8rem !important;    /* Reduz espaço abaixo do título */
    }
    
    /* Ajusta o card para não ficar tão solto */
    .card-body {
        padding-top: 1.2rem !important;      /* Reduz padding interno superior */
        padding-bottom: 1.2rem !important;   /* Equilibra */
    }
    
    /* Título menor para ganhar espaço */
    h1.h3 {
        font-size: 1.4rem !important;        /* Um pouco menor */
        margin-bottom: 0.25rem !important;
    }
    
    /* Texto de descrição mais compacto */
    .text-light.opacity-75 {
        margin-bottom: 0.5rem !important;
        font-size: 0.85rem;
    }
    
    /* Labels mais compactos */
    .form-label {
        margin-bottom: 0.2rem !important;
        font-size: 0.8rem !important;
    }
    
    /* Inputs um pouco menores */
    .form-control.form-control-lg {
        padding: 0.5rem 0.75rem !important;  /* Reduz altura dos inputs */
        font-size: 0.95rem !important;
        min-height: 42px !important;         /* Altura mais compacta */
    }
    
    /* Botões mais compactos */
    .btn.btn-lg {
        min-height: 44px !important;          /* Altura ideal para toque */
        padding: 0 1rem !important;
        font-size: 0.95rem !important;
        margin-bottom: 0.6rem !important;     /* Reduz espaço entre botões */
    }
    
    /* Remove o min-height inline dos botões */
    button[style*="min-height"],
    a[style*="min-height"] {
        min-height: 44px !important;          /* Sobrescreve o inline */
    }
    
    /* Ajuste do espaçamento entre campos */
    .mb-3, .mb-4 {
        margin-bottom: 0.8rem !important;     /* Reduz espaço entre campos */
    }
    
    /* Último campo antes dos botões */
    .mb-4:last-of-type {
        margin-bottom: 1rem !important;       /* Um pouco mais de espaço antes dos botões */
    }
    
    /* Mensagem de ajuda/placeholder */
    .text-muted.small {
        font-size: 0.7rem !important;
    }
}

/* Para telas muito pequenas (ex: iPhone SE) */
@media (max-width: 375px) {
    
    .container.d-flex.align-items-center { /* Ajusta altura do formulário para telas pequenas */
        padding-top: 25px !important;
    }
    
    .login-box {
        margin-top: 0 !important;
    }
    
    .card-body {
        padding: 1rem !important;
    }
    
    h1.h3 {
        font-size: 1.3rem !important;
    }
    
    /* Reduz ainda mais os espaços */
    .mb-3, .mb-4 {
        margin-bottom: 0.6rem !important;
    }
    
    .form-control.form-control-lg {
        padding: 0.4rem 0.6rem !important;
        min-height: 40px !important;
    }
}



/* ============================================================
   AJUSTE DE TAMANHO – DESKTOP (FORMULÁRIOS MAIS COMPACTOS)
   ============================================================ */

/* Labels um pouco menores */
.form-label {
    font-size: 0.85rem;
    margin-bottom: 0.25rem;
}

/* Inputs grandes mais compactos */
.form-control.form-control-lg {
    padding: 0.55rem 0.85rem;
    font-size: 0.95rem;
    min-height: 44px;
}

/* Reduz espaço entre campos */
.mb-3,
.mb-4 {
    margin-bottom: 0.5rem !important;
}

/* Botões grandes um pouco mais baixos */
.btn.btn-lg {
    min-height: 46px;
    padding: 0.5rem 1.25rem;
    font-size: 1rem;
}
.form-control-lg {
    height: calc(1.5em + 1rem + 2px);
    padding: .5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
}