*{
    box-sizing: border-box;
}


body, html {
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    height: 100%;
}
.body {
    width: 100%;
    min-height: 100vh; /* min-height permite crecer si hay contenido */
   
    display: flex; /* Opcional: centrar contenido */
    justify-content: center;
    align-items: center;
        }

        

h1{font-size: 4em;}
h2{font-size: 2em;}
h3{font-size: 1.7em;}
p{font-size: 1.25em;}
li{font-size: 1.2em;}
li{text-align: left;}


header {
    position: fixed; 
    top: 0;          
    width: 100%; 
    background: linear-gradient(to right, #000000, #042650);
    color: white;   
    display: flex;
    flex-direction: column; /* Apila elementos verticalmente */
    align-items: center; /* Centra horizontalmente */
    padding: 20px;
    
}

.navbar {
    display: flex;
    justify-content: center;
    gap: 20px; /* Espacio entre enlaces */
    list-style: none;
    padding: 0;
    margin: 0;
   
}

.navbar a{
    padding: 8px 10px;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
    color: white;
    font-size:x-large;
}

.navbar a:hover{
    background-color: rgba(255,255,255,0.12);
    color: #c7d4ff;
    transform: translateY(-2px);
}

#banner{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    height:200px;
    width: 100%;
    background-image: url("Images/Banner2.jpg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-bottom:0px;
}

/* Estilos del Logo */
.logo img {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
}

/* Estilos del Logo */


/* Estilos de Navegación */



.servicios { 
    text-align: center;
    padding: 20px 20px;
}   

.servicios h2{
    padding-bottom: 0px;
    margin-bottom: 2px;
    text-align: center;
    justify-content: center;
}



.area-administrativa {
    width: 100%;
    background-color: rgb(137, 153, 204);
    display: flex;
    flex-wrap: wrap; /* Permite que se acomoden en vertical en pantallas pequeñas */
    gap: 20px; /* Espacio entre imagen y texto */
    padding-right: 10px;
    padding-left: 10px;
    align-items: center; /* Centra el texto verticalmente respecto a la imagen */
    max-width: 1440px; /* Ancho máximo opcional */
    margin: 0 auto; /* Centra el contenedor en la pantalla */
}

.administrativa {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
  
}
.administrativa img {
    display: block;
    margin: 0 auto;
    max-width: 720px;
    height: auto;
    
}


.admin h2{
    text-align: center;
    text-shadow: 0cap;
    color: black;
   
}

.admin h3{
    text-align: center;
    text-shadow: 0cap;
    color: black;
}

.areacontable {
    width: 100%;
    background-color: rgb(76, 98, 156);
    display: flex;
    flex-wrap: wrap; /* Permite que se acomoden en vertical en pantallas pequeñas */
    gap: 20px; /* Espacio entre imagen y texto */
    padding-right: 10px;
    padding-left: 10px;
    align-items: center; /* Centra el texto verticalmente respecto a la imagen */
    max-width: 1440px; /* Ancho máximo opcional */
    margin: 0 auto; /* Centra el contenedor en la pantalla */
    color: white;   
}   

.contable {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
}

.contable img {
   display: block;
    margin: 0 auto;
    max-width: 720px;
    height: auto;
}


.conta h2{
    text-align: center;
    text-shadow: 0cap;
    color: white;
   
}

.conta h3{
    text-align: center;
    text-shadow: 0cap;
    color: white;
}

.areafiscal {
    width: 100%;
    background-color: rgb(0, 44, 91);
    display: flex;
    flex-wrap: wrap; /* Permite que se acomoden en vertical en pantallas pequeñas */
    gap: 20px; /* Espacio entre imagen y texto */
    padding-right: 10px;
    padding-left: 10px;
    align-items: center; /* Centra el texto verticalmente respecto a la imagen */
    max-width: 1440px; /* Ancho máximo opcional */
    margin: 0 auto; /* Centra el contenedor en la pantalla */
    color: white;
}

.fiscal {
   display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
}
.fiscal img {
    display: block;
    margin: 0 auto;
    max-width: 720px;
    height: auto;
}


.fisca h2{
    text-align: center;
    text-shadow: 0cap;
    color: white;
   
}

.fisca h3{
    text-align: center;
    text-shadow: 0cap;
    color: white;
}

.areapresupuestal {
    width: 100%;
    background-color: rgb(2, 33, 51);
    display: flex;
    flex-wrap: wrap; /* Permite que se acomoden en vertical en pantallas pequeñas */
    gap: 20px; /* Espacio entre imagen y texto */
    padding-right: 10px;
    padding-left: 10px;
    align-items: center; /* Centra el texto verticalmente respecto a la imagen */
    max-width: 1440px; /* Ancho máximo opcional */
    margin: 0 auto; /* Centra el contenedor en la pantalla */
    color: white;
}

.presupuestal {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
}

.presupuestal img {
    display: block;
    margin: 0 auto;
    max-width: 720px;
    height: auto;
}


.presu h2{
    text-align: center;
    text-shadow: 0cap;
    color: white;
   
}

.presu h3{
    text-align: center;
    text-shadow: 0cap;
    color: white;
}


#final .container{ 
    text-align:center;
    justify-content: center;
    padding: 20px 350px;
}   

.final h4{
    margin-left: 400px;
    margin-right: 200px;
    color: white;
    padding-bottom: 0px;
    margin-bottom: 2px;
    text-align: center;
    justify-content: center;
}


.administrativa, .admin,
.contable, .conta,
.fiscal, .fisca,
.presupuestal, .presu {
    flex: 1;
    min-width: 300px;
}

footer {
    background-color: #042650;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap; /* CLAVE para móvil */
    gap: 15px;
    padding: 15px;
    color: white;
    text-align: center;
}

/* Logo */
.footer-logo img {
    height: 40px;
}

/* Items (teléfono y correo) */
.footer-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

/* Iconos */
.footer-item img {
    width: 20px;
    height: 20px;
}

@media (max-width: 768px) {

    h1 {font-size: 2.2em;}
    h2 {font-size: 1.6em;}
    h3 {font-size: 1.3em;}
    p, li {font-size: 1em;}

   .area-administrativa,
.areacontable,
.areafiscal,
.areapresupuestal {
    flex-direction: column;
    padding: 15px;
}

    .administrativa,
    .admin,
    .contable,
    .conta,
    .fiscal,
    .fisca,
    .presupuestal,
    .presu {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .administrativa img,
.contable img,
.fiscal img,
.presupuestal img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}
    #final .container {
        padding: 20px;
    }

    footer {
        flex-wrap: wrap;
        text-align: center;
    }

     footer {
        flex-direction: column; /* Se apilan */
        gap: 10px;
    }

    .footer-item {
        justify-content: center;
    }

    .footer-logo img {
        height: 35px;
    }

    header {
    position: fixed;
    top: 0;
    width: 100%;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
    box-sizing: border-box;
}

.navbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 16px; /* vertical | horizontal */
    width: 100%;
    padding: 0;
    margin: 0;
}

.navbar li {
    list-style: none;
    flex: 0 1 auto;
}

.navbar a {
    display: block;
    font-size: 15px !important;
    padding: 4px 8px;
    white-space: nowrap; /* evita cortes raros */
}
}

