/* ESTILOS EXACTOS REPLICANDO LA ESTRUCTURA VISUAL FIKA */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: #1a1a1a;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    font-family: 'Montserrat', sans-serif;
}

/* CONTENEDOR PRINCIPAL MÓVIL */
.app-container {
    width: 100%;
    max-width: 480px;
    min-height: 100vh;
    background-color: #D9C7B9;  /* Tono de fondo beige/crema exacto */
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 25px rgba(0,0,0,0.5);
    overflow: hidden;
}

/* ENCABEZADO SUPERIOR CON FONDO BLANCO */
.header {
    background-color: #ffffff;
    text-align: center;
    padding: 25px 15px 20px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.logo-box .logo {
    max-width: 130px;
    height: auto;
}

.tagline {
    font-family: 'Satisfy', cursive;
    font-size: 1.25rem;
    color: #4a3e36;
    margin-top: 4px;
}

/* BOTÓN "HAZ TU PEDIDO AQUÍ" EN LA UNIÓN DE FONDOS */
.btn-pedido {
    position: absolute;
    bottom: -18px;
    background-color: #212E1B; /* Verde muy oscuro casi negro */
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 8px 26px;
    border-radius: 20px;
    text-decoration: none;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    z-index: 10;
}

/* CUERPO PRINCIPAL */
.menu-body {
    padding: 35px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ESTILOS DE TARJETAS (TARJETA BASE) */
.card {
    border-radius: 20px 0 50px 0; /* Arriba-Izq, Arriba-Der, Abajo-Der, Abajo-Izq */
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.card-content {
    padding: 16px;
    text-align: center;
}

/* COLORES DE TARJETAS Y ENCABEZADOS */

/* 1. Comida corrida */
.card-comida {
    background-color:  rgba(82, 99, 74, 0.1);
}

.header-comida {
    background-color: #52634A; /* Verde Comida Corrida */
}

/* 2. Desayunos */
.card-desayunos {
    background-color: rgba(154, 69, 40, 0.1);
}
.header-desayunos {
    background-color: #9A4528; /* Rojo Desayunos */
}

/* 3. Catering */
.card-catering {
    background-color: rgba(143, 166, 139, 0.1);
}
.header-catering {
    background-color: #8FA68B; /* Verde Claro Catering */
}

/* 4. A la carta */
.card-lacarta {
    background-color: rgba(219, 172, 103, 0.1);
}
.header-lacarta {
    background-color: #DBAC67; /* Tono terroso a la carta */
}

/* BANNERS / LISTONES SUPERIORES */
.card-header {
    font-family: 'Caveat', cursive;
    font-size: 2.2rem;
    color: #ffffff;
    padding: 6px 15px;
    text-align: center;
    border-radius: 0 0 40px 0; /* Arriba-Izq, Arriba-Der, Abajo-Der, Abajo-Izq */
}

/* COMIDA CORRIDA INTERNOS */
.subtitle-comida {
    font-size: 0.95rem;
    color:  #52634A;
    font-weight: 500;
    margin-bottom: 6px;
}

.price-badge {
    font-size: 2.8rem;
    font-weight: 700;
    color: #3f5238;
    margin: 2px 0 10px;
}

.price-badge small {
    font-size: 1.6rem;
    vertical-align: super;
}

.dynamic-menu-box {
    background-color: #B2B3A8; /* Tono de la caja gris interna */
    padding: 14px 16px;
    border-radius: 20px;
    text-align: left;
    margin-bottom: 12px;
}

.menu-row {
    display: flex;
    gap: 6px;
    font-size: 0.92rem;
    padding: 2px 0;
    color: #1a1a1a;
}

.menu-row .label {
    font-weight: 600;
    min-width: 95px;
}

.schedule-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-style: italic;
    color: #333333;
    font-size: 0.9rem;
}

/* PÍLDORA CATERING */
.catering-pill {
    background-color: #BDC0B3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 25px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #222;
}

/* ÍCONOS EN LÍNEA */
.inline-icon {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain;
}

/* GRID DE PÍLDORAS (DESAYUNOS / A LA CARTA) */
.tag-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 4px 0;
}

.tag-grid span {
    background-color: #C3B4A6; /* Fondo de las píldoras de platillos */
    color: #1a1a1a;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 7px 16px;
    border-radius: 20px;
}

/* PIE DE PÁGINA */
.footer-contact {
    padding: 20px 15px 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.btn-location {
    display: inline-block;
    background-color: #52634A;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 20px;
    text-decoration: none;
    box-shadow: 0 3px 6px rgba(0,0,0,0.12);
}

.address-text {
    font-size: 0.78rem;
    color: #3b3129;
}

.social-links {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.social-item {
    font-size: 0.82rem;
    color: #2d2620;
    text-decoration: none;
}

/* ESTILOS DE INTERACTIVIDAD Y ANIMACIÓN */

.card-header {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    user-select: none;
    transition: background-color 0.2s ease;
}

.toggle-icon {
    font-size: 0.9rem;
    transition: transform 0.3s ease;
}

/* Transición suave para ocultar/mostrar tarjetas */
.card-content {
    transition: all 0.3s ease-in-out;
    max-height: 1000px;
    opacity: 1;
    overflow: hidden;
}

.card.collapsed .card-content {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
}

.card.collapsed .toggle-icon {
    transform: rotate(-90deg);
}

/* EFECTO EN PÍLDORAS AL TOCAR/SELECCIONAR */
.tag-grid span {
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.tag-grid span:active, .tag-grid span.selected {
    background-color: #52634A !important;
    color: #ffffff !important;
    transform: scale(0.96);
}