/* --- Variables de Colores (Opcional, pero recomendado para consistencia) --- */
:root {
    --primary-color: #008080; /* Un verde teal oscuro */
    --secondary-bg-color: #f8f8f8; /* Un gris muy claro para el fondo */
    --card-bg-color: #ffffff; /* Blanco para las tarjetas */
    --text-color: #333;
}

/* --- Estilos Generales del Cuerpo --- */
body {
    font-family: 'Arial', sans-serif; /* Puedes cambiar por tu fuente preferida */
    margin: 0;
    padding: 0;
    background-color: var(--secondary-bg-color); /* Fondo claro de la página */
    color: var(--text-color);
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Asegura que el body ocupe al menos toda la altura de la ventana */
}

/* --- Encabezado Principal --- */
.main-header {
    background-color: var(--primary-color);
    color: white;
    text-align: center;
    padding: 15px 0;
    font-size: 1.2em;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Sombra sutil para darle profundidad */
}

.main-header h1 {
    margin: 0; /* Elimina el margen por defecto del h1 */
}

/* --- Contenido Principal (Wrapper) --- */
.main-content {
    flex-grow: 1; /* Permite que el contenido principal ocupe el espacio disponible */
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra los elementos hijos horizontalmente */
    max-width: 600px; /* Limita el ancho para simular la apariencia de un dispositivo móvil */
    margin: 0 auto; /* Centra el bloque de contenido principal en la página */
}

/* --- Sección del Logo --- */
.logo-section {
    margin-bottom: 20px;
    width: 100%;
    text-align: center; /* Para centrar la imagen dentro de su contenedor */
}

.main-logo {
    max-width: 100%; /* La imagen se ajustará al ancho de su contenedor */
    height: auto; /* Mantiene la proporción de la imagen */
    border-radius: 8px; /* Ligeras esquinas redondeadas para la imagen */
}

/* --- Tarjeta de Información (Horarios) --- */
.info-card {
    background-color: var(--card-bg-color);
    border-radius: 10px; /* Esquinas redondeadas */
    padding: 15px 20px;
    margin-bottom: 20px;
    width: 100%; /* Ocupa todo el ancho del main-content */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra sutil */
    text-align: center;
}

.info-card h2 {
    margin-top: 0;
    color: var(--primary-color); /* Color teal para los títulos de tarjeta */
    font-size: 1.1em;
}

.info-card p {
    margin: 5px 0;
    line-height: 1.4; /* Espaciado entre líneas para mejor lectura */
}

/* --- Sección del Enlace de Servicios --- */
.service-link-section {
    width: 100%;
    margin-bottom: 20px;
}

.service-link {
    display: flex; /* Para alinear el texto y el icono */
    justify-content: space-between; /* Empuja el icono a la derecha */
    align-items: center; /* Centra verticalmente texto e icono */
    padding: 15px 20px;
    background-color: var(--card-bg-color); /* Fondo claro para el enlace */
    border-radius: 10px;
    text-decoration: none; /* Elimina el subrayado por defecto */
    color: var(--text-color);
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease; /* Transición suave al pasar el ratón */
}

.service-link:hover {
    background-color: #e0e0e0; /* Un gris más oscuro al pasar el ratón */
}

.service-link i {
    color: var(--primary-color); /* Color teal para el icono */
    font-size: 1.2em;
}

/* --- Sección del Botón de Reserva --- */
.reservation-button-section {
    width: 100%;
    margin-bottom: 20px;
}

.reserve-button {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary-color);
    color: white;
    padding: 15px 25px;
    border-radius: 50px; /* Muy redondeado para forma de píldora */
    text-decoration: none;
    font-size: 1.1em;
    font-weight: bold;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra más pronunciada */
    transition: background-color 0.3s ease, transform 0.2s ease; /* Transiciones suaves */
}

.reserve-button i {
    margin-right: 10px;
    font-size: 1.3em;
}

.reserve-button:hover {
    background-color: #006666; /* Teal ligeramente más oscuro al pasar el ratón */
    transform: translateY(-2px); /* Efecto de "levantamiento" */
}

/* --- Pie de Página (si lo usas) --- */
.main-footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 15px 0;
    font-size: 0.9em;
    margin-top: auto; /* Empuja el footer al final si el contenido es corto */
}

/* --- Media Queries (Para pantallas más grandes, opcional) --- */
@media (min-width: 768px) {
    .main-content {
        padding: 40px;
        /* Puedes ajustar max-width si quieres que sea más ancho en escritorio */
        max-width: 800px;
    }
}