/* --- SECCIÓN MENÚ (ESTILO TARJETA) --- */

.menu-section {
    background-color: #F8F4EF; /* Un color ligeramente más claro */
    text-align: center;
    padding: 60px 0;
}

.menu-section h2 {
    font-size: 2.3rem;
}

.menu-note {
    font-style: italic;
    margin-bottom: 40px;
    color: #666;
}

.menu-cards-grid {
    /* Diseño de cuadrícula moderno: 2 o 3 columnas en desktop */
    display: grid;
    /* Las columnas se ajustan automáticamente para tener un ancho mínimo de 320px */
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 25px;
    margin-top: 30px;
}

.menu-card {
    /* Diseño rectangular y limpio (horizontal) */
    display: flex;
    background-color: var(--color-white);
    border-radius: 8px;
    overflow: hidden; 
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    text-align: left;
    transition: transform 0.3s, box-shadow 0.3s;
    cursor: pointer;
}

.menu-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
}

.card-image {
    width: 40%; 
    height: 150px;
    object-fit: cover; 
}

.card-info {
    width: 60%; 
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.card-info h4 {
    color: var(--color-primary);
    font-size: 1.2em;
    margin-bottom: 5px;
}

.card-info p {
    font-size: 0.9em;
    color: #555;
}

.cash-note-menu {
    margin-top: 40px;
    font-size: 1.2em;
    color: var(--color-accent);
}


/* --- RESPONSIVE DESIGN --- */

@media (max-width: 850px) {
    /* En pantallas medianas (tabletas/móviles grandes), forzamos la cuadrícula a ser una sola columna */
    .menu-cards-grid {
        /* Las tarjetas se apilan, manteniendo su diseño horizontal interno */
        grid-template-columns: 1fr;
        padding: 0 15px; 
    }
}

@media (max-width: 768px) {
    /* Ajustes generales de header para tabletas */
    .navbar {
        flex-direction: column;
        padding: 15px 20px;
    }

    .navbar nav {
        margin-top: 10px;
    }

    .navbar a {
        margin: 0 10px;
        font-size: 0.9em;
    }

    .hero-title {
        font-size: 2.5em;
    }

    .hero-slogan {
        font-size: 1.2em;
    }

    .container {
        padding: 30px 15px;
    }
}

@media (max-width: 550px) {
    /* Ajustes finos para que las tarjetas se vean bien en móviles pequeños */
    
    .menu-card {
        height: auto;
    }
    
    .card-image {
        width: 45%; 
        height: 110px; /* Reducimos la altura para ser más compacto */
    }

    .card-info {
        width: 55%;
        padding: 10px 8px; /* Reducimos el padding interno */
    }
    
    .card-info h4 {
        font-size: 1em; /* Títulos más pequeños */
    }
    
    .card-info p {
        font-size: 0.8em; /* Texto más pequeño para caber */
    }
}


/*-----*/

/* --- RESET BÁSICO Y TIPOGRAFÍA --- */
:root {
    /* Paleta de Colores cálida/tierra */
    --color-primary: #070101; /* Marrón cálido / Sazón */
    --color-secondary: #D2B48C; /* Beige/Arena / Fondo claro */
    --color-accent: #CD5C5C; /* Terracota/Ladrillo suave / Contraste */
    --color-cta: #4CAF50; /* Verde Olivo para CTA */
    --color-text: #1e1e1e;
    --color-white: #fff;
    
    /* Tipografía */
    --font-heading: "Funnel Sans", sans-serif;
    --font-body: 'Montserrat', sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-body);
    line-height: 1.6;
    color: var(--color-text);
    background-color: var(--color-secondary); /* Fondo general suave */
}

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px;
}

h1, h2, h3, h4 {
    font-family: var(--font-heading);
    color: var(--color-primary);
    margin-bottom: 15px;
}

/* --- SECCIÓN HÉROE (HEADER) --- */
.hero-section {
    background: url('img/plato.png') no-repeat center center/cover; /* Reemplaza con una imagen de alta calidad */
    height: 100vh; /* Altura de la vista completa */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: var(--color-white);
    text-align: center;
    position: relative;
    /* Fondo oscuro semitransparente para mejor legibilidad del texto */
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.4); 
}

/* Barra de Navegación */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 40px;
    background-color: rgba(0, 0, 0, 0.6);
}

.logo {
    font-size: 1.8em;
    font-weight: 700;
    color: var(--color-white);
}

.navbar a {
    color: var(--color-white);
    text-decoration: none;
    margin-left: 25px;
    font-weight: 500;
    transition: color 0.3s;
}

.navbar a:hover {
    color: var(--color-accent);
}

/* Contenido Principal Héroe */
.hero-content {
    padding: 20px;
    margin-top: -15vh; /* Ajuste para centrar mejor en la vista */
}

.hero-title {
    font-size: 4em;
    margin-bottom: 10px;
    color: var(--color-white);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.hero-slogan {
    font-size: 1.5em;
    font-weight: 600;
    margin-bottom: 30px;
    padding: 10px 20px;
    background-color: rgba(var(--color-accent), 0.7);
    display: inline-block;
    border-radius: 5px;
    color: var(--color-white);
}

/* Botón CTA */
.cta-button {
    background-color: var(--color-cta);
    color: var(--color-white);
    padding: 15px 30px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.1em;
    border-radius: 5px;
    transition: background-color 0.3s;
    display: inline-block;
}

.cta-button:hover {
    background-color: #388E3C; /* Verde un poco más oscuro */
}

/* Aviso de Efectivo */
.cash-notice {
    background-color: rgb(124, 0, 0);
    color: var(--color-white);
    padding: 15px;
    font-weight: 700;
    font-size: 1.2em;
    position: sticky; /* Se mantendrá en la parte superior si se hace scroll (opcional) */
    top: 0;
    z-index: 10;
}

.cash-notice i {
    font-size: 1.5em;
}

/* --- SECCIONES GENERALES --- */
section {
    padding: 60px 0;
}

/* Sección Historia */
.story-section {
    background-color: var(--color-white);
    text-align: center;
}

.story-section h3 {
    font-size: 2.3rem;
}

.story-highlight {
    font-family: var(--font-heading);
    font-size: 2em;
    color: var(--color-accent);
    margin-top: 20px;
}



/* Sección Ubicación */
.location-section {
    background-color: var(--color-white);
    padding-top: 1rem;
    padding-bottom: 0; /* Para que el mapa toque el borde */
}

.contact-info {
    text-align: center;
    margin-bottom: 30px;
    font-size: 1.1em;
}

.contact-info .dirtxt {
    font-size: 1.3em;
    margin-top: 20px;
}

.contact-info strong {
    color: var(--color-primary);
}

iframe {
    display: block;
}

/* --- PIE DE PÁGINA (FOOTER) --- */
footer {
    background-color: var(--color-primary);
    color: var(--color-white);
    text-align: center;
    padding: 20px 0;
    font-size: 0.9em;
}

footer a {
            text-decoration: none;
            color: yellow;
            font-weight: 600;
        }

/* --- RESPONSIVE DESIGN BÁSICO --- */
@media (max-width: 768px) {
    .navbar {
        flex-direction: column;
        padding: 15px 20px;
    }

    .navbar nav {
        margin-top: 10px;
    }

    .navbar a {
        margin: 0 10px;
        font-size: 0.9em;
    }

    .hero-title {
        font-size: 2.5em;
    }

    .hero-slogan {
        font-size: 1.2em;
    }

    .container {
        padding: 30px 15px;
    }

}
