
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    background-color: white; /* URL de la imagen de fondo */
    background-size: cover; /* Ajuste para cubrir todo el área */
    background-position: center; /* Posición centrada */
    background-attachment: fixed; /* Fondo fijo para evitar que se repita */
    font-family: Arial, sans-serif; /* Tipo de fuente para el texto */
}

.title h1 {
    color: #ABC4DC; /* Color del texto del área de descripción */
    font-family: 'Bradley Hand', cursive, 'Comic Sans MS', 'Helvetica Neue', Arial, sans-serif;
 /* Fuente Bradley Hand */
    text-align: center;
    margin-top: 50px; /* Espaciado superior */
}

/* Estilos para el contenedor del zoom */
.zoom-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 1000;
    text-align: center;
}

.zoomed-image {
    max-width: 90%;
    max-height: 90%;
    margin-top: 50px;
    margin-bottom: -11px;
}

.cerrar-zoom {
    position: absolute;
    top: 10px;
    background-color: rgba(255, 255, 255, 0.7);
    border: none;
    color: black;
    font-size: 16px;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 50%;
}

.zoom-container button {
    background-color: #ABC4DC; /* Color de fondo de los botones */
    font-family: 'Bradley Hand', cursive, 'Comic Sans MS', 'Helvetica Neue', Arial, sans-serif;
 /* Fuente Bradley Hand */
    color: #fff; /* Color del texto de los botones */
    border: none;
    padding: 5px 10px; /* Espaciado interior de los botones */
    margin-right: 5px; /* Espacio entre los botones */
    cursor: pointer;
}

.grid-caption {
    color: #ABC4DC; /* Color del texto */
    font-family: 'Bradley Hand', cursive, 'Comic Sans MS', 'Helvetica Neue', Arial, sans-serif;
 /* Fuente Bradley Hand */
    padding: 10px; /* Espaciado interior */
    text-align: center;
    font-size: 20px; /* Tamaño de fuente del texto descriptivo */
    position: relative; /* Establecer la posición relativa para el contenido */
    z-index: 1; /* Asegurar que el contenido esté delante del fondo blanco */
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); /* Cuatro columnas de igual tamaño */
    margin: 0 auto; /* Margen automático a los lados para centrar los elementos */
    width: 80%; /* Ancho del contenedor */
    overflow: hidden; /* Ocultar imágenes fuera del contenedor */
    border-radius: 15px; /* Bordes redondos para el contenedor */
    background-color: white; /* Fondo blanco semitransparente */
}

.grid-item {
    margin-top: 30px;
    background-color: white; /* Fondo blanco semitransparente */
    width: 100%; /* Ocupar todo el ancho de la celda de la cuadrícula */
    position: relative; /* Establecer la posición relativa para poder posicionar el fondo blanco */
    overflow: hidden; /* Ocultar cualquier contenido que sobresalga de los bordes redondeados */
    text-align: center;
}

.grid-item img {
    width: 250px; /* Ancho fijo para las imágenes */
    height: 250px; /* Altura fija para las imágenes */
    border-radius: 15px; /* Bordes redondos */
    cursor: pointer; /* Cambia el cursor a una mano al pasar sobre la imagen */
    vertical-align: middle; /* Alinear verticalmente la imagen en el centro */
    display: inline-block; /* Permitir que la imagen respete el texto */
}

.grid-item::before {
    content: ""; /* Agregar un pseudo-elemento antes del contenido real */
    position: absolute; /* Establecer la posición absoluta con respecto al elemento padre */
    top: 0; /* Alinear el pseudo-elemento en la parte superior del elemento padre */
    left: 0; /* Alinear el pseudo-elemento en la parte izquierda del elemento padre */
    width: 100%; /* Ancho igual al del elemento padre */
    height: 100%; /* Altura igual al del elemento padre */
    background-color: white; /* Color de fondo blanco */
    border-radius: inherit; /* Heredar los bordes redondeados del elemento padre */
    z-index: -1; /* Colocar el fondo blanco debajo de la imagen */
}

.grid-buttons {
    margin-top: 10px; /* Espacio entre el título y los botones */
}

.grid-buttons button {
    background-color: #ABC4DC; /* Color de fondo de los botones */
    font-family: 'Bradley Hand', cursive, 'Comic Sans MS', 'Helvetica Neue', Arial, sans-serif;
 /* Fuente Bradley Hand */
    color: #fff; /* Color del texto de los botones */
    border: none;
    padding: 5px 10px; /* Espaciado interior de los botones */
    margin-right: 5px; /* Espacio entre los botones */
    cursor: pointer;
    font-size: 20px;
}

.grid-buttons button:hover {
    background-color: #6aa1d4; /* Color de fondo al pasar el ratón sobre los botones */
}