*{
    box-sizing: border-box;
}

body{
    font-family: 'Inter', sans-serif;
    color: #1E293B;
    font-size: 18px;
    line-height: 1.7;
}

h1{
    font-family: 'Manrope', sans-serif;
    font-size: 56px;
    font-weight: 800;
    color: #0B1F5E;
}

h2{
    font-family: 'Manrope', sans-serif;
    font-size: 38px;
    font-weight: 700;
    color: #0B1F5E;
}

h3{
    font-family: 'Manrope', sans-serif;
    font-size: 28px;
    font-weight: 600;
    color: #0B1F5E;
}

h4{
    font-family: 'Manrope', sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #0B1F5E;
}

h5{
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #0B1F5E;
}

p{
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #475569;
}


button{
    font-size: 1em;
    font-weight: normal;
    padding: 7px 20px;
    border-radius: 5px;
    border: 1px solid rgba(0,0,0);
    box-shadow: 2px 2px 5px rgba(0,0,0,0.5);
    color: white;
    background-color: rgb(9, 72, 130);
    
}

button:hover{
    background-color: rgb(7, 40, 75);
}

.container{
    max-width: 1400px;
    margin: auto;
}

.logo-link {
    margin-top: 10px;
    display: inline-block; /* Asegura que el link ocupe el tamaño correcto */
    border: none;
}

.logo-img {
    display: block; /* Quita espacios extraños debajo de la imagen */
    max-width: 100%; /* Asegura que no se desborde */
    height: auto; /* Mantiene la proporción */
    border: 0; /* Quita bordes predeterminados en navegadores antiguos */
}

header{
    position: fixed; 
    top: 0;          
    width: 100%; 
    background: linear-gradient(to right, #0000be, #00e0bf);
    color: white;   
    display: flex;
    flex-direction: column; /* Apila elementos verticalmente */
    align-items: center; /* Centra horizontalmente */
    padding: 20px;
}

header .logo{
    margin: 10px;
    padding: 10px 25px 0px 25px;
    font-weight: bold;
    font-size: 1.7em;   
}

header .container{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: left;
}

header nav{
    display: flex;
    text-align: right;
    padding-top: 0;
    padding-bottom: 15px;
}  

nav a{
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #0B1F5E;
    text-decoration: none;
} 

header a{
    padding: 5px 12px;
    text-decoration: none;
    font-weight: normal;
    color: white;
}

header h3{
    justify-content: left;
    text-decoration: none;
    font-weight: normal;
    color: white;
}

header a:hover{
    color: rgb(104, 165, 222);
}

.logocheck {
    display: flex;
    justify-content: center; /* Centra horizontalmente */
    align-items: center;     /* Centra verticalmente */
    width: 50%;       /* Hace la imagen responsiva */
    max-width: 200px;  /* Tamaño máximo */
    height: auto;      /* Mantiene la proporción */
    background-position: center;

}

#banner{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    height:500px;
    width: 100%;
    background-image: url("Images/Foto\ de\ portada\ Facebook.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-bottom:0px;
}

.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;
    margin-left:30px;
}
.fiscal img {
    display: block;
    margin: 0 auto;
    max-width: 720px;
    height: auto;
}


.fisca h2{
    margin-right: 30px;
    text-align: center;
    text-shadow: 0cap;
    color: white;
   
}

.fisca h3{
    margin-right: 30px;
    text-align: center;
    text-shadow: 0cap;
    color: white;
}

.fisca li{
 margin-right: 30px;
}

.magistralcine{
    justify-content: center;
    align-items: center;;
    margin-left:75px;
    margin-right:75px;
    text-align: center;
}

.logomagistral {
    display:flex;
    margin-left:45%;
    margin-bottom:25px;
    justify-content: center; /* Centra horizontalmente */
    align-items: center;     /* Centra verticalmente */
    width: 50%;       /* Hace la imagen responsiva */
    max-width: 100px;  /* Tamaño máximo */
    height: auto;      /* Mantiene la proporción */
    background-position: center;
}

.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;
    margin-left:100px;
     margin-right:100px;
}

.presupuestal img {
    display: block;
    margin: 0 auto;
    max-width: 720px;
    height: auto;
}

.presu {
    margin-right:20px;
}

.presu h2{
    margin-right: 30px;
    text-align: center;
    text-shadow: 0cap;
    color: white;
   
}

.presu h3{
    margin-right: 30px;
    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: linear-gradient(to right, #0000be, #00e0bf);
    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 */
}
}




