/* ==========================================================================
   DISEÑO MENÚ RESTAURANTE (ESTILO PIZARRA)
   ========================================================================== */

/* 1. ESTILOS GENERALES DE LA PÁGINA
-------------------------------------------------------------------------- */
.page-template-template-restaurante {
    /* background-color: #1a1a1a; */
    /* ¡Asegúrate de que esta URL sea correcta o reemplázala! */
    /* background-image: url('https://ewr1.vultrobjects.com/encanto/2025/07/pizarra.webp'); */
    background-image: linear-gradient(rgba(26, 26, 26, 0.5), rgba(26, 26, 26, 0.5)), url(https://ewr1.vultrobjects.com/encanto/2025/07/pizarra.webp);
    color: #f5f5f5;
    /* background-position: center center; */
    background-size: cover;
}
.restaurante-menu-page-wrapper {

        padding: 40px 20px;
}

.page-title-restaurante {
    color: #FFD700;
    font-family: 'Georgia', serif;
    text-align: center;
    font-size: 3.5em;
    margin-bottom: 40px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.restaurante-menu-page-wrapper .entry-content {
    display: flex;
    flex-wrap: wrap;
    gap: 40px; /* El espacio entre las columnas */
    justify-content: center;
    max-width: 1200px; /* Un ancho máximo para todo el contenido del menú */
    margin: 0 auto;
}


/* 2. ESTILO DE CADA COLUMNA/SECCIÓN DEL MENÚ
-------------------------------------------------------------------------- */
.menu-column {
    /* --- Estilos para móvil primero (apariencia de una sola columna) --- */
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 100%; /* Por defecto, ocupa todo el ancho */

    /* --- Estilos de diseño comunes --- */
    min-width: 320px; /* Ancho mínimo para que no se comprima demasiado */
    padding: 25px;
    background: rgba(0, 0, 0, 0.25);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
}

.menu-category-title {
    font-family: 'Oswald', sans-serif;
    color: #ffffff;
    font-size: 2.2em;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-bottom: 15px;
    margin-bottom: 25px;
    border-bottom: 3px double rgba(255, 215, 0, 0.5);
}

.menu-items-list {
    flex-grow: 1; /* Empuja el botón "Actualizar Carrito" hacia abajo */
}


/* 3. ESTILO DE CADA PRODUCTO EN EL MENÚ
-------------------------------------------------------------------------- */
.menu-column .menu-item {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
}

.menu-column .menu-item:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
}

.menu-item-details {
    flex-grow: 1;
}

.menu-item-title a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s;
}

.menu-item-title a:hover {
    color: #FFD700;
}

.menu-item-description {
    color: #b0b0b0;
    font-size: 0.95em;
    line-height: 1.5;
    margin-top: 8px;
}

.menu-item-price {
    margin-top: 5px;
    display: inline-block;
    color: #FFD700;
    font-weight: 500;
    vertical-align: middle;
}


/* 4. ESTILOS PARA INPUTS, BOTONES Y OTROS ELEMENTOS
-------------------------------------------------------------------------- */
.menu-item-quantity {
    flex-shrink: 0;
}

.quantity-input {
    width: 65px;
    padding: 8px;
    text-align: center;
    background-color: rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.2);
    color: #fff;
    border-radius: 5px;
    font-size: 16px;
}

.bulk-add-wrapper {
    margin-top: 30px;
}

.bulk-add-to-cart-button {
    width: 100%;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: bold;
    color: #1a1a1a;
    background-color: #FFD700;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.bulk-add-to-cart-button:hover:not(:disabled) {
    background-color: #fff;
}

.bulk-add-to-cart-button:disabled {
    background-color: #555;
    color: #999;
    cursor: not-allowed;
}

/* Feedback messages for accessibility and user experience */
.bulk-add-feedback {
    display: none;
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 5px;
    font-weight: 500;
    /* Ensure it's not visually hidden when shown for accessibility */
    position: relative;
    top: auto;
    left: auto;
}

.bulk-add-feedback.success { background-color: #28a745; color: #fff; }
.bulk-add-feedback.error { background-color: #dc3545; color: #fff; }


/* 5. ESTILOS REUTILIZABLES (Oferta, Agotado)
-------------------------------------------------------------------------- */
.on-sale-badge {
    display: inline-block;
    background-color: #dc3545;
    color: #fff;
    padding: 3px 8px;
    font-size: 0.8em;
    font-weight: bold;
    border-radius: 4px;
    margin-left: 10px;
    vertical-align: middle;
}

.out-of-stock-label {
    height: 42px;
    width: 65px;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    background-color: rgb(160 22 56);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-column .menu-item.product-out-of-stock {
    opacity: 0.6;
    pointer-events: none;
}
.menu-column .menu-item.product-out-of-stock .menu-item-quantity {
    pointer-events: auto;
}

/* ==========================================================================
   6. RESPONSIVIDAD
   ========================================================================== */
/* Para pantallas de 992px de ancho o más (tablets en horizontal y escritorios) */
@media (min-width: 992px) {
    .menu-column {
        /*
          * Ajustamos la base del flex para que sea la mitad del contenedor
          * menos la mitad del 'gap' (que es 40px).
          * Esto hace que dos columnas encajen perfectamente.
         */
        flex-basis: calc(50% - 20px);
    }
}