/* Estilos generales */

html {
    height: 100%;
    margin: 0;
}

body {
    height: 100%;
    margin: 0;
    font-family: Arial, sans-serif;
    background-color: #fff;
    color: #333;
}

.container {
    max-width: 1000px;
    margin: 30px auto;
    padding: 20px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}


/* Estilos para los títulos */
h2 {
    color: #000;
}


/* Estilos para las tablas */
table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

table,
th,
td {
    border: 1px solid #ccc;
}

th,
td {
    padding: 10px;
    text-align: left;
    font-size: 12px;
}




/* Estilos para botones */
.btn {
    display: inline-block;
    padding: 8px 15px;
    background-color: #000;
    color: #fff;
    text-align: center;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.btn:hover {
    background-color: #333;
}


/* Estilo para el botón "Documento" */
.btn-documento {
    display: inline-block;
    padding: 8px 15px;
    background-color: navy;
    color: white;
    text-align: center;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.btn-documento:hover {
    background-color: #001f3f;
    /* Color azul oscuro al pasar el mouse */
}

/* Estilos para el menú en encabezado.php */
.navbar {
    background-color: black;
    font-size: 12px;
    padding: 10px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: fixed;
    /* Fija la barra en la parte superior */
    width: 100%;
    /* Asegura que la barra ocupe todo el ancho de la pantalla */
    top: 0;
    /* Coloca la barra en la parte superior de la pantalla */
    left: 0;
    /* Asegura que la barra esté alineada al borde izquierdo */
    z-index: 9999;
    /* Asegura que esté por encima de otros elementos */
    height: 30px;
    /* Fija la altura de la navbar */
}


.navbar a {
    color: white;
    padding: 10px 10px;
    text-decoration: none;
    transition: background-color 0.3s;
}

.navbar a:hover {
    background-color: #333;
}

/* Estilos para el menú */
.menu {
    display: flex;
    align-items: center;
    background-color: #000;
    padding: 10px;
}

.menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    /* opcional: espacio entre elementos */
    margin-right: 20px;
}


/* Estilos para el menú desplegable */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 10000;
    /* Asegura que esté por encima de la sidebar */
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {
    background-color: #f1f1f1;
}

.dropdown:hover .dropdown-content {
    display: block;
}

/* Estilos para el pie de página */
.footer {
    background-color: black;
    color: white;
    text-align: center;
    padding: 10px 0;
    width: 100%;
}







/* Ajuste para que el formulario no ocupe toda la altura de la pantalla */
.login-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 400px;
    /* Ancho máximo del formulario */
    padding: 20px;
    margin: 100px auto;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Ajusta los campos de entrada para que se adapten al mismo tamaño del botón */
.login-input {
    width: 100%;
    /* Asegura que los campos ocupen el mismo ancho que el botón */
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
    /* Asegura que el padding se incluya en el ancho total */
}

/* Ajusta el botón de inicio de sesión */
.btn-login {
    width: 100%;
    /* Asegura que el botón ocupe el mismo ancho que los campos */
    padding: 10px;
    background-color: #008000;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 10px;
}

.btn-login:hover {
    background-color: #333;
}

/* Menu en el index */

.menu-inicio {
    width: 250px;
    border: 1px solid #ccc;
    background-color: white;
}

.menu-inicio .menu-header {
    background-color: black;
    color: white;
    padding: 10px 15px;
    font-weight: bold;
    text-transform: uppercase;
}

.menu-inicio .menu-item {
    background-color: white;
    color: black;
    padding: 10px 15px;
    border-top: 1px solid #ccc;
    text-decoration: none;
    display: block;
}

.menu-inicio .menu-item:hover {
    background-color: #f0f0f0;
}

.menu-inicio .menu-item:last-child {
    border-bottom: 1px solid #ccc;
}




/* Media queries para responsividad */

@media (max-width: 768px) {
    .container {
        padding: 15px;
        margin: 20px auto;
    }

    .navbar, .menu {
        flex-direction: column;
    }

    .menu-item, .navbar a {
        margin-bottom: 10px;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 10px;
        margin: 10px auto;
    }

    .menu-item, .navbar a {
        margin-bottom: 5px;
    }
}

img {
    max-width: 100%;
    height: auto;
}



/* GRID de 4 columnas */
.posts-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

/* Tarjeta */
.post-card{
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 14px;
  display: flex;
  flex-direction: column;   /* clave para empujar el "Leer más" abajo */
  min-height: 320px;        /* ajusta si querés más altas */
}

/* Título con recorte a 2 líneas */
.post-card h2{
  font-size: 16px;
  margin: 0 0 10px 0;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #000; /* si querés mantenerlo */
}

/* Contenedor de imagen */
.post-thumb{
  display: block;
  margin: 0 0 10px 0;
}

/* Imagen consistente (tipo portada) */
.post-thumb img{
  width: 100%;
  aspect-ratio: 4 / 5;     /* se ve más tipo revista/catálogo */
  object-fit: cover;
  border-radius: 10px;
  display: block;
  background: #f3f3f3;
}

/* Resumen recortado */
.post-card p{
  margin: 0 0 12px 0;
  color: #333;
  font-size: 14px;

  display: -webkit-box;
  -webkit-line-clamp: 2;   /* 2 líneas de resumen */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Link "Leer más" siempre abajo */
.post-readmore{
  margin-top: auto;         /* empuja hacia abajo */
  font-weight: 700;
  text-decoration: none;
}

/* Responsive */
@media (max-width: 1200px){
  .posts-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px){
  .posts-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px){
  .posts-grid{ grid-template-columns: 1fr; }
}


.post-title-link{
  color: inherit;
  text-decoration: none;
}
.post-title-link:hover{
  text-decoration: underline;
}
