/* UltraEnvios - Base Styles & Color Palette */

:root {
    /* Paleta de Cores Principal */
    --primary-color: #1232C4;
    --primary-red: #F2071B;
    --primary-red-dark: #A60522;
    --primary-blue: #113DBF;
    --primary-blue-dark: #072273;
    --primary-blue-darker: #051A59;
    
    /* Cores de Aplicação - Navbar */
    --navbar-bg-start: var(--primary-blue-darker);
    --navbar-bg-mid: var(--primary-blue-dark);
    --navbar-bg-end: var(--primary-blue);
    --navbar-accent: var(--primary-red);
    --navbar-accent-dark: var(--primary-red-dark);
    
    /* Cores de Aplicação - Footer */
    --footer-bg: var(--primary-blue-darker);
    --footer-border: var(--primary-red);
    --footer-accent: var(--primary-red);
    
    /* Cores Secundárias */
    --secondary-color: #26A69A;
    --accent-color: #9C27B0;
    --positive-color: #21BA45;
    --negative-color: #FF0000;
    --info-color: #31CCEC;
    --warning-color: #F2C037;
    --title-bar-gray: #e0e0e0;
    
    /* Cores Adicionais */
    --royal-blue: #0033CC;
    --dark-color: #1D1D1D;
    --dark-page-color: #121212;
    
    /* Botões */
    --btn-red: #F2071B;
    --btn-red-hover: var(--primary-red-dark);
}

/* Alert messages */
.alert-custom {
    border-radius: 5px;
    padding: 1rem;
    margin-top: 1rem;
}

.alert {
    border: none;
    border-radius: 8px;
}

/* Body and Layout Styles */
html, body {
    height: 100%;
    margin: 0;
}

body {
    background-color: #f8f9fa;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Container principal */
/* Container de páginas internas (exceto páginas full width) */
.page-boxed {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    padding: 2rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
    flex: 1;
}
/* Responsividade Global */
@media (max-width: 991.98px) {
    .page-boxed {
        padding: 1.5rem;
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .page-boxed {
        padding: 1.25rem;
        margin-top: 1rem;
        margin-bottom: 1rem;
        border-radius: 5px;
    }
    
    /* Ajustar tamanhos de fonte em dispositivos móveis */
    h1 {
        font-size: 1.75rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    h3 {
        font-size: 1.25rem;
    }
}

@media (max-width: 575.98px) {
    .page-boxed {
        padding: 1rem;
        border-radius: 0;
    }
    
    /* Container no mobile ocupa toda a largura */
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    /* Ajustar alertas em mobile */
    .alert {
        font-size: 0.9rem;
        padding: 0.75rem;
    }
}

/* Utilitários responsivos adicionais */
@media (max-width: 575.98px) {
    /* Botões em mobile ocupam largura total */
    .btn-block-mobile {
        display: block;
        width: 100%;
        margin-bottom: 0.5rem;
    }
    
    /* Reduzir espaçamentos em mobile */
    .mt-4, .my-4 {
        margin-top: 1rem !important;
    }
    
    .mb-4, .my-4 {
        margin-bottom: 1rem !important;
    }
    
    .mt-5, .my-5 {
        margin-top: 1.5rem !important;
    }
    
    .mb-5, .my-5 {
        margin-bottom: 1.5rem !important;
    }
}