.qmenu-container {
    font-family: sans-serif;
    margin-bottom: 0;
}
/* Estilos para el título principal de la carta */
.qmenu-carta-title {
    /* Agregar estilos aquí si son necesarios */
    margin: 0 0 1em 0;
}
.qmenu-carta-excerpt {
    margin-bottom: 0;
    font-style: italic;
    color: #555;
}
/* Estilos para la sección */
.qmenu-seccion {
    background-color: #f0f0f0;
    padding: 15px;
    margin: 20px 0;
    border-left: 5px solid #0073aa;
    border-radius: 4px;
    overflow: hidden;
}

/* Estilos para la imagen de la sección */
.qmenu-seccion-imagen {
    margin-bottom: 15px;
    text-align: center;
}

.qmenu-seccion-imagen-img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Mejorar el espaciado del título de la sección */
.qmenu-cabecera-seccion {
    margin-bottom: 15px;
}
/* Estilos de subsección eliminados */
.qmenu-items-list {
    list-style: none;
    padding-left: 0; 
    margin-left: 0; /* Secciones no tienen margen izquierdo extra por defecto */
}

/* Lista de elementos de la sección */
.qmenu-seccion > .qmenu-items-list {
    margin-left: 0; 
}

.qmenu-item {
    padding: 0;
    border-bottom: 1px dotted #eee;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
}
.qmenu-item:last-child {
    border-bottom: none;
}
.qmenu-item-title {
    font-weight: bold;
    margin-right: 0;
}
.qmenu-item-descripcion {
    color: #555;
    margin: 5px 0 0 0;
    padding: 5px 0;
    flex-basis: 100%;
    font-size: 0.9em;
    line-height: 1.4;
}
.qmenu-item-price {
    font-weight: bold;
    color: #333;
    margin-left: 0;
    white-space: nowrap; /* Evitar que el precio se parta */
}
.qmenu-item-alergenos {
    font-size: 0.9em;
    color: #777;
    width: 100%; 
    margin-top: 0;
}

/* Ajuste para que el título y precio estén en la misma línea y la descripción debajo */
.qmenu-item > .qmenu-item-title,
.qmenu-item > .qmenu-item-price {
    flex-basis: auto; /* Permite que crezcan según contenido */
    margin-bottom: 0; /* Espacio antes de la descripción/alérgenos */
}
.qmenu-item > .qmenu-item-descripcion {
    order: 1;
    margin-left: 0;
    border-top: 1px dashed #eee;
}
.qmenu-item > .qmenu-item-alergenos {
    order: 2;
    margin-left: 0;
}

/* Estilos para la nueva estructura de la carta */
.qmenu-carta {
    font-family: sans-serif;
    margin-bottom: 20px;
}

.qmenu-carta-titulo {
    font-size: 24px;
    margin-bottom: 15px;
    color: #333;
}

.qmenu-carta-nota {
    font-style: italic;
    color: #666;
    margin-bottom: 20px;
}

.qmenu-carta-contenido {
    margin-bottom: 20px;
}

/* Estilos para las secciones */
.qmenu-seccion {
    margin-bottom: 25px;
    background-color: #f9f9f9;
    border-radius: 5px;
    overflow: hidden;
}

.qmenu-cabecera-seccion {
    background-color: #333;
    padding: 10px 15px;
}

.qmenu-seccion-titulo {
    margin: 0;
    color: #fff;
    font-size: 18px;
}

/* Estilos para los platos */
.qmenu-lista-platos {
    padding: 10px 15px;
}

.qmenu-plato {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.qmenu-plato:last-child {
    border-bottom: none;
}

.qmenu-plato-contenedor {
    margin-bottom: 5px;
}

.qmenu-plato-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.qmenu-plato-nombre {
    font-weight: bold;
    flex-grow: 1;
    margin-right: 15px;
}

.qmenu-plato-precio {
    font-weight: bold;
    color: #e74c3c;
    white-space: nowrap;
}

.qmenu-alergenos-lista {
    font-size: 0.9em;
    color: #777;
    margin-top: 5px;
}

.qmenu-alergeno {
    margin-right: 8px;
    vertical-align: middle;
    height: 20px;
    width: auto;
}

.qmenu-alergeno-num,
.qmenu-alergeno-text {
    margin-right: 10px;
    display: inline-block;
}

/* Pie de la carta */
.qmenu-carta-pie {
    font-size: 0.9em;
    color: #777;
    font-style: italic;
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid #eee;
}