.mpped-menu-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	margin: 16px 0 32px;
}
.mpped-producto-card {
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.mpped-producto-imagen img {
	width: 100%;
	height: 140px;
	object-fit: cover;
	display: block;
}
.mpped-producto-cuerpo { padding: 12px; }
.mpped-producto-nombre { margin: 0 0 4px; font-size: 15px; }
.mpped-producto-descripcion { font-size: 13px; color: #666; margin: 0 0 8px; }
.mpped-producto-precio { font-weight: 700; margin: 0 0 10px; }

.mpped-btn {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 6px;
	border: 1px solid #2c3e2d;
	color: #2c3e2d;
	background: #fff;
	cursor: pointer;
	font-size: 14px;
}
.mpped-btn-primario { background: #2c3e2d; color: #fff; }

.mpped-tabla-carrito, .mpped-tabla-menu { width: 100%; border-collapse: collapse; margin: 16px 0; }
.mpped-tabla-carrito td, .mpped-tabla-menu th, .mpped-tabla-menu td { padding: 8px; border-bottom: 1px solid #eee; text-align: left; }
.mpped-input-cantidad { width: 60px; }
.mpped-carrito-subtotal { font-size: 18px; margin: 16px 0; }

.mpped-form-checkout p { margin-bottom: 12px; }
.mpped-form-checkout label { display: block; font-weight: 600; margin-bottom: 4px; }
.mpped-form-checkout input, .mpped-form-checkout select, .mpped-form-checkout textarea { width: 100%; max-width: 420px; padding: 8px; border: 1px solid #ccc; border-radius: 6px; }
.mpped-nota { font-size: 13px; color: #777; }
.mpped-exito { padding: 10px 14px; background: #e6f4ea; border-radius: 6px; color: #1e7b34; }
.mpped-error { padding: 10px 14px; background: #fdecea; border-radius: 6px; color: #c0392b; }
.mpped-aviso { padding: 20px; background: #f6f6f4; border-radius: 8px; }

.mpped-pedido-card {
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 16px;
	background: #fff;
}
.mpped-pedido-items { margin: 8px 0; padding-left: 20px; }

.mpped-linea-tiempo {
	list-style: none;
	margin: 12px 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.mpped-paso {
	padding: 6px 12px;
	border-radius: 999px;
	background: #f0f0ee;
	color: #999;
	font-size: 13px;
}
.mpped-paso-completado { background: #e6f4ea; color: #1e7b34; }
.mpped-paso-activo { background: #2c3e2d; color: #fff; font-weight: 600; }
.mpped-tiempo-estimado { opacity: 0.85; margin-left: 4px; }

.mpped-form-avanzar { display: flex; align-items: center; gap: 10px; margin: 10px 0; flex-wrap: wrap; }
.mpped-form-avanzar select { padding: 6px; border-radius: 6px; border: 1px solid #ccc; }
