/* =====================================================
   Carta Restaurante · Frontend
   Reset total de bordes · Espazo mínimo configurable
   ===================================================== */

.cw-carta-widget,
.cw-carta-widget * {
    box-sizing: border-box;
}

.cw-carta-widget { width: 100%; }

/* ── Bloque categoría ──────────────────────────────── */
.cw-categoria-block { margin-bottom: 24px; }
.cw-categoria-block:last-child { margin-bottom: 0; }

/* ── Cabecera categoría ─────────────────────────────── */
.cw-cat-header {
    margin-bottom: 4px;
    padding: 0;
    border: none;
    border-bottom: none;
    background: transparent;
}
.cw-cat-title { margin: 0; padding: 0; border: none; }

/* ── Lista pratos ───────────────────────────────────── */
.cw-platos { display: flex; flex-direction: column; }

/* ── Fila prato — reset total ───────────────────────── */
.cw-plato-row {
    /* Hard reset: neutraliza cualquier borde que añada el tema */
    border: 0 none transparent !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    margin: 0;
    padding: 2px 0;
    background: transparent;
    list-style: none;
}

/*
 * Cuando Elementor sobreescribe con un separador, lo hace via un selector
 * con mayor especificidad que el !important del tema, usando el wrapper
 * único del widget. El CSS inline de Elementor siempre gana.
 */

/* ── Top: nombre + precio ───────────────────────────── */
.cw-plato-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}

/* ── Nombre ─────────────────────────────────────────── */
.cw-plato-nombre {
    flex: 1;
    min-width: 0;
    line-height: 1.3;
}

/* ── Descripción ────────────────────────────────────── */
.cw-plato-desc {
    margin: 0;
    padding: 0;
    line-height: 1.3;
}

/* ── Precio ─────────────────────────────────────────── */
.cw-plato-precio {
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-block;
    line-height: 1.3;
}
.cw-precio-below { display: block; margin-top: 1px; }
